[cfe-commits] r133295 - in /cfe/trunk: include/clang/Basic/TokenKinds.def lib/Basic/Targets.cpp lib/Parse/ParseExpr.cpp test/SemaObjC/arc-bridged-cast.m

John McCall rjmccall at apple.com
Fri Jun 17 14:23:37 PDT 2011


Author: rjmccall
Date: Fri Jun 17 16:23:37 2011
New Revision: 133295

URL: http://llvm.org/viewvc/llvm-project?rev=133295&view=rev
Log:
As a hopefully temporary workaround for a header mistake, treat
__bridge_retain as a synonym for __bridge_retained.


Modified:
    cfe/trunk/include/clang/Basic/TokenKinds.def
    cfe/trunk/lib/Basic/Targets.cpp
    cfe/trunk/lib/Parse/ParseExpr.cpp
    cfe/trunk/test/SemaObjC/arc-bridged-cast.m

Modified: cfe/trunk/include/clang/Basic/TokenKinds.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TokenKinds.def?rev=133295&r1=133294&r2=133295&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/TokenKinds.def (original)
+++ cfe/trunk/include/clang/Basic/TokenKinds.def Fri Jun 17 16:23:37 2011
@@ -426,6 +426,7 @@
 KEYWORD(__bridge                     , KEYARC)
 KEYWORD(__bridge_transfer            , KEYARC)
 KEYWORD(__bridge_retained            , KEYARC)
+KEYWORD(__bridge_retain              , KEYARC)
 
 // Alternate spelling for various tokens.  There are GCC extensions in all
 // languages, but should not be disabled in strict conformance mode.

Modified: cfe/trunk/lib/Basic/Targets.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=133295&r1=133294&r2=133295&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/Targets.cpp (original)
+++ cfe/trunk/lib/Basic/Targets.cpp Fri Jun 17 16:23:37 2011
@@ -104,6 +104,7 @@
     Builder.defineMacro("__bridge", "");
     Builder.defineMacro("__bridge_transfer", "");
     Builder.defineMacro("__bridge_retained", "");
+    Builder.defineMacro("__bridge_retain", "");
   }
   
   if (Opts.Static)

Modified: cfe/trunk/lib/Parse/ParseExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseExpr.cpp?rev=133295&r1=133294&r2=133295&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseExpr.cpp (original)
+++ cfe/trunk/lib/Parse/ParseExpr.cpp Fri Jun 17 16:23:37 2011
@@ -1780,7 +1780,8 @@
   } else if (ExprType >= CompoundLiteral && 
              (Tok.is(tok::kw___bridge) || 
               Tok.is(tok::kw___bridge_transfer) ||
-              Tok.is(tok::kw___bridge_retained))) {
+              Tok.is(tok::kw___bridge_retained) ||
+              Tok.is(tok::kw___bridge_retain))) { // FIXME: temporary workaround
     // Parse an Objective-C ARC ownership cast expression.
     ObjCBridgeCastKind Kind;
     if (Tok.is(tok::kw___bridge))

Modified: cfe/trunk/test/SemaObjC/arc-bridged-cast.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/arc-bridged-cast.m?rev=133295&r1=133294&r2=133295&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/arc-bridged-cast.m (original)
+++ cfe/trunk/test/SemaObjC/arc-bridged-cast.m Fri Jun 17 16:23:37 2011
@@ -27,7 +27,10 @@
   CFTypeRef cf1 = (__bridge_retained CFTypeRef)CreateSomething();
   CFStringRef cf2 = (__bridge_retained CFStringRef)CreateNSString();
   CFTypeRef cf3 = (__bridge CFTypeRef)CreateSomething();
-  CFStringRef cf4 = (__bridge CFStringRef)CreateNSString(); 
+  CFStringRef cf4 = (__bridge CFStringRef)CreateNSString();
+
+  // rdar://problem/9629566 - temporary workaround
+  CFTypeRef cf5 = (__bridge_retain CFTypeRef)CreateSomething();
 }
 
 void fixits() {





More information about the cfe-commits mailing list