r271975 - Revert "[OPENCL] Fix wrongly vla error for OpenCL array."
Xiuli Pan via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 6 20:41:07 PDT 2016
Author: pxl
Date: Mon Jun 6 22:41:07 2016
New Revision: 271975
URL: http://llvm.org/viewvc/llvm-project?rev=271975&view=rev
Log:
Revert "[OPENCL] Fix wrongly vla error for OpenCL array."
Test case break on system-z.
This reverts commit 9a7212e1e87f1396952d74f8c62314a775ccbb1c.
Removed:
cfe/trunk/test/CodeGenOpenCL/vla.cl
Modified:
cfe/trunk/lib/AST/ExprConstant.cpp
cfe/trunk/lib/Sema/SemaType.cpp
Modified: cfe/trunk/lib/AST/ExprConstant.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ExprConstant.cpp?rev=271975&r1=271974&r2=271975&view=diff
==============================================================================
--- cfe/trunk/lib/AST/ExprConstant.cpp (original)
+++ cfe/trunk/lib/AST/ExprConstant.cpp Mon Jun 6 22:41:07 2016
@@ -2745,10 +2745,7 @@ static CompleteObject findCompleteObject
} else if (VD->isConstexpr()) {
// OK, we can read this variable.
} else if (BaseType->isIntegralOrEnumerationType()) {
- // In OpenCL if a variable is in constant address space it is a const value.
- if (!(BaseType.isConstQualified() ||
- (Info.getLangOpts().OpenCL &&
- BaseType.getAddressSpace() == LangAS::opencl_constant))) {
+ if (!BaseType.isConstQualified()) {
if (Info.getLangOpts().CPlusPlus) {
Info.Diag(E, diag::note_constexpr_ltor_non_const_int, 1) << VD;
Info.Note(VD->getLocation(), diag::note_declared_at);
Modified: cfe/trunk/lib/Sema/SemaType.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaType.cpp?rev=271975&r1=271974&r2=271975&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaType.cpp (original)
+++ cfe/trunk/lib/Sema/SemaType.cpp Mon Jun 6 22:41:07 2016
@@ -2063,8 +2063,7 @@ static bool isArraySizeVLA(Sema &S, Expr
} Diagnoser;
return S.VerifyIntegerConstantExpression(ArraySize, &SizeVal, Diagnoser,
- S.LangOpts.GNUMode ||
- S.LangOpts.OpenCL).isInvalid();
+ S.LangOpts.GNUMode).isInvalid();
}
/// \brief Build an array type.
Removed: cfe/trunk/test/CodeGenOpenCL/vla.cl
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenOpenCL/vla.cl?rev=271974&view=auto
==============================================================================
--- cfe/trunk/test/CodeGenOpenCL/vla.cl (original)
+++ cfe/trunk/test/CodeGenOpenCL/vla.cl (removed)
@@ -1,18 +0,0 @@
-// RUN: %clang_cc1 -emit-llvm -O0 -cl-std=CL2.0 -o - %s | FileCheck %s
-
-constant int sz0 = 5;
-// CHECK: @sz0 = constant i32 5, align 4
-const global int sz1 = 16;
-// CHECK: @sz1 = constant i32 16, align 4
-const constant int sz2 = 8;
-// CHECK: @sz2 = constant i32 8, align 4
-// CHECK: @testvla.vla2 = internal global [8 x i16] undef, align 16
-
-kernel void testvla()
-{
- int vla0[sz0];
-// CHECK: %vla0 = alloca [5 x i32], align 16
- char vla1[sz1];
-// CHECK: %vla1 = alloca [16 x i8], align 16
- local short vla2[sz2];
-}
More information about the cfe-commits
mailing list