+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>
(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))
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
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. */