This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch installed: mn10300-protos.h file


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.

diff -rup orig/egcs-CVS20000114/gcc/config/mn10300/mn10300-protos.h egcs-CVS20000114/gcc/config/mn10300/mn10300-protos.h
--- orig/egcs-CVS20000114/gcc/config/mn10300/mn10300-protos.h	Fri Jan 14 08:48:15 2000
+++ egcs-CVS20000114/gcc/config/mn10300/mn10300-protos.h	Fri Jan 14 11:00:39 2000
@@ -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));
+
diff -rup orig/egcs-CVS20000114/gcc/config/mn10300/mn10300.c egcs-CVS20000114/gcc/config/mn10300/mn10300.c
--- orig/egcs-CVS20000114/gcc/config/mn10300/mn10300.c	Thu Dec  2 07:36:16 1999
+++ egcs-CVS20000114/gcc/config/mn10300/mn10300.c	Fri Jan 14 10:51:33 2000
@@ -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, t
      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);
diff -rup orig/egcs-CVS20000114/gcc/config/mn10300/mn10300.h egcs-CVS20000114/gcc/config/mn10300/mn10300.h
--- orig/egcs-CVS20000114/gcc/config/mn10300/mn10300.h	Thu Dec  2 07:36:16 1999
+++ egcs-CVS20000114/gcc/config/mn10300/mn10300.h	Fri Jan 14 11:03:11 2000
@@ -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 ();
diff -rup orig/egcs-CVS20000114/gcc/config/mn10300/mn10300.md egcs-CVS20000114/gcc/config/mn10300/mn10300.md
--- orig/egcs-CVS20000114/gcc/config/mn10300/mn10300.md	Thu Dec  2 07:36:16 1999
+++ egcs-CVS20000114/gcc/config/mn10300/mn10300.md	Fri Jan 14 11:28:58 2000
@@ -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")])
@@ -133,6 +135,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")])
@@ -193,6 +197,8 @@
     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")])
@@ -228,6 +234,8 @@
     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")])
@@ -332,6 +340,8 @@
 	    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")])
@@ -375,6 +385,8 @@
 	    return \"movu %1,%0\";
 	}
       return \"mov %1,%0\";
+    default:
+      abort();
     }
 }"
   [(set_attr "cc" "none,none,clobber,none_0hit,none_0hit,none_0hit")])
@@ -517,6 +529,8 @@
 	      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")])
@@ -659,6 +673,8 @@
 	      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")])
@@ -807,6 +823,8 @@
 	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")])
@@ -847,6 +865,8 @@
 	  == 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")])
@@ -1506,7 +1526,7 @@
   ""
   "
 {
-  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;
@@ -1535,7 +1555,7 @@
   ""
   "
 {
-  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),
@@ -1996,9 +2016,7 @@
   ""
   "*
 {
-  int i, need_comma;
-  int d2, d3, a2, a3;
-  int exreg1;
+  int need_comma;
 
   need_comma = 0;
   fputs (\"\\tret [\", asm_out_file);
@@ -2046,9 +2064,7 @@
   ""
   "*
 {
-  int i, need_comma;
-  int d2, d3, a2, a3;
-  int exreg1;
+  int need_comma;
 
   need_comma = 0;
   fputs (\"\\tmovm [\", asm_out_file);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]