second half of indirect jump checking: make sure that any
address taken labels are in function scope
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69499 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Sema/scope-check.c b/test/Sema/scope-check.c
index 4605e02..83b8477 100644
--- a/test/Sema/scope-check.c
+++ b/test/Sema/scope-check.c
@@ -136,14 +136,17 @@
goto *P; // ok.
L2: ;
- int a[n]; // expected-note {{jump bypasses initialization of variable length array}}
+ int a[n]; // expected-note 2 {{jump bypasses initialization of variable length array}}
L3:
+L4:
goto *P; // expected-error {{illegal indirect goto in protected scope, unknown effect on scopes}}
+ goto L3; // ok
+ goto L4; // ok
void *Ptrs[] = {
- &&L2,
- &&L3 // FIXME: Not Ok.
+ &&L2, // Ok.
+ &&L3 // expected-error {{address taken of label in protected scope, jump to it would have unknown effect on scope}}
};
}