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;