OSDN Git Service

Upgrade to AutoGen 5 Template
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 313038a..82642e8 100644 (file)
@@ -1,3 +1,343 @@
+2001-05-17  Bruce Korb <bkorb@gnu.org>
+
+       * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
+       * fixinc/genfixes: emit a warning if AutoGen is out of date
+
+2001-05-17  Brendan Conoboy <blc@cygnus.com>
+           Bruce Korb <bkorb@gnu.org>
+
+       * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
+       found in fixinc directory.  Facilitates binary distributions.
+
+2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
+
+       * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
+       COMPLEX_TYPE.
+
+Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
+
+       * dwarf2out.c (modified_type_die): Equate qualified type to die.
+
+Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
+       (simplify_subreg): Handle complex types represented as CONCAT.
+
+       * recog.c (validate_replace_rtx_1): Properly canonicalize expression
+       * rtl.h (swap_commutative_operands_p): Declare.
+       * rtlanal.c (swap_commutative_operands_p): New.
+       (operand_preference): New static function.
+
+       * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
+       (gen_binary): Likewise.
+       * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
+       * simplify-rtx.c (simplify_gen_binary,
+       simplify_gen_relational): Likewise.
+
+Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * cse.c (fold_rtx): Use simplify_subreg.
+
+       * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
+       (simplify_gen_subreg): New.
+       (simplify_rtx): Use simplify_subreg.
+       * rtl.h (simplify_gen_subreg): Declare.
+
+2001-05-17  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/install.texi: Update Solaris information.
+
+       * except.h (protect_cleanup_actions): Remove it.
+       (lang_protect_cleanup_actions): Declare it.
+       * except.c (protect_cleanup_actions): Remove it.
+       (lang_protect_cleanup_actions): New variable.
+       (init_eh): Don't make protect_cleanup_actions a GC root.
+       (expand_eh_region_and_cleanup): Call
+       lang_protect_cleanup_actions.
+       (output_function_exception_table): Remove unused `align'
+       variable.
+       * varasm.c (assemble_external): Abort if we have not yet
+       opened the assembly output file.
+       
+Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
+
+       * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
+       for eh_personality_libfunc.
+
+Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
+       when calling simplify_subreg.  This is needed to allow replacing
+       of expression of one mode by expression of different mode.
+
+Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
+
+2001-05-17  Bernd Schmidt  <bernds@redhat.com>
+
+       * expr.c (protect_from_queue): Protect against subsequent calls to
+       emit_queue.
+       (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
+       too clever.
+
+Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
+
+2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * gccbug.in (CATEGORIES): Add "bootstrap".
+
+Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * simplify-rtx.c (simplify_subreg): Break out from ...
+       * combine.c (combine_splify_rtx) ... here and ...
+       * recog.c (validate_replace_rtx_1): ... here;
+       * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
+       * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
+       (subreg_lowpart_p): ... here.
+
+2001-05-17  Bernd Schmidt  <bernds@redhat.com>
+
+       * stmt.c (expand_asm_operands): For inout operands, make sure
+       the substitution of '=' for '+' makes it into the rtl.
+
+       * reload1.c (delete_output_reload): Call eliminate_regs on substed.
+       (reload_as_needed): Call update_eliminable_offsets a bit later.
+
+2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * gcc.texi (gccbug): Refer to the web pages for detailed information
+       on GNATS.
+
+2001-05-16  Zack Weinberg  <zackw@stanford.edu>
+
+       * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
+
+       * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
+       OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
+       LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
+       libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
+       * cross-make: Don't set LIBGCC1.
+       * mklibgcc.in: Delete all code for building from libgcc1.c.
+       Always honor LIB1ASMFUNCS if set.
+
+       * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
+       config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
+       config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
+       config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
+       config/i386/uwin.asm, config/m68hc11/larith.asm,
+       config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
+       config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
+       config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
+       config/v850/lib1funcs.asm, config/c4x/libgcc.S:
+       Delete or update references to libgcc1 in commentary.
+
+       * config/t-libc-ok, config/t-linux, config/t-linux-aout,
+       config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
+       config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
+       config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
+       config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
+       config/arm/t-semi, config/arm/t-strongarm-coff,
+       config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
+       config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
+       config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
+       config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
+       config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
+       config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
+       config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
+       config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
+       config/m68k/t-m68kbare, config/m68k/t-m68kelf,
+       config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
+       config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
+       config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
+       config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
+       config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
+       config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
+       config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
+       config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
+       config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
+       config/mips/t-ultrix, config/mn10200/t-mn10200,
+       config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
+       config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
+       config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
+       config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
+       config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
+       config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
+       config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
+       config/sparc/t-sparclite, config/sparc/t-splet,
+       config/sparc/t-sunos41, config/sparc/t-vxsparc,
+       config/sparc/t-vxsparc64, config/v850/t-v850:
+       Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
+
+       * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h: 
+       Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
+       * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
+       FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
+       nongcc_SI_type, nongcc_word_type, or perform_*
+       * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
+
+       * config/i386/386bsd.h, config/i386/beos-elf.h,
+       config/i386/linux-aout.h, config/i386/linux-oldld.h,
+       config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
+       config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
+       Don't include i386/perform.h.
+
+       * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
+       config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
+       config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
+       config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
+       config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
+       config/vax/t-openbsd, config/vax/t-vax: Delete.
+
+       * config.gcc: Remove references to deleted files.
+       (arm-semi-aof): Use arm/t-semi for tmake_file.
+
+       * gcc.texi, install.texi, invoke.texi, tm.texi:
+       Delete or rewrite text which is no longer relevant now that
+       libgcc1 no longer exists.
+
+       * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
+       No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
+
+2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
+       Bruce Korb <bkorb@gnu.org>
+
+       * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
+       initializer
+
+2001-05-16  Zack Weinberg  <zackw@stanford.edu>
+
+       * i386.md: Add two peepholes to clean up code generated by
+       cmpstr* expanders.
+
+2001-05-16  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2asm.c (eh_data_format_name): Add names for "pointer size" 
+       variants of non-absolute encodings.
+
+       * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
+
+       * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
+       __register_frame_info_table_bases): Export.
+
+2001-05-16  Richard Henderson  <rth@redhat.com>
+
+       * except.c (eh_data_format_name): Move to ...
+       * dwarf2asm.c: ... here.  Use designated initializers if available.
+       (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
+       * dwarf2asm.h: Update declarations.
+       * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
+       ASM_PREFERRED_EH_DATA_FORMAT.
+       (output_call_frame_info): Likewise.  Use 'L' augmentation for
+       the LSDA encoding.
+
+       * unwind-dw2-fde.h (struct fde_vector): New.
+       (struct old_object): Rename from struct object.
+       (struct object): New.
+       (__register_frame_info_bases): Declare.
+       (__register_frame_info_table_bases): Declare.
+       (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
+       * unwind-dw2-fde.c (objects): Remove.
+       (unseen_objects, seen_objects): New.
+       (__register_frame_info_bases): New.
+       (__register_frame_info): Use it.
+       (__register_frame_info_table_bases): New.
+       (__register_frame_info_table): Use it.
+       (__deregister_frame_info): Rewrite for changed object struct.
+       (base_from_object, get_cie_encoding, get_fde_encoding): New.
+       (fde_unencoded_compare): Rename from fde_compare; uninline.
+       (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
+       (start_fde_sort): Adjust for new definition of fde_vector.
+       (fde_insert): Likewise.
+       (end_fde_sort): Likewise.  Select comparison function based
+       on properties of the object.
+       (fde_split): Take object and fde_compare_t arguments.
+       (frame_heapsort, fde_merge): Likewise.
+       (classify_object_over_fdes): Rename from count_fdes.  Handle
+       encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
+       for the object.
+       (add_fdes): Handle encoded pointers.
+       (init_object): Rename from frame_init.  Update for new struct object.
+       (linear_search_fdes): Rename from search_fdes.  Handle encoded
+       pointers.
+       (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
+       (binary_search_single_encoding_fdes): New.
+       (binary_search_mixed_encoding_fdes): New.
+       (search_object): New.
+       (_Unwind_Find_FDE): Update for new struct object.  Fill in
+       the dwarf_eh_bases.
+       * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
+       iterating over EH data.
+       (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
+       fde_encoding, lsda_encoding.
+       (read_uleb128, read_sleb128): Remove.
+       (read_encoded_pointer): Remove.  All callers use read_encoded_value.
+       (extract_cie_info): Set lsda_encoding from 'L' augmentation.
+       (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
+       pointers.
+       * unwind-pe.h: Add "struct" to _Unwind_Context references.
+
+2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+
+       * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
+       * cpphash.c (_cpp_lookup_with_hash): Similarly.
+       * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
+       cpp_spell_token, cpp_output_token): Similarly.
+       * cpplib.c (lex_macro_node, do_undef, do_pragma,
+       do_pragma_poison, parse_assertion, do_assert): Similarly.
+       * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
+       save_parameter, _cpp_create_definition, check_trad_stringification,
+       cpp_macro_definition): Similarly.
+       * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
+       * c-lex.c (cb_undef, c_lex): Similarly.
+       * fix-header.c (recognized_function): Similarly.
+       * cpplib.h (NODE_LEN, NODE_NAME): New.
+       (cpp_hashnode): Rename length len.
+
+Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
+
+       * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
+       GPRs.
+
+2001-05-16  Andreas Jaeger  <aj@suse.de>
+
+       * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
+
+       * toplev.c: Include dwarf2asm.h for prototype of
+       dw2_output_indirect_constants.
+
+Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * stmt.c (expand_asm_operands): Be able to offload addressof
+       expression to memory. (PR optimization/185)
+
+Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
+       applying distributive law.
+
+2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
+
+       * gthr-dce.h (UNUSED): Attribute unused macro.
+       (__gthread_key_dtor): Make arguments UNUSED.
+       (__gthread_key_delete): Revise for compatibility with DRAFT4
+       implementation.
+
+2001-05-16  David Edelsohn  <edelsohn@gnu.org>
+
+       * doc/install.texi: Update AIX information.
+       * README.RS6000: Remove obsolete file.
+
+2001-05-16  Jakub Jelinek  <jakub@redhat.com>
+           Nathan Sidwell  <nathan@codesourcery.com>
+
+        * gcc.c (give_switch): Don't write before start of string.
+       Always append suffix.
+
 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
 
        * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
@@ -243,7 +583,7 @@ cp:
        * final.c (final_start_function): Always call dwarf2out_begin_prologue.
        (final_end_function): Don't call output_function_exception_table.
        * toplev.c (compile_file): Call dw2_output_indirect_constants.
-       (rest_of_compilation): Invoke output_function_exception_table 
+       (rest_of_compilation): Invoke output_function_exception_table
        for ia64 before assemble_end_function.
        * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
        (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.