From cfdfb75c1ff354471bcea5fad872e40e345016ae Mon Sep 17 00:00:00 2001 From: Justas Janickas Date: Fri, 6 Aug 2021 13:50:13 +0100 Subject: [OpenCL] Clang diagnostics allow reporting C++ for OpenCL version. Some Clang diagnostics could only report OpenCL C version. Because C++ for OpenCL can be used as an alternative to OpenCL C, the text for diagnostics should reflect that. Desrciptions modified for these diagnostics: `err_opencl_unknown_type_specifier` `warn_option_invalid_ocl_version` `err_attribute_requires_opencl_version` `warn_opencl_attr_deprecated_ignored` `ext_opencl_ext_vector_type_rgba_selector` Differential Revision: https://reviews.llvm.org/D107648 --- clang/lib/Basic/LangOptions.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'clang/lib/Basic/LangOptions.cpp') diff --git a/clang/lib/Basic/LangOptions.cpp b/clang/lib/Basic/LangOptions.cpp index bebf317..169b679 100644 --- a/clang/lib/Basic/LangOptions.cpp +++ b/clang/lib/Basic/LangOptions.cpp @@ -56,6 +56,16 @@ void LangOptions::remapPathPrefix(SmallString<256> &Path) const { break; } +std::string LangOptions::getOpenCLVersionString() const { + std::string Result; + { + llvm::raw_string_ostream Out(Result); + Out << (OpenCLCPlusPlus ? "C++ for OpenCL" : "OpenCL C") << " version " + << getOpenCLVersionTuple().getAsString(); + } + return Result; +} + FPOptions FPOptions::defaultWithoutTrailingStorage(const LangOptions &LO) { FPOptions result(LO); return result; -- cgit v1.1