+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.
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.
* 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.