mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-30 11:05:09 +08:00
re PR rtl-optimization/6189 (Regression from 3.0.x: g++ -O3 generates wrong code)
PR optimization/6189 * semantics.c (genrtl_start_function): Don't free DECL_SAVED_FUNCTION_DATA for inline functions. From-SVN: r52082
This commit is contained in:
parent
f451b552cf
commit
edf5cd1d1d
@ -1,5 +1,9 @@
|
||||
2002-04-09 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR optimization/6189
|
||||
* semantics.c (genrtl_start_function): Don't free
|
||||
DECL_SAVED_FUNCTION_DATA for inline functions.
|
||||
|
||||
* init.c (build_member_call): For now, don't convert to
|
||||
intermediate base if it would cause an error.
|
||||
|
||||
|
@ -2470,9 +2470,14 @@ genrtl_start_function (fn)
|
||||
if (!current_function_cannot_inline)
|
||||
current_function_cannot_inline = cp_function_chain->cannot_inline;
|
||||
|
||||
/* We don't need the saved data anymore. */
|
||||
free (DECL_SAVED_FUNCTION_DATA (fn));
|
||||
DECL_SAVED_FUNCTION_DATA (fn) = NULL;
|
||||
/* We don't need the saved data anymore. Unless this is an inline
|
||||
function; we need the named return value info for
|
||||
cp_copy_res_decl_for_inlining. */
|
||||
if (! DECL_INLINE (fn))
|
||||
{
|
||||
free (DECL_SAVED_FUNCTION_DATA (fn));
|
||||
DECL_SAVED_FUNCTION_DATA (fn) = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* Keep track of how many functions we're presently expanding. */
|
||||
|
Loading…
Reference in New Issue
Block a user