diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2003-12-18 03:29:04 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2003-12-18 03:29:04 +0000 |
commit | 4ac8340c316fb9f22630f419498847e0c6baf2cb (patch) | |
tree | 9d2bd76e18f5fbed09b4d35fad46609603fa1cf7 /gcc | |
parent | b0656d8b259f9035873700b7fc657f495044b75d (diff) | |
download | gcc-4ac8340c316fb9f22630f419498847e0c6baf2cb.tar.gz |
calls.c (expand_call): Update comments.
* calls.c (expand_call): Update comments.
* system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison.
* targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED.
From-SVN: r74770
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/calls.c | 19 | ||||
-rw-r--r-- | gcc/system.h | 3 | ||||
-rw-r--r-- | gcc/targhooks.c | 4 |
4 files changed, 18 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6f11c5e1189..ce2fa51b499 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-12-17 Kazu Hirata <kazu@cs.umass.edu> + + * calls.c (expand_call): Update comments. + * system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison. + * targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED. + 2003-12-17 James E Wilson <wilson@specifixinc.com> Roger Sayle <roger@eyesopen.com> diff --git a/gcc/calls.c b/gcc/calls.c index 6da115c5594..b89ec5279b1 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -2413,15 +2413,16 @@ expand_call (tree exp, rtx target, int ignore) (If no anonymous args follow, the result of list_length is actually one too large. This is harmless.) - If PRETEND_OUTGOING_VARARGS_NAMED is set and STRICT_ARGUMENT_NAMING is - zero, this machine will be able to place unnamed args that were - passed in registers into the stack. So treat all args as named. - This allows the insns emitting for a specific argument list to be - independent of the function declaration. - - If PRETEND_OUTGOING_VARARGS_NAMED is not set, we do not have any - reliable way to pass unnamed args in registers, so we must force - them into memory. */ + If targetm.calls.pretend_outgoing_varargs_named() returns + nonzero, and STRICT_ARGUMENT_NAMING is zero, this machine will be + able to place unnamed args that were passed in registers into the + stack. So treat all args as named. This allows the insns + emitting for a specific argument list to be independent of the + function declaration. + + If targetm.calls.pretend_outgoing_varargs_named() returns zero, + we do not have any reliable way to pass unnamed args in + registers, so we must force them into memory. */ if ((targetm.calls.strict_argument_naming (&args_so_far) || ! targetm.calls.pretend_outgoing_varargs_named (&args_so_far)) diff --git a/gcc/system.h b/gcc/system.h index ed0aaf9ebeb..6206ad1df82 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -594,7 +594,8 @@ typedef char _Bool; ASM_SIMPLIFY_DWARF_ADDR INIT_TARGET_OPTABS INIT_SUBTARGET_OPTABS \ INIT_GOFAST_OPTABS MULSI3_LIBCALL MULDI3_LIBCALL DIVSI3_LIBCALL \ DIVDI3_LIBCALL UDIVSI3_LIBCALL UDIVDI3_LIBCALL MODSI3_LIBCALL \ - MODDI3_LIBCALL UMODSI3_LIBCALL UMODDI3_LIBCALL BUILD_VA_LIST_TYPE + MODDI3_LIBCALL UMODSI3_LIBCALL UMODDI3_LIBCALL BUILD_VA_LIST_TYPE \ + PRETEND_OUTGOING_VARARGS_NAMED /* Other obsolete target macros, or macros that used to be in target headers and were not used, and may be obsolete or may never have diff --git a/gcc/targhooks.c b/gcc/targhooks.c index 62ed9432468..18d3be3ad0c 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -185,15 +185,11 @@ default_strict_argument_naming (CUMULATIVE_ARGS *ca ATTRIBUTE_UNUSED) bool default_pretend_outgoing_varargs_named(CUMULATIVE_ARGS *ca ATTRIBUTE_UNUSED) { -#ifdef PRETEND_OUTGOING_VARARGS_NAMED - return PRETEND_OUTGOING_VARARGS_NAMED; -#else #ifdef SETUP_INCOMING_VARARGS return 1; #else return (targetm.calls.setup_incoming_varargs != default_setup_incoming_varargs); #endif -#endif } /* Generic hook that takes a CUMULATIVE_ARGS pointer and returns true. */ |