This is the mail archive of the gcc-bugs@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]

[Bug c++/19317] [4.0/4.1 Regression] removing a temporary return value when we cannot


------- Additional Comments From jason at redhat dot com  2005-03-18 00:34 -------
Subject: Re:  [4.0/4.1 Regression] removing a temporary
 return value when we cannot

This hack should work around the bug, pending a better fix.

*** calls.c.~1~	2005-02-01 10:53:24.000000000 -0500
--- calls.c	2005-03-17 19:33:38.931587705 -0500
*************** expand_call (tree exp, rtx target, int i
*** 1994,2001 ****
--- 1994,2003 ----
  	    structure_value_addr = expand_expr (return_arg, NULL_RTX,
  						VOIDmode, EXPAND_NORMAL);
  	  }
+ #if 0
  	else if (target && MEM_P (target))
  	  structure_value_addr = XEXP (target, 0);
+ #endif
  	else
  	  {
  	    /* For variable-sized objects, we must be called with a target


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19317


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