]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
mn10300-protos.h: New file.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Fri, 14 Jan 2000 23:03:45 +0000 (23:03 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Fri, 14 Jan 2000 23:03:45 +0000 (23:03 +0000)
        * mn10300-protos.h: New file.

        * mn10300.c: Include tm_p.h.  Add static prototypes.  Fix compile
        time warnings.

        * mn10300.h: Move prototypes to mn10300-protos.h.  Fix compile time
        warnings.

        * mn10300.md: Likewise.

From-SVN: r31428

gcc/ChangeLog
gcc/config/mn10300/mn10300-protos.h [new file with mode: 0644]
gcc/config/mn10300/mn10300.c
gcc/config/mn10300/mn10300.h
gcc/config/mn10300/mn10300.md

index 8e491510083d186b2a47f3f328e16e297fbc70c9..b4edc1a4dbbf45eba18bfe801cdde3304ea0206d 100644 (file)
@@ -1,3 +1,15 @@
+2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * mn10300-protos.h: New file.
+
+       * mn10300.c: Include tm_p.h.  Add static prototypes.  Fix compile
+       time warnings.
+       
+       * mn10300.h: Move prototypes to mn10300-protos.h.  Fix compile time
+       warnings.
+       
+       * mn10300.md: Likewise.
+
 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * mn10200-protos.h: New file.
diff --git a/gcc/config/mn10300/mn10300-protos.h b/gcc/config/mn10300/mn10300-protos.h
new file mode 100644 (file)
index 0000000..2ae3ba5
--- /dev/null
@@ -0,0 +1,56 @@
+/* Definitions of target machine for GNU compiler. Matsushita MN10300 series
+   Copyright (C) 2000 Free Software Foundation, Inc.
+   Contributed by Jeff Law (law@cygnus.com).
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING.  If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#ifdef RTX_CODE
+
+#ifdef TREE_CODE
+extern void mn10300_va_start PARAMS ((int, tree, rtx));
+#endif /* TREE_CODE */
+
+extern struct rtx_def *legitimize_address PARAMS ((rtx, rtx, enum machine_mode));
+extern void print_operand PARAMS ((FILE *, rtx, int));
+extern void print_operand_address PARAMS ((FILE *, rtx));
+extern void notice_update_cc PARAMS ((rtx, rtx));
+extern enum reg_class secondary_reload_class PARAMS ((enum reg_class,
+                                                     enum machine_mode, rtx));
+extern char *output_tst PARAMS ((rtx, rtx));
+extern int symbolic_operand PARAMS ((rtx, enum machine_mode));
+extern int call_address_operand PARAMS ((rtx, enum machine_mode));
+extern int impossible_plus_operand PARAMS ((rtx, enum machine_mode));
+extern int const_8bit_operand PARAMS ((rtx, enum machine_mode));
+#endif /* RTX_CODE */
+
+#ifdef TREE_CODE
+extern struct rtx_def *function_arg PARAMS ((CUMULATIVE_ARGS *,
+                                            enum machine_mode, tree, int));
+extern int function_arg_partial_nregs PARAMS ((CUMULATIVE_ARGS *,
+                                              enum machine_mode, tree, int));
+extern struct rtx_def *mn10300_va_arg PARAMS ((tree, tree));
+#endif /* TREE_CODE */
+
+extern struct rtx_def *mn10300_builtin_saveregs PARAMS ((void));
+extern void asm_file_start PARAMS ((FILE *));
+extern void expand_prologue PARAMS ((void));
+extern void expand_epilogue PARAMS ((void));
+extern int initial_offset PARAMS ((int, int));
+extern int can_use_return_insn PARAMS ((void));
+extern int mask_ok_for_mem_btst PARAMS ((int, int));
+
index 2c325bf17bed12717bc5941a8c354bf0ca613889..a8918b27650868380c6121f67716cc0c937d218e 100644 (file)
@@ -1,5 +1,5 @@
 /* Subroutines for insn-output.c for Matsushita MN10300 series
-   Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
 This file is part of GNU CC.
@@ -36,6 +36,8 @@ Boston, MA 02111-1307, USA.  */
 #include "expr.h"
 #include "function.h"
 #include "obstack.h"
+#include "toplev.h"
+#include "tm_p.h"
 
 /* The size of the callee register save area.  Right now we save everything
    on entry since it costs us nothing in code size.  It does cost us from a
@@ -168,6 +170,8 @@ print_operand (file, x, code)
                      print_operand_address (file,
                                             GEN_INT (CONST_DOUBLE_LOW (x)));
                      break;
+                   default:
+                     break;
                  }
                break;
              }
@@ -220,6 +224,8 @@ print_operand (file, x, code)
                      print_operand_address (file, 
                                             GEN_INT (CONST_DOUBLE_HIGH (x)));
                      break;
+                   default:
+                     break;
                  }
                break;
              }
@@ -549,7 +555,7 @@ notice_update_cc (body, insn)
 int
 call_address_operand (op, mode)
      rtx op;
-     enum machine_mode mode;
+     enum machine_mode mode ATTRIBUTE_UNUSED;
 {
   return (GET_CODE (op) == SYMBOL_REF || GET_CODE (op) == REG);
 }
@@ -564,8 +570,6 @@ secondary_reload_class (class, mode, in)
      enum machine_mode mode;
      rtx in;
 {
-  int regno;
-
   /* Memory loads less than a full word wide can't have an
      address or stack pointer destination.  They must use
      a data register as an intermediate register.  */
@@ -742,7 +746,7 @@ function_arg (cum, mode, type, named)
      CUMULATIVE_ARGS *cum;
      enum machine_mode mode;
      tree type;
-     int named;
+     int named ATTRIBUTE_UNUSED;
 {
   rtx result = 0;
   int size, align;
@@ -795,7 +799,7 @@ function_arg_partial_nregs (cum, mode, type, named)
      CUMULATIVE_ARGS *cum;
      enum machine_mode mode;
      tree type;
-     int named;
+     int named ATTRIBUTE_UNUSED;
 {
   int size, align;
 
@@ -924,11 +928,8 @@ output_tst (operand, insn)
 int
 impossible_plus_operand (op, mode)
      rtx op;
-     enum machine_mode mode;
+     enum machine_mode mode ATTRIBUTE_UNUSED;
 {
-  extern rtx *reg_equiv_mem;
-  rtx reg1, reg2;
-  
   if (GET_CODE (op) != PLUS)
     return 0;
 
@@ -945,7 +946,7 @@ impossible_plus_operand (op, mode)
 int
 const_8bit_operand (op, mode)
     register rtx op;
-    enum machine_mode mode;
+    enum machine_mode mode ATTRIBUTE_UNUSED;
 {
   return (GET_CODE (op) == CONST_INT
          && INTVAL (op) >= 0
@@ -981,7 +982,7 @@ mask_ok_for_mem_btst (len, bit)
 int
 symbolic_operand (op, mode)
      register rtx op;
-     enum machine_mode mode;
+     enum machine_mode mode ATTRIBUTE_UNUSED;
 {
   switch (GET_CODE (op))
     {
@@ -1016,8 +1017,8 @@ symbolic_operand (op, mode)
 rtx
 legitimize_address (x, oldx, mode)
      rtx x;
-     rtx oldx;
-     enum machine_mode mode;
+     rtx oldx ATTRIBUTE_UNUSED;
+     enum machine_mode mode ATTRIBUTE_UNUSED;
 {
   /* Uh-oh.  We might have an address for x[n-100000].  This needs
      special handling to avoid creating an indexed memory address
@@ -1029,7 +1030,7 @@ legitimize_address (x, oldx, mode)
          by the index expression is computed first, then added to x to form
          the entire address.  */
 
-      rtx regx1, regx2, regy1, regy2, y;
+      rtx regx1, regy1, regy2, y;
 
       /* Strip off any CONST.  */
       y = XEXP (x, 1);
index 8e77acc42b11b726e582cb8cada185477e8bcab3..d79d4e748a155c8e673f07796309552f27b81413 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions of target machine for GNU compiler. Matsushita MN10300 series
-   Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    Contributed by Jeff Law (law@cygnus.com).
 
 This file is part of GNU CC.
@@ -251,19 +251,19 @@ enum reg_class {
    of length N_REG_CLASSES.  */
 
 #define REG_CLASS_CONTENTS                     \
-{      0,              /* No regs      */      \
-   0x0000f,            /* DATA_REGS */         \
-   0x001f0,            /* ADDRESS_REGS */      \
-   0x00200,            /* SP_REGS */           \
-   0x001ff,            /* DATA_OR_ADDRESS_REGS */\
-   0x003f0,            /* SP_OR_ADDRESS_REGS */\
-   0x2fc00,            /* EXTENDED_REGS */     \
-   0x2fc0f,            /* DATA_OR_EXTENDED_REGS */     \
-   0x2fdf0,            /* ADDRESS_OR_EXTENDED_REGS */  \
-   0x2fe00,            /* SP_OR_EXTENDED_REGS */       \
-   0x2fff0,            /* SP_OR_ADDRESS_OR_EXTENDED_REGS */    \
-   0x2fdff,            /* GENERAL_REGS */      \
-   0x2ffff,            /* ALL_REGS     */      \
+{      {0},            /* No regs      */      \
+   {0x0000f},          /* DATA_REGS */         \
+   {0x001f0},          /* ADDRESS_REGS */      \
+   {0x00200},          /* SP_REGS */           \
+   {0x001ff},          /* DATA_OR_ADDRESS_REGS */\
+   {0x003f0},          /* SP_OR_ADDRESS_REGS */\
+   {0x2fc00},          /* EXTENDED_REGS */     \
+   {0x2fc0f},          /* DATA_OR_EXTENDED_REGS */     \
+   {0x2fdf0},          /* ADDRESS_OR_EXTENDED_REGS */  \
+   {0x2fe00},          /* SP_OR_EXTENDED_REGS */       \
+   {0x2fff0},          /* SP_OR_ADDRESS_OR_EXTENDED_REGS */    \
+   {0x2fdff},          /* GENERAL_REGS */      \
+   {0x2ffff},          /* ALL_REGS     */      \
 }
 
 /* The same information, inverted:
@@ -504,7 +504,6 @@ struct cum_arg {int nbytes; };
 
 /* On the MN10300 all args are pushed.  */   
 
-extern struct rtx_def *function_arg ();
 #define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) \
   function_arg (&CUM, MODE, TYPE, NAMED)
 
@@ -606,16 +605,13 @@ extern struct rtx_def *function_arg ();
    Ordinarily they are not call used registers, but they are for
    _builtin_saveregs, so we must make this explicit.  */
 
-extern struct rtx_def *mn10300_builtin_saveregs ();
 #define EXPAND_BUILTIN_SAVEREGS() mn10300_builtin_saveregs ()
 
 /* Implement `va_start' for varargs and stdarg.  */
-extern void mn10300_va_start();
 #define EXPAND_BUILTIN_VA_START(stdarg, valist, nextarg) \
   mn10300_va_start (stdarg, valist, nextarg)
 
 /* Implement `va_arg'.  */
-extern struct rtx_def *mn10300_va_arg();
 #define EXPAND_BUILTIN_VA_ARG(valist, type) \
   mn10300_va_arg (valist, type)
 
@@ -754,7 +750,6 @@ extern struct rtx_def *mn10300_va_arg();
    It is always safe for this macro to do nothing.  It exists to recognize
    opportunities to optimize the output.   */
 
-extern struct rtx_def *legitimize_address ();
 #define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)  \
 { rtx orig_x = (X);                            \
   (X) = legitimize_address (X, OLDX, MODE);    \
@@ -1088,16 +1083,3 @@ do { char dstr[30];                                      \
 
 #define FILE_ASM_OP "\t.file\n"
 
-extern void asm_file_start ();
-extern int const_costs ();
-extern void print_operand ();
-extern void print_operand_address ();
-extern void expand_prologue ();
-extern void expand_epilogue ();
-extern void notice_update_cc ();
-extern int call_address_operand ();
-extern int impossible_plus_operand ();
-extern enum reg_class secondary_reload_class ();
-extern int initial_offset ();
-extern char *output_tst ();
-int symbolic_operand ();
index 27fdb6810dda9f39fa7eb1afac6a4b04a2d24e39..750d30a88d1aa4efeee9b5909181d097d410ec13 100644 (file)
@@ -1,5 +1,5 @@
 ;; GCC machine description for Matsushita MN10300
-;; Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
 ;; Contributed by Jeff Law (law@cygnus.com).
 
 ;; This file is part of GNU CC.
@@ -97,6 +97,8 @@
     case 8:
     case 9:
       return \"movbu %1,%0\";
+    default:
+      abort();
     }
 }"
   [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
     case 8:
     case 9:
       return \"movbu %1,%0\";
+    default:
+      abort();
     }
 }"
   [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
     case 8:
     case 9:
       return \"movhu %1,%0\";
+    default:
+      abort();
     }
 }"
   [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
     case 8:
     case 9:
       return \"movhu %1,%0\";
+    default:
+      abort();
     }
 }"
   [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
            return \"movu %1,%0\";
        }
       return \"mov %1,%0\";
+    default:
+      abort();
     }
 }"
   [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
            return \"movu %1,%0\";
        }
       return \"mov %1,%0\";
+    default:
+      abort();
     }
 }"
   [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit")])
              output_asm_insn (\"mov %H1,%H0\", operands);
            return \"\";
          }
+    default:
+      abort();
     }
 }"
   [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
              output_asm_insn (\"mov %H1,%H0\", operands);
            return \"\";
          }
+    default:
+      abort();
     }
 }"
   [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit,none_0hit")])
        return \"mov %1,%0\;add %2,%0\";
       return \"mov %2,%0\;add %1,%0\";
       }
+    default:
+      abort();
     }
 }"
   [(set_attr "cc" "set_zn,none_0hit,none_0hit,set_zn,none_0hit,set_zn")])
          == REGNO_REG_CLASS (true_regnum (operands[0])))
        return \"mov %1,%0\;add %2,%0\";
       return \"mov %2,%0\;add %1,%0\";
+    default:
+      abort();
     }
 }"
   [(set_attr "cc" "set_zn,none_0hit,none_0hit,set_zn,none_0hit,set_zn")])
   ""
   "
 {
-  if (! call_address_operand (XEXP (operands[0], 0)))
+  if (! call_address_operand (XEXP (operands[0], 0), VOIDmode))
     XEXP (operands[0], 0) = force_reg (SImode, XEXP (operands[0], 0));
   emit_call_insn (gen_call_internal (XEXP (operands[0], 0), operands[1]));
   DONE;
   ""
   "
 {
-  if (! call_address_operand (XEXP (operands[1], 0)))
+  if (! call_address_operand (XEXP (operands[1], 0), VOIDmode))
     XEXP (operands[1], 0) = force_reg (SImode, XEXP (operands[1], 0));
   emit_call_insn (gen_call_value_internal (operands[0],
                                           XEXP (operands[1], 0),
   ""
   "*
 {
-  int i, need_comma;
-  int d2, d3, a2, a3;
-  int exreg1;
+  int need_comma;
 
   need_comma = 0;
   fputs (\"\\tret [\", asm_out_file);
   ""
   "*
 {
-  int i, need_comma;
-  int d2, d3, a2, a3;
-  int exreg1;
+  int need_comma;
 
   need_comma = 0;
   fputs (\"\\tmovm [\", asm_out_file);