[cfe-commits] r57904 - in /cfe/trunk: lib/Parse/ParseObjc.cpp test/SemaObjC/invalid-typename.m

Steve Naroff snaroff at apple.com
Tue Oct 21 07:15:04 PDT 2008


Author: snaroff
Date: Tue Oct 21 09:15:04 2008
New Revision: 57904

URL: http://llvm.org/viewvc/llvm-project?rev=57904&view=rev
Log:
Fix a crasher during error recovery in Parser::ParseObjCTypeName().
Found this while fixing another unrelated radar.


Added:
    cfe/trunk/test/SemaObjC/invalid-typename.m
Modified:
    cfe/trunk/lib/Parse/ParseObjc.cpp

Modified: cfe/trunk/lib/Parse/ParseObjc.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseObjc.cpp?rev=57904&r1=57903&r2=57904&view=diff

==============================================================================
--- cfe/trunk/lib/Parse/ParseObjc.cpp (original)
+++ cfe/trunk/lib/Parse/ParseObjc.cpp Tue Oct 21 09:15:04 2008
@@ -635,7 +635,8 @@
       MatchRHSPunctuation(tok::r_paren, LParenLoc);
     }
   }
-  RParenLoc = ConsumeParen();
+  if (Tok.is(tok::r_paren))
+    RParenLoc = ConsumeParen();
   return Ty;
 }
 

Added: cfe/trunk/test/SemaObjC/invalid-typename.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/invalid-typename.m?rev=57904&view=auto

==============================================================================
--- cfe/trunk/test/SemaObjC/invalid-typename.m (added)
+++ cfe/trunk/test/SemaObjC/invalid-typename.m Tue Oct 21 09:15:04 2008
@@ -0,0 +1,12 @@
+// RUN: clang -fsyntax-only -verify %s
+
+ at class NSString, NSArray;
+
+ at 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 '('}}
+ at end
+





More information about the cfe-commits mailing list