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
This commit is contained in:
Kazu Hirata 2003-12-18 03:29:04 +00:00 committed by Kazu Hirata
parent b0656d8b25
commit 4ac8340c31
4 changed files with 17 additions and 13 deletions

View File

@ -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>

View File

@ -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 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 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 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))

View File

@ -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

View File

@ -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. */