From 296b815223f2a71b7a377af93ea7a599c26f9d18 Mon Sep 17 00:00:00 2001 From: "Kaveh R. Ghazi" Date: Thu, 25 Jun 1998 13:05:20 +0000 Subject: [PATCH] Warning fixes: * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h. * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow', `yhigh' and `bit' into the scope in which they are used. (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1', `y0', `y1', `q', `remainder', `carry', `d0' and `d1'. * rs6000.c: Move include of output.h below tree.h. Include toplev.h. (any_operand): Mark unused parameters `op' and `mode' with ATTRIBUTE_UNUSED. (count_register_operand): Likewise for parameter `mode'. (fpmem_operand): Likewise. (short_cint_operand): Likewise. (u_short_cint_operand): Likewise. (non_short_cint_operand): Likewise. (got_operand): Likewise. (got_no_const_operand): Likewise. (non_add_cint_operand): Likewise. (non_logical_cint_operand): Likewise. (mask_operand): Likewise. (current_file_function_operand): Likewise. (small_data_operand): Likewise for parameters `op' and `mode' but only when !TARGET_ELF. (init_cumulative_args): Mark parameters `libname' with ATTRIBUTE_UNUSED. (function_arg_pass_by_reference): Likewise for parameters `cum', `mode' and `named'. (expand_builtin_saveregs): Likewise for parameter `args'. (load_multiple_operation): Likewise for parameter `mode'. (store_multiple_operation): Likewise. (branch_comparison_operator): Likewise. (secondary_reload_class): Likewise. (print_operand): Add parentheses around & operation. (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED. (output_epilog): Likewise. Cast argument to fprintf to int. (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED. (rs6000_valid_decl_attribute_p): Likewise for parameters `decl', `attributes', `identifier' and `args'. (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'. (rs6000_comp_type_attributes): Likewise for parameters `type1' and `type2'. (rs6000_set_default_type_attributes): Likewise for parameter `type'. * rs6000.h (RTX_COSTS): Add parentheses around & operation. (toc_section, private_data_section, trap_comparison_operator): Add prototypes. * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add prototypes. * xcoffout.c: Include toplev.h, outout.h and dbxout.h. * xcoffout.h (stab_to_sclass, xcoffout_begin_function, xcoffout_begin_block, xcoffout_end_epilogue, xcoffout_end_function, xcoffout_end_block, xcoff_output_standard_types, xcoffout_declare_function, xcoffout_source_line): Add prototypes. From-SVN: r20717 --- gcc/ChangeLog | 60 +++++++++++++++++++++++++++++ gcc/Makefile.in | 2 +- gcc/config/fp-bit.c | 19 +++------- gcc/config/rs6000/rs6000.c | 78 ++++++++++++++++++++------------------ gcc/config/rs6000/rs6000.h | 7 +++- gcc/dbxout.h | 3 ++ gcc/xcoffout.c | 3 ++ gcc/xcoffout.h | 24 ++++++++++++ 8 files changed, 144 insertions(+), 52 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 47ba7452b32..6ff713faed1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,63 @@ +Thu Jun 25 15:47:55 1998 Kaveh R. Ghazi + + * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h. + + * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow', + `yhigh' and `bit' into the scope in which they are used. + (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1', + `y0', `y1', `q', `remainder', `carry', `d0' and `d1'. + + * rs6000.c: Move include of output.h below tree.h. Include toplev.h. + (any_operand): Mark unused parameters `op' and `mode' with + ATTRIBUTE_UNUSED. + (count_register_operand): Likewise for parameter `mode'. + (fpmem_operand): Likewise. + (short_cint_operand): Likewise. + (u_short_cint_operand): Likewise. + (non_short_cint_operand): Likewise. + (got_operand): Likewise. + (got_no_const_operand): Likewise. + (non_add_cint_operand): Likewise. + (non_logical_cint_operand): Likewise. + (mask_operand): Likewise. + (current_file_function_operand): Likewise. + (small_data_operand): Likewise for parameters `op' and `mode' but + only when !TARGET_ELF. + (init_cumulative_args): Mark parameters `libname' with + ATTRIBUTE_UNUSED. + (function_arg_pass_by_reference): Likewise for parameters `cum', + `mode' and `named'. + (expand_builtin_saveregs): Likewise for parameter `args'. + (load_multiple_operation): Likewise for parameter `mode'. + (store_multiple_operation): Likewise. + (branch_comparison_operator): Likewise. + (secondary_reload_class): Likewise. + (print_operand): Add parentheses around & operation. + (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED. + (output_epilog): Likewise. Cast argument to fprintf to int. + (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED. + (rs6000_valid_decl_attribute_p): Likewise for parameters `decl', + `attributes', `identifier' and `args'. + (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'. + (rs6000_comp_type_attributes): Likewise for parameters `type1' and + `type2'. + (rs6000_set_default_type_attributes): Likewise for parameter `type'. + + * rs6000.h (RTX_COSTS): Add parentheses around & operation. + (toc_section, private_data_section, trap_comparison_operator): Add + prototypes. + + * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add + prototypes. + + * xcoffout.c: Include toplev.h, outout.h and dbxout.h. + + * xcoffout.h (stab_to_sclass, xcoffout_begin_function, + xcoffout_begin_block, xcoffout_end_epilogue, + xcoffout_end_function, xcoffout_end_block, + xcoff_output_standard_types, xcoffout_declare_function, + xcoffout_source_line): Add prototypes. + Thu Jun 25 09:54:55 1998 Nick Clifton * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM, diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 325d540c4d7..dab02f6ee30 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1409,7 +1409,7 @@ dwarf2out.o : dwarf2out.c $(CONFIG_H) system.h $(TREE_H) $(RTL_H) dwarf2.h \ flags.h insn-config.h insn-codes.h reload.h output.h defaults.h \ hard-reg-set.h regs.h expr.h toplev.h dwarf2out.h xcoffout.o : xcoffout.c $(CONFIG_H) system.h $(TREE_H) $(RTL_H) xcoffout.h \ - flags.h + flags.h toplev.h output.h dbxout.h emit-rtl.o : emit-rtl.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) flags.h \ except.h function.h regs.h insn-config.h insn-codes.h $(RECOG_H) real.h \ expr.h obstack.h hard-reg-set.h bitmap.h diff --git a/gcc/config/fp-bit.c b/gcc/config/fp-bit.c index 296bc640c95..ebb62cd84c0 100644 --- a/gcc/config/fp-bit.c +++ b/gcc/config/fp-bit.c @@ -855,13 +855,13 @@ _fpmul_parts ( fp_number_type * a, /* Calculate the mantissa by multiplying both 64bit numbers to get a 128 bit number */ { - fractype x = a->fraction.ll; - fractype ylow = b->fraction.ll; - fractype yhigh = 0; - int bit; - #if defined(NO_DI_MODE) { + fractype x = a->fraction.ll; + fractype ylow = b->fraction.ll; + fractype yhigh = 0; + int bit; + /* ??? This does multiplies one bit at a time. Optimize. */ for (bit = 0; bit < FRAC_NBITS; bit++) { @@ -1000,14 +1000,10 @@ _fpdiv_parts (fp_number_type * a, fp_number_type * b, fp_number_type * tmp) { - fractype low = 0; - fractype high = 0; - fractype r0, r1, y0, y1, bit; - fractype q; + fractype bit; fractype numerator; fractype denominator; fractype quotient; - fractype remainder; if (isnan (a)) { @@ -1042,9 +1038,6 @@ _fpdiv_parts (fp_number_type * a, /* Calculate the mantissa by multiplying both 64bit numbers to get a 128 bit number */ { - int carry; - intfrac d0, d1; /* weren't unsigned before ??? */ - /* quotient = ( numerator / denominator) * 2^(numerator exponent - denominator exponent) */ diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 464a5551b0b..a1a57ae78c9 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -28,7 +28,6 @@ Boston, MA 02111-1307, USA. */ #include "insn-config.h" #include "conditions.h" #include "insn-flags.h" -#include "output.h" #include "insn-attr.h" #include "flags.h" #include "recog.h" @@ -37,6 +36,8 @@ Boston, MA 02111-1307, USA. */ #include "tree.h" #include "except.h" #include "function.h" +#include "output.h" +#include "toplev.h" #ifndef TARGET_NO_PROTOTYPE #define TARGET_NO_PROTOTYPE 0 @@ -420,8 +421,8 @@ direct_return () int any_operand (op, mode) - register rtx op; - enum machine_mode mode; + register rtx op ATTRIBUTE_UNUSED; + enum machine_mode mode ATTRIBUTE_UNUSED; { return 1; } @@ -430,7 +431,7 @@ any_operand (op, mode) int count_register_operand(op, mode) register rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { if (GET_CODE (op) != REG) return 0; @@ -449,7 +450,7 @@ count_register_operand(op, mode) int fpmem_operand(op, mode) register rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { if (GET_CODE (op) != REG) return 0; @@ -470,7 +471,7 @@ fpmem_operand(op, mode) int short_cint_operand (op, mode) register rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { return (GET_CODE (op) == CONST_INT && (unsigned HOST_WIDE_INT) (INTVAL (op) + 0x8000) < 0x10000); @@ -481,7 +482,7 @@ short_cint_operand (op, mode) int u_short_cint_operand (op, mode) register rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { return (GET_CODE (op) == CONST_INT && (INTVAL (op) & (~ (HOST_WIDE_INT) 0xffff)) == 0); @@ -492,7 +493,7 @@ u_short_cint_operand (op, mode) int non_short_cint_operand (op, mode) register rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { return (GET_CODE (op) == CONST_INT && (unsigned HOST_WIDE_INT) (INTVAL (op) + 0x8000) >= 0x10000); @@ -583,7 +584,7 @@ reg_or_cint_operand (op, mode) int got_operand (op, mode) register rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { return (GET_CODE (op) == SYMBOL_REF || GET_CODE (op) == CONST @@ -596,7 +597,7 @@ got_operand (op, mode) int got_no_const_operand (op, mode) register rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { return (GET_CODE (op) == SYMBOL_REF || GET_CODE (op) == LABEL_REF); } @@ -841,7 +842,7 @@ add_operand (op, mode) int non_add_cint_operand (op, mode) register rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { return (GET_CODE (op) == CONST_INT && (unsigned HOST_WIDE_INT) (INTVAL (op) + 0x8000) >= 0x10000 @@ -868,7 +869,7 @@ logical_operand (op, mode) int non_logical_cint_operand (op, mode) register rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { return (GET_CODE (op) == CONST_INT && (INTVAL (op) & (~ (HOST_WIDE_INT) 0xffff)) != 0 @@ -905,7 +906,7 @@ mask_constant (c) int mask_operand (op, mode) register rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { return GET_CODE (op) == CONST_INT && mask_constant (INTVAL (op)); } @@ -1066,7 +1067,7 @@ call_operand (op, mode) int current_file_function_operand (op, mode) register rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { return (GET_CODE (op) == SYMBOL_REF && (SYMBOL_REF_FLAG (op) @@ -1132,8 +1133,13 @@ input_operand (op, mode) int small_data_operand (op, mode) +#if TARGET_ELF rtx op; enum machine_mode mode; +#else + rtx op ATTRIBUTE_UNUSED; + enum machine_mode mode ATTRIBUTE_UNUSED; +#endif { #if TARGET_ELF rtx sym_ref, const_part; @@ -1189,7 +1195,7 @@ void init_cumulative_args (cum, fntype, libname, incoming) CUMULATIVE_ARGS *cum; tree fntype; - rtx libname; + rtx libname ATTRIBUTE_UNUSED; int incoming; { static CUMULATIVE_ARGS zero_cumulative; @@ -1524,10 +1530,10 @@ function_arg_partial_nregs (cum, mode, type, named) int function_arg_pass_by_reference (cum, mode, type, named) - CUMULATIVE_ARGS *cum; - enum machine_mode mode; + CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED; + enum machine_mode mode ATTRIBUTE_UNUSED; tree type; - int named; + int named ATTRIBUTE_UNUSED; { if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) && type && AGGREGATE_TYPE_P (type)) @@ -1652,7 +1658,7 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl) struct rtx_def * expand_builtin_saveregs (args) - tree args; + tree args ATTRIBUTE_UNUSED; { return virtual_incoming_args_rtx; } @@ -1899,7 +1905,7 @@ expand_block_move (operands) int load_multiple_operation (op, mode) rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { int count = XVECLEN (op, 0); int dest_regno; @@ -1942,7 +1948,7 @@ load_multiple_operation (op, mode) int store_multiple_operation (op, mode) rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { int count = XVECLEN (op, 0) - 1; int src_regno; @@ -1985,7 +1991,7 @@ store_multiple_operation (op, mode) int branch_comparison_operator (op, mode) register rtx op; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; { enum rtx_code code = GET_CODE (op); enum machine_mode cc_mode; @@ -2165,7 +2171,7 @@ addrs_ok_for_quad_peep (addr1, addr2) enum reg_class secondary_reload_class (class, mode, in) enum reg_class class; - enum machine_mode mode; + enum machine_mode mode ATTRIBUTE_UNUSED; rtx in; { int regno = true_regnum (in); @@ -2534,7 +2540,7 @@ print_operand (file, x, code) case 'B': /* If the low-order bit is zero, write 'r'; otherwise, write 'l' for 64-bit mask direction. */ - putc ((INT_LOWPART(x) & 1 == 0 ? 'r' : 'l'), file); + putc (((INT_LOWPART(x) & 1) == 0 ? 'r' : 'l'), file); case 'C': /* This is an optional cror needed for LE or GE floating-point @@ -3798,7 +3804,7 @@ rs6000_allocate_stack_space (file, size, copy_r12) void output_prolog (file, size) FILE *file; - int size; + int size ATTRIBUTE_UNUSED; { rs6000_stack_t *info = rs6000_stack_info (); int reg_size = info->reg_size; @@ -4054,7 +4060,7 @@ output_prolog (file, size) void output_epilog (file, size) FILE *file; - int size; + int size ATTRIBUTE_UNUSED; { rs6000_stack_t *info = rs6000_stack_info (); char *load_reg = (TARGET_32BIT) ? "\t{l|lwz} %s,%d(%s)\n" : "\tld %s,%d(%s)\n"; @@ -4337,7 +4343,7 @@ output_epilog (file, size) /* Omit this list of longs, because there are no CTL anchors. */ /* Length of function name. */ - fprintf (file, "\t.short %d\n", strlen (fname)); + fprintf (file, "\t.short %d\n", (int) strlen (fname)); /* Function name. */ assemble_string (fname, strlen (fname)); @@ -4757,7 +4763,7 @@ int rs6000_adjust_cost (insn, link, dep_insn, cost) rtx insn; rtx link; - rtx dep_insn; + rtx dep_insn ATTRIBUTE_UNUSED; int cost; { if (! recog_memoized (insn)) @@ -4979,10 +4985,10 @@ rs6000_initialize_trampoline (addr, fnaddr, cxt) int rs6000_valid_decl_attribute_p (decl, attributes, identifier, args) - tree decl; - tree attributes; - tree identifier; - tree args; + tree decl ATTRIBUTE_UNUSED; + tree attributes ATTRIBUTE_UNUSED; + tree identifier ATTRIBUTE_UNUSED; + tree args ATTRIBUTE_UNUSED; { return 0; } @@ -4994,7 +5000,7 @@ rs6000_valid_decl_attribute_p (decl, attributes, identifier, args) int rs6000_valid_type_attribute_p (type, attributes, identifier, args) tree type; - tree attributes; + tree attributes ATTRIBUTE_UNUSED; tree identifier; tree args; { @@ -5063,8 +5069,8 @@ rs6000_valid_type_attribute_p (type, attributes, identifier, args) int rs6000_comp_type_attributes (type1, type2) - tree type1; - tree type2; + tree type1 ATTRIBUTE_UNUSED; + tree type2 ATTRIBUTE_UNUSED; { return 1; } @@ -5074,7 +5080,7 @@ rs6000_comp_type_attributes (type1, type2) void rs6000_set_default_type_attributes (type) - tree type; + tree type ATTRIBUTE_UNUSED; { } diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 910d99e0e68..4559d9ca3ea 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -2183,7 +2183,7 @@ do { \ return ((GET_CODE (XEXP (X, 1)) == CONST_INT \ && ((unsigned HOST_WIDE_INT) (INTVAL (XEXP (X, 1)) \ + 0x8000) >= 0x10000) \ - && (INTVAL (XEXP (X, 1)) & 0xffff != 0)) \ + && ((INTVAL (XEXP (X, 1)) & 0xffff) != 0)) \ ? COSTS_N_INSNS (2) \ : COSTS_N_INSNS (1)); \ case AND: \ @@ -2191,7 +2191,7 @@ do { \ case XOR: \ return ((GET_CODE (XEXP (X, 1)) == CONST_INT \ && (INTVAL (XEXP (X, 1)) & (~ (HOST_WIDE_INT) 0xffff)) != 0 \ - && (INTVAL (XEXP (X, 1)) & 0xffff != 0)) \ + && ((INTVAL (XEXP (X, 1)) & 0xffff) != 0)) \ ? COSTS_N_INSNS (2) \ : COSTS_N_INSNS (1)); \ case MULT: \ @@ -3240,6 +3240,9 @@ extern void rs6000_set_default_type_attributes (); extern struct rtx_def *rs6000_dll_import_ref (); extern struct rtx_def *rs6000_longcall_ref (); extern int function_arg_padding (); +extern void toc_section (); +extern void private_data_section (); +extern int trap_comparison_operator (); /* See nonlocal_goto_receiver for when this must be set. */ diff --git a/gcc/dbxout.h b/gcc/dbxout.h index c208686e0ab..1e45fa624cb 100644 --- a/gcc/dbxout.h +++ b/gcc/dbxout.h @@ -25,6 +25,9 @@ extern void dbxout_start_new_source_file PROTO ((char *)); extern void dbxout_resume_previous_source_file PROTO ((void)); extern void dbxout_symbol PROTO ((tree, int)); +extern void dbxout_parms PROTO ((tree)); +extern void dbxout_reg_parms PROTO ((tree)); +extern void dbxout_syms PROTO ((tree)); extern void dbxout_function PROTO ((tree)); extern void dbxout_source_line PROTO ((FILE *, char*, int)); extern void dbxout_begin_function PROTO ((tree)); diff --git a/gcc/xcoffout.c b/gcc/xcoffout.c index 0c44dec781f..ebbd9c6c4ff 100644 --- a/gcc/xcoffout.c +++ b/gcc/xcoffout.c @@ -29,6 +29,8 @@ Boston, MA 02111-1307, USA. */ #include "tree.h" #include "rtl.h" #include "flags.h" +#include "toplev.h" +#include "output.h" #ifdef XCOFF_DEBUGGING_INFO @@ -36,6 +38,7 @@ Boston, MA 02111-1307, USA. */ #include #include "xcoffout.h" +#include "dbxout.h" #if defined (USG) || !defined (HAVE_STAB_H) #include "gstab.h" diff --git a/gcc/xcoffout.h b/gcc/xcoffout.h index 8a97eaff3bd..2781a790324 100644 --- a/gcc/xcoffout.h +++ b/gcc/xcoffout.h @@ -166,3 +166,27 @@ extern char *xcoff_lastfile; can't find them. */ #define DEBUG_SYMS_TEXT + +/* Prototype functions in xcoffout.c. */ + +extern int stab_to_sclass PROTO ((int)); +#ifdef BUFSIZ +extern void xcoffout_begin_function PROTO ((FILE *, int)); +extern void xcoffout_begin_block PROTO ((FILE *, int, int)); +extern void xcoffout_end_epilogue PROTO ((FILE *)); +extern void xcoffout_end_function PROTO ((FILE *, int)); +extern void xcoffout_end_block PROTO ((FILE *, int, int)); +#endif /* BUFSIZ */ + +#ifdef TREE_CODE +extern void xcoff_output_standard_types PROTO ((tree)); +#ifdef BUFSIZ +extern void xcoffout_declare_function PROTO ((FILE *, tree, char *)); +#endif /* BUFSIZ */ +#endif /* TREE_CODE */ + +#ifdef RTX_CODE +#ifdef BUFSIZ +extern void xcoffout_source_line PROTO ((FILE *, char *, rtx)); +#endif /* BUFSIZ */ +#endif /* RTX_CODE */