summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/const-eval.c
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-02-28 21:56:50 +0000
committerAnders Carlsson <andersca@mac.com>2009-02-28 21:56:50 +0000
commit6c885805cd8a254644e47eefe5dbf18e8d20e87c (patch)
tree1b8d1220f801b50b96758160787ec2b39f0711ea /clang/test/Sema/const-eval.c
parent06a2321051787eae3c7af987ca38c26b0681e276 (diff)
downloadbcm5719-llvm-6c885805cd8a254644e47eefe5dbf18e8d20e87c.tar.gz
bcm5719-llvm-6c885805cd8a254644e47eefe5dbf18e8d20e87c.zip
Fix invalid VLAs/VMs in Sema::ActOnVariableDeclarator, so that the variable will have the right type by the time the initializer is checked. This ensures that code like
int a[(int)(1.0 / 1.0) = { 1 } will work. Eli, please review. llvm-svn: 65725
Diffstat (limited to 'clang/test/Sema/const-eval.c')
-rw-r--r--clang/test/Sema/const-eval.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/test/Sema/const-eval.c b/clang/test/Sema/const-eval.c
index fd7b40ea1ba..7714f488171 100644
--- a/clang/test/Sema/const-eval.c
+++ b/clang/test/Sema/const-eval.c
@@ -47,3 +47,6 @@ EVAL_EXPR(21, (__imag__ 2i) == 2 ? 1 : -1);
EVAL_EXPR(22, (__real__ (2i+3)) == 3 ? 1 : -1);
+int g23[(int)(1.0 / 1.0)] = { 1 };
+int g24[(int)(1.0 / 1.0)] = { 1 , 2 }; // expected-warning {{excess elements in array initializer}}
+int g25[(int)(1.0 + 1.0)], g26 = sizeof(g25);
OpenPOWER on IntegriCloud