Move prototypes into v850-protos.h
authorNick Clifton <nickc@cygnus.com>
Mon, 8 Nov 1999 15:40:38 +0000 (15:40 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Mon, 8 Nov 1999 15:40:38 +0000 (15:40 +0000)
From-SVN: r30450

gcc/ChangeLog
gcc/config/v850/v850.c
gcc/config/v850/v850.h
gcc/config/v850/v850.md

index 4b8ccbfbbaec4b23dfa8bf8192a1db105b3c84a8..8dcaeff5e952cff8085d59cfebe136fb27e522a4 100644 (file)
@@ -1,3 +1,11 @@
+Mon Nov  8 15:38:41 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * 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  <mark@codesourcery.com>
 
        * tree.h (get_containing_scope): Declare it.
index 6306cfc164537c0fb9925c4424ff1a8d80b8a04b..4e205a5ab7fc334add05e552620c565fdfd3bfa0 100644 (file)
@@ -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;
index 22289c393674fd6158d2061a928c81ced1e4c814..c172c5db30968d7949c737c1f4d6dc61a0ed2310 100644 (file)
@@ -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))
 
 \f
 /* 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         ();
index d1df676e99de32481826e171b0d6d7d42d4ff0d3..4308e07e5ac38fc4c2483024fab84d9e52a08de7 100644 (file)
               || CONST_OK_FOR_K (INTVAL (operands[1]))
               || CONST_OK_FOR_L (INTVAL (operands[1])))))
     {
-      rtx high;
       rtx temp;
 
       if (reload_in_progress || reload_completed)
   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);
   ""
   "
 {
-  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)
   ""
   "
 {
-  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)