diff --git a/clang/include/clang/Basic/OpenCLOptions.h b/clang/include/clang/Basic/OpenCLOptions.h --- a/clang/include/clang/Basic/OpenCLOptions.h +++ b/clang/include/clang/Basic/OpenCLOptions.h @@ -37,12 +37,14 @@ } bool isEnabled(llvm::StringRef Ext) const { + assert(OptMap.find(Ext) != OptMap.end() && "Unknown extension."); return OptMap.find(Ext)->second.Enabled; } // Is supported as either an extension or an (optional) core feature for // OpenCL version \p CLVer. bool isSupported(llvm::StringRef Ext, const LangOptions &LO) const { + assert(OptMap.find(Ext) != OptMap.end() && "Unknown extension."); // In C++ mode all extensions should work at least as in v2.0. auto CLVer = LO.OpenCLCPlusPlus ? 200 : LO.OpenCLVersion; auto I = OptMap.find(Ext)->getValue(); @@ -52,6 +54,7 @@ // Is supported (optional) OpenCL core features for OpenCL version \p CLVer. // For supported extension, return false. bool isSupportedCore(llvm::StringRef Ext, const LangOptions &LO) const { + assert(OptMap.find(Ext) != OptMap.end() && "Unknown extension."); // In C++ mode all extensions should work at least as in v2.0. auto CLVer = LO.OpenCLCPlusPlus ? 200 : LO.OpenCLVersion; auto I = OptMap.find(Ext)->getValue(); @@ -61,6 +64,7 @@ // Is supported OpenCL extension for OpenCL version \p CLVer. // For supported (optional) core feature, return false. bool isSupportedExtension(llvm::StringRef Ext, const LangOptions &LO) const { + assert(OptMap.find(Ext) != OptMap.end() && "Unknown extension."); // In C++ mode all extensions should work at least as in v2.0. auto CLVer = LO.OpenCLCPlusPlus ? 200 : LO.OpenCLVersion; auto I = OptMap.find(Ext)->getValue();