llvm-capstone/clang/test/SemaObjCXX/goto.mm
Douglas Gregor a0ff0c34a7 Make sure that we always pop a function's scope *before* we call
ActOnFinishFunctionBody/ActOnBlockStmtExpr. This way, we ensure that
we diagnose undefined labels before the jump-scope checker gets run,
since the jump-scope checker requires (as its invariant) that all of
the GotoStmts be wired up correctly.

Fixes PR9495.

llvm-svn: 127738
2011-03-16 17:05:57 +00:00

17 lines
272 B
Plaintext

// RUN: %clang_cc1 -fsyntax-only -verify %s
// PR9495
struct NonPOD { NonPOD(); ~NonPOD(); };
@interface A
@end
@implementation A
- (void)method:(bool)b {
NonPOD np;
if (b) {
goto undeclared; // expected-error{{use of undeclared label 'undeclared'}}
}
}
@end