we32k-protos.h: New file.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Tue, 18 Jan 2000 22:56:37 +0000 (22:56 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Tue, 18 Jan 2000 22:56:37 +0000 (22:56 +0000)
        * we32k-protos.h: New file.

        * we32k.c: Fix compile time warnings.

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

From-SVN: r31491

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

index c4378451e614162a381c644cb76a3bc0e445236c..95741993c25772181932b102a02778c55649a527 100644 (file)
@@ -1,3 +1,12 @@
+2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * we32k-protos.h: New file.
+
+       * we32k.c: Fix compile time warnings.
+       
+       * we32k.h: Move prototypes to we32k-protos.h.  Fix compile time
+       warnings.
+
 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
diff --git a/gcc/config/we32k/we32k-protos.h b/gcc/config/we32k/we32k-protos.h
new file mode 100644 (file)
index 0000000..cb11868
--- /dev/null
@@ -0,0 +1,26 @@
+/* Definitions of target machine for GNU compiler.  AT&T we32000 version.
+   Copyright (C) 2000
+   Free Software Foundation, Inc.
+   Contributed by John Wehle (john@feith1.uucp)
+
+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 1, 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
+extern void output_move_double PARAMS ((rtx *));
+extern void output_push_double PARAMS ((rtx *));
+#endif /* RTX_CODE */
index ef03232cb5de85b68219102000694ac43985362c..3359704cc2416eb90d089e9d88685ec440ca4dac 100644 (file)
@@ -1,5 +1,5 @@
 /* Subroutines for insn-output.c for AT&T we32000 Family.
-   Copyright (C) 1991, 1992, 1997, 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1991, 92, 97-99, 2000 Free Software Foundation, Inc.
    Contributed by John Wehle (john@feith1.uucp)
 
 This file is part of GNU CC.
@@ -22,9 +22,13 @@ Boston, MA 02111-1307, USA.  */
 
 #include "config.h"
 #include "system.h"
+#include "insn-config.h"
 #include "rtl.h"
 #include "function.h"
 #include "real.h"
+#include "recog.h"
+#include "output.h"
+#include "tm_p.h"
 
 void
 output_move_double (operands)
@@ -120,7 +124,7 @@ output_push_double (operands)
     lsw_operands[0] = adj_offsettable_operand (operands[0], 4);
   else if (GET_CODE (operands[0]) == CONST_DOUBLE)
     {
-      lsw_operands[0] = GEN_INT CONST_DOUBLE_HIGH (operands[0]));
+      lsw_operands[0] = GEN_INT (CONST_DOUBLE_HIGH (operands[0]));
       operands[0] = GEN_INT (CONST_DOUBLE_LOW (operands[0]));
     }
   else if (GET_CODE (operands[0]) == CONST_INT)
index 7a66c734083dd371ffcb83d0b160f48f45e87269..73a81e0338d2fff86fcaa1c7e515dadd2160ef4e 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions of target machine for GNU compiler.  AT&T we32000 version.
-   Copyright (C) 1991, 92, 93, 94, 95, 96, 98, 1999
+   Copyright (C) 1991, 92, 93, 94, 95, 96, 98, 99, 2000
    Free Software Foundation, Inc.
    Contributed by John Wehle (john@feith1.uucp)
 
@@ -42,7 +42,7 @@ extern int target_flags;
    An empty string NAME is used to identify the default VALUE.  */
 
 #define TARGET_SWITCHES  \
-  { { "", TARGET_DEFAULT}}
+  { { "", TARGET_DEFAULT, 0}}
 
 #define TARGET_DEFAULT 0
 
@@ -226,9 +226,9 @@ enum reg_class { NO_REGS, GENERAL_REGS,
 
 #define REG_CLASS_CONTENTS \
 {                                                      \
0,                    /* NO_REGS */           \
0x000017ff,           /* GENERAL_REGS */      \
0x0000ffff,           /* ALL_REGS */          \
{0},                  /* NO_REGS */           \
{0x000017ff},         /* GENERAL_REGS */      \
{0x0000ffff},         /* ALL_REGS */          \
 }
 
 /* The same information, inverted:
@@ -810,7 +810,7 @@ enum reg_class { NO_REGS, GENERAL_REGS,
 /* AT&T's assembler can't handle floating constants written as floating.
    However, when cross-compiling, always use that in case format differs.  */
 
-#ifdef CROSS_COMPILER
+#ifdef CROSS_COMPILE
 
 #define ASM_OUTPUT_DOUBLE(FILE,VALUE)  \
   fprintf (FILE, "\t.double 0r%.20g\n", (VALUE))
@@ -823,16 +823,16 @@ enum reg_class { NO_REGS, GENERAL_REGS,
 #define ASM_OUTPUT_DOUBLE(FILE,VALUE)  \
 do { union { double d; long l[2];} tem;                                \
      tem.d = (VALUE);                                          \
-     fprintf (FILE, "\t.word 0x%x, 0x%x\n", tem.l[0], tem.l[1]);\
+     fprintf (FILE, "\t.word 0x%lx, 0x%lx\n", tem.l[0], tem.l[1]);\
    } while (0)
 
 #define ASM_OUTPUT_FLOAT(FILE,VALUE)   \
 do { union { float f; long l;} tem;                            \
      tem.f = (VALUE);                                          \
-     fprintf (FILE, "\t.word 0x%x\n", tem.l);                  \
+     fprintf (FILE, "\t.word 0x%lx\n", tem.l);                 \
    } while (0)
 
-#endif /* not CROSS_COMPILER */
+#endif /* not CROSS_COMPILE */
 
 /* This is how to output an assembler line defining an `int' constant.  */
 
@@ -860,9 +860,9 @@ do { union { float f; long l;} tem;                         \
 
 #define ASM_OUTPUT_ASCII(FILE,PTR,LEN)  \
 do {                                                   \
-  unsigned char *s;                                    \
+  const unsigned char *s;                              \
   int i;                                               \
-  for (i = 0, s = (unsigned char *)(PTR); i < (LEN); s++, i++) \
+  for (i = 0, s = (const unsigned char *)(PTR); i < (LEN); s++, i++)   \
     {                                                  \
       if ((i % 8) == 0)                                        \
        fprintf ((FILE),"%s\t.byte\t",(i?"\n":""));     \
@@ -907,7 +907,7 @@ do {                                                        \
 /* The `space' pseudo in the text segment outputs nop insns rather than 0s,
    so we must output 0s explicitly in the text segment.  */
 
-#define ASM_OUTPUT_SKIP(FILE,SIZE)  \
+#define ASM_OUTPUT_SKIP(FILE,SIZE) do { \
   if (in_text_section ())                                                  \
     {                                                                      \
       int i;                                                               \
@@ -923,7 +923,7 @@ do {                                                        \
        }                                                                   \
     }                                                                      \
   else                                                                     \
-    fprintf ((FILE), "\t.set .,.+%u\n", (SIZE))
+    fprintf ((FILE), "\t.set .,.+%u\n", (SIZE)); } while (0)
 
 /* This says how to output an assembler line
    to define a global common symbol.  */
@@ -981,8 +981,7 @@ do {                                                        \
 #define PRINT_OPERAND_PUNCT_VALID_P(CODE) 0
 
 #define PRINT_OPERAND(FILE, X, CODE)  \
-{ int i;                                                               \
-  if (GET_CODE (X) == REG)                                             \
+{ if (GET_CODE (X) == REG)                                             \
     fprintf (FILE, "%%%s", reg_names[REGNO (X)]);                      \
   else if (GET_CODE (X) == MEM)                                                \
     output_address (XEXP (X, 0));                                      \