diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/tree-tailcall.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7cbdf9a..4ddc85d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2007-09-04 Jan Hubicka <jh@suse.cz> + * tree-tailcall.c (eliminate_tail_call): Expect unrenamed return value. + +2007-09-04 Jan Hubicka <jh@suse.cz> + * invoke.texi (-finline-small-functions): Document. * ipa-inline.c (cgraph_default_inline_p): Do not use DECL_INLINE when deciding what is inlinable. diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c index 8651b60..3e15b1b 100644 --- a/gcc/tree-tailcall.c +++ b/gcc/tree-tailcall.c @@ -800,7 +800,8 @@ eliminate_tail_call (struct tailcall *t) /* Result of the call will no longer be defined. So adjust the SSA_NAME_DEF_STMT accordingly. */ - SSA_NAME_DEF_STMT (rslt) = build_empty_stmt (); + if (TREE_CODE (rslt) == SSA_NAME) + SSA_NAME_DEF_STMT (rslt) = build_empty_stmt (); } bsi_remove (&t->call_bsi, true); |