re PR c/9530 (ICE on missing return statement)
PR c/9530 * config/i386/i386.h (FUNCTION_OK_FOR_SIBCALL): Forbid sibcalls from functions that return a float to functions that don't. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r62484
This commit is contained in:
parent
a0571a5836
commit
123e6bf737
|
@ -1,3 +1,10 @@
|
|||
2003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR c/9530
|
||||
* config/i386/i386.h (FUNCTION_OK_FOR_SIBCALL): Forbid sibcalls
|
||||
from functions that return a float to functions that don't.
|
||||
|
||||
2003-02-03 Bob Wilson <bob.wilson@acm.org>
|
||||
|
||||
* config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
|
||||
|
|
|
@ -1723,15 +1723,17 @@ typedef struct ix86_args {
|
|||
|
||||
/* If PIC, we cannot make sibling calls to global functions
|
||||
because the PLT requires %ebx live.
|
||||
If we are returning floats on the register stack, we cannot make
|
||||
sibling calls to functions that return floats. (The stack adjust
|
||||
instruction will wind up after the sibcall jump, and not be executed.) */
|
||||
If we are returning floats on the 80387 register stack, we cannot
|
||||
make a sibcall from a function that doesn't return a float to a
|
||||
function that does or, conversely, from a function that does return
|
||||
a float to a function that doesn't; the necessary stack adjustment
|
||||
would not be executed. */
|
||||
#define FUNCTION_OK_FOR_SIBCALL(DECL) \
|
||||
((DECL) \
|
||||
&& (! flag_pic || ! TREE_PUBLIC (DECL)) \
|
||||
&& (! TARGET_FLOAT_RETURNS_IN_80387 \
|
||||
|| ! FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (DECL)))) \
|
||||
|| FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (cfun->decl))))))
|
||||
|| (FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (DECL)))) \
|
||||
== FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (cfun->decl)))))))
|
||||
|
||||
/* Perform any needed actions needed for a function that is receiving a
|
||||
variable number of arguments.
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
* gcc.c-torture/compile/20030206-1.c: New test.
|
||||
|
||||
2003-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* gcc.c-torture/execute/20020227-1.x: Update specific XFAIL
|
||||
|
|
Loading…
Reference in New Issue