+2000-11-29 David O'Brien <obrien@FreeBSD.org>
+
+ * config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
+ (ASM_DECLARE_OBJECT_NAME): Same.
+ (ASM_FILE_END): Same.
+ (ASM_FINISH_DECLARE_OBJECT): Same.
+ (ASM_IDENTIFY_GCC): Same.
+ (ASM_IDENTIFY_LANGUAGE): Same.
+ (ASM_OUTPUT_CONSTRUCTOR): Same.
+ (ASM_OUTPUT_DEF): Same.
+ (ASM_OUTPUT_DESTRUCTOR): Same.
+ (ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
+ (ASM_OUTPUT_SECTION_NAME): Same.
+ (ASM_WEAKEN_LABEL): Same.
+ (BSS_SECTION_ASM_OP): Same.
+ (COMMON_ASM_OP): Same.
+ (CONST_SECTION_ASM_OP): Same.
+ (CONST_SECTION_FUNCTION): Same.
+ (CTORS_SECTION_ASM_OP): Same.
+ (DTORS_SECTION_ASM_OP): Same.
+ (ESCAPES): Same.
+ (FINI_SECTION_ASM_OP): Same.
+ (IDENT_ASM_OP): Same.
+ (IDENT_ASM_OP): Same.
+ (INIT_SECTION_ASM_OP): Same.
+ (INT_ASM_OP): Same.
+ (MAX_OFILE_ALIGNMENT): Same.
+ (SBSS_SECTION_ASM_OP): Same.
+ (SDATA_SECTION_ASM_OP): Same.
+ (SECTION_FUNCTION_TEMPLATE): Same.
+ (SELECT_SECTION): Same.
+ (SE_CONST_SECTION): Same.
+ (SIZE_ASM_OP): Same.
+ (SKIP_ASM_OP): Same.
+ (STRING_ASM_OP): Same.
+ (STRING_LIMIT): Same.
+ (TYPE_ASM_OP): Same.
+ (TYPE_OPERAND_FMT): Same.
+
+2000-11-29 Neil Booth <neilb@earthling.net>
+
+ * c-decl.c (c_decode_option): Don't handle -lang-objc.
+ * objc/lang-options.h: Remove -lang-objc.
+ * objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
+ * objc/objc-act.c (lang_init_options): Set c_language.
+
+2000-11-29 Jakub Jelinek <jakub@redhat.com>
+
+ * expr.c (can_store_by_pieces): Reinitialize max_size for reverse
+ tests.
+
+2000-11-29 Neil Booth <neilb@earthling.net>
+
+ * c-pragma.c (init_pragma): Update for parse_in type change.
+
+2000-11-29 Laurynas Biveinis <lauras@softhome.net>
+
+ * configure.in: recognize DOS-style absolute paths.
+
+2000-11-29 Jakub Jelinek <jakub@redhat.com>
+
+ * expr.h (store_by_pieces): Add prototype.
+ (can_store_by_pieces): Likewise.
+ * expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
+ (can_store_by_pieces): New.
+ (store_by_pieces): New.
+ (clear_by_pieces): New.
+ (clear_by_pieces_1): New.
+ (store_by_pieces_1): Renamed from clear_by_pieces, handle storing
+ arbitrary compiler generated constants into memory block.
+ (store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
+ * builtins.c (c_readstr): New.
+ (builtin_memcpy_read_str): New.
+ (expand_builtin_memcpy): If src is string constant and
+ emit_block_move would move it by pieces, compute integer constants
+ from the string and store it into memory block instead.
+ (builtin_strncpy_read_str): New.
+ (expand_builtin_strncpy): If N is not constant zero and c_strlen does
+ not return INTEGER_CST, don't optimize.
+ If N is larger than strlen(src) + 1, try to copy the string
+ including padding with store_by_pieces.
+ (expand_builtin_strcmp): If both arguments have side effects, don't
+ optimize.
+ (expand_builtin_fputs): If STR has side effects, don't optimize.
+
+2000-11-29 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
+ Add use of link register.
+
+2000-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * extend.texi: Update documentation for default format attributes.
+
+Tue Nov 28 21:56:45 2000 Jeffrey A Law (law@cygnus.com)
+
+ * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
+ a list, to keep track of the sections.
+
+2000-11-28 Nick Clifton <nickc@redhat.com>
+
+ * config/arm/arm.md (pic_load_addr): Split into
+ pic_load_addr_arm and pic_load_addr_thumb.
+
+ * config/arm/arm.c (legitimize_pic_address): Generate either
+ ARM or Thumb versions of pic_load_addr.
+ (arm_finalize_pic): Generate either ARM or Thumb versions of
+ pic_load_addr.
+
+2000-11-28 Richard Henderson <rth@redhat.com>
+
+ * calls.c (expand_call): Defer const/pure NO_DEFER_POP until
+ after sibcall do_pending_stack_adjust.
+
+Wed Nov 29 00:08:23 2000 J"orn Rennecke <amylaar@redhat.com>
+
+ * jump.c (delete_insn): Check that REG_LABEL note actually contains
+ a CODE_LABEL.
+
+2000-11-28 Neil Booth <neilb@earthling.net>
+
+ * c-common.h: Remove flag_digraphs.
+ * c-decl.c: Remove flag_digraphs.
+ (c_decode_option): Don't set it.
+ * c-lex.c (init_c_lex): Don't do anything for digraphs.
+
+2000-11-28 Richard Henderson <rth@redhat.com>
+
+ * c-parse.in (finish_parse): Update for parse_in type change.
+ (_yylex): Likewise.
+
+2000-11-28 Neil Booth <neilb@earthling.net>
+
+ * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
+ indicating whether to scan all buffers on the stack or
+ just one.
+ * cppinit.c (do_includes): Update.
+ * cppmain.c (main): Update.
+ * cpplib.h: Update prototype.
+
+2000-11-28 Richard Henderson <rth@redhat.com>
+
+ * genoutput.c (validate_insn_operands): New.
+ (gen_insn): Call it.
+
+ * config/alpha/alpha.md (divmodsi_internal): Renumber operands.
+ (divmoddi_internal): Likewise.
+ * config/arm/arm.md (andsi3_compare0_scratch): Likewise.
+ * config/i960/i960.md (branch patterns): Likewise.
+ * config/ia64/ia64.md (tbit_and_0): Likewise.
+ (tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
+ * config/m68k/m68k.md (zero_extract memory patterns): Likewise.
+ * config/mips/mips.md (divmodsi4_internal): Likewise.
+ (divmoddi4_internal): Likewise.
+ * config/rs6000/rs6000.md (call patterns): Likewise.
+ * config/sh/sh.md (movsi_y): Likewise.
+ * config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
+
+2000-11-28 Richard Henderson <rth@redhat.com>
+
+ * config.gcc: Kill residual pyramid support.
+
+2000-11-28 Neil Booth <neilb@earthling.net>
+
+ * c-lex.h (parse_in): Change parse_in to a cpp_reader *.
+ * c-decl.c (c_decode_option): Update to match.
+ * c-lex.c (init_c_lex, yyparse): Update to match.
+ * c-lang.c (lang_init_options): Use cpp_create_reader.
+ * cppinit.c (cpp_init): Rename initialize.
+ (cpp_reader_init): Rename cpp_create_reader. Create the
+ reader. Initialize cpplib if appropriate.
+ * cpplib.h (cpp_create_reader) New prototype.
+ (cpp_init, cpp_reader_init): Delete prototypes.
+ * cppmain.c (general_init, setup_callbacks): New functions.
+ (main): Use them.
+ * fix-header.c (scan_in): Change type to cpp_reader *.
+ (read_scan_file): Update for new cpplib interface and scan_in type.
+
+ * cp/decl.c (parse_in): Change to cpp_reader *.
+ (lang_decode_option): Update.
+ * cp/lex.c (lang_init_options): Use new cpplib interface.
+ (init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
+ * cp/spew.c (read_token): Update.
+ * objc/objc-act.c (lang_init_options): Update new cpplib interface.
+
+2000-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ * loop.c (load_mems): Avoid using next_label to find end_label. If
+ jumping outside of the loop (other than loop end), don't hoist MEMs
+ out of loop.
+
+2000-11-28 Jan Hubicka <jh@suse.cz>
+
+ * calls.c (expand_call): Don't disable tail recursion based
+ on the loop nest.
+
+2000-11-28 Neil Booth <neilb@earthling.net>
+
+ * tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
+ (struct directive): Drop 4th argument from handlers.
+ (do_define, do_line, do_include, do_undef, do_else, do_elif,
+ do_endif): Similarly.
+ (do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
+ (do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
+ (make_definition, make_undef): Take a const char*.
+ (make_assertion): New function.
+ (struct directive_table): Update.
+ (main): Handle -A command line argument.
+ (handle_directive): Drop fourth handler argument.
+
+2000-11-28 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
+ is anything but REG or MEM, but look inside STRICT_LOW_PART.
+
+Tue Nov 28 09:53:50 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
+ (IS_ABSOLUTE_PATHNAME): New macro.
+ * gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
+
+2000-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.md (truncxfsf2_2): Fix predicate.
+
+2000-11-27 Jim Wilson <wilson@redhat.com>
+
+ * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
+
+2000-11-27 Matthias Klose <doko@cs.tu-berlin.de>
+
+ * extend.texi (Nested Functions): Update URL of Usenix paper.
+
+2000-11-27 Mark Mitchell <mark@codesourcery.com>
+
+ * function.c (free_after_compilation): Clear x_clobber_return_insn.
+
+2000-11-27 Neil Booth <neilb@earthling.net>
+
+ * cppinit.c (cpp_reader_init): Remove handling of warn_paste
+ command line options.
+ (cpp_handle_option): Similarly.
+ * cpplib.h (struct cpp_options): Remove warn_paste.
+ * cppmacro.c (paste_tokens): Apart from assembler, make
+ unpasteable token warning mandatory.
+
+2000-11-27 Neil Booth <neilb@earthling.net>
+
+ * tradcpp.c (enum pending_dir_t, struct pending_dir): New.
+ (main): Allocate a pending directive set of these. Use it.
+ Merge handling of -D and -U. Update handling of pending
+ directives. Free the memory after use.
+
+2000-11-27 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * flow.c (entry_exit_blocks): Add entry for cond_local_set.
+ (struct propagate_block_info): Add new member cond_local_set.
+ (propagate_block): Accept new arg cond_local_set. All callers
+ changed.
+ (init_propagate_block_info): Likewise.
+ (calculate_global_regs_live): Allocate & free cond_local_set. Always
+ rescan if there's overlap between cond_local_set and new_live_at_end.
+ (mark_set_1): Set bits either in cond_local_set or local_set, as
+ appropriate.
+ * basic-block.h (struct basic_block_def): New field cond_local_set.
+ (propagate_block, init_propagate_block_info): Update prototypes.
+
+Mon Nov 27 17:29:44 2000 kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
+ T register.
+
+2000-11-27 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (select_dominance_cc_mode): Handle new way that combine
+ canonicalizes conditional compares.
+ (arm_select_cc_mode): Likewise.
+ * arm.md: Garbage collect some dead code.
+ (cmp_and, cmp_ior): New patterns.
+ (splitter for conditional move with inverted false): Use cond_exec
+ and handle unordered comparisons.
+
+Mon Nov 27 17:22:56 MET 2000 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
+ * i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
+ * i386.md (float?i?f, int/fp operations): Rewrite spliters to use
+ ix86_force_to_memory and ix86_free_from_memory.
+
+2000-11-27 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
+ arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
+ anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
+ one_cmpldi2): Merge with splitters to create define_insn_and_split
+ patterns. Remove redundant splits.
+ (peephole2 for add:SI of invalid immediate): New.
+ (peephole2 for minus:SI of invalid immediate): New.
+ (peephole2 for ior:SI of invalid immediate): New.
+ (peephole for merge of move and compare): Convert ot peephole2.
+ (addsf3, adddf3): Mark as commutative.
+
+ * arm.md (thumb peephole for merging stack adjustments): Convert to
+ peephole2.
+
+2000-11-27 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
+
+ * reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
+ (reload_cse_simplify_operands): Do nothing about operands where both
+ the operand and the match_operand fail to give us a mode.
+ * simplify-rtx.c (wrap_constant): New function.
+ (entry_and_rtx_equal_p): Except integer constants to come wrapped in a
+ CONST describing the proper mode.
+ (rtx_equal_for_cselib_p): Pass down modes to recursive calls of
+ cselib_lookup.
+ (cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
+ htab_find_slot_with_hash.
+ (cselib_lookup): Likewise.
+
+ Based on a patch from Geoff Keating <geoffk@redhat.com>:
+ * loop.c (basic_induction_var): If a REG is set from something
+ that is not a biv, then the REG is not a biv. Even if it is
+ earlier set from something that is a biv.
+
+2000-11-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in (extra_objs): Enclose extra_headers in quotes.
+ * configure: Rebuilt.
+
+2000-11-27 Neil Booth <neilb@earthling.net>
+
+ * c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
+ Combine into the new function cb_change_file.
+ (init_c_lex): Update.
+ * cppfiles.c (stack_include_file): Use _cpp_do_file_change.
+ (cpp_syshdr_flags): Delete.
+ * cpphash.h (_cpp_do_file_change): New prototype.
+ Move struct cpp_buffer here from...
+ * cpplib.h (struct cpp_buffer): ... here.
+ (enum cpp_fc_reason, struct cpp_file_loc,
+ struct_cpp_file_change, change_file): New.
+ (enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
+ * cpplib.c (do_line): Update for new cb_change_file callback.
+ (_cpp_do_file_change): New function.
+ (_cpp_pop_buffer): Update to use it.
+ * cppmain.c (move_printer): Delete.
+ (main): Set up single callback cb_change_file.
+ (cb_enter_file, cb_leave_file, cb_rename_file): Delete.
+ (cb_change_file): New.
+ * fix-header.c (cur_file, cb_change_file): New.
+ (recognized_function, read_scan_file): Update.
+ * scan-decls.c (scan_decls): Update.
+ * scan.h (recognized_function): Update prototype.
+
+2000-11-26 Mark Mitchell <mark@codesourcery.com>
+
+ * tree.h (mark_tree_hashtable): New function.
+ * tree.c (mark_tree_hashtable_entry): New function.
+ (mark_tree_hashtable): Likewise.
+
+2000-11-27 Michael Meissner <meissner@redhat.com>
+
+ * d30v-protos.h (srelational_si_operator): Correctly spell
+ function.
+ (urelational_si_operator): Ditto.
+ (relational_si_operator): Ditto.
+ (d30v_expand_prologue): Add prototype.
+ (d30v_expand_epilogue): Ditto.
+
+ * d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
+
+ * d30v.md (movcccc_*): Delete now unused patterns.
+ (64 bit comparison splitters): Rewrite to use COND_EXEC instead of
+ IF_THEN_ELSE.
+ (define_cond_exec): Use 'b' to select branch flags.
+
+2000-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
+ functions.
+ (expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
+
+ * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
+
+ * c-common.c (c_common_nodes_and_builtins): Declare builtin
+ strncpy and strncmp.
+
+ * extend.texi (strncmp, strncpy): Document new builtins.
+
+2000-11-26 Mark Mitchell <mark@codesourcery.com>
+
+ * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
+ a list, to keep track of the sections.
+ * tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
+ parameter provided will always be a canonical string.
+
+2000-11-26 Neil Booth <neilb@earthling.net>
+
+ * cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
+ current buffer.
+
+2000-11-26 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * makefile.vms: Remove EGCS references.
+
+2000-11-26 Ulrich Drepper <drepper@redhat.com>
+
+ * dwarf2out.c (output_file_names): New function. Compute minimal
+ combination of directory and file name table and emit them.
+ (output_line_info): Remove code to emit directory and file name
+ table and call output_file_names instead.
+ (file_info_cmp): Helper function to sort directory names.
+
+2000-11-26 Neil Booth <neilb@earthling.net>
+
+ * cpplib.h (struct cpp_reader): Remove lang_asm.
+ (struct cpp_options): Remove c89. New members lang,
+ extended_numbers.
+ * cppexp.c (parse_number): Use them.
+ * cpphash.h (VALID_SIGN): Use them.
+ * cppinit.c (set_lang, cpp_start_read): Update.
+ * cpplex.c (parse_string, _cpp_lex_token): Update.
+ * cpplib.c (_cpp_handle_directive): Update.
+ * cppmacro.c (parse_args): Update.
+ * cppmain.c (scan_buffer): Update.
+
+Sun Nov 26 10:02:37 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * fold-const.c (fold, case CONVERT_EXPR): Always return tree of
+ proper type.
+
+2000-11-26 Neil Booth <neilb@earthling.net>
+
+ * Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
+ * c-decl.c: Remove parse_in declaration.
+ * c-lang.c: Similarly.
+ * c-lex.c: Similarly.
+ * c-parse.in: Similarly.
+ * c-pragma.c: Similarly.
+ * configure.in: Similarly.
+ * cp/Make-lang.in: Similarly.
+ * cp/spew.c: Similarly.
+ * cp/decl2.c: Remove check for lang-c++ option.
+ * cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
+ * cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
+ * c-lex.h: Add declaration of parse_in.
+ * cppinit.c: Call set_lang after allocating pfile->pending.
+ * configure: Regenerate.
+
+2000-11-25 Zack Weinberg <zack@wolery.stanford.edu>
+
+ * combine.c (try_combine): Remove redundant test.
+
2000-11-25 Richard Henderson <rth@redhat.com>
* c-common.h (DECL_C_HARD_REGISTER): New.
2000-11-25 Neil Booth <neilb@earthling.net>
- * c-common.c: Remove USE_CPPLIB conditional inclusions.
- * c-common.h: Similarly.
- * c-decl.c: Similarly.
+ * c-common.c: Remove USE_CPPLIB conditional inclusions.
+ * c-common.h: Similarly.
+ * c-decl.c: Similarly.
* c-lang.c: Similarly.
* c-lex.c: Similarly.
- * c-parse.in: Similarly.
- * c-pragma.c: Similarly.
- * c-pragma.h: Similarly.
- * gcc.c: Similarly.
- * toplev.c: Similarly.
- * cp/cp-tree.h: Similarly.
- * cp/decl2.c: Similarly.
- * cp/lang-specs.h: Similarly.
- * cp/lex.c: Similarly.
- * cp/lex.h: Similarly.
- * cp/spew.c: Similarly.
- * java/lang-options.h: Similarly.
- * objc/lang-specs.h: Similarly.
- * objc/objc-act.c: Similarly.
-
- * configure.in: Remove configure option.
- * config.in: Regenerate.
- * configure: Regenerate.
+ * c-parse.in: Similarly.
+ * c-pragma.c: Similarly.
+ * c-pragma.h: Similarly.
+ * gcc.c: Similarly.
+ * toplev.c: Similarly.
+ * cp/cp-tree.h: Similarly.
+ * cp/decl2.c: Similarly.
+ * cp/lang-specs.h: Similarly.
+ * cp/lex.c: Similarly.
+ * cp/lex.h: Similarly.
+ * cp/spew.c: Similarly.
+ * java/lang-options.h: Similarly.
+ * objc/lang-specs.h: Similarly.
+ * objc/objc-act.c: Similarly.
+
+ * configure.in: Remove configure option.
+ * config.in: Regenerate.
+ * configure: Regenerate.
2000-11-25 Richard Henderson <rth@redhat.com>