]> granicus.if.org Git - clang/commitdiff
Remove an implemented fixme, only treat < as a type specifier
authorChris Lattner <sabre@nondot.org>
Mon, 20 Oct 2008 00:25:30 +0000 (00:25 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 20 Oct 2008 00:25:30 +0000 (00:25 +0000)
when ObjC is turned on.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57787 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Parse/ParseDecl.cpp

index 7e83c5b014fd8d95bb7dfdefca29774fb322c36b..9dffa7730d25cbbf18cf5a39aea99258e397d563 100644 (file)
@@ -277,7 +277,6 @@ ParseInitDeclaratorListAfterFirstDeclarator(Declarator &D) {
       D.AddAttributes(ParseAttributes());
 
     // Inform the current actions module that we just parsed this declarator.
-    // FIXME: pass asm & attributes.
     LastDeclInGroup = Actions.ActOnDeclarator(CurScope, D, LastDeclInGroup);
         
     // Parse declarator '=' initializer.
@@ -952,8 +951,6 @@ bool Parser::isTypeSpecifierQualifier() const {
   case tok::kw___attribute:
     // GNU typeof support.
   case tok::kw_typeof:
-    // GNU bizarre protocol extension. FIXME: make an extension?
-  case tok::less:
   
     // type-specifiers
   case tok::kw_short:
@@ -986,6 +983,10 @@ bool Parser::isTypeSpecifierQualifier() const {
   case tok::kw_volatile:
   case tok::kw_restrict:
     return true;
+      
+    // GNU ObjC bizarre protocol extension: <proto1,proto2> with implicit 'id'.
+  case tok::less:
+    return getLang().ObjC1;
     
     // typedef-name
   case tok::identifier: