Author: rjmccall
Date: Fri Mar 25 20:53:26 2011
New Revision: 128325

URL: http://llvm.org/viewvc/llvm-project?rev=128325&view=rev
Log:
Fix the recovery from missing semis on @property declarations to not consume
the following '@'.  Conceivably, we could skip tokens until something that
can validly start an @interface declaration here, but it's not clear that
it matters.


Added:
    cfe/trunk/test/Parser/recovery.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=128325&r1=128324&r2=128325&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseObjc.cpp (original)
+++ cfe/trunk/lib/Parse/ParseObjc.cpp Fri Mar 25 20:53:26 2011
@@ -442,8 +442,7 @@
       DeclSpec DS(AttrFactory);
       ParseStructDeclaration(DS, Callback);
 
-      ExpectAndConsume(tok::semi, diag::err_expected_semi_decl_list, "",
-                       tok::at);
+      ExpectAndConsume(tok::semi, diag::err_expected_semi_decl_list);
       break;
     }
   }

Added: cfe/trunk/test/Parser/recovery.m
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/recovery.m?rev=128325&view=auto
==============================================================================
--- cfe/trunk/test/Parser/recovery.m (added)
+++ cfe/trunk/test/Parser/recovery.m Fri Mar 25 20:53:26 2011
@@ -0,0 +1,5 @@
+// RUN: %clang_cc1 -fsyntax-only -verify -pedantic -fblocks %s
+
+@interface Test0
+@property (assign) id x  // expected-error {{expected ';' at end of 
declaration list}}
+@end


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to