Better parser recovery when method is
errornously defined inside an objc class. // rdar://7029784 llvm-svn: 126269
This commit is contained in:
parent
e97a53a446
commit
82ff1e52df
|
@ -296,6 +296,10 @@ bool Parser::SkipUntil(const tok::TokenKind *Toks, unsigned NumToks,
|
|||
case tok::wide_string_literal:
|
||||
ConsumeStringToken();
|
||||
break;
|
||||
|
||||
case tok::at:
|
||||
return false;
|
||||
|
||||
case tok::semi:
|
||||
if (StopAtSemi)
|
||||
return false;
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
||||
// rdar://7029784
|
||||
|
||||
@interface A
|
||||
-(id) f0 { // expected-error {{expected ';' after method prototype}}
|
||||
assert(0);
|
||||
}
|
||||
@end
|
||||
|
||||
@interface B
|
||||
-(id) f0 { // expected-error {{expected ';' after method prototype}}
|
||||
assert(0);
|
||||
@end
|
||||
|
||||
@interface C
|
||||
- (id) f0 { // expected-error {{expected ';' after method prototype}}
|
||||
assert(0);
|
||||
};
|
||||
@end
|
||||
|
||||
@interface D
|
||||
- (id) f0 { // expected-error {{expected ';' after method prototype}}
|
||||
assert(0);
|
||||
@property int P;
|
||||
@end
|
Loading…
Reference in New Issue