summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/block-misc.c
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2010-01-05 02:56:35 +0000
committerMike Stump <mrs@apple.com>2010-01-05 02:56:35 +0000
commit7dafa0d0481049cf71501d3cf36b6785b78a4e31 (patch)
treedc1abb2211ad706c49d9a17972f45bd24e51087b /clang/test/Sema/block-misc.c
parentacd71a456254f3b4b1f9a860ab09f93026b1e0ef (diff)
downloadbcm5719-llvm-7dafa0d0481049cf71501d3cf36b6785b78a4e31.tar.gz
bcm5719-llvm-7dafa0d0481049cf71501d3cf36b6785b78a4e31.zip
Disallow capturing vlas inside blocks.
llvm-svn: 92676
Diffstat (limited to 'clang/test/Sema/block-misc.c')
-rw-r--r--clang/test/Sema/block-misc.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/clang/test/Sema/block-misc.c b/clang/test/Sema/block-misc.c
index 9f1bc4025fa..bc30552302e 100644
--- a/clang/test/Sema/block-misc.c
+++ b/clang/test/Sema/block-misc.c
@@ -197,4 +197,14 @@ L0:
return x;
}
-
+// radr://7438948
+void test20() {
+ int n = 7;
+ int vla[n]; // expected-note {{declared at}}
+ int (*vm)[n] = 0; // expected-note {{declared at}}
+ vla[1] = 4341;
+ ^{
+ (void)vla[1]; // expected-error {{cannot refer to declaration with a variably modified type inside block}}
+ (void)(vm+1); // expected-error {{cannot refer to declaration with a variably modified type inside block}}
+ }();
+}
OpenPOWER on IntegriCloud