[cfe-commits] r62382 - in /cfe/trunk: lib/Parse/ParseDecl.cpp test/Parser/objc-foreach-syntax.m
Fariborz Jahanian
fjahanian at apple.com
Fri Jan 16 16:00:40 PST 2009
Author: fjahanian
Date: Fri Jan 16 18:00:40 2009
New Revision: 62382
URL: http://llvm.org/viewvc/llvm-project?rev=62382&view=rev
Log:
Catch a foreach parse error.
Added:
cfe/trunk/test/Parser/objc-foreach-syntax.m
Modified:
cfe/trunk/lib/Parse/ParseDecl.cpp
Modified: cfe/trunk/lib/Parse/ParseDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseDecl.cpp?rev=62382&r1=62381&r2=62382&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseDecl.cpp (original)
+++ cfe/trunk/lib/Parse/ParseDecl.cpp Fri Jan 16 18:00:40 2009
@@ -364,6 +364,11 @@
if (Tok.is(tok::semi)) {
ConsumeToken();
+ // for(is key; in keys) is error.
+ if (D.getContext() == Declarator::ForContext && isTokIdentifier_in()) {
+ Diag(Tok, diag::err_parse_error);
+ return 0;
+ }
return Actions.FinalizeDeclaratorGroup(CurScope, LastDeclInGroup);
}
// If this is an ObjC2 for-each loop, this is a successful declarator
Added: cfe/trunk/test/Parser/objc-foreach-syntax.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/objc-foreach-syntax.m?rev=62382&view=auto
==============================================================================
--- cfe/trunk/test/Parser/objc-foreach-syntax.m (added)
+++ cfe/trunk/test/Parser/objc-foreach-syntax.m Fri Jan 16 18:00:40 2009
@@ -0,0 +1,7 @@
+// RUN: clang -fsyntax-only -verify %s
+
+static int test_NSURLGetResourceValueForKey( id keys )
+{
+ for ( id key; in keys) { // expected-error {{parse error}}
+ }
+}
More information about the cfe-commits
mailing list