diff options
author | Anders Carlsson <andersca@mac.com> | 2009-02-28 21:56:50 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-02-28 21:56:50 +0000 |
commit | 6c885805cd8a254644e47eefe5dbf18e8d20e87c (patch) | |
tree | 1b8d1220f801b50b96758160787ec2b39f0711ea /clang/test/Sema/const-eval.c | |
parent | 06a2321051787eae3c7af987ca38c26b0681e276 (diff) | |
download | bcm5719-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.c | 3 |
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); |