aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/ns32k/ns32k.h
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2000-01-18 23:06:06 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2000-01-18 23:06:06 +0000
commitfabf04b6e0fdc55916fbf105b785ba555b8bacd5 (patch)
tree722249e7acd5b072e14bd7ca3151db758705d97b /gcc/config/ns32k/ns32k.h
parent2fd58acb350822b9b9fd4dc92fc924f5a53a30b4 (diff)
downloadgcc-fabf04b6e0fdc55916fbf105b785ba555b8bacd5.zip
gcc-fabf04b6e0fdc55916fbf105b785ba555b8bacd5.tar.gz
gcc-fabf04b6e0fdc55916fbf105b785ba555b8bacd5.tar.bz2
ns32k-protos.h: New file.
* ns32k-protos.h: New file. * ns32k.c: Fix compile time warnings. * ns32k.h: Move prototypes to ns32k-protos.h. Fix compile time warnings. * ns32k.md: Likewise. From-SVN: r31494
Diffstat (limited to 'gcc/config/ns32k/ns32k.h')
-rw-r--r--gcc/config/ns32k/ns32k.h53
1 files changed, 12 insertions, 41 deletions
diff --git a/gcc/config/ns32k/ns32k.h b/gcc/config/ns32k/ns32k.h
index 71df54a..f8ec28e 100644
--- a/gcc/config/ns32k/ns32k.h
+++ b/gcc/config/ns32k/ns32k.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. NS32000 version.
- Copyright (C) 1988, 93, 94-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1988, 93, 94-99, 2000 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GNU CC.
@@ -408,12 +408,12 @@ enum reg_class
This is an initializer for a vector of HARD_REG_SET
of length N_REG_CLASSES. */
-#define REG_CLASS_CONTENTS {0, 0x00ff, 0x100, 0x300, 0xff00, \
- 0xffff00, 0xffffff, 0x1000000, 0x2000000, \
- 0x30000ff, 0x3ffffff }
+#define REG_CLASS_CONTENTS {{0}, {0x00ff}, {0x100}, {0x300}, {0xff00}, \
+ {0xffff00}, {0xffffff}, {0x1000000}, {0x2000000}, \
+ {0x30000ff}, {0x3ffffff} }
#define SUBSET_P(CLASS1, CLASS2) \
- ((ns32k_reg_class_contents[CLASS1] & ~ns32k_reg_class_contents[CLASS2]) \
+ ((ns32k_reg_class_contents[CLASS1][0] & ~ns32k_reg_class_contents[CLASS2][0]) \
== 0)
/* The same information, inverted:
@@ -1145,8 +1145,7 @@ __transfer_from_trampoline () \
/* Go to ADDR if X is a valid address not using indexing.
(This much is the easy part.) */
#define GO_IF_NONINDEXED_ADDRESS(X, ADDR) \
-{ register rtx xfoob = (X); \
- if (INDIRECTABLE_1_ADDRESS_P (X)) goto ADDR; \
+{ if (INDIRECTABLE_1_ADDRESS_P (X)) goto ADDR; \
if (INDIRECTABLE_2_ADDRESS_P (X)) goto ADDR; \
if (GET_CODE (X) == PLUS) \
if (CONSTANT_ADDRESS_NO_LABEL_P (XEXP (X, 1))) \
@@ -1211,7 +1210,9 @@ __transfer_from_trampoline () \
else if (INDEX_TERM_P (xfooy, MODE)) \
goto ADDR; \
else if (GET_CODE (xfooy) == PRE_DEC) \
- if (REGNO (XEXP (xfooy, 0)) == STACK_POINTER_REGNUM) goto ADDR; \
+ { \
+ if (REGNO (XEXP (xfooy, 0)) == STACK_POINTER_REGNUM) goto ADDR; \
+ } \
else abort (); \
}
@@ -1594,7 +1595,7 @@ do { \
This is suitable for output with `assemble_name'. */
#define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \
- sprintf (LABEL, "*%s%d", PREFIX, NUM)
+ sprintf (LABEL, "*%s%ld", PREFIX, (long) NUM)
/* This is how to align the code that follows an unconditional branch. */
@@ -1676,38 +1677,8 @@ do { \
#define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address(FILE, ADDR)
-/* Prototypes for functions in ns32k.c */
-
-/* Prototypes would be nice, but for now it causes too many problems.
- This file gets included in places where the types (such as "rtx"
- and enum machine_mode) are not defined. */
-#define NS32K_PROTO(ARGS) ()
-
-int hard_regno_mode_ok NS32K_PROTO((int regno, enum machine_mode mode));
-int register_move_cost NS32K_PROTO((enum reg_class CLASS1, enum reg_class CLASS2));
-int calc_address_cost NS32K_PROTO((rtx operand));
-enum reg_class secondary_reload_class NS32K_PROTO((enum reg_class class,
- enum machine_mode mode, rtx in));
-int reg_or_mem_operand NS32K_PROTO((register rtx op, enum machine_mode mode));
-
-void split_di NS32K_PROTO((rtx operands[], int num, rtx lo_half[], hi_half[]));
-
-void expand_block_move NS32K_PROTO((rtx operands[]));
-int global_symbolic_reference_mentioned_p NS32K_PROTO((rtx op, int f));
-int ns32k_comp_type_attributes NS32K_PROTO((tree type1, tree type2));
-int ns32k_return_pops_args NS32K_PROTO((tree fundecl, tree funtype, int size));
-int ns32k_valid_decl_attribute_p NS32K_PROTO((tree decl, tree attributes,
- tree identifier, tree args));
-int ns32k_valid_type_attribute_p NS32K_PROTO((tree decl, tree attributes,
- tree identifier, tree args));
-void print_operand NS32K_PROTO((FILE *file, rtx x, char code));
-void print_operand_address NS32K_PROTO((register FILE *file, register rtx addr));
-char *output_move_dconst NS32K_PROTO((int n, char *s));
-char *output_move_double NS32K_PROTO((rtx *operands));
-char *output_shift_insn NS32K_PROTO((rtx *operands));
-
-extern unsigned int ns32k_reg_class_contents[N_REG_CLASSES];
-extern char *ns32k_out_reg_names[];
+extern unsigned int ns32k_reg_class_contents[N_REG_CLASSES][1];
+extern const char *const ns32k_out_reg_names[];
extern enum reg_class regclass_map[]; /* smalled class containing REGNO */
/*