summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/const-eval.c
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2011-11-16 07:18:12 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2011-11-16 07:18:12 +0000
commitcf74da76db9ba69aac1033e23f775bc8974c48e3 (patch)
tree7b6a79591d3f6f9094d044fc9236f1986e84dbbe /clang/test/Sema/const-eval.c
parent643e63c40c6d1c29d4a6721f514bebe6d71c3a70 (diff)
downloadbcm5719-llvm-cf74da76db9ba69aac1033e23f775bc8974c48e3.tar.gz
bcm5719-llvm-cf74da76db9ba69aac1033e23f775bc8974c48e3.zip
Fix PR11385: A pointer constant expression which has been cast via an integer is
not safely derived. Don't allow lvalue-to-rvalue conversions on the result of dereferencing such a pointer. llvm-svn: 144783
Diffstat (limited to 'clang/test/Sema/const-eval.c')
-rw-r--r--clang/test/Sema/const-eval.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/test/Sema/const-eval.c b/clang/test/Sema/const-eval.c
index 632457da091..094d1ce7160 100644
--- a/clang/test/Sema/const-eval.c
+++ b/clang/test/Sema/const-eval.c
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -fsyntax-only -verify %s
+// RUN: %clang_cc1 -fsyntax-only -verify -triple i686-linux %s
#define EVAL_EXPR(testno, expr) int test##testno = sizeof(struct{char qq[expr];});
int x;
@@ -105,3 +105,6 @@ int weak_int_test = weak_int; // expected-error {{not a compile-time constant}}
int literalVsNull1 = "foo" == 0;
int literalVsNull2 = 0 == "foo";
+
+// PR11385.
+int castViaInt[*(int*)(unsigned long)"test"]; // expected-error {{variable length array}}
OpenPOWER on IntegriCloud