Commit 4ac8340c by Kazu Hirata Committed by Kazu Hirata

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
parent b0656d8b
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> 2003-12-17 James E Wilson <wilson@specifixinc.com>
Roger Sayle <roger@eyesopen.com> Roger Sayle <roger@eyesopen.com>
......
...@@ -2413,15 +2413,16 @@ expand_call (tree exp, rtx target, int ignore) ...@@ -2413,15 +2413,16 @@ expand_call (tree exp, rtx target, int ignore)
(If no anonymous args follow, the result of list_length is actually (If no anonymous args follow, the result of list_length is actually
one too large. This is harmless.) one too large. This is harmless.)
If PRETEND_OUTGOING_VARARGS_NAMED is set and STRICT_ARGUMENT_NAMING is If targetm.calls.pretend_outgoing_varargs_named() returns
zero, this machine will be able to place unnamed args that were nonzero, and STRICT_ARGUMENT_NAMING is zero, this machine will be
passed in registers into the stack. So treat all args as named. able to place unnamed args that were passed in registers into the
This allows the insns emitting for a specific argument list to be stack. So treat all args as named. This allows the insns
independent of the function declaration. 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 If targetm.calls.pretend_outgoing_varargs_named() returns zero,
them into memory. */ 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) if ((targetm.calls.strict_argument_naming (&args_so_far)
|| ! targetm.calls.pretend_outgoing_varargs_named (&args_so_far)) || ! targetm.calls.pretend_outgoing_varargs_named (&args_so_far))
......
...@@ -594,7 +594,8 @@ typedef char _Bool; ...@@ -594,7 +594,8 @@ typedef char _Bool;
ASM_SIMPLIFY_DWARF_ADDR INIT_TARGET_OPTABS INIT_SUBTARGET_OPTABS \ ASM_SIMPLIFY_DWARF_ADDR INIT_TARGET_OPTABS INIT_SUBTARGET_OPTABS \
INIT_GOFAST_OPTABS MULSI3_LIBCALL MULDI3_LIBCALL DIVSI3_LIBCALL \ INIT_GOFAST_OPTABS MULSI3_LIBCALL MULDI3_LIBCALL DIVSI3_LIBCALL \
DIVDI3_LIBCALL UDIVSI3_LIBCALL UDIVDI3_LIBCALL MODSI3_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 /* 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 headers and were not used, and may be obsolete or may never have
......
...@@ -185,15 +185,11 @@ default_strict_argument_naming (CUMULATIVE_ARGS *ca ATTRIBUTE_UNUSED) ...@@ -185,15 +185,11 @@ default_strict_argument_naming (CUMULATIVE_ARGS *ca ATTRIBUTE_UNUSED)
bool bool
default_pretend_outgoing_varargs_named(CUMULATIVE_ARGS *ca ATTRIBUTE_UNUSED) 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 #ifdef SETUP_INCOMING_VARARGS
return 1; return 1;
#else #else
return (targetm.calls.setup_incoming_varargs != default_setup_incoming_varargs); return (targetm.calls.setup_incoming_varargs != default_setup_incoming_varargs);
#endif #endif
#endif
} }
/* Generic hook that takes a CUMULATIVE_ARGS pointer and returns true. */ /* Generic hook that takes a CUMULATIVE_ARGS pointer and returns true. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment