aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2010-10-28 19:55:43 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2010-10-28 19:55:43 +0000
commitce236858e339040a4814a70f62282ad5da7d9c34 (patch)
tree0286be11b6b6942b1dff408d44d6d1e2ff131a25 /gcc
parent24ef86d7ad359cbe86946ce7cbebe151169909c1 (diff)
downloadgcc-ce236858e339040a4814a70f62282ad5da7d9c34.zip
gcc-ce236858e339040a4814a70f62282ad5da7d9c34.tar.gz
gcc-ce236858e339040a4814a70f62282ad5da7d9c34.tar.bz2
mn10300-protos.h (function_arg): Delete.
* config/mn10300/mn10300-protos.h (function_arg): Delete. * config/mn10300/mn10300.h (FUNCTION_ARG): Delete. (FUNCTION_ARG_ADVANCE): Delete. * config/mn10300/mn10300.c (function_arg): Rename to... (mn10300_function_arg): ...this. Make static. Take a const_tree and a bool. (mn10300_function_arg_advance): New function. (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define. From-SVN: r166036
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/mn10300/mn10300-protos.h4
-rw-r--r--gcc/config/mn10300/mn10300.c21
-rw-r--r--gcc/config/mn10300/mn10300.h25
4 files changed, 30 insertions, 31 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index daae755..709b364 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,16 @@
2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+ * config/mn10300/mn10300-protos.h (function_arg): Delete.
+ * config/mn10300/mn10300.h (FUNCTION_ARG): Delete.
+ (FUNCTION_ARG_ADVANCE): Delete.
+ * config/mn10300/mn10300.c (function_arg): Rename to...
+ (mn10300_function_arg): ...this. Make static. Take a const_tree
+ and a bool.
+ (mn10300_function_arg_advance): New function.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-28 Nathan Froyd <froydnj@codesourcery.com>
+
* config/iq2000/iq2000-protos.h (function_arg): Delete.
(function_arg_advance): Delete.
* config/iq2000/iq2000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
diff --git a/gcc/config/mn10300/mn10300-protos.h b/gcc/config/mn10300/mn10300-protos.h
index 23d428c..ebf915e 100644
--- a/gcc/config/mn10300/mn10300-protos.h
+++ b/gcc/config/mn10300/mn10300-protos.h
@@ -43,10 +43,6 @@ extern int mn10300_symbolic_operand (rtx, Mmode);
extern bool mn10300_wide_const_load_uses_clr (rtx operands[2]);
#endif /* RTX_CODE */
-#ifdef TREE_CODE
-extern struct rtx_def * mn10300_function_arg (CUMULATIVE_ARGS *, Mmode, tree, int);
-#endif /* TREE_CODE */
-
extern int mn10300_can_use_return_insn (void);
extern void mn10300_expand_prologue (void);
extern void mn10300_expand_epilogue (void);
diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c
index 2187463..4599a10 100644
--- a/gcc/config/mn10300/mn10300.c
+++ b/gcc/config/mn10300/mn10300.c
@@ -1417,9 +1417,9 @@ mn10300_pass_by_reference (CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED,
/* Return an RTX to represent where a value with mode MODE will be returned
from a function. If the result is NULL_RTX, the argument is pushed. */
-rtx
+static rtx
mn10300_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode,
- tree type, int named ATTRIBUTE_UNUSED)
+ const_tree type, bool named ATTRIBUTE_UNUSED)
{
rtx result = NULL_RTX;
int size, align;
@@ -1464,6 +1464,19 @@ mn10300_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode,
return result;
}
+/* 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.) */
+
+static void
+mn10300_function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode,
+ const_tree type, bool named ATTRIBUTE_UNUSED)
+{
+ cum->nbytes += (mode != BLKmode
+ ? (GET_MODE_SIZE (mode) + 3) & ~3
+ : (int_size_in_bytes (type) + 3) & ~3);
+}
+
/* Return the number of bytes of registers to use for an argument passed
partially in registers and partially in memory. */
@@ -2303,6 +2316,10 @@ mn10300_select_cc_mode (rtx x)
#define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true
#undef TARGET_ARG_PARTIAL_BYTES
#define TARGET_ARG_PARTIAL_BYTES mn10300_arg_partial_bytes
+#undef TARGET_FUNCTION_ARG
+#define TARGET_FUNCTION_ARG mn10300_function_arg
+#undef TARGET_FUNCTION_ARG_ADVANCE
+#define TARGET_FUNCTION_ARG_ADVANCE mn10300_function_arg_advance
#undef TARGET_EXPAND_BUILTIN_SAVEREGS
#define TARGET_EXPAND_BUILTIN_SAVEREGS mn10300_builtin_saveregs
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index 96a07e8..58f2719 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -534,31 +534,6 @@ struct cum_arg
#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT, N_NAMED_ARGS) \
((CUM).nbytes = 0)
-/* 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) \
- ((CUM).nbytes += ((MODE) != BLKmode \
- ? (GET_MODE_SIZE (MODE) + 3) & ~3 \
- : (int_size_in_bytes (TYPE) + 3) & ~3))
-
-/* 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) \
- mn10300_function_arg (&(CUM), MODE, TYPE, NAMED)
-
#define FUNCTION_VALUE_REGNO_P(N) mn10300_function_value_regno_p (N)
#define DEFAULT_PCC_STRUCT_RETURN 0