(score_function_arg_advance): Delete.
* config/score/score3.h (score3_function_arg_advance): Take a
const_tree and a bool.
(score3_function_arg): Likewise.
* config/score/score7.h (score7_function_arg_advance): Likewise.
(score7_function_arg): Likewise.
* config/score/score3.c (score3_classify_arg): Likewise.
(score3_function_arg_advance, score3_function_arg): Likewise.
* config/score/score7.c (score7_classify_arg): Likewise.
(score7_function_arg_advance, score7_function_arg): Likewise.
* config/score/score.c (score_function_arg_advance): Likewise.
(score_function_arg): Likewise. De-const-ify `cum' argument.
(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165181
138bc75d-0d04-0410-961f-
82ee72b054a4
2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+ * config/score/score-protos.h (score_function_arg): Delete.
+ (score_function_arg_advance): Delete.
+ * config/score/score3.h (score3_function_arg_advance): Take a
+ const_tree and a bool.
+ (score3_function_arg): Likewise.
+ * config/score/score7.h (score7_function_arg_advance): Likewise.
+ (score7_function_arg): Likewise.
+ * config/score/score3.c (score3_classify_arg): Likewise.
+ (score3_function_arg_advance, score3_function_arg): Likewise.
+ * config/score/score7.c (score7_classify_arg): Likewise.
+ (score7_function_arg_advance, score7_function_arg): Likewise.
+ * config/score/score.c (score_function_arg_advance): Likewise.
+ (score_function_arg): Likewise. De-const-ify `cum' argument.
+ (TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
+
+2010-10-08 Nathan Froyd <froydnj@codesourcery.com>
+
* config/s390/s390-protos.h (s390_function_arg_advance): Delete.
(s390_function_arg): Delete.
* config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
extern bool score_unaligned_store (rtx* ops);
extern bool score_block_move (rtx* ops);
extern int score_address_cost (rtx addr, bool speed);
-extern rtx score_function_arg (const CUMULATIVE_ARGS *cum,
- enum machine_mode mode,
- tree type, int named);
extern int score_address_p (enum machine_mode mode, rtx x, int strict);
extern int score_reg_class (int regno);
extern int score_register_move_cost (enum machine_mode mode, enum reg_class to,
extern int score_extra_constraint (rtx op, char c);
extern rtx score_return_addr (int count, rtx frame);
extern int score_regno_mode_ok_for_base_p (int regno, int strict);
-extern void score_function_arg_advance (CUMULATIVE_ARGS *cum,
- enum machine_mode mode,
- tree type, int named);
extern void score_init_cumulative_args (CUMULATIVE_ARGS *cum,
tree fntype, rtx libname);
extern void score_declare_object (FILE *stream, const char *name,
#undef TARGET_ARG_PARTIAL_BYTES
#define TARGET_ARG_PARTIAL_BYTES score_arg_partial_bytes
+#undef TARGET_FUNCTION_ARG
+#define TARGET_FUNCTION_ARG score_function_arg
+
+#undef TARGET_FUNCTION_ARG_ADVANCE
+#define TARGET_FUNCTION_ARG_ADVANCE score_function_arg_advance
+
#undef TARGET_PASS_BY_REFERENCE
#define TARGET_PASS_BY_REFERENCE score_pass_by_reference
memset (cum, 0, sizeof (CUMULATIVE_ARGS));
}
-/* Implement FUNCTION_ARG_ADVANCE macro. */
+/* Implement TARGET_FUNCTION_ARG_ADVANCE hook. */
void
score_function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode,
- tree type, int named)
+ const_tree type, bool named)
{
if (TARGET_SCORE5 || TARGET_SCORE5U || TARGET_SCORE7 || TARGET_SCORE7D)
return score7_function_arg_advance (cum, mode, type, named);
gcc_unreachable ();
}
-/* Implement FUNCTION_ARG macro. */
+/* Implement TARGET_FUNCTION_ARG hook. */
rtx
-score_function_arg (const CUMULATIVE_ARGS *cum, enum machine_mode mode,
- tree type, int named)
+score_function_arg (CUMULATIVE_ARGS *cum, enum machine_mode mode,
+ const_tree type, bool named)
{
if (TARGET_SCORE5 || TARGET_SCORE5U || TARGET_SCORE7 || TARGET_SCORE7D)
return score7_function_arg (cum, mode, type, named);
is a named (fixed) argument rather than a variable one. */
static void
score3_classify_arg (const CUMULATIVE_ARGS *cum, enum machine_mode mode,
- tree type, int named, struct score3_arg_info *info)
+ const_tree type, bool named, struct score3_arg_info *info)
{
int even_reg_p;
unsigned int num_words, max_regs;
}
}
-/* Implement FUNCTION_ARG_ADVANCE macro. */
+/* Implement TARGET_FUNCTION_ARG_ADVANCE hook. */
void
score3_function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode,
- tree type, int named)
+ const_tree type, bool named)
{
struct score3_arg_info info;
score3_classify_arg (cum, mode, type, named, &info);
return info.stack_words > 0 ? info.reg_words * UNITS_PER_WORD : 0;
}
-/* Implement FUNCTION_ARG macro. */
+/* Implement TARGET_FUNCTION_ARG hook. */
rtx
score3_function_arg (const CUMULATIVE_ARGS *cum, enum machine_mode mode,
- tree type, int named)
+ const_tree type, bool named)
{
struct score3_arg_info info;
int to ATTRIBUTE_UNUSED);
extern void score3_function_arg_advance (CUMULATIVE_ARGS *cum,
enum machine_mode mode,
- tree type,
- int named);
+ const_tree type,
+ bool named);
extern int score3_arg_partial_bytes (CUMULATIVE_ARGS *cum,
enum machine_mode mode,
tree type,
bool named);
extern rtx score3_function_arg (const CUMULATIVE_ARGS *cum,
enum machine_mode mode,
- tree type,
- int named);
+ const_tree type,
+ bool named);
extern rtx score3_function_value (tree valtype,
tree func ATTRIBUTE_UNUSED,
enum machine_mode mode);
is a named (fixed) argument rather than a variable one. */
static void
score7_classify_arg (const CUMULATIVE_ARGS *cum, enum machine_mode mode,
- tree type, int named, struct score7_arg_info *info)
+ const_tree type, bool named, struct score7_arg_info *info)
{
int even_reg_p;
unsigned int num_words, max_regs;
}
}
-/* Implement FUNCTION_ARG_ADVANCE macro. */
+/* Implement TARGET_FUNCTION_ARG_ADVANCE hook. */
void
score7_function_arg_advance (CUMULATIVE_ARGS *cum, enum machine_mode mode,
- tree type, int named)
+ const_tree type, bool named)
{
struct score7_arg_info info;
score7_classify_arg (cum, mode, type, named, &info);
return info.stack_words > 0 ? info.reg_words * UNITS_PER_WORD : 0;
}
-/* Implement FUNCTION_ARG macro. */
+/* Implement TARGET_FUNCTION_ARG hook. */
rtx
score7_function_arg (const CUMULATIVE_ARGS *cum, enum machine_mode mode,
- tree type, int named)
+ const_tree type, bool named)
{
struct score7_arg_info info;
int to ATTRIBUTE_UNUSED);
extern void score7_function_arg_advance (CUMULATIVE_ARGS *cum,
enum machine_mode mode,
- tree type,
- int named);
+ const_tree type,
+ bool named);
extern int score7_arg_partial_bytes (CUMULATIVE_ARGS *cum,
enum machine_mode mode,
tree type,
bool named);
extern rtx score7_function_arg (const CUMULATIVE_ARGS *cum,
enum machine_mode mode,
- tree type,
- int named);
+ const_tree type,
+ bool named);
extern rtx score7_function_value (tree valtype,
tree func ATTRIBUTE_UNUSED,
enum machine_mode mode);