From: Donald Lindsay Date: Wed, 27 Sep 2000 21:08:33 +0000 (+0000) Subject: Patch by rth to fix inline-of-an-inline return-value bug. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e93eff9433088e058245212256b3f03f34562817;p=gcc.git Patch by rth to fix inline-of-an-inline return-value bug. From-SVN: r36654 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f2386a04478..67a022e3611 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Sep 27 14:00:07 2000 Donald Lindsay + + * integrate.c (copy_insn_list): if an ignored return value + is being clobbered, skip cloning that into the inline copy. + 2000-09-27 Joseph S. Myers * extend.texi, invoke.texi, gcc.texi, install.texi: Consistently diff --git a/gcc/integrate.c b/gcc/integrate.c index 79fbce6d422..cc3a5581985 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -1294,6 +1294,13 @@ copy_insn_list (insns, map, static_chain_value) break; } + /* Similarly if an ignored return value is clobbered. */ + else if (map->inline_target == 0 + && GET_CODE (pattern) == CLOBBER + && GET_CODE (XEXP (pattern, 0)) == REG + && REG_FUNCTION_VALUE_P (XEXP (pattern, 0))) + break; + /* If this is setting the static chain rtx, omit it. */ else if (static_chain_value != 0 && set != 0