This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Results for 3.4-bi 20021213 (experimental) testsuite on


Hmm, I can't get at at our internal hostlist at the moment, so I can't find
an HP box to test on.  Does this patch help?

*** calls.c.~1~	2002-12-16 00:37:09.000000000 -0500
--- calls.c	2002-12-16 00:49:42.000000000 -0500
*************** expand_call (exp, target, ignore)
*** 2248,2255 ****
  	struct_value_size = int_size_in_bytes (TREE_TYPE (exp));
  
  	if (CALL_EXPR_HAS_RETURN_SLOT_ADDR (exp))
! 	  /* The structure value address arg is already in actparms.  */
! 	  structure_value_addr_parm = 1;
  	else if (target && GET_CODE (target) == MEM)
  	  structure_value_addr = XEXP (target, 0);
  	else
--- 2248,2267 ----
  	struct_value_size = int_size_in_bytes (TREE_TYPE (exp));
  
  	if (CALL_EXPR_HAS_RETURN_SLOT_ADDR (exp))
! 	  {
! 	    /* The structure value address arg is already in actparms.  */
! 	    if (struct_value_rtx == 0)
! 	      /* We want to pass it as a normal argument, so leave it.  */
! 	      structure_value_addr_parm = 1;
! 	    else
! 	      {
! 		/* We want to pass it in a special location.  */
! 		tree return_arg = TREE_VALUE (actparms);
! 		actparms = TREE_CHAIN (actparms);
! 		structure_value_addr = expand_expr (return_arg, struct_value_rtx,
! 						    VOIDmode, EXPAND_NORMAL);
! 	      }
! 	  }
  	else if (target && GET_CODE (target) == MEM)
  	  structure_value_addr = XEXP (target, 0);
  	else

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]