we32k-protos.h: New file.

* 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
This commit is contained in:
Kaveh R. Ghazi 2000-01-18 22:56:37 +00:00 committed by Kaveh Ghazi
parent 962f1324bd
commit 253f1045a1
4 changed files with 55 additions and 17 deletions

View 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.

View file

@ -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 */

View 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)

View 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)); \