OSDN Git Service

* c-typeck.c (pedantic_lvalue_warning): Deprecate use of
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4728a86..1cd17d9 100644 (file)
@@ -1,3 +1,207 @@
+2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
+       conditional expressions as lvalues.
+
+2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tsystem.h: Add the prototype of strlen.
+       * unwind-pe.h (read_encoded_value_with_base): Add an
+       appropriate cast to handle a case where the pointer size is
+       smaller than sizeof (int).
+
+2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
+       (mips_delegitimize_address): Delete.
+       (mips_gotoff_global, mips_load_got_page): Declare.
+       (mips_load_got_global, mips_rewrite_small_data): Declare.
+
+       * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
+       (DANGEROUS_FOR_LA25_P): Use global_got_operand.
+       (PREDICATE_CODES): Add global_got_operand, local_got_operand and
+       small_data_pattern.  Remove CONST from const_arith_operand's entry.
+
+       * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
+       (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
+       (mips_constant_type): Delete.
+       (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
+       SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
+       (NUM_SYMBOL_TYPES): New macro.
+       (mips_address_type): Remove ADDRESS_INVALID.
+       (machine_function): Add has_gp_insn_p.
+       (mips_constant_info): Delete.
+       (mips_address_info): Add the address type as an extra field.  Replace
+       the c field with symbol_type.
+       (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
+       (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
+       (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
+       (mips_split_const, mips_symbolic_constant_p): New functions.
+       (mips_symbolic_address_p): Take the symbol type and mode as arguments.
+       (mips_classify_address): Return true if the address is valid, storing
+       its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
+       to test whether a LO_SUM address is allowed.
+       (mips_symbol_insns): Return 0 for general mips16 symbols.
+       Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
+       Handle the new SYMBOL_GOTOFF_*s.
+       (mips_address_insns): Update call to mips_classify_address.
+       (mips_const_insns): Be more fussy about HIGH constants.  Remove use
+       of mips_classify_constant.  Be more accurate about CONSTs.
+       (mips_global_pic_constant_p): Delete.
+       (const_arith_operand): Only accept CONST_INTs.
+       (call_insn_operand): Remove call to mips_classify_constant.
+       Let mips_symbolic_constant_p check for invalid offsets.
+       (move_operand): Check for general_operands first.  Only accept symbolic
+       constants if they satisfy mips_symbolic_constant_p and cannot be split.
+       (symbolic_constant): Use mips_symbolic_constant_p.
+       (global_got_operand, local_got_operand): New predicates.
+       (stack_operand): Update call to mips_classify_address.
+       (mips_legitimate_address_p): Likewise.
+       (mips_reloc, mips_lui_reloc): Delete.
+       (mips_force_temporary): Only use the given temporary if no_new_pseudos.
+       Use emit_move_insn.
+       (mips_split_symbol, mips_unspec_address): New functions.
+       (mips_unspec_offset_high): New function.
+       (mips_load_got): Replace reloc argument with a symbol_type.
+       Use mips_unspec_address to create the address and put it in a
+       LO_SUM with the base register.
+       (mips_load_got16, mips_load_got32): Delete.
+       (mips_emit_high, mips_legitimize_symbol): Delete.
+       (mips_gotoff_global): New function.
+       (mips_load_got_page, mips_load_got_global): New functions.
+       (mips_legitimize_symbol): Inline handling of LO_SUM splits.
+       (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
+       Inline code to handle constants plus invalid offsets.  Use
+       mips_split_symbol to legitimize constant pool addresses.
+       (mips_delegitimize_address): Delete.
+       (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
+       a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
+       (mips_subword): Pass memrefs through mips_rewrite_small_data.
+       (mips_output_move): Remove use of mips_classify_constant.
+       (mips_expand_call): Use mips_unspec_offset_high to calculate the
+       high part of the GOT address for calls to global functions.
+       (override_options): Initialize mips_split_p[], mips_lo_relocs[]
+       and mips_hi_relocs[].
+       (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
+       Remove use of mips_classify_constant.
+       (mips_reloc_string): Delete.
+       (print_operand_reloc): New function.
+       (print_operand_address): Update call to mips_classify_address.
+       (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
+       (small_data_pattern): New predicate.
+       (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
+       (mips_function_has_gp_insn): New function.
+       (mips_global_pointer): Use it.
+       (mips_gp_insn): Delete.
+       (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
+       single loadgp pattern to initialize $gp.  Pass it the offset of _gp
+       from the start of the current function.
+       (mips16_gp_pseudo_reg): Revert last patch.
+
+       * config/mips/mips.md (RELOC_*): Delete.
+       (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
+       (got): New insn attribute.
+       (type): Set to "load" if got == load.
+       (length): Set to 4 if got == load, 8 if got == xgot_high.
+       (lui[sd]i): Delete.
+       (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
+       (*got_disp[sd]i, *got_page[sd]i): Likewise.
+       (*low[sd]i): Change constraints to "d".  Add a new define_split to
+       rewrite small data constants into LO_SUMs.
+       (loadgp): New insns.
+
+2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
+
+2003-11-04  DJ Delorie  <dj@redhat.com>
+
+       * config/v850/v850.md (mulhisi3): Expand the const_int case
+       separately to avoid trying to sign extend the const.
+
+2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
+
+       * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
+       addresses to be shared.
+       (force_const_mem): Return a copy of the pool entry.
+
+2003-11-03  Andreas Jaeger  <aj@suse.de>
+
+       * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
+
+2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Makefile.in (cpp.dvi): New target split from cpp.info.
+       (gcc.dvi):  New target split from gcc.info.
+       (gccint.dvi): New target split from gccint.info.
+       (cppinternals.dvi): New target split from cppinternals.info
+       (gccinstall.info): New specific rule.
+       (gccinstall.dvi): Likewise.
+       (dvi): Move targets to $(docobjdir).
+       ($(docobjdir)/%.dvi): New implicit rule.
+
+2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * doc/gty.texi (tag, desc): Say more about role of desc values in
+       selecting between tags.
+
+2003-11-03  Alexander Kabaev  <ak03@gte.com>
+
+       * real.c (encode_ieee_single): Ensure proper promotion.
+
+2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
+       and Andrew Pinski.
+
+2003-11-03  Syd Polk  <spolk@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
+       marketing names to the list of supported processors.
+       * config/rs6000/rs6000.h: Ditto.
+       * doc/invoke.texi: Ditto.
+       * config.gcc: Ditto.
+
+2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
+       Merge two substitutions.
+       * fixinc/fixincl.x: Regenerate.
+       Fixes PR bootstrap/12666.
+
+2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * doc/install-old.texi: Remove VMS documentation.
+
+2003-11-03  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (override_options):  Remove hack enabling 128bit long double
+       commited by accident.
+
+2003-11-02  Per Bothner  <per@bothner.com>
+
+       * c-opts.c (needValue):  Do cpp_find_main_file before processing
+       any imacros flags, so pfile->main_file is set for the latter.
+
+2003-11-03  Andreas Jaeger  <aj@suse.de>
+           Zack Weinberg  <zack@codesourcery.com>
+
+       * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
+       (SYSCALLS.c.X-warn): Suppress warnings.
+
+2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR optimization/12845
+       * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
+
+2003-11-02  Zack Weinberg  <zack@codesourcery.com>
+
+       * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
+       * config/i386/i386.c (print_reg): Abort on a virtual register
+       if code != -1; not if file == asm_out_file.
+       * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
+       (DEBUG_PRINT_REG): Delete, unused.
+
 2003-11-02  Andreas Schwab  <schwab@suse.de>
 
        * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
        prototypes.
        (SBSS_SECTION_FUNCTION): Likewise.
 
-2003-11-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+2003-11-01  Andreas Jaeger  <aj@suse.de>
 
        * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
 
        code.
 
 2003-10-31  Andreas Jaeger  <aj@suse.de>,
-            Zack Weinberg  <zack@codesourcery.com>
-
-
-        * crtstuff.c (__register_frame_info, __register_frame_info_bases)
-        (__deregister_frame_info, __deregister_frame_info_bases):
-        Constify void * argument.
-        * unwind-dw2-fde.h (struct fde_vector):
-        Constify 'orig_data' and 'array' fields.
-        (__register_frame_info, __register_frame_info_bases)
-        (__deregister_frame_info, __deregister_frame_info_bases):
-        Constify void * argument.
-        (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
-        return values, and casts of type fde *, struct dwarf_fde *,
-        and struct dwarf_cie *.
-        * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
-        (__deregister_frame_info, __deregister_frame_info_bases):
-        Constify void * argument.
-        (get_cie_encoding, ): Constify struct dwarf_cie * argument.
-        (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
-        (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
-        fde_split, SWAP, frame_downheap, frame_heapsort)
-        (classify_object_over_fdes, add_fdes, linear_search_fdes,
-        binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
-        binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
-        Constify arguments, local variables, return values, and casts
-        of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
-        Use const pointer types in sizeof expressions, for clarity.
-        * unwind-dw2-fde-glibc.c
-        (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
-        (struct unw_eh_callback_data): Constify 'ret' field.
+           Zack Weinberg  <zack@codesourcery.com>
+
+
+       * crtstuff.c (__register_frame_info, __register_frame_info_bases)
+       (__deregister_frame_info, __deregister_frame_info_bases):
+       Constify void * argument.
+       * unwind-dw2-fde.h (struct fde_vector):
+       Constify 'orig_data' and 'array' fields.
+       (__register_frame_info, __register_frame_info_bases)
+       (__deregister_frame_info, __deregister_frame_info_bases):
+       Constify void * argument.
+       (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
+       return values, and casts of type fde *, struct dwarf_fde *,
+       and struct dwarf_cie *.
+       * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
+       (__deregister_frame_info, __deregister_frame_info_bases):
+       Constify void * argument.
+       (get_cie_encoding, ): Constify struct dwarf_cie * argument.
+       (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
+       (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
+       fde_split, SWAP, frame_downheap, frame_heapsort)
+       (classify_object_over_fdes, add_fdes, linear_search_fdes,
+       binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
+       binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
+       Constify arguments, local variables, return values, and casts
+       of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
+       Use const pointer types in sizeof expressions, for clarity.
+       * unwind-dw2-fde-glibc.c
+       (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
+       (struct unw_eh_callback_data): Constify 'ret' field.
 
 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
            David Edelsohn  <edelsohn@gnu.org>
 2003-10-30  Eric Christopher  <echristo@redhat.com>
 
        * function.c (purge_addressof_1): Add case for REG_RETVAL
-        notes when modes are unequal.
+       notes when modes are unequal.
 
 2003-10-31  Jan Hubicka  <jh@suse.cz>