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))


_______________________________________________
llvm-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to