aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/LangOptions.cpp
diff options
context:
space:
mode:
authorJustas Janickas <Justas.Janickas@arm.com>2021-08-06 13:50:13 +0100
committerJustas Janickas <Justas.Janickas@arm.com>2021-08-13 13:55:22 +0100
commitcfdfb75c1ff354471bcea5fad872e40e345016ae (patch)
tree68d21b3c67de54f1cef328df067036155cf330b5 /clang/lib/Basic/LangOptions.cpp
parentc46546bd521b7c3f98a1620c9227e80dc94a5a3c (diff)
downloadllvm-cfdfb75c1ff354471bcea5fad872e40e345016ae.zip
llvm-cfdfb75c1ff354471bcea5fad872e40e345016ae.tar.gz
llvm-cfdfb75c1ff354471bcea5fad872e40e345016ae.tar.bz2
[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
Diffstat (limited to 'clang/lib/Basic/LangOptions.cpp')
-rw-r--r--clang/lib/Basic/LangOptions.cpp10
1 files changed, 10 insertions, 0 deletions
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;