arc-protos.h: Update to C90 prototypes.
2003-11-19 Kelley Cook <kcook@gcc.gnu.org> * config/arc/arc-protos.h: Update to C90 prototypes. * config/arc/arc.c: Likewise. * config/arc/initfini.c: Likewise. From-SVN: r73753
This commit is contained in:
parent
c2a141a0f3
commit
2b49e0aaff
@ -1,3 +1,9 @@
|
||||
2003-11-19 Kelley Cook <kcook@gcc.gnu.org>
|
||||
|
||||
* config/arc/arc-protos.h: Update to C90 prototypes.
|
||||
* config/arc/arc.c: Likewise.
|
||||
* config/arc/initfini.c: Likewise.
|
||||
|
||||
2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* stmt.c (expand_goto): Memory clobbers added.
|
||||
|
@ -20,58 +20,57 @@ Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifdef RTX_CODE
|
||||
#ifdef TREE_CODE
|
||||
extern void arc_va_start PARAMS ((tree, rtx));
|
||||
extern rtx arc_va_arg PARAMS ((tree, tree));
|
||||
extern void arc_va_start (tree, rtx);
|
||||
extern rtx arc_va_arg (tree, tree);
|
||||
#endif /* TREE_CODE */
|
||||
|
||||
extern enum machine_mode arc_select_cc_mode PARAMS ((enum rtx_code, rtx, rtx));
|
||||
extern enum machine_mode arc_select_cc_mode (enum rtx_code, rtx, rtx);
|
||||
|
||||
/* Define the function that build the compare insn for scc and bcc. */
|
||||
extern struct rtx_def *gen_compare_reg PARAMS ((enum rtx_code, rtx, rtx));
|
||||
extern struct rtx_def *gen_compare_reg (enum rtx_code, rtx, rtx);
|
||||
|
||||
/* Declarations for various fns used in the .md file. */
|
||||
extern const char *output_shift PARAMS ((rtx *));
|
||||
extern const char *output_shift (rtx *);
|
||||
|
||||
extern int symbolic_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int arc_double_limm_p PARAMS ((rtx));
|
||||
extern int arc_eligible_for_epilogue_delay PARAMS ((rtx, int));
|
||||
extern void arc_initialize_trampoline PARAMS ((rtx, rtx, rtx));
|
||||
extern void arc_print_operand PARAMS ((FILE *, rtx, int));
|
||||
extern void arc_print_operand_address PARAMS ((FILE *, rtx));
|
||||
extern void arc_final_prescan_insn PARAMS ((rtx, rtx *, int));
|
||||
extern int call_address_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int call_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int symbolic_memory_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int short_immediate_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int long_immediate_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int long_immediate_loadstore_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int move_src_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int move_double_src_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int move_dest_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int load_update_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int store_update_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int nonvol_nonimm_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int const_sint32_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int const_uint32_operand PARAMS ((rtx, enum machine_mode));
|
||||
extern int proper_comparison_operator PARAMS ((rtx, enum machine_mode));
|
||||
extern int shift_operator PARAMS ((rtx, enum machine_mode));
|
||||
extern int symbolic_operand (rtx, enum machine_mode);
|
||||
extern int arc_double_limm_p (rtx);
|
||||
extern int arc_eligible_for_epilogue_delay (rtx, int);
|
||||
extern void arc_initialize_trampoline (rtx, rtx, rtx);
|
||||
extern void arc_print_operand (FILE *, rtx, int);
|
||||
extern void arc_print_operand_address (FILE *, rtx);
|
||||
extern void arc_final_prescan_insn (rtx, rtx *, int);
|
||||
extern int call_address_operand (rtx, enum machine_mode);
|
||||
extern int call_operand (rtx, enum machine_mode);
|
||||
extern int symbolic_memory_operand (rtx, enum machine_mode);
|
||||
extern int short_immediate_operand (rtx, enum machine_mode);
|
||||
extern int long_immediate_operand (rtx, enum machine_mode);
|
||||
extern int long_immediate_loadstore_operand (rtx, enum machine_mode);
|
||||
extern int move_src_operand (rtx, enum machine_mode);
|
||||
extern int move_double_src_operand (rtx, enum machine_mode);
|
||||
extern int move_dest_operand (rtx, enum machine_mode);
|
||||
extern int load_update_operand (rtx, enum machine_mode);
|
||||
extern int store_update_operand (rtx, enum machine_mode);
|
||||
extern int nonvol_nonimm_operand (rtx, enum machine_mode);
|
||||
extern int const_sint32_operand (rtx, enum machine_mode);
|
||||
extern int const_uint32_operand (rtx, enum machine_mode);
|
||||
extern int proper_comparison_operator (rtx, enum machine_mode);
|
||||
extern int shift_operator (rtx, enum machine_mode);
|
||||
#endif /* RTX_CODE */
|
||||
|
||||
#ifdef TREE_CODE
|
||||
extern enum arc_function_type arc_compute_function_type PARAMS ((tree));
|
||||
extern void arc_setup_incoming_varargs PARAMS ((CUMULATIVE_ARGS *,
|
||||
enum machine_mode, tree,
|
||||
int *, int));
|
||||
extern enum arc_function_type arc_compute_function_type (tree);
|
||||
extern void arc_setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode,
|
||||
tree, int *, int);
|
||||
#endif /* TREE_CODE */
|
||||
|
||||
|
||||
extern void arc_init PARAMS ((void));
|
||||
extern unsigned int arc_compute_frame_size PARAMS ((int));
|
||||
extern void arc_save_restore PARAMS ((FILE *, const char *, unsigned int,
|
||||
unsigned int, const char *));
|
||||
extern int arc_delay_slots_for_epilogue PARAMS ((void));
|
||||
extern void arc_finalize_pic PARAMS ((void));
|
||||
extern void arc_ccfsm_at_label PARAMS ((const char *, int));
|
||||
extern int arc_ccfsm_branch_deleted_p PARAMS ((void));
|
||||
extern void arc_ccfsm_record_branch_deleted PARAMS ((void));
|
||||
extern void arc_init (void);
|
||||
extern unsigned int arc_compute_frame_size (int);
|
||||
extern void arc_save_restore (FILE *, const char *, unsigned int,
|
||||
unsigned int, const char *);
|
||||
extern int arc_delay_slots_for_epilogue (void);
|
||||
extern void arc_finalize_pic (void);
|
||||
extern void arc_ccfsm_at_label (const char *, int);
|
||||
extern int arc_ccfsm_branch_deleted_p (void);
|
||||
extern void arc_ccfsm_record_branch_deleted (void);
|
||||
|
||||
|
@ -86,18 +86,18 @@ static int arc_ccfsm_target_label;
|
||||
arc_print_operand. */
|
||||
static int last_insn_set_cc_p;
|
||||
static int current_insn_set_cc_p;
|
||||
static void record_cc_ref PARAMS ((rtx));
|
||||
static void arc_init_reg_tables PARAMS ((void));
|
||||
static int get_arc_condition_code PARAMS ((rtx));
|
||||
static void record_cc_ref (rtx);
|
||||
static void arc_init_reg_tables (void);
|
||||
static int get_arc_condition_code (rtx);
|
||||
const struct attribute_spec arc_attribute_table[];
|
||||
static tree arc_handle_interrupt_attribute PARAMS ((tree *, tree, tree, int, bool *));
|
||||
static bool arc_assemble_integer PARAMS ((rtx, unsigned int, int));
|
||||
static void arc_output_function_prologue PARAMS ((FILE *, HOST_WIDE_INT));
|
||||
static void arc_output_function_epilogue PARAMS ((FILE *, HOST_WIDE_INT));
|
||||
static void arc_file_start PARAMS ((void));
|
||||
static void arc_internal_label PARAMS ((FILE *, const char *, unsigned long));
|
||||
static bool arc_rtx_costs PARAMS ((rtx, int, int, int *));
|
||||
static int arc_address_cost PARAMS ((rtx));
|
||||
static tree arc_handle_interrupt_attribute (tree *, tree, tree, int, bool *);
|
||||
static bool arc_assemble_integer (rtx, unsigned int, int);
|
||||
static void arc_output_function_prologue (FILE *, HOST_WIDE_INT);
|
||||
static void arc_output_function_epilogue (FILE *, HOST_WIDE_INT);
|
||||
static void arc_file_start (void);
|
||||
static void arc_internal_label (FILE *, const char *, unsigned long);
|
||||
static bool arc_rtx_costs (rtx, int, int, int *);
|
||||
static int arc_address_cost (rtx);
|
||||
|
||||
/* Initialize the GCC target structure. */
|
||||
#undef TARGET_ASM_ALIGNED_HI_OP
|
||||
@ -128,7 +128,7 @@ struct gcc_target targetm = TARGET_INITIALIZER;
|
||||
/* Called by OVERRIDE_OPTIONS to initialize various things. */
|
||||
|
||||
void
|
||||
arc_init ()
|
||||
arc_init (void)
|
||||
{
|
||||
char *tmp;
|
||||
|
||||
@ -183,8 +183,7 @@ static const char *const arc_condition_codes[] =
|
||||
`(eq (...) (...))'. */
|
||||
|
||||
static int
|
||||
get_arc_condition_code (comparison)
|
||||
rtx comparison;
|
||||
get_arc_condition_code (rtx comparison)
|
||||
{
|
||||
switch (GET_CODE (comparison))
|
||||
{
|
||||
@ -208,9 +207,9 @@ get_arc_condition_code (comparison)
|
||||
return the mode to be used for the comparison. */
|
||||
|
||||
enum machine_mode
|
||||
arc_select_cc_mode (op, x, y)
|
||||
enum rtx_code op;
|
||||
rtx x, y ATTRIBUTE_UNUSED;
|
||||
arc_select_cc_mode (enum rtx_code op,
|
||||
rtx x ATTRIBUTE_UNUSED,
|
||||
rtx y ATTRIBUTE_UNUSED)
|
||||
{
|
||||
switch (op)
|
||||
{
|
||||
@ -284,7 +283,7 @@ unsigned int arc_mode_class [NUM_MACHINE_MODES];
|
||||
enum reg_class arc_regno_reg_class[FIRST_PSEUDO_REGISTER];
|
||||
|
||||
static void
|
||||
arc_init_reg_tables ()
|
||||
arc_init_reg_tables (void)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -357,12 +356,11 @@ const struct attribute_spec arc_attribute_table[] =
|
||||
/* Handle an "interrupt" attribute; arguments as in
|
||||
struct attribute_spec.handler. */
|
||||
static tree
|
||||
arc_handle_interrupt_attribute (node, name, args, flags, no_add_attrs)
|
||||
tree *node ATTRIBUTE_UNUSED;
|
||||
tree name;
|
||||
tree args;
|
||||
int flags ATTRIBUTE_UNUSED;
|
||||
bool *no_add_attrs;
|
||||
arc_handle_interrupt_attribute (tree *node ATTRIBUTE_UNUSED,
|
||||
tree name,
|
||||
tree args,
|
||||
int flags ATTRIBUTE_UNUSED,
|
||||
bool *no_add_attrs)
|
||||
{
|
||||
tree value = TREE_VALUE (args);
|
||||
|
||||
@ -387,9 +385,7 @@ arc_handle_interrupt_attribute (node, name, args, flags, no_add_attrs)
|
||||
/* Acceptable arguments to the call insn. */
|
||||
|
||||
int
|
||||
call_address_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode;
|
||||
call_address_operand (rtx op, enum machine_mode mode)
|
||||
{
|
||||
return (symbolic_operand (op, mode)
|
||||
|| (GET_CODE (op) == CONST_INT && LEGITIMATE_CONSTANT_P (op))
|
||||
@ -397,9 +393,7 @@ call_address_operand (op, mode)
|
||||
}
|
||||
|
||||
int
|
||||
call_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode;
|
||||
call_operand (rtx op, enum machine_mode mode)
|
||||
{
|
||||
if (GET_CODE (op) != MEM)
|
||||
return 0;
|
||||
@ -410,9 +404,7 @@ call_operand (op, mode)
|
||||
/* Returns 1 if OP is a symbol reference. */
|
||||
|
||||
int
|
||||
symbolic_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode ATTRIBUTE_UNUSED;
|
||||
symbolic_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
{
|
||||
switch (GET_CODE (op))
|
||||
{
|
||||
@ -429,9 +421,7 @@ symbolic_operand (op, mode)
|
||||
operand of mode MODE. */
|
||||
|
||||
int
|
||||
symbolic_memory_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode ATTRIBUTE_UNUSED;
|
||||
symbolic_memory_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if (GET_CODE (op) == SUBREG)
|
||||
op = SUBREG_REG (op);
|
||||
@ -445,9 +435,7 @@ symbolic_memory_operand (op, mode)
|
||||
/* Return true if OP is a short immediate (shimm) value. */
|
||||
|
||||
int
|
||||
short_immediate_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode ATTRIBUTE_UNUSED;
|
||||
short_immediate_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if (GET_CODE (op) != CONST_INT)
|
||||
return 0;
|
||||
@ -458,9 +446,7 @@ short_immediate_operand (op, mode)
|
||||
This is currently only used when calculating length attributes. */
|
||||
|
||||
int
|
||||
long_immediate_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode ATTRIBUTE_UNUSED;
|
||||
long_immediate_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
{
|
||||
switch (GET_CODE (op))
|
||||
{
|
||||
@ -488,9 +474,8 @@ long_immediate_operand (op, mode)
|
||||
This is currently only used when calculating length attributes. */
|
||||
|
||||
int
|
||||
long_immediate_loadstore_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode ATTRIBUTE_UNUSED;
|
||||
long_immediate_loadstore_operand (rtx op,
|
||||
enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if (GET_CODE (op) != MEM)
|
||||
return 0;
|
||||
@ -530,9 +515,7 @@ long_immediate_loadstore_operand (op, mode)
|
||||
move source. */
|
||||
|
||||
int
|
||||
move_src_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode;
|
||||
move_src_operand (rtx op, enum machine_mode mode)
|
||||
{
|
||||
switch (GET_CODE (op))
|
||||
{
|
||||
@ -572,9 +555,7 @@ move_src_operand (op, mode)
|
||||
move source. */
|
||||
|
||||
int
|
||||
move_double_src_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode;
|
||||
move_double_src_operand (rtx op, enum machine_mode mode)
|
||||
{
|
||||
switch (GET_CODE (op))
|
||||
{
|
||||
@ -604,9 +585,7 @@ move_double_src_operand (op, mode)
|
||||
/* Return true if OP is an acceptable argument for a move destination. */
|
||||
|
||||
int
|
||||
move_dest_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode;
|
||||
move_dest_operand (rtx op, enum machine_mode mode)
|
||||
{
|
||||
switch (GET_CODE (op))
|
||||
{
|
||||
@ -629,9 +608,7 @@ move_dest_operand (op, mode)
|
||||
/* Return true if OP is valid load with update operand. */
|
||||
|
||||
int
|
||||
load_update_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode;
|
||||
load_update_operand (rtx op, enum machine_mode mode)
|
||||
{
|
||||
if (GET_CODE (op) != MEM
|
||||
|| GET_MODE (op) != mode)
|
||||
@ -648,9 +625,7 @@ load_update_operand (op, mode)
|
||||
/* Return true if OP is valid store with update operand. */
|
||||
|
||||
int
|
||||
store_update_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode;
|
||||
store_update_operand (rtx op, enum machine_mode mode)
|
||||
{
|
||||
if (GET_CODE (op) != MEM
|
||||
|| GET_MODE (op) != mode)
|
||||
@ -670,9 +645,7 @@ store_update_operand (op, mode)
|
||||
and only the standard movXX patterns are set up to handle them. */
|
||||
|
||||
int
|
||||
nonvol_nonimm_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode;
|
||||
nonvol_nonimm_operand (rtx op, enum machine_mode mode)
|
||||
{
|
||||
if (GET_CODE (op) == MEM && MEM_VOLATILE_P (op))
|
||||
return 0;
|
||||
@ -684,9 +657,7 @@ nonvol_nonimm_operand (op, mode)
|
||||
contexts. */
|
||||
|
||||
int
|
||||
const_sint32_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode ATTRIBUTE_UNUSED;
|
||||
const_sint32_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
{
|
||||
/* All allowed constants will fit a CONST_INT. */
|
||||
return (GET_CODE (op) == CONST_INT
|
||||
@ -698,9 +669,7 @@ const_sint32_operand (op, mode)
|
||||
need some extra crud to make it work when hosted on 64-bit machines. */
|
||||
|
||||
int
|
||||
const_uint32_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode ATTRIBUTE_UNUSED;
|
||||
const_uint32_operand (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
{
|
||||
#if HOST_BITS_PER_WIDE_INT > 32
|
||||
/* All allowed constants will fit a CONST_INT. */
|
||||
@ -719,9 +688,7 @@ const_uint32_operand (op, mode)
|
||||
comparisons that use the bits that are valid. */
|
||||
|
||||
int
|
||||
proper_comparison_operator (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode ATTRIBUTE_UNUSED;
|
||||
proper_comparison_operator (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
{
|
||||
enum rtx_code code = GET_CODE (op);
|
||||
|
||||
@ -742,9 +709,7 @@ proper_comparison_operator (op, mode)
|
||||
return the rtx for the cc reg in the proper mode. */
|
||||
|
||||
rtx
|
||||
gen_compare_reg (code, x, y)
|
||||
enum rtx_code code;
|
||||
rtx x, y;
|
||||
gen_compare_reg (enum rtx_code code, rtx x, rtx y)
|
||||
{
|
||||
enum machine_mode mode = SELECT_CC_MODE (code, x, y);
|
||||
rtx cc_reg;
|
||||
@ -761,8 +726,7 @@ gen_compare_reg (code, x, y)
|
||||
We assume the value can be either signed or unsigned. */
|
||||
|
||||
int
|
||||
arc_double_limm_p (value)
|
||||
rtx value;
|
||||
arc_double_limm_p (rtx value)
|
||||
{
|
||||
HOST_WIDE_INT low, high;
|
||||
|
||||
@ -798,12 +762,11 @@ arc_double_limm_p (value)
|
||||
to compensate. */
|
||||
|
||||
void
|
||||
arc_setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
|
||||
CUMULATIVE_ARGS *cum;
|
||||
enum machine_mode mode;
|
||||
tree type ATTRIBUTE_UNUSED;
|
||||
int *pretend_size;
|
||||
int no_rtl;
|
||||
arc_setup_incoming_varargs (CUMULATIVE_ARGS *cum,
|
||||
enum machine_mode mode,
|
||||
tree type ATTRIBUTE_UNUSED,
|
||||
int *pretend_size,
|
||||
int no_rtl)
|
||||
{
|
||||
int first_anon_arg;
|
||||
|
||||
@ -845,11 +808,7 @@ arc_setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
|
||||
scanned. In either case, *TOTAL contains the cost result. */
|
||||
|
||||
static bool
|
||||
arc_rtx_costs (x, code, outer_code, total)
|
||||
rtx x;
|
||||
int code;
|
||||
int outer_code ATTRIBUTE_UNUSED;
|
||||
int *total;
|
||||
arc_rtx_costs (rtx x, int code, int outer_code ATTRIBUTE_UNUSED, int *total)
|
||||
{
|
||||
switch (code)
|
||||
{
|
||||
@ -903,8 +862,7 @@ arc_rtx_costs (x, code, outer_code, total)
|
||||
If ADDR is not a valid address, its cost is irrelevant. */
|
||||
|
||||
static int
|
||||
arc_address_cost (addr)
|
||||
rtx addr;
|
||||
arc_address_cost (rtx addr)
|
||||
{
|
||||
switch (GET_CODE (addr))
|
||||
{
|
||||
@ -1019,8 +977,7 @@ static struct arc_frame_info zero_frame_info;
|
||||
call with DECL = NULL_TREE. */
|
||||
|
||||
enum arc_function_type
|
||||
arc_compute_function_type (decl)
|
||||
tree decl;
|
||||
arc_compute_function_type (tree decl)
|
||||
{
|
||||
tree a;
|
||||
/* Cached value. */
|
||||
@ -1090,8 +1047,7 @@ arc_compute_function_type (decl)
|
||||
SIZE is the size needed for local variables. */
|
||||
|
||||
unsigned int
|
||||
arc_compute_frame_size (size)
|
||||
int size; /* # of var. bytes allocated. */
|
||||
arc_compute_frame_size (int size /* # of var. bytes allocated. */)
|
||||
{
|
||||
int regno;
|
||||
unsigned int total_size, var_size, args_size, pretend_size, extra_size;
|
||||
@ -1155,12 +1111,11 @@ arc_compute_frame_size (size)
|
||||
/* Common code to save/restore registers. */
|
||||
|
||||
void
|
||||
arc_save_restore (file, base_reg, offset, gmask, op)
|
||||
FILE *file;
|
||||
const char *base_reg;
|
||||
unsigned int offset;
|
||||
unsigned int gmask;
|
||||
const char *op;
|
||||
arc_save_restore (FILE *file,
|
||||
const char *base_reg,
|
||||
unsigned int offset,
|
||||
unsigned int gmask,
|
||||
const char *op)
|
||||
{
|
||||
int regno;
|
||||
|
||||
@ -1183,10 +1138,7 @@ arc_save_restore (file, base_reg, offset, gmask, op)
|
||||
symbols. */
|
||||
|
||||
static bool
|
||||
arc_assemble_integer (x, size, aligned_p)
|
||||
rtx x;
|
||||
unsigned int size;
|
||||
int aligned_p;
|
||||
arc_assemble_integer (rtx x, unsigned int size, int aligned_p)
|
||||
{
|
||||
if (size == UNITS_PER_WORD && aligned_p
|
||||
&& ((GET_CODE (x) == SYMBOL_REF && SYMBOL_REF_FUNCTION_P (x))
|
||||
@ -1203,9 +1155,7 @@ arc_assemble_integer (x, size, aligned_p)
|
||||
/* Set up the stack and frame pointer (if desired) for the function. */
|
||||
|
||||
static void
|
||||
arc_output_function_prologue (file, size)
|
||||
FILE *file;
|
||||
HOST_WIDE_INT size;
|
||||
arc_output_function_prologue (FILE *file, HOST_WIDE_INT size)
|
||||
{
|
||||
const char *sp_str = reg_names[STACK_POINTER_REGNUM];
|
||||
const char *fp_str = reg_names[FRAME_POINTER_REGNUM];
|
||||
@ -1281,9 +1231,7 @@ arc_output_function_prologue (file, size)
|
||||
and regs. */
|
||||
|
||||
static void
|
||||
arc_output_function_epilogue (file, size)
|
||||
FILE *file;
|
||||
HOST_WIDE_INT size;
|
||||
arc_output_function_epilogue (FILE *file, HOST_WIDE_INT size)
|
||||
{
|
||||
rtx epilogue_delay = current_function_epilogue_delay_list;
|
||||
int noepilogue = FALSE;
|
||||
@ -1446,7 +1394,7 @@ arc_output_function_epilogue (file, size)
|
||||
delay slot so for now we only consider functions with empty frames. */
|
||||
|
||||
int
|
||||
arc_delay_slots_for_epilogue ()
|
||||
arc_delay_slots_for_epilogue (void)
|
||||
{
|
||||
if (arc_compute_function_type (current_function_decl) != ARC_FUNCTION_NORMAL)
|
||||
return 0;
|
||||
@ -1462,9 +1410,7 @@ arc_delay_slots_for_epilogue ()
|
||||
pointer or any call-saved register is OK. SLOT will always be 0. */
|
||||
|
||||
int
|
||||
arc_eligible_for_epilogue_delay (trial, slot)
|
||||
rtx trial;
|
||||
int slot;
|
||||
arc_eligible_for_epilogue_delay (rtx trial, int slot)
|
||||
{
|
||||
if (slot != 0)
|
||||
abort ();
|
||||
@ -1489,7 +1435,7 @@ arc_eligible_for_epilogue_delay (trial, slot)
|
||||
/* Emit special PIC prologues and epilogues. */
|
||||
|
||||
void
|
||||
arc_finalize_pic ()
|
||||
arc_finalize_pic (void)
|
||||
{
|
||||
/* nothing to do */
|
||||
}
|
||||
@ -1497,9 +1443,7 @@ arc_finalize_pic ()
|
||||
/* Return true if OP is a shift operator. */
|
||||
|
||||
int
|
||||
shift_operator (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode ATTRIBUTE_UNUSED;
|
||||
shift_operator (rtx op, enum machine_mode mode ATTRIBUTE_UNUSED)
|
||||
{
|
||||
switch (GET_CODE (op))
|
||||
{
|
||||
@ -1527,8 +1471,7 @@ shift_operator (op, mode)
|
||||
using it here will give us a chance to play with it. */
|
||||
|
||||
const char *
|
||||
output_shift (operands)
|
||||
rtx *operands;
|
||||
output_shift (rtx *operands)
|
||||
{
|
||||
rtx shift = operands[3];
|
||||
enum machine_mode mode = GET_MODE (shift);
|
||||
@ -1649,8 +1592,9 @@ output_shift (operands)
|
||||
CXT is an RTX for the static chain value for the function. */
|
||||
|
||||
void
|
||||
arc_initialize_trampoline (tramp, fnaddr, cxt)
|
||||
rtx tramp ATTRIBUTE_UNUSED, fnaddr ATTRIBUTE_UNUSED, cxt ATTRIBUTE_UNUSED;
|
||||
arc_initialize_trampoline (rtx tramp ATTRIBUTE_UNUSED,
|
||||
rtx fnaddr ATTRIBUTE_UNUSED,
|
||||
rtx cxt ATTRIBUTE_UNUSED)
|
||||
{
|
||||
}
|
||||
|
||||
@ -1658,7 +1602,7 @@ arc_initialize_trampoline (tramp, fnaddr, cxt)
|
||||
at the top of the file. */
|
||||
|
||||
static void
|
||||
arc_file_start ()
|
||||
arc_file_start (void)
|
||||
{
|
||||
default_file_start ();
|
||||
fprintf (asm_out_file, "\t.cpu %s\n", arc_cpu_string);
|
||||
@ -1669,10 +1613,7 @@ arc_file_start ()
|
||||
For `%' followed by punctuation, CODE is the punctuation and X is null. */
|
||||
|
||||
void
|
||||
arc_print_operand (file, x, code)
|
||||
FILE *file;
|
||||
rtx x;
|
||||
int code;
|
||||
arc_print_operand (FILE *file, rtx x, int code)
|
||||
{
|
||||
switch (code)
|
||||
{
|
||||
@ -1884,9 +1825,7 @@ arc_print_operand (file, x, code)
|
||||
/* Print a memory address as an operand to reference that memory location. */
|
||||
|
||||
void
|
||||
arc_print_operand_address (file, addr)
|
||||
FILE *file;
|
||||
rtx addr;
|
||||
arc_print_operand_address (FILE *file, rtx addr)
|
||||
{
|
||||
register rtx base, index = 0;
|
||||
int offset = 0;
|
||||
@ -1943,8 +1882,7 @@ arc_print_operand_address (file, addr)
|
||||
/* Update compare/branch separation marker. */
|
||||
|
||||
static void
|
||||
record_cc_ref (insn)
|
||||
rtx insn;
|
||||
record_cc_ref (rtx insn)
|
||||
{
|
||||
last_insn_set_cc_p = current_insn_set_cc_p;
|
||||
|
||||
@ -2000,10 +1938,9 @@ record_cc_ref (insn)
|
||||
we may not be outputting the branch. */
|
||||
|
||||
void
|
||||
arc_final_prescan_insn (insn, opvec, noperands)
|
||||
rtx insn;
|
||||
rtx *opvec ATTRIBUTE_UNUSED;
|
||||
int noperands ATTRIBUTE_UNUSED;
|
||||
arc_final_prescan_insn (rtx insn,
|
||||
rtx *opvec ATTRIBUTE_UNUSED,
|
||||
int noperands ATTRIBUTE_UNUSED)
|
||||
{
|
||||
/* BODY will hold the body of INSN. */
|
||||
register rtx body = PATTERN (insn);
|
||||
@ -2285,9 +2222,7 @@ arc_final_prescan_insn (insn, opvec, noperands)
|
||||
Called from (*targetm.asm_out.internal_label). */
|
||||
|
||||
void
|
||||
arc_ccfsm_at_label (prefix, num)
|
||||
const char *prefix;
|
||||
int num;
|
||||
arc_ccfsm_at_label (const char *prefix, int num)
|
||||
{
|
||||
if (arc_ccfsm_state == 3 && arc_ccfsm_target_label == num
|
||||
&& !strcmp (prefix, "L"))
|
||||
@ -2301,7 +2236,7 @@ arc_ccfsm_at_label (prefix, num)
|
||||
deleted. */
|
||||
|
||||
int
|
||||
arc_ccfsm_branch_deleted_p ()
|
||||
arc_ccfsm_branch_deleted_p (void)
|
||||
{
|
||||
if (arc_ccfsm_state == 1 || arc_ccfsm_state == 2)
|
||||
return 1;
|
||||
@ -2312,7 +2247,7 @@ arc_ccfsm_branch_deleted_p ()
|
||||
conditionalized. */
|
||||
|
||||
void
|
||||
arc_ccfsm_record_branch_deleted ()
|
||||
arc_ccfsm_record_branch_deleted (void)
|
||||
{
|
||||
/* Indicate we're conditionalizing insns now. */
|
||||
arc_ccfsm_state += 2;
|
||||
@ -2324,9 +2259,7 @@ arc_ccfsm_record_branch_deleted ()
|
||||
}
|
||||
|
||||
void
|
||||
arc_va_start (valist, nextarg)
|
||||
tree valist;
|
||||
rtx nextarg;
|
||||
arc_va_start (tree valist, rtx nextarg)
|
||||
{
|
||||
/* See arc_setup_incoming_varargs for reasons for this oddity. */
|
||||
if (current_function_args_info < 8
|
||||
@ -2337,8 +2270,7 @@ arc_va_start (valist, nextarg)
|
||||
}
|
||||
|
||||
rtx
|
||||
arc_va_arg (valist, type)
|
||||
tree valist, type;
|
||||
arc_va_arg (tree valist, tree type)
|
||||
{
|
||||
rtx addr_rtx;
|
||||
tree addr, incr;
|
||||
@ -2413,10 +2345,7 @@ arc_va_arg (valist, type)
|
||||
PREFIX is the class of label and NUM is the number within the class. */
|
||||
|
||||
static void
|
||||
arc_internal_label (stream, prefix, labelno)
|
||||
FILE *stream;
|
||||
const char *prefix;
|
||||
unsigned long labelno;
|
||||
arc_internal_label (FILE *stream, const char *prefix, unsigned long labelno)
|
||||
{
|
||||
arc_ccfsm_at_label (prefix, labelno);
|
||||
default_internal_label (stream, prefix, labelno);
|
||||
|
@ -66,11 +66,11 @@ static func_ptr __DTOR_LIST__[1] __attribute__ ((section (".dtors")))
|
||||
refers to one particular associated `__DTOR_LIST__' which belongs to the
|
||||
same particular root executable or shared library file. */
|
||||
|
||||
static void __do_global_dtors ()
|
||||
static void __do_global_dtors (void)
|
||||
asm ("__do_global_dtors") __attribute__ ((section (".text")));
|
||||
|
||||
static void
|
||||
__do_global_dtors ()
|
||||
__do_global_dtors (void)
|
||||
{
|
||||
func_ptr *p;
|
||||
for (p = __DTOR_LIST__ + 1; *p; p++)
|
||||
@ -125,11 +125,11 @@ static func_ptr __DTOR_END__[1] __attribute__ ((section (".dtors")))
|
||||
/* Run all global constructors for the program.
|
||||
Note that they are run in reverse order. */
|
||||
|
||||
static void __do_global_ctors ()
|
||||
static void __do_global_ctors (void)
|
||||
asm ("__do_global_ctors") __attribute__ ((section (".text")));
|
||||
|
||||
static void
|
||||
__do_global_ctors ()
|
||||
__do_global_ctors (void)
|
||||
{
|
||||
func_ptr *p;
|
||||
for (p = __CTOR_END__ - 1; *p != (func_ptr) -1; p--)
|
||||
|
Loading…
Reference in New Issue
Block a user