aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/m68hc11/m68hc11-protos.h10
-rw-r--r--gcc/config/m68hc11/m68hc11.c21
-rw-r--r--gcc/config/m68hc11/m68hc11.h21
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