diff options
author | Chris Lattner <sabre@nondot.org> | 2009-04-19 04:51:27 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-04-19 04:51:27 +0000 |
commit | deae3a735d92b999bfc3b43f2bbe75a6c5b9a1a1 (patch) | |
tree | 7dd93ee87f3a6135306a779bd072389410185327 | |
parent | 3037a822388348eb16f462c2c8aee77b2fdc286c (diff) |
apparently gotos aren't allowed at all in blocks. Stub out a testcase for when/if they are.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69507 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/Sema/scope-check.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/Sema/scope-check.c b/test/Sema/scope-check.c index 1eb47e7643..1d1c5aa2f9 100644 --- a/test/Sema/scope-check.c +++ b/test/Sema/scope-check.c @@ -164,3 +164,27 @@ L2: return; } +// TODO: When and if gotos are allowed in blocks, this should work. +void test11(int n) { + void *P = ^{ + goto L1; // expected-error {{goto not allowed in block literal}} + L1: + goto L2; // expected-error {{goto not allowed in block literal}} + L2: + goto L3; // expected-error {{goto not allowed in block literal}} + // todo-error {{illegal goto into protected scope}} + int Arr[n]; // todo-note {{jump bypasses initialization of variable length array}} + L3: + goto L4; // expected-error {{goto not allowed in block literal}} + L4: return; + }; +} + + + +#if 0 +// in Sema::CheckVariableDeclaration +// FIXME: This won't give the correct result for +// int a[10][n]; +#endif + |