Anastasia added inline comments.

================
Comment at: clang/include/clang/Basic/DiagnosticCommonKinds.td:369
+def err_opencl_extension_and_feature_differs : Error<
+  "Options %0 and %1 are set to different values which is illegal in OpenCL C 
3.0">;
 }
----------------
We don't normally start from the upper case:

`Options` -> `options`

I am thinking we could drop "which is illegal in OpenCL C 3.0" because the fact 
that compiler gives an error indicates that it is illegal. So I find it a bit 
redundant.


================
Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:121
 def warn_double_const_requires_fp64 : Warning<
-  "double precision constant requires cl_khr_fp64, casting to single 
precision">;
+  "double precision constant requires %select{cl_khr_fp64|__opencl_c_fp64}0, "
+  "casting to single precision">;
----------------
I am thinking that in OpenCL 3 both `cl_khr_fp64` and `__opencl_c_fp64` are 
required. Maybe we should re-word this as follows?



================
Comment at: clang/lib/Sema/Sema.cpp:306
+    // Set conditionally to provide correct diagnostics for 'double' type
+    llvm::StringRef FP64Feature(
+        getLangOpts().OpenCLVersion >= 300 ? "__opencl_c_fp64" : 
"cl_khr_fp64");
----------------
Technically both "__opencl_c_fp64" and "cl_khr_fp64" are required in OpenCL, 
perhaps we should report both in OpenCL 3?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D96524/new/

https://reviews.llvm.org/D96524

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

Reply via email to