This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: C++ PATCH: Fix inlining bug
- From: Jason Merrill <jason at redhat dot com>
- To: Mark Mitchell <mark at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 15 Mar 2002 19:27:53 +0000
- Subject: Re: C++ PATCH: Fix inlining bug
- References: <388540000.1016219269@gandalf.codesourcery.com>
>>>>> "Mark" == Mark Mitchell <mark@codesourcery.com> writes:
> The tree-based inliner built a new VAR_DECL for the parameter, and
> then used an INIT_EXPR to initialize it. In this case, the right-hand
> side would be a TARGET_EXPR. We never build a clean-up for the new
> VAR_DECL because it was the caller's responsibility to clean up the
> parameter, so the cleanup was already there in the function we were
> going to inline.
> But, now, it's not. Jason, would you mind confirming that this sounds
> sane to you?
Makes sense.
> * expr.c (expand_expr): Tidy.
This changes the semantics of the case where DECL_RTL (slot) is set but
TREE_OPERAND (exp, 1) has not been cleared. I'm not sure if that would
affect anything now, but it could.
Jason