summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2003-12-18 03:29:04 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2003-12-18 03:29:04 +0000
commit4ac8340c316fb9f22630f419498847e0c6baf2cb (patch)
tree9d2bd76e18f5fbed09b4d35fad46609603fa1cf7 /gcc
parentb0656d8b259f9035873700b7fc657f495044b75d (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/calls.c19
-rw-r--r--gcc/system.h3
-rw-r--r--gcc/targhooks.c4
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. */