From a107cd8967511460a8b28e064f39f09945f69def Mon Sep 17 00:00:00 2001 From: kazu Date: Thu, 18 Dec 2003 03:29:04 +0000 Subject: [PATCH] * calls.c (expand_call): Update comments. * system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison. * targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74770 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/calls.c | 19 ++++++++++--------- gcc/system.h | 3 ++- gcc/targhooks.c | 4 ---- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6f11c5e..ce2fa51 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-12-17 Kazu Hirata + + * 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 Roger Sayle diff --git a/gcc/calls.c b/gcc/calls.c index 6da115c..b89ec52 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 ed0aaf9..6206ad1 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 62ed943..18d3be3 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. */ -- 2.7.4