[cfe-commits] r134989 - /cfe/trunk/lib/CodeGen/CGBlocks.cpp

John McCall rjmccall at apple.com
Tue Jul 12 09:53:04 PDT 2011


Author: rjmccall
Date: Tue Jul 12 11:53:04 2011
New Revision: 134989

URL: http://llvm.org/viewvc/llvm-project?rev=134989&view=rev
Log:
Ugh, use this compiler workaround again.


Modified:
    cfe/trunk/lib/CodeGen/CGBlocks.cpp

Modified: cfe/trunk/lib/CodeGen/CGBlocks.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBlocks.cpp?rev=134989&r1=134988&r2=134989&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGBlocks.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGBlocks.cpp Tue Jul 12 11:53:04 2011
@@ -633,11 +633,13 @@
 
       // Block captures count as local values and have imprecise semantics.
       // They also can't be arrays, so need to worry about that.
-      case QualType::DK_objc_strong_lifetime:
+      case QualType::DK_objc_strong_lifetime: {
+        // This local is a GCC and MSVC compiler workaround.
+        Destroyer *destroyer = &destroyARCStrongImprecise;
         pushDestroy(getCleanupKind(dtorKind), blockField, type,
-                    destroyARCStrongImprecise,
-                    /*useEHCleanupForArray*/ false);
+                    *destroyer, /*useEHCleanupForArray*/ false);
         break;
+      }
 
       case QualType::DK_objc_weak_lifetime:
       case QualType::DK_cxx_destructor:





More information about the cfe-commits mailing list