[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