From 9878c564487912107c24bd94c54815b423aa87b7 Mon Sep 17 00:00:00 2001 From: nickc Date: Mon, 8 Nov 1999 15:40:38 +0000 Subject: [PATCH] Move prototypes into v850-protos.h git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30450 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 8 +++++ gcc/config/v850/v850.c | 45 ++-------------------------- gcc/config/v850/v850.h | 79 ++++++++++--------------------------------------- gcc/config/v850/v850.md | 7 ++--- 4 files changed, 30 insertions(+), 109 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4b8ccbfbbae..8dcaeff5e95 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +Mon Nov 8 15:38:41 1999 Nick Clifton + + * config/v850/v850-protos.h: New file: Prototypes for functions + defined in v850.c + * config/v850/v850.h: Move prototypes to v850-protos.h + * config/v850/v850.c: Move prototypes to v850-protos.h + * config/v850/v850.md: Fix compile time warnings. + Mon Nov 8 07:25:37 1999 Mark Mitchell * tree.h (get_containing_scope): Declare it. diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c index 6306cfc1645..4e205a5ab7f 100644 --- a/gcc/config/v850/v850.c +++ b/gcc/config/v850/v850.c @@ -37,51 +37,12 @@ Boston, MA 02111-1307, USA. */ #include "function.h" #include "obstack.h" #include "toplev.h" +#include "v850-protos.h" #ifndef streq #define streq(a,b) (strcmp (a, b) == 0) #endif -/* Function prototypes that cannot exist in v850.h due to dependency - compilcations. */ -extern rtx function_arg - PROTO ((CUMULATIVE_ARGS *, enum machine_mode, tree, int)); -extern int function_arg_partial_nregs - PROTO ((CUMULATIVE_ARGS *, enum machine_mode, tree, int)); -extern void asm_file_start PROTO ((FILE *)); -extern void print_operand PROTO ((FILE *, rtx, int )); -extern void print_operand_address PROTO ((FILE *, rtx)); -extern void v850_output_aligned_bss - PROTO ((FILE *, tree, char *, int, int)); -extern void v850_output_common - PROTO ((FILE *, tree, char *, int, int)); -extern void v850_output_local - PROTO ((FILE *, tree, char *, int, int)); -extern int const_costs PROTO ((rtx, enum rtx_code)); -extern char * output_move_double PROTO ((rtx *)); -extern char * output_move_single PROTO ((rtx *)); -extern int ep_memory_operand - PROTO ((rtx, enum machine_mode, int)); -extern int reg_or_0_operand PROTO ((rtx, enum machine_mode)); -extern int reg_or_int5_operand PROTO ((rtx, enum machine_mode)); -extern int call_address_operand PROTO ((rtx, enum machine_mode)); -extern int movsi_source_operand PROTO ((rtx, enum machine_mode)); -extern int power_of_two_operand PROTO ((rtx, enum machine_mode)); -extern int not_power_of_two_operand PROTO ((rtx, enum machine_mode)); -extern int special_symbolref_operand PROTO ((rtx, enum machine_mode)); -extern void v850_reorg PROTO ((rtx)); -extern void notice_update_cc PROTO ((rtx, rtx)); -extern int v850_valid_machine_decl_attribute - PROTO ((tree, tree, tree)); -extern int v850_interrupt_function_p PROTO ((tree)); -extern int pattern_is_ok_for_prologue PROTO ((rtx, enum machine_mode)); -extern int pattern_is_ok_for_epilogue PROTO ((rtx, enum machine_mode)); -extern int register_is_ok_for_epilogue PROTO ((rtx, enum machine_mode)); -extern char * construct_save_jarl PROTO ((rtx)); -extern char * construct_restore_jr PROTO ((rtx)); -extern void v850_encode_data_area PROTO ((tree)); -extern void v850_set_default_decl_attr PROTO ((tree)); - /* Function prototypes for stupid compilers: */ static void const_double_split PROTO ((rtx, HOST_WIDE_INT *, HOST_WIDE_INT *)); @@ -1537,7 +1498,7 @@ expand_prologue () /* Save/setup global registers for interrupt functions right now */ if (interrupt_handler) { - emit_insn (gen_save_interrupt ()); + emit_insn (gen_save_interrupt ()); actual_fsize -= INTERRUPT_FIXED_SAVE_SIZE; @@ -3156,7 +3117,7 @@ rtx v850_va_arg (valist, type) tree valist, type; { - HOST_WIDE_INT size, rsize, align; + HOST_WIDE_INT size, rsize; tree addr, incr; rtx addr_rtx; int indirect; diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h index 22289c39367..c172c5db309 100644 --- a/gcc/config/v850/v850.h +++ b/gcc/config/v850/v850.h @@ -387,7 +387,7 @@ extern struct small_memory_info small_memory[(int)SMALL_MEMORY_max]; If HARD_REGNO_MODE_OK could produce different values for MODE1 and MODE2, for any hard reg, then this must be 0 for correct output. */ #define MODES_TIEABLE_P(MODE1, MODE2) \ - (MODE1 == MODE2 || GET_MODE_SIZE (MODE1) <= 4 && GET_MODE_SIZE (MODE2) <= 4) + (MODE1 == MODE2 || (GET_MODE_SIZE (MODE1) <= 4 && GET_MODE_SIZE (MODE2) <= 4)) /* Define the classes of registers for register constraints in the @@ -426,10 +426,11 @@ enum reg_class This is an initializer for a vector of HARD_REG_SET of length N_REG_CLASSES. */ -#define REG_CLASS_CONTENTS \ -{ 0x00000000, /* No regs */ \ - 0xffffffff, /* GENERAL_REGS */ \ - 0xffffffff, /* ALL_REGS */ \ +#define REG_CLASS_CONTENTS \ +{ \ + { 0x00000000 }, /* NO_REGS */ \ + { 0xffffffff }, /* GENERAL_REGS */ \ + { 0xffffffff }, /* ALL_REGS */ \ } /* The same information, inverted: @@ -886,7 +887,7 @@ extern int current_function_anonymous_args; register class that does not include r0 on the output. */ #define EXTRA_CONSTRAINT(OP, C) \ - ((C) == 'Q' ? ep_memory_operand (OP, GET_MODE (OP)) \ + ((C) == 'Q' ? ep_memory_operand (OP, GET_MODE (OP), 0) \ : (C) == 'R' ? special_symbolref_operand (OP, VOIDmode) \ : (C) == 'S' ? (GET_CODE (OP) == SYMBOL_REF && ! ZDA_NAME_P (XSTR (OP, 0))) \ : (C) == 'T' ? 0 \ @@ -1412,7 +1413,7 @@ do { char dstr[30]; \ (TARGET_BIG_SWITCH ? ".long" : ".short"), \ VALUE, REL) -#define ASM_OUTPUT_ALIGN(FILE,LOG) \ +#define ASM_OUTPUT_ALIGN(FILE, LOG) \ if ((LOG) != 0) \ fprintf (FILE, "\t.align %d\n", (LOG)) @@ -1573,12 +1574,14 @@ enum GHS_section_kind #define EP_REGNUM 30 /* ep register number */ -#define ENCODE_SECTION_INFO(DECL) \ -do { \ - if ((TREE_STATIC (DECL) || DECL_EXTERNAL (DECL)) \ - && TREE_CODE (DECL) == VAR_DECL) \ - v850_encode_data_area (DECL); \ -} while (0) +#define ENCODE_SECTION_INFO(DECL) \ + do \ + { \ + if ((TREE_STATIC (DECL) || DECL_EXTERNAL (DECL)) \ + && TREE_CODE (DECL) == VAR_DECL) \ + v850_encode_data_area (DECL); \ + } \ + while (0) #define ZDA_NAME_FLAG_CHAR '@' #define TDA_NAME_FLAG_CHAR '%' @@ -1617,54 +1620,4 @@ do { \ { "pattern_is_ok_for_epilogue", { PARALLEL }}, \ { "register_is_ok_for_epilogue",{ REG }}, \ { "not_power_of_two_operand", { CONST_INT }}, - - /* Note, due to dependency and search path conflicts, prototypes - involving the FILE, rtx or tree types cannot be included here. - They are included at the start of v850.c */ -extern void asm_file_start (); -extern void print_operand (); -extern void print_operand_address (); -extern int function_arg_partial_nregs (); -extern int const_costs (); -extern char * output_move_double (); -extern char * output_move_single (); -extern int ep_memory_operand (); -extern int reg_or_0_operand (); -extern int reg_or_int5_operand (); -extern int call_address_operand (); -extern int movsi_source_operand (); -extern int power_of_two_operand (); -extern int not_power_of_two_operand (); -extern int special_symbolref_operand (); -extern void v850_reorg (); -extern void notice_update_cc (); -extern int v850_valid_machine_decl_attribute (); -extern int v850_interrupt_function_p (); -extern int pattern_is_ok_for_prologue (); -extern int pattern_is_ok_for_epilogue (); -extern int register_is_ok_for_epilogue (); -extern char * construct_save_jarl (); -extern char * construct_restore_jr (); - -extern void override_options PROTO ((void)); -extern int compute_register_save_size PROTO ((long *)); -extern int compute_frame_size PROTO ((int, long *)); -extern void expand_prologue PROTO ((void)); -extern void expand_epilogue PROTO ((void)); - -extern void v850_output_aligned_bss (); -extern void v850_output_common (); -extern void v850_output_local (); -extern void sdata_section PROTO ((void)); -extern void rosdata_section PROTO ((void)); -extern void sbss_section PROTO ((void)); -extern void tdata_section PROTO ((void)); -extern void zdata_section PROTO ((void)); -extern void rozdata_section PROTO ((void)); -extern void zbss_section PROTO ((void)); -extern int v850_handle_pragma PROTO ((int (*)(void), void (*)(int), char *)); -extern void v850_encode_data_area (); -extern void v850_set_default_decl_attr (); -extern v850_data_area v850_get_data_area (); -extern struct rtx_def *v850_va_arg (); diff --git a/gcc/config/v850/v850.md b/gcc/config/v850/v850.md index d1df676e99d..4308e07e5ac 100644 --- a/gcc/config/v850/v850.md +++ b/gcc/config/v850/v850.md @@ -159,7 +159,6 @@ || CONST_OK_FOR_K (INTVAL (operands[1])) || CONST_OK_FOR_L (INTVAL (operands[1]))))) { - rtx high; rtx temp; if (reload_in_progress || reload_completed) @@ -950,7 +949,7 @@ emit_insn (gen_addsi3 (reg, reg, tableaddress)); /* Load the table entry. */ mem = gen_rtx_MEM (CASE_VECTOR_MODE, reg); - RTX_UNCHANGING_P (mem); + RTX_UNCHANGING_P (mem) = 1; if (! TARGET_BIG_SWITCH) { rtx reg2 = gen_reg_rtx (HImode); @@ -974,7 +973,7 @@ "" " { - if (! call_address_operand (XEXP (operands[0], 0)) + if (! call_address_operand (XEXP (operands[0], 0), QImode) || TARGET_LONG_CALLS) XEXP (operands[0], 0) = force_reg (SImode, XEXP (operands[0], 0)); if (TARGET_LONG_CALLS) @@ -1026,7 +1025,7 @@ "" " { - if (! call_address_operand (XEXP (operands[1], 0)) + if (! call_address_operand (XEXP (operands[1], 0), QImode) || TARGET_LONG_CALLS) XEXP (operands[1], 0) = force_reg (SImode, XEXP (operands[1], 0)); if (TARGET_LONG_CALLS) -- 2.11.0