From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marc Lehmann To: egcs@cygnus.com Subject: Re: i386.c warnings cleanup Date: Wed, 11 Feb 1998 00:47:00 -0000 Message-id: <19980211071542.09104@cerebro.laendle> References: <19980210041543.12242@cerebro.laendle> <19980209225509.53605@dgii.com> X-SW-Source: 1998-02/msg00469.html On Mon, Feb 09, 1998 at 10:55:09PM -0600, Robert Lipe wrote: > > This patch fixes all but two -Wall warnings in config/i386/i386.c > > Lovely. Thank you. Here's the revised version, using: > #if HAVE_STDLIB_H > #include > #endif > > #ifdef HAVE_STRING_H > #include > #else > #ifdef HAVE_STRINGS_H > #include > #endif > #endif Better? ;) Sun Feb 8 17:35:38 CET 1998 Marc Lehmann * config/i386/i386.c: Added prototypes for error, atoi, bcopy, set_float_handler, free. Added include for recog.h. (override_options): Removed unused variable p. Initialized regno to avoid warning. (order_regs_for_local_alloc): Initialized regno to avoid warning. (legitimize_address): Likewise for 'other'. (print_operand): Fixed format string. (i386_aligned_reg_p): Added default case with abort (). (print_operand): Likewise. (reg_mentioned_in_mem): Likewise. (ix86_expand_binary_operator): Removed unused variables i & insn. (ix86_expand_unary_operator): Removed unused variable insn. (output_fp_cc0_set): Removed unused variable unordered_label. Index: gcc/config/i386/i386.c =================================================================== RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/i386/i386.c,v retrieving revision 1.9 diff -u -p -u -p -r1.9 i386.c --- i386.c 1998/01/26 22:59:56 1.9 +++ i386.c 1998/02/10 03:14:11 @@ -35,6 +35,7 @@ Boston, MA 02111-1307, USA. */ #include "flags.h" #include "except.h" #include "function.h" +#include "recog.h" #ifdef EXTRA_CONSTRAINT /* If EXTRA_CONSTRAINT is defined, then the 'S' @@ -105,6 +106,20 @@ struct processor_costs *ix86_cost = &pen extern FILE *asm_out_file; extern char *strcat (); +extern void error PVPROTO((char *s, ...)); +extern void set_float_handler PROTO((jmp_buf)); + +#if HAVE_STDLIB_H +#include +#endif +#ifdef HAVE_STRING_H +#include +#else +#ifdef HAVE_STRINGS_H +#include +#endif +#endif + static void ix86_epilogue PROTO((int)); static void ix86_prologue PROTO((int)); @@ -193,8 +200,7 @@ int i386_align_jumps; void override_options () { - int ch, i, j, regno; - char *p; + int ch, i, j; int def_align; static struct ptt @@ -225,6 +231,8 @@ override_options () { for (i = 0; (ch = i386_reg_alloc_order[i]) != '\0'; i++) { + int regno = 0; + switch (ch) { case 'a': regno = 0; break; @@ -372,7 +380,7 @@ override_options () void order_regs_for_local_alloc () { - int i, ch, order, regno; + int i, ch, order; /* User specified the register allocation order. */ @@ -380,6 +388,8 @@ order_regs_for_local_alloc () { for (i = order = 0; (ch = i386_reg_alloc_order[i]) != '\0'; i++) { + int regno = 0; + switch (ch) { case 'a': regno = 0; break; @@ -489,6 +499,9 @@ i386_aligned_p (op) case REG: return i386_aligned_reg_p (REGNO (op)); + + default: + abort (); } return 0; @@ -1722,8 +1735,6 @@ ix86_expand_binary_operator (code, mode, enum machine_mode mode; rtx operands[]; { - rtx insn; - int i; int modified; /* Recognize = for commutative operators */ @@ -1823,8 +1834,6 @@ ix86_expand_unary_operator (code, mode, enum machine_mode mode; rtx operands[]; { - rtx insn; - /* If optimizing, copy to regs to improve CSE */ if (TARGET_PSEUDO && optimize @@ -2841,7 +2850,8 @@ legitimize_address (x, oldx, mode) && GET_CODE (XEXP (XEXP (x, 0), 1)) == PLUS && CONSTANT_P (XEXP (x, 1))) { - rtx constant, other; + rtx constant; + rtx other = NULL_RTX; if (GET_CODE (XEXP (x, 1)) == CONST_INT) { @@ -3263,10 +3273,12 @@ print_operand (file, x, code) case GTU: fputs ("jne", file); return; case LEU: fputs ("je", file); return; case LTU: fputs ("#branch never", file); return; - + /* no matching branches for GT nor LE */ + + default: + abort (); } - abort (); case 's': if (GET_CODE (x) == CONST_INT || ! SHIFT_DOUBLE_OMITS_COUNT) @@ -3332,7 +3344,7 @@ print_operand (file, x, code) REAL_VALUE_FROM_CONST_DOUBLE (r, x); REAL_VALUE_TO_TARGET_SINGLE (r, l); PRINT_IMMED_PREFIX (file); - fprintf (file, "0x%x", l); + fprintf (file, "0x%lx", l); } /* These float cases don't actually occur as immediate operands. */ @@ -4036,7 +4048,6 @@ output_fp_cc0_set (insn) rtx insn; { rtx xops[3]; - rtx unordered_label; rtx next; enum rtx_code code; @@ -4821,6 +4832,8 @@ reg_mentioned_in_mem (reg, rtl) case CC0: case SUBREG: return 0; + default: + abort (); } if (code == MEM && reg_mentioned_p (reg, rtl)) -----==- | ----==-- _ | ---==---(_)__ __ ____ __ Marc Lehmann +-- --==---/ / _ \/ // /\ \/ / pcg@goof.com |e| -=====/_/_//_/\_,_/ /_/\_\ --+ The choice of a GNU generation | |