[llvm-commits] [llvm-gcc-4.0] r43768 - /llvm-gcc-4.0/trunk/gcc/objc/objc-act.c

Dale Johannesen dalej at apple.com
Tue Nov 6 10:35:44 PST 2007


Author: johannes
Date: Tue Nov  6 12:35:43 2007
New Revision: 43768

URL: http://llvm.org/viewvc/llvm-project?rev=43768&view=rev
Log:
Fix for PR 1654.


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

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

==============================================================================
--- llvm-gcc-4.0/trunk/gcc/objc/objc-act.c (original)
+++ llvm-gcc-4.0/trunk/gcc/objc/objc-act.c Tue Nov  6 12:35:43 2007
@@ -13148,13 +13148,8 @@
 	      && TREE_TYPE (receiver) == objc_class_type))
 	check_for_nil = false;
 
-      if (!targetm.calls.struct_value_rtx (0, 0)
-          && (TREE_CODE (ret_type) == RECORD_TYPE 
-       	      || TREE_CODE (ret_type) == UNION_TYPE)
-	  /* APPLE LOCAL begin radar 5080710 */
-          && (TREE_ADDRESSABLE (ret_type) 
-	      || targetm.calls.return_in_memory (ret_type, 0)))
-	  /* APPLE LOCAL end radar 5080710 */
+      /* LLVM LOCAL pr 1654 */
+      if (aggregate_value_p (ret_type, 0))
 	{
 	  if (super)
 	    message_func_decl = umsg_id_super2_stret_fixup_decl;
@@ -13290,14 +13285,9 @@
 	 argument, then change which messenger entry point this
 	 expr will call.  NB: Note that sender_cast remains
 	 unchanged (it already has a struct return type).  */
-      if (!targetm.calls.struct_value_rtx (0, 0)
-	  && (TREE_CODE (ret_type) == RECORD_TYPE
-	      || TREE_CODE (ret_type) == UNION_TYPE)
-	  /* APPLE LOCAL begin radar 5080710 */
-	  && (TREE_ADDRESSABLE (ret_type) 
-	      || targetm.calls.return_in_memory (ret_type, 0)))
-	  /* APPLE LOCAL end radar 5080710 */
-	sender = (super_flag ? umsg_super_stret_decl :
+      /* LLVM LOCAL pr 1654 */
+      if (aggregate_value_p (ret_type, 0))
+        sender = (super_flag ? umsg_super_stret_decl :
 		flag_nil_receivers ? umsg_stret_decl : umsg_nonnil_stret_decl);
       /* APPLE LOCAL begin radar 4280641 */
       else if (!super_flag && targetm.calls.objc_fpreturn_msgcall (ret_type, true))





More information about the llvm-commits mailing list