[cfe-commits] r45135 - in /cfe/trunk: Parse/ParseDecl.cpp include/clang/Basic/TokenKinds.def

Steve Naroff snaroff at apple.com
Mon Dec 17 16:16:02 PST 2007


Author: snaroff
Date: Mon Dec 17 18:16:02 2007
New Revision: 45135

URL: http://llvm.org/viewvc/llvm-project?rev=45135&view=rev
Log:

Add __private_extern__ keyword and recognize it. Added a FIXME to indicate there is still work to do.

Modified:
    cfe/trunk/Parse/ParseDecl.cpp
    cfe/trunk/include/clang/Basic/TokenKinds.def

Modified: cfe/trunk/Parse/ParseDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Parse/ParseDecl.cpp?rev=45135&r1=45134&r2=45135&view=diff

==============================================================================
--- cfe/trunk/Parse/ParseDecl.cpp (original)
+++ cfe/trunk/Parse/ParseDecl.cpp Mon Dec 17 18:16:02 2007
@@ -441,6 +441,10 @@
         Diag(Tok, diag::ext_thread_before, "extern");
       isInvalid = DS.SetStorageClassSpec(DeclSpec::SCS_extern, Loc, PrevSpec);
       break;
+    case tok::kw___private_extern__:
+	  // FIXME: Implement private extern.
+      isInvalid = DS.SetStorageClassSpec(DeclSpec::SCS_extern, Loc, PrevSpec);
+      break;
     case tok::kw_static:
       if (DS.isThreadSpecified())
         Diag(Tok, diag::ext_thread_before, "static");
@@ -917,6 +921,7 @@
     // storage-class-specifier
   case tok::kw_typedef:
   case tok::kw_extern:
+  case tok::kw___private_extern__:
   case tok::kw_static:
   case tok::kw_auto:
   case tok::kw_register:

Modified: cfe/trunk/include/clang/Basic/TokenKinds.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TokenKinds.def?rev=45135&r1=45134&r2=45135&view=diff

==============================================================================
--- cfe/trunk/include/clang/Basic/TokenKinds.def (original)
+++ cfe/trunk/include/clang/Basic/TokenKinds.def Mon Dec 17 18:16:02 2007
@@ -298,6 +298,9 @@
 KEYWORD(__real                      , EXTC90|EXTC99|EXTCPP|EXTCPP0x)
 KEYWORD(__thread                    , EXTC90|EXTC99|EXTCPP|EXTCPP0x)
 
+// Apple Extension.
+KEYWORD(__private_extern__          , EXTC90|EXTC99|NOTCPP)
+
 // Alternate spelling for various tokens.  There are GCC extensions in all
 // languages, but should not be disabled in strict conformance mode.
 ALIAS("__attribute__", __attribute)





More information about the cfe-commits mailing list