Commit 9d6bef95 by Jason Merrill Committed by Jason Merrill

defaults.h (PUSH_ARGS_REVERSED): Define default here.

        * defaults.h (PUSH_ARGS_REVERSED): Define default here.
        * calls.c: Not here.

From-SVN: r68701
parent 4e938719
2003-06-30 Jason Merrill <jason@redhat.com>
* defaults.h (PUSH_ARGS_REVERSED): Define default here.
* calls.c: Not here.
2003-06-30 Ben Elliston <bje@wasabisystems.com>
* config/arm/arm.c (arm_rtx_costs): Remove #if 0 block.
......
......@@ -40,26 +40,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "cgraph.h"
#include "except.h"
/* Decide whether a function's arguments should be processed
from first to last or from last to first.
They should if the stack and args grow in opposite directions, but
only if we have push insns. */
#ifdef PUSH_ROUNDING
#ifndef PUSH_ARGS_REVERSED
#if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD)
#define PUSH_ARGS_REVERSED PUSH_ARGS
#endif
#endif
#endif
#ifndef PUSH_ARGS_REVERSED
#define PUSH_ARGS_REVERSED 0
#endif
#ifndef STACK_POINTER_OFFSET
#define STACK_POINTER_OFFSET 0
#endif
......
......@@ -411,6 +411,26 @@ do { fputs (integer_asm_op (POINTER_SIZE / UNITS_PER_WORD, TRUE), FILE); \
#endif
#endif
/* Decide whether a function's arguments should be processed
from first to last or from last to first.
They should if the stack and args grow in opposite directions, but
only if we have push insns. */
#ifdef PUSH_ROUNDING
#ifndef PUSH_ARGS_REVERSED
#if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD)
#define PUSH_ARGS_REVERSED PUSH_ARGS
#endif
#endif
#endif
#ifndef PUSH_ARGS_REVERSED
#define PUSH_ARGS_REVERSED 0
#endif
/* If PREFERRED_STACK_BOUNDARY is not defined, set it to STACK_BOUNDARY.
STACK_BOUNDARY is required. */
#ifndef PREFERRED_STACK_BOUNDARY
......
......@@ -3374,6 +3374,13 @@ allocate the entire argument block and then store the arguments into
it. When @code{PUSH_ARGS} is nonzero, @code{PUSH_ROUNDING} must be defined too.
@end defmac
@defmac PUSH_ARGS_REVERSED
A C expression. If nonzero, function arguments will be evaluated from
last to first, rather than from first to last. If this macro is not
defined, it defaults to @code{PUSH_ARGS} on targets where the stack
and args grow in opposite directions, and 0 otherwise.
@end defmac
@defmac PUSH_ROUNDING (@var{npushed})
A C expression that is the number of bytes actually pushed onto the
stack when an instruction attempts to push @var{npushed} bytes.
......
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