[llvm-commits] [llvm-gcc-4.2] r63066 - /llvm-gcc-4.2/trunk/gcc/objc/objc-act.c

Dale Johannesen dalej at apple.com
Mon Jan 26 15:21:31 PST 2009


Author: johannes
Date: Mon Jan 26 17:21:30 2009
New Revision: 63066

URL: http://llvm.org/viewvc/llvm-project?rev=63066&view=rev
Log:
Fix for 5541393 caused a strong-cast write barrier
not to be inserted in a case where it is needed
(block-assigngcstrongcast.c in gcc testsuite).
Block-pointer-type should be OK in this position
and doesn't break anything in practice.


Modified:
    llvm-gcc-4.2/trunk/gcc/objc/objc-act.c

Modified: llvm-gcc-4.2/trunk/gcc/objc/objc-act.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/objc/objc-act.c?rev=63066&r1=63065&r2=63066&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/objc/objc-act.c (original)
+++ llvm-gcc-4.2/trunk/gcc/objc/objc-act.c Mon Jan 26 17:21:30 2009
@@ -7514,11 +7514,12 @@
     }
   /* APPLE LOCAL end radar 4426814 */
 
-  /* LLVM LOCAL - begin 5541393 */
+  /* LLVM LOCAL - begin 5541393 + 6522054 */
 #ifdef ENABLE_LLVM
-  if (TREE_CODE(TREE_TYPE(lhs)) != POINTER_TYPE) return NULL_TREE;  
+  if (TREE_CODE(TREE_TYPE(lhs)) != POINTER_TYPE  &&
+      TREE_CODE(TREE_TYPE(lhs)) != BLOCK_POINTER_TYPE) return NULL_TREE; 
 #endif
-  /* LLVM LOCAL - end 5541393 */
+  /* LLVM LOCAL - end 5541393 + 6522054 */
   /* APPLE LOCAL begin ObjC GC */
   /* Use the strong-cast write barrier as a last resort.  */
   if (warn_assign_intercept)





More information about the llvm-commits mailing list