From: John David Anglin Date: Mon, 27 Dec 2004 00:20:56 +0000 (+0000) Subject: re PR target/17643 (ICE in propagate_one_insn, at flow.c:1582) X-Git-Tag: releases/gcc-3.4.4~364 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b1878ad2412994720b4a848cc0fd28301c154e29;p=thirdparty%2Fgcc.git re PR target/17643 (ICE in propagate_one_insn, at flow.c:1582) PR target/17643 * pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when generating code for the portable runtime. From-SVN: r92628 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 15e364c3578b..d4dff7786b45 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-12-26 John David Anglin + + PR target/17643 + * pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when + generating code for the portable runtime. + 2004-12-25 Alan Modra PR target/19147 diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index f0d15857f247..8864cee7bc38 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -7933,6 +7933,9 @@ pa_asm_output_mi_thunk (FILE *file, tree thunk_fndecl, HOST_WIDE_INT delta, static bool pa_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED) { + if (TARGET_PORTABLE_RUNTIME) + return false; + /* Sibcalls are ok for TARGET_ELF32 as along as the linker is used in single subspace mode and the call is not indirect. As far as I know, there is no operating system support for the multiple subspace mode. @@ -7950,9 +7953,8 @@ pa_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED) if (TARGET_64BIT) return false; - return (decl - && !TARGET_PORTABLE_RUNTIME - && !TREE_PUBLIC (decl)); + /* Sibcalls are only ok within a translation unit. */ + return (decl && !TREE_PUBLIC (decl)); } /* Returns 1 if the 6 operands specified in OPERANDS are suitable for