Fix a crasher during error recovery in Parser::ParseObjCTypeName().

Found this while fixing another unrelated radar.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57904 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Steve Naroff 2008-10-21 14:15:04 +00:00
Родитель 94ac21ea70
Коммит d7333c294d
2 изменённых файлов: 14 добавлений и 1 удалений

Просмотреть файл

@ -635,6 +635,7 @@ Parser::TypeTy *Parser::ParseObjCTypeName(ObjCDeclSpec &DS) {
MatchRHSPunctuation(tok::r_paren, LParenLoc); MatchRHSPunctuation(tok::r_paren, LParenLoc);
} }
} }
if (Tok.is(tok::r_paren))
RParenLoc = ConsumeParen(); RParenLoc = ConsumeParen();
return Ty; return Ty;
} }

Просмотреть файл

@ -0,0 +1,12 @@
// RUN: clang -fsyntax-only -verify %s
@class NSString, NSArray;
@protocol ISyncSessionCallback
- (oneway void)clientWithId:(bycopy NSString *)clientId
canBeginSyncingPlanWithId:(bycopy NSString *)planId
syncModes:(bycopy NSArray /* ISDSyncState */ *)syncModes
entities:(bycopy NSArray /* ISDEntity */ *)entities
truthPullers:(bycopy NSDictionary /* NSString -> [NSString] */ *)truthPullers; // expected-error{{expected ')'}} expected-error{{to match this '('}}
@end