bader added a subscriber: bader.

================
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:7472-7473
@@ -7469,4 +7471,4 @@
   "sampler type cannot be used with the __local and __global address space 
qualifiers">;
 def err_opencl_global_invalid_addr_space : Error<
-  "global variables must have a constant address space qualifier">;
+  "program scope variables has wrong address space qualifier">;
 def err_opencl_no_main : Error<"%select{function|kernel}0 cannot be called 
'main'">;
----------------
I think we can do better diagnostics. Original message hinted on way to fix 
that error - add 'constant' qualifier.

In our implementation we have 4 kinds of diagnostics (probably we need only 2 
of them):
def err_opencl_global_invalid_addr_space : Error<
"program scope variables must reside in constant address space">;
def err_opencl20_global_invalid_addr_space : Error<
"program scope variables must reside in global or constant address space">;
def err_program_scope_variable_non_constant : Error<
"program scope variables are required to be declared in constant address 
space">;
def err_program_scope_variable_non_constant_or_global : Error<
"program scope variables are required to be declared either in constant or 
global address space">;

They used for OpenCL 1.2 and OpenCL 2.0 sources correspondingly.

================
Comment at: test/SemaOpenCL/storageclass.cl:9-11
@@ +8,5 @@
+global int G2 = 0;
+#ifndef CL20
+// expected-error@-2{{program scope variables has wrong address space 
qualifier}}
+#endif
+
----------------
Don't you think it's better to put OpenCL 2.0 test into separate file?


http://reviews.llvm.org/D13105



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

Reply via email to