OSDN Git Service

* m68k-protos.h: New file.
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Jan 2000 19:24:13 +0000 (19:24 +0000)
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Jan 2000 19:24:13 +0000 (19:24 +0000)
        * m68k.c: Include tm_p.h.  Add static prototypes.  Fix compile
        time warnings.

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

        * mot3300.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31358 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 1ba077d..ce2fed0 100644 (file)
@@ -1,3 +1,14 @@
+2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * m68k-protos.h: New file.
+
+       * m68k.c: Include tm_p.h.  Add static prototypes.  Fix compile
+       time warnings.
+       
+       * m68k.h: Move prototypes to m68k-protos.h.  Fix compile time warnings.
+       
+       * mot3300.h: Likewise.
+
 2000-01-12  Richard Earnshaw <rearnsha@arm.com>
 
        * haifa-sched.c (split_edges): Pass edgeset_size as second arg to
diff --git a/gcc/config/m68k/m68k-protos.h b/gcc/config/m68k/m68k-protos.h
new file mode 100644 (file)
index 0000000..a31dc41
--- /dev/null
@@ -0,0 +1,69 @@
+/* Definitions of target machine for GNU compiler.  Sun 68000/68020 version.
+   Copyright (C) 2000 Free Software Foundation, Inc.
+
+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.  */
+
+/* Define functions defined in aux-output.c and used in templates.  */
+
+#ifdef RTX_CODE
+extern const char *output_move_const_into_data_reg PARAMS ((rtx *));
+extern const char *output_move_simode_const PARAMS ((rtx *));
+extern const char *output_move_simode PARAMS ((rtx *));
+extern const char *output_move_himode PARAMS ((rtx *));
+extern const char *output_move_qimode PARAMS ((rtx *));
+extern const char *output_move_stricthi PARAMS ((rtx *));
+extern const char *output_move_strictqi PARAMS ((rtx *));
+extern const char *output_move_double PARAMS ((rtx *));
+extern const char *output_move_const_single PARAMS ((rtx *));
+extern const char *output_move_const_double PARAMS ((rtx *));
+extern const char *output_btst PARAMS ((rtx *, rtx, rtx, rtx, int));
+extern const char *output_scc_di PARAMS ((rtx, rtx, rtx, rtx));
+extern const char *output_addsi3 PARAMS ((rtx *));
+extern const char *output_andsi3 PARAMS ((rtx *));
+extern const char *output_iorsi3 PARAMS ((rtx *));
+extern const char *output_xorsi3 PARAMS ((rtx *));
+extern void output_dbcc_and_branch PARAMS ((rtx *));
+extern int const_uint32_operand PARAMS ((rtx, enum machine_mode));
+extern int const_sint32_operand PARAMS ((rtx, enum machine_mode));
+extern int floating_exact_log2 PARAMS ((rtx));
+extern int not_sp_operand PARAMS ((rtx, enum machine_mode));
+extern int valid_dbcc_comparison_p PARAMS ((rtx, enum machine_mode));
+extern int extend_operator PARAMS ((rtx, enum machine_mode));
+extern int strict_low_part_peephole_ok PARAMS ((enum machine_mode, rtx, rtx));
+
+/* Functions from m68k.c used in macros.  */
+extern int symbolic_operand PARAMS ((rtx, enum machine_mode));
+extern int const_int_cost PARAMS ((rtx));
+extern int standard_68881_constant_p PARAMS ((rtx));
+extern int standard_sun_fpa_constant_p PARAMS ((rtx));
+extern void print_operand_address PARAMS ((FILE *, rtx));
+extern void print_operand PARAMS ((FILE *, rtx, int));
+extern void notice_update_cc PARAMS ((rtx, rtx));
+//extern void finalize_pic PARAMS ((rtx, enum machine_mode));
+extern int general_src_operand PARAMS ((rtx, enum machine_mode));
+extern int nonimmediate_src_operand PARAMS ((rtx, enum machine_mode));
+extern int memory_src_operand PARAMS ((rtx, enum machine_mode));
+extern int pcrel_address PARAMS ((rtx, enum machine_mode));
+#endif /* RTX_CODE */
+
+extern int flags_in_68881 PARAMS ((void));
+extern void output_function_prologue PARAMS ((FILE *, int));
+extern void output_function_epilogue PARAMS ((FILE *, int));
+extern int use_return_insn PARAMS ((void));
+extern void override_options PARAMS ((void));
+extern void init_68881_table PARAMS ((void));
index 8a798b7..7854a82 100644 (file)
@@ -1,5 +1,5 @@
 /* Subroutines for insn-output.c for Motorola 68000 family.
-   Copyright (C) 1987, 93-98, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1987, 93-99, 2000 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -33,6 +33,7 @@ Boston, MA 02111-1307, USA.  */
 #include "insn-attr.h"
 #include "recog.h"
 #include "toplev.h"
+#include "tm_p.h"
 
 /* Needed for use_return_insn.  */
 #include "flags.h"
@@ -51,9 +52,9 @@ enum reg_class regno_reg_class[]
    if SGS_SWITCH_TABLE.  */
 int switch_table_difference_label_flag;
 
-static rtx find_addr_reg ();
-rtx legitimize_pic_address ();
-void print_operand_address ();
+static rtx find_addr_reg PARAMS ((rtx));
+rtx legitimize_pic_address PARAMS ((rtx, enum machine_mode, rtx));
+static const char *singlemove_string PARAMS ((rtx *));
 \f
 
 /* Alignment to use for loops and jumps */
@@ -1030,7 +1031,7 @@ output_dbcc_and_branch (operands)
     }
 }
 
-char *
+const char *
 output_scc_di(op, operand1, operand2, dest)
      rtx op;
      rtx operand1;
@@ -1217,7 +1218,7 @@ output_scc_di(op, operand1, operand2, dest)
   return "";
 }
 
-char *
+const char *
 output_btst (operands, countop, dataop, insn, signpos)
      rtx *operands;
      rtx countop, dataop;
@@ -1404,9 +1405,11 @@ legitimize_pic_address (orig, mode, reg)
 \f
 typedef enum { MOVL, SWAP, NEGW, NOTW, NOTB, MOVQ } CONST_METHOD;
 
+static CONST_METHOD const_method PARAMS ((rtx));
+
 #define USE_MOVQ(i)    ((unsigned)((i) + 128) <= 255)
 
-CONST_METHOD
+static CONST_METHOD
 const_method (constant)
      rtx constant;
 {
@@ -1462,7 +1465,7 @@ const_int_cost (constant)
     }
 }
 
-char *
+const char *
 output_move_const_into_data_reg (operands)
      rtx *operands;
 {
@@ -1515,7 +1518,7 @@ output_move_const_into_data_reg (operands)
     }
 }
 
-char *
+const char *
 output_move_simode_const (operands)
      rtx *operands;
 {
@@ -1546,7 +1549,7 @@ output_move_simode_const (operands)
   return "move%.l %1,%0";
 }
 
-char *
+const char *
 output_move_simode (operands)
      rtx *operands;
 {
@@ -1563,7 +1566,7 @@ output_move_simode (operands)
   return "move%.l %1,%0";
 }
 
-char *
+const char *
 output_move_himode (operands)
      rtx *operands;
 {
@@ -1632,7 +1635,7 @@ output_move_himode (operands)
   return "move%.w %1,%0";
 }
 
-char *
+const char *
 output_move_qimode (operands)
      rtx *operands;
 {
@@ -1706,7 +1709,7 @@ output_move_qimode (operands)
   return "move%.b %1,%0";
 }
 
-char *
+const char *
 output_move_stricthi (operands)
      rtx *operands;
 {
@@ -1719,7 +1722,7 @@ output_move_stricthi (operands)
   return "move%.w %1,%0";
 }
 
-char *
+const char *
 output_move_strictqi (operands)
      rtx *operands;
 {
@@ -1735,7 +1738,7 @@ output_move_strictqi (operands)
 /* Return the best assembler insn template
    for moving operands[1] into operands[0] as a fullword.  */
 
-static char *
+static const char *
 singlemove_string (operands)
      rtx *operands;
 {
@@ -1752,7 +1755,7 @@ singlemove_string (operands)
 /* Output assembler code to perform a doubleword move insn
    with operands OPERANDS.  */
 
-char *
+const char *
 output_move_double (operands)
      rtx *operands;
 {
@@ -2130,7 +2133,7 @@ find_addr_reg (addr)
 
 /* Output assembler code to perform a 32 bit 3 operand add.  */
 
-char *
+const char *
 output_addsi3 (operands)
      rtx *operands;
 {
@@ -2336,7 +2339,7 @@ notice_update_cc (exp, insn)
     cc_status.flags = CC_IN_68881;
 }
 \f
-char *
+const char *
 output_move_const_double (operands)
      rtx *operands;
 {
@@ -2370,7 +2373,7 @@ output_move_const_double (operands)
     }
 }
 
-char *
+const char *
 output_move_const_single (operands)
      rtx *operands;
 {
@@ -2413,7 +2416,7 @@ output_move_const_single (operands)
   
 static int inited_68881_table = 0;
 
-char *strings_68881[7] = {
+static const char *const strings_68881[7] = {
   "0.0",
   "1.0",
   "10.0",
@@ -2545,7 +2548,7 @@ floating_exact_log2 (x)
 
 static int inited_FPA_table = 0;
 
-char *strings_FPA[38] = {
+static const char *const strings_FPA[38] = {
 /* small rationals */
   "0.0",
   "1.0",
@@ -3464,13 +3467,13 @@ memory_src_operand (op, mode)
 int
 pcrel_address (op, mode)
      rtx op;
-     enum machine_mode mode;
+     enum machine_mode mode ATTRIBUTE_UNUSED;
 {
   return (GET_CODE (op) == SYMBOL_REF || GET_CODE (op) == LABEL_REF
          || GET_CODE (op) == CONST);
 }
 
-char *
+const char *
 output_andsi3 (operands)
      rtx *operands;
 {
@@ -3511,7 +3514,7 @@ output_andsi3 (operands)
   return "and%.l %2,%0";
 }
 
-char *
+const char *
 output_iorsi3 (operands)
      rtx *operands;
 {
@@ -3550,7 +3553,7 @@ output_iorsi3 (operands)
   return "or%.l %2,%0";
 }
 
-char *
+const char *
 output_xorsi3 (operands)
      rtx *operands;
 {
index 21acb26..5fda5f8 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions of target machine for GNU compiler.  Sun 68000/68020 version.
-   Copyright (C) 1987, 88, 93-98, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1987, 88, 93-99, 2000 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -2153,34 +2153,6 @@ do { long l;                                             \
 
 #define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address (FILE, ADDR)
 
-/* Define functions defined in aux-output.c and used in templates.  */
-
-extern char *output_move_const_into_data_reg ();
-extern char *output_move_simode_const ();
-extern char *output_move_simode ();
-extern char *output_move_himode ();
-extern char *output_move_qimode ();
-extern char *output_move_stricthi ();
-extern char *output_move_strictqi ();
-extern char *output_move_double ();
-extern char *output_move_const_single ();
-extern char *output_move_const_double ();
-extern char *output_btst ();
-extern char *output_scc_di ();
-extern char *output_addsi3 ();
-extern char *output_andsi3 ();
-extern char *output_iorsi3 ();
-extern char *output_xorsi3 ();
-extern void output_dbcc_and_branch ();
-extern int const_uint32_operand ();
-extern int const_sint32_operand ();
-extern int floating_exact_log2 ();
-extern int not_sp_operand ();
-extern int valid_dbcc_comparison_p ();
-extern int extend_operator ();
-extern int flags_in_68881 ();
-extern int strict_low_part_peephole_ok ();
-
 /* Variables in m68k.c */
 extern const char *m68k_align_loops_string;
 extern const char *m68k_align_jumps_string;
@@ -2190,20 +2162,6 @@ extern int m68k_align_jumps;
 extern int m68k_align_funcs;
 extern int m68k_last_compare_had_fp_operands;
 
-/* Functions from m68k.c used in macros.  */
-extern int symbolic_operand ();
-extern int const_int_cost ();
-extern int standard_68881_constant_p ();
-extern int standard_sun_fpa_constant_p ();
-extern void output_function_prologue ();
-extern void output_function_epilogue ();
-extern int use_return_insn ();
-extern void print_operand_address ();
-extern void print_operand ();
-extern void notice_update_cc ();
-extern void finalize_pic ();
-extern void override_options ();
-
 \f
 /*
 Local variables:
index 6c14d4f..f709719 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions of target machine for GNU compiler,
    SysV68 Motorola 3300 Delta Series.
-   Copyright (C) 1987, 93-98, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1987, 93-99, 2000 Free Software Foundation, Inc.
    Contributed by Abramo and Roberto Bagnara (bagnara@dipisa.di.unipi.it)
    based on Alex Crain's 3B1 definitions.
    Maintained by Philippe De Muyter (phdm@info.ucl.ac.be).
@@ -376,14 +376,14 @@ dtors_section ()                                                  \
 #define ASM_OUTPUT_DOUBLE(FILE,VALUE)  \
 do { long l[2];                                                \
      REAL_VALUE_TO_TARGET_DOUBLE (VALUE, l);           \
-     fprintf (FILE, "\t%s 0x%x,0x%x\n", ASM_LONG, l[0], l[1]); \
+     fprintf (FILE, "\t%s 0x%lx,0x%lx\n", ASM_LONG, l[0], l[1]); \
    } while (0)
 
 #undef ASM_OUTPUT_LONG_DOUBLE
 #define ASM_OUTPUT_LONG_DOUBLE(FILE,VALUE)                             \
 do { long l[3];                                                                \
      REAL_VALUE_TO_TARGET_LONG_DOUBLE (VALUE, l);                      \
-     fprintf (FILE, "\t%s 0x%x,0x%x,0x%x\n", ASM_LONG, l[0], l[1], l[2]);      \
+     fprintf (FILE, "\t%s 0x%lx,0x%lx,0x%lx\n", ASM_LONG, l[0], l[1], l[2]); \
    } while (0)
 
 /* This is how to output an assembler line defining a `float' constant.  */
@@ -392,7 +392,7 @@ do { long l[3];                                                             \
 #define ASM_OUTPUT_FLOAT(FILE,VALUE)  \
 do { long l;                                   \
      REAL_VALUE_TO_TARGET_SINGLE (VALUE, l);   \
-     fprintf ((FILE), "\t%s 0x%x\n", ASM_LONG, l);     \
+     fprintf ((FILE), "\t%s 0x%lx\n", ASM_LONG, l);    \
    } while (0)
 
 /* This is how to output an assembler line defining an `int' constant.  */
@@ -522,7 +522,7 @@ do { long l;                                        \
 
 #undef ASM_GENERATE_INTERNAL_LABEL
 #define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM)        \
-  sprintf ((LABEL), "%s%s%d", LOCAL_LABEL_PREFIX, (PREFIX), (NUM))
+  sprintf ((LABEL), "%s%s%ld", LOCAL_LABEL_PREFIX, (PREFIX), (long)(NUM))
 
 /* This is how to output an internal numbered label where
    PREFIX is the class of label and NUM is the number within the class.  */