aboutsummaryrefslogtreecommitdiff
path: root/gcc/flow.c
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1994-03-11 11:50:38 -0800
committerJim Wilson <wilson@gcc.gnu.org>1994-03-11 11:50:38 -0800
commit761a5bcdf44dbe7f27f733a9143684fb4fd51a8c (patch)
treeef0b825abfdb26b7a553d9bdee777f354b70b460 /gcc/flow.c
parent7238ce3ab6d98a83420384dac32a7726c895481e (diff)
downloadgcc-761a5bcdf44dbe7f27f733a9143684fb4fd51a8c.zip
gcc-761a5bcdf44dbe7f27f733a9143684fb4fd51a8c.tar.gz
gcc-761a5bcdf44dbe7f27f733a9143684fb4fd51a8c.tar.bz2
(libcall_dead_p): Fail not abort for libcall that returns
value via invisible pointer. From-SVN: r6748
Diffstat (limited to 'gcc/flow.c')
-rw-r--r--gcc/flow.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index b578f90..74695a7 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -1736,8 +1736,11 @@ libcall_dead_p (x, needed, note, insn)
&& GET_CODE (SET_SRC (XVECEXP (call, 0, i))) == CALL)
break;
+ /* This may be a library call that is returning a value
+ via invisible pointer. Do nothing special, since
+ ordinary death handling can understand these insns. */
if (i < 0)
- abort ();
+ return 0;
call = XVECEXP (call, 0, i);
}