fr30.c (TARGET_PROMOTE_PROTOTYPES): New.

* config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New.
	(fr30_setup_incoming_varargs): Don't use
	STRICT_ARGUMENT_NAMING.
	* config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove.
	(STRICT_ARGUMENT_NAMING): Likewise.

From-SVN: r76830
This commit is contained in:
Kazu Hirata 2004-01-29 01:40:48 +00:00 committed by Kazu Hirata
parent ba4aecd9d2
commit 0fd818e75b
3 changed files with 21 additions and 24 deletions

View File

@ -1,3 +1,11 @@
2004-01-28 Kazu Hirata <kazu@cs.umass.edu>
* config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New.
(fr30_setup_incoming_varargs): Don't use
STRICT_ARGUMENT_NAMING.
* config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove.
(STRICT_ARGUMENT_NAMING): Likewise.
2004-01-28 Kazu Hirata <kazu@cs.umass.edu>
* config/frv/frv-protos.h: Remove the prototype for

View File

@ -1,5 +1,6 @@
/* FR30 specific functions.
Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004
Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
This file is part of GCC.
@ -148,6 +149,9 @@ static rtx fr30_pass_by_value (tree, tree);
#undef TARGET_ASM_ALIGNED_SI_OP
#define TARGET_ASM_ALIGNED_SI_OP "\t.word\t"
#undef TARGET_PROMOTE_PROTOTYPES
#define TARGET_PROMOTE_PROTOTYPES hook_bool_tree_true
struct gcc_target targetm = TARGET_INITIALIZER;
/* Returns the number of bytes offset between FROM_REG and TO_REG
@ -417,11 +421,12 @@ fr30_setup_incoming_varargs (CUMULATIVE_ARGS arg_regs_used_so_far,
if (mode == BLKmode)
abort ();
#if STRICT_ARGUMENT_NAMING
/* If STRICT_ARGUMENT_NAMING is true then the last named
arg must not be treated as an anonymous arg. */
arg_regs_used_so_far += fr30_num_arg_regs (int_mode, type);
#endif
/* ??? This run-time test as well as the code inside the if
statement is probably unnecessary. */
if (targetm.calls.strict_argument_naming (&arg_regs_used_so_far))
/* If TARGET_STRICT_ARGUMENT_NAMING returns true, then the last named
arg must not be treated as an anonymous arg. */
arg_regs_used_so_far += fr30_num_arg_regs (int_mode, type);
size = FR30_NUM_ARG_REGS - arg_regs_used_so_far;

View File

@ -1,7 +1,8 @@
/*{{{ Comment. */
/* Definitions of FR30 target.
Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004
Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
This file is part of GCC.
@ -602,12 +603,6 @@ enum reg_class
/*}}}*/
/*{{{ Passing Function Arguments on the Stack. */
/* Define this macro if an argument declared in a prototype as an integral type
smaller than `int' should actually be passed as an `int'. In addition to
avoiding errors in certain cases of mismatch, it also makes for better code
on certain machines. */
#define PROMOTE_PROTOTYPES 1
/* If defined, the maximum amount of space required for outgoing arguments will
be computed and placed into the variable
`current_function_outgoing_args_size'. No space will be pushed onto the
@ -903,17 +898,6 @@ enum reg_class
if (! SECOND_TIME) \
fr30_setup_incoming_varargs (ARGS_SO_FAR, MODE, TYPE, & PRETEND_ARGS_SIZE)
/* Define this macro if the location where a function argument is passed
depends on whether or not it is a named argument.
This macro controls how the NAMED argument to `FUNCTION_ARG' is set for
varargs and stdarg functions. With this macro defined, the NAMED argument
is always true for named arguments, and false for unnamed arguments. If
this is not defined, but `SETUP_INCOMING_VARARGS' is defined, then all
arguments are treated as named. Otherwise, all named arguments except the
last are treated as named. */
#define STRICT_ARGUMENT_NAMING 0
/*}}}*/
/*{{{ Trampolines for Nested Functions. */