summaryrefslogtreecommitdiff
path: root/gcc/integrate.c
diff options
context:
space:
mode:
authordlindsay <dlindsay@138bc75d-0d04-0410-961f-82ee72b054a4>2000-09-27 21:08:33 +0000
committerdlindsay <dlindsay@138bc75d-0d04-0410-961f-82ee72b054a4>2000-09-27 21:08:33 +0000
commitc1a4fd9101cf73ccb1d30961a6a37ca2201b1bf4 (patch)
tree891de3b07109657a8b0a284d545ddec5a5a4e28e /gcc/integrate.c
parentb7ba3d8c2d01ed5ae3d9d7b023b8add98d92adf8 (diff)
downloadgcc-c1a4fd9101cf73ccb1d30961a6a37ca2201b1bf4.tar.gz
Patch by rth to fix inline-of-an-inline return-value bug.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36654 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/integrate.c')
-rw-r--r--gcc/integrate.c7
1 files changed, 7 insertions, 0 deletions
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