rsmith added inline comments.

================
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:7900
@@ -7897,1 +7899,3 @@
+def err_opencl_ext_vector_type_rgba_selector: Error<
+  "vector component name '%0' cannot be used earlier than OpenCL version 2.2">;
 } // end of sema category
----------------
I don't see any good reason to reject this in earlier versions of OpenCL. Clang 
has its own extensions and is not beholden to the OpenCL spec's notion of 
extensions in this regard. Generally, wherever reasonable, we support features 
from later versions of a language as extensions in earlier versions.

However, since "extension" means something in the OpenCL specification, we 
could say "OpenCL 2.2 feature" rather than "OpenCL 2.2 extension" in the 
ExtWarn message.

================
Comment at: lib/Sema/SemaExprMember.cpp:337-339
@@ +336,5 @@
+      if (S.getLangOpts().OpenCL && S.getLangOpts().OpenCLVersion < 220) {
+        const char *diagBegin = HasRGBA ? CompName->getNameStart() : compStr;
+        S.Diag(OpLoc, diag::err_opencl_ext_vector_type_rgba_selector)
+          << StringRef(diagBegin, 1)
+          << S.getLangOpts().OpenCLVersion << SourceRange(CompLoc);
----------------
diagBegin -> DiagBegin


http://reviews.llvm.org/D20602



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to