This is the mail archive of the
mailing list for the GCC project.
Re: Potential fix for rdar://4658012
- From: Jason Merrill <jason at redhat dot com>
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: gcc-patches at gcc dot gnu dot org, jconner at apple dot com, richard dot guenther at gmail dot com
- Date: Sun, 10 Sep 2006 18:48:43 -0400
- Subject: Re: Potential fix for rdar://4658012
- References: <44EF948E.email@example.com> <firstname.lastname@example.org> <10608260940.AA19284@vlsi1.ultra.nyu.edu> <email@example.com> <10608261003.AA19387@vlsi1.ultra.nyu.edu> <44F32FAC.firstname.lastname@example.org> <10608312235.AA10712@vlsi1.ultra.nyu.edu> <email@example.com> <10609091245.AA03662@vlsi1.ultra.nyu.edu> <45035BBE.firstname.lastname@example.org> <10609100107.AA11665@vlsi1.ultra.nyu.edu>
Richard Kenner wrote:
Gimplification moves most temporaries into the tree structure, and
tree-ssa currently doesn't really try to manage the lifetime of
temporaries that live in the stack (bug 16269).
That's what I would have thought, but if it were that simple, then why
would the proposed change to calls.c do anything? There's something
more going on here ...
Because I recently changed the C++ front end to remove the explicit
temporaries in cases where they're never used for anything, in order to
fix attribute warn_unused_value. As a result, expand_call needs to
allocate the (ignored) temporaries again, as it always has had to do for C.