[Bug rtl-optimization/15853] [3.3 Regression] temporaries are not destroyed and overwritten later

gdr at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Apr 28 08:23:00 GMT 2005


------- Additional Comments From gdr at gcc dot gnu dot org  2005-04-28 08:23 -------
(In reply to comment #6)
> Um... first of all, this works on 3.4 branch only by accident, i.e. I think the
> underlying problem is still present there.  What happens is that a call has an
> argument containing a TARGET_EXPR with cleanups and is eligible for the sibling
> call optimization.  The cleanups are expanded during the first pass but, since
> the optimization eventually fails, the RTL is thrown away.  Then, during the
> second pass, the TARGET_EXPR is expanded again but not the cleanups because they
> are not registered (the variable 'cleanups' is NULL at expr.c:9050).
> 
> I'm not sure how this is supposed to work.  Richard, do you have any
> recollection of this?  In 2000(!), you commited this patch:

RTH --
  I guess you did not have interest in this?  Shall I close it as WONTFIX?

-- Gaby


-- 


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



More information about the Gcc-bugs mailing list