[PATCH] D20090: [OPENCL] Fix wrongly vla error for OpenCL array.

Xiuli PAN via cfe-commits cfe-commits at lists.llvm.org
Tue May 10 19:08:59 PDT 2016


pxli168 added inline comments.

================
Comment at: lib/Sema/SemaType.cpp:2055
@@ -2054,3 +2054,3 @@
 
-  return S.VerifyIntegerConstantExpression(ArraySize, &SizeVal, Diagnoser,
-                                           S.LangOpts.GNUMode).isInvalid();
+  return S
+      .VerifyIntegerConstantExpression(ArraySize, &SizeVal, Diagnoser,
----------------
Anastasia wrote:
> Formatting looks weird though... may be better to leave the first line unmodified?
I felt very strange, too. But this is what clang-format gives me.

================
Comment at: test/CodeGenOpenCL/vla.cl:1
@@ +1,2 @@
+// RUN: %clang_cc1 -emit-llvm -O0 -o - %s | FileCheck %s
+// RUN: %clang_cc1 -emit-llvm -O0 -cl-std=CL2.0 -DCL20 -o - %s | FileCheck %s --check-prefix=CL20
----------------
Anastasia wrote:
> Could we have a Sema test instead where we accept the VLA if constant AS object is used and give an error otherwise?
> 
> Also do we need to test CL2.0? We don't seem to be doing anything different for that version. 
In earier than OpenCL1.2  program scope variable must reside in constant address space and no
```
const global int
```
can be here.
But const global value should also not be seen as VLA either.


http://reviews.llvm.org/D20090





More information about the cfe-commits mailing list