As suggested by Chris, use MatchRHSPunctuation instead of manually looking for a right parenthesis when parsing @encode() and @protocol().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41321 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Parse/ParseObjc.cpp b/Parse/ParseObjc.cpp
index b1c5366..3d30566 100644
--- a/Parse/ParseObjc.cpp
+++ b/Parse/ParseObjc.cpp
@@ -677,13 +677,10 @@
TypeTy *Ty = ParseTypeName();
- if (Tok.getKind() != tok::r_paren) {
- Diag(Tok, diag::err_expected_rparen);
- return true;
- }
+ SourceLocation RParenLoc = MatchRHSPunctuation(tok::r_paren, LParenLoc);
return Actions.ParseObjCEncodeExpression(EncLoc, LParenLoc, Ty,
- ConsumeParen());
+ RParenLoc);
}
/// objc-protocol-expression
@@ -708,12 +705,7 @@
// FIXME: Do something with the protocol name
ConsumeToken();
- if (Tok.getKind() != tok::r_paren) {
- Diag(Tok, diag::err_expected_rparen);
- return true;
- }
-
- ConsumeParen();
+ SourceLocation RParenLoc = MatchRHSPunctuation(tok::r_paren, LParenLoc);
// FIXME
return 0;