From deae3a735d92b999bfc3b43f2bbe75a6c5b9a1a1 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 19 Apr 2009 04:51:27 +0000 Subject: [PATCH] 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 --- test/Sema/scope-check.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) 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 + -- 2.50.1