diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/config/m68hc11/m68hc11-protos.h | 10 | ||||
-rw-r--r-- | gcc/config/m68hc11/m68hc11.c | 21 | ||||
-rw-r--r-- | gcc/config/m68hc11/m68hc11.h | 21 |
4 files changed, 27 insertions, 36 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ae687f1..ba72067 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,16 @@ 2010-10-28 Nathan Froyd <froydnj@codesourcery.com> + * config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete. + (m68hc11_function_arg_advance): Delete. + * config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete. + (FUNCTION_ARG_ADVANCE): Delete. + * config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static. + Take a const_tree and a bool. + (m68hc11_function_arg_advance): Likewise. + (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. + +2010-10-28 Nathan Froyd <froydnj@codesourcery.com> + * config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete. (xstormy16_function_arg_advance): Delete. * config/stormy16/stormy16.h (FUNCTION_ARG): Delete. diff --git a/gcc/config/m68hc11/m68hc11-protos.h b/gcc/config/m68hc11/m68hc11-protos.h index e98c190..08e0b4d 100644 --- a/gcc/config/m68hc11/m68hc11-protos.h +++ b/gcc/config/m68hc11/m68hc11-protos.h @@ -31,13 +31,6 @@ extern int m68hc11_initial_elimination_offset (int, int); extern void expand_prologue (void); extern void expand_epilogue (void); -#ifdef TREE_CODE -extern void m68hc11_function_arg_advance (CUMULATIVE_ARGS*, - enum machine_mode, - tree, - int); -#endif - #ifdef RTX_CODE extern int m68hc11_auto_inc_p (rtx); @@ -98,9 +91,6 @@ extern int soft_reg_operand (rtx, enum machine_mode); extern void m68hc11_init_cumulative_args (CUMULATIVE_ARGS*, tree, rtx); -extern rtx m68hc11_function_arg (const CUMULATIVE_ARGS* , - enum machine_mode, - tree, int); #ifdef ARGS_SIZE_RTX extern enum direction m68hc11_function_arg_padding (enum machine_mode, const_tree); diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c index e45a748..6e11a08 100644 --- a/gcc/config/m68hc11/m68hc11.c +++ b/gcc/config/m68hc11/m68hc11.c @@ -98,6 +98,11 @@ static bool m68hc11_return_in_memory (const_tree, const_tree); static bool m68hc11_can_eliminate (const int, const int); static void m68hc11_trampoline_init (rtx, tree, rtx); +static rtx m68hc11_function_arg (CUMULATIVE_ARGS*, enum machine_mode, + const_tree, bool); +static void m68hc11_function_arg_advance (CUMULATIVE_ARGS*, enum machine_mode, + const_tree, bool); + /* Must be set to 1 to produce debug messages. */ int debug_m6811 = 0; @@ -276,6 +281,11 @@ static const struct attribute_spec m68hc11_attribute_table[] = #undef TARGET_INIT_LIBFUNCS #define TARGET_INIT_LIBFUNCS m68hc11_init_libfuncs +#undef TARGET_FUNCTION_ARG +#define TARGET_FUNCTION_ARG m68hc11_function_arg +#undef TARGET_FUNCTION_ARG_ADVANCE +#define TARGET_FUNCTION_ARG_ADVANCE m68hc11_function_arg_advance + #undef TARGET_STRUCT_VALUE_RTX #define TARGET_STRUCT_VALUE_RTX m68hc11_struct_value_rtx #undef TARGET_RETURN_IN_MEMORY @@ -1477,9 +1487,9 @@ m68hc11_init_cumulative_args (CUMULATIVE_ARGS *cum, tree fntype, rtx libname) of mode MODE and data type TYPE. (TYPE is null for libcalls where that information may not be available.) */ -void +static void m68hc11_function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode, - tree type, int named ATTRIBUTE_UNUSED) + const_tree type, bool named ATTRIBUTE_UNUSED) { if (mode != BLKmode) { @@ -1515,9 +1525,10 @@ m68hc11_function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode, NAMED is nonzero if this argument is a named parameter (otherwise it is an extra parameter matching an ellipsis). */ -struct rtx_def * -m68hc11_function_arg (const CUMULATIVE_ARGS *cum, enum machine_mode mode, - tree type ATTRIBUTE_UNUSED, int named ATTRIBUTE_UNUSED) +static rtx +m68hc11_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode, + const_tree type ATTRIBUTE_UNUSED, + bool named ATTRIBUTE_UNUSED) { if (cum->words != 0) { diff --git a/gcc/config/m68hc11/m68hc11.h b/gcc/config/m68hc11/m68hc11.h index 9e45cb5..8e817c8 100644 --- a/gcc/config/m68hc11/m68hc11.h +++ b/gcc/config/m68hc11/m68hc11.h @@ -890,27 +890,6 @@ typedef struct m68hc11_args #define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT, N_NAMED_ARGS) \ (m68hc11_init_cumulative_args (&CUM, FNTYPE, LIBNAME)) -/* Update the data in CUM to advance over an argument of mode MODE and data - type TYPE. (TYPE is null for libcalls where that information may not be - available.) */ -#define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED) \ - (m68hc11_function_arg_advance (&CUM, MODE, TYPE, NAMED)) - -/* Define where to put the arguments to a function. - Value is zero to push the argument on the stack, - or a hard register in which to store the argument. - - MODE is the argument's machine mode. - TYPE is the data type of the argument (as a tree). - This is null for libcalls where that information may - not be available. - CUM is a variable of type CUMULATIVE_ARGS which gives info about - the preceding args and about the function being called. - NAMED is nonzero if this argument is a named parameter - (otherwise it is an extra parameter matching an ellipsis). */ -#define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) \ - (m68hc11_function_arg (&CUM, MODE, TYPE, NAMED)) - /* Define the profitability of saving registers around calls. Disable this because the saving instructions generated by |