Commit dfafc897 by Franz Sirl Committed by Richard Henderson

Franz Sirl <Franz.Sirl-kernel@lauterbach.com>

        * rs6000.c (rs6000_va_list): Type is an array.
        (rs6000_va_start): Don't doubly adjust for varargs.
        (rs6000_va_arg): Evaluate long long GPR adjustment.

From-SVN: r28408
parent 54dd04be
1999-08-02 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* rs6000.c (rs6000_va_list): Type is an array.
(rs6000_va_start): Don't doubly adjust for varargs.
(rs6000_va_arg): Evaluate long long GPR adjustment.
Mon Aug 2 16:15:57 1999 David Edelsohn <edelsohn@gnu.org> Mon Aug 2 16:15:57 1999 David Edelsohn <edelsohn@gnu.org>
* rs6000/aix43.h (SUBTARGET_SWITCHES): Use -m64 and -m32 instead of * rs6000/aix43.h (SUBTARGET_SWITCHES): Use -m64 and -m32 instead of
......
...@@ -1566,14 +1566,17 @@ typedef struct rs6000_args ...@@ -1566,14 +1566,17 @@ typedef struct rs6000_args
#define SETUP_INCOMING_VARARGS(CUM,MODE,TYPE,PRETEND_SIZE,NO_RTL) \ #define SETUP_INCOMING_VARARGS(CUM,MODE,TYPE,PRETEND_SIZE,NO_RTL) \
setup_incoming_varargs (&CUM, MODE, TYPE, &PRETEND_SIZE, NO_RTL) setup_incoming_varargs (&CUM, MODE, TYPE, &PRETEND_SIZE, NO_RTL)
/* If defined, is a C expression that produces the machine-specific /* Define the `__builtin_va_list' type for the ABI. */
code for a call to `__builtin_saveregs'. This code will be moved #define BUILD_VA_LIST_TYPE(VALIST) \
to the very beginning of the function, before any parameter access (VALIST) = rs6000_build_va_list ()
are made. The return value of this function should be an RTX that
contains the value to use as the return of `__builtin_saveregs'. */
#define EXPAND_BUILTIN_SAVEREGS() \ /* Implement `va_start' for varargs and stdarg. */
rs6000_expand_builtin_saveregs () #define EXPAND_BUILTIN_VA_START(stdarg, valist, nextarg) \
rs6000_va_start (stdarg, valist, nextarg)
/* Implement `va_arg'. */
#define EXPAND_BUILTIN_VA_ARG(valist, type) \
rs6000_va_arg (valist, type)
/* This macro generates the assembly code for function entry. /* This macro generates the assembly code for function entry.
FILE is a stdio stream to output the code to. FILE is a stdio stream to output the code to.
...@@ -3297,7 +3300,9 @@ extern struct rtx_def *function_arg (); ...@@ -3297,7 +3300,9 @@ extern struct rtx_def *function_arg ();
extern int function_arg_partial_nregs (); extern int function_arg_partial_nregs ();
extern int function_arg_pass_by_reference (); extern int function_arg_pass_by_reference ();
extern void setup_incoming_varargs (); extern void setup_incoming_varargs ();
extern struct rtx_def *rs6000_expand_builtin_saveregs (); extern union tree_node *rs6000_va_list ();
extern void rs6000_va_start ();
extern struct rtx_def *rs6000_va_arg ();
extern struct rtx_def *rs6000_stack_temp (); extern struct rtx_def *rs6000_stack_temp ();
extern int expand_block_move (); extern int expand_block_move ();
extern int load_multiple_operation (); extern int load_multiple_operation ();
......
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