OSDN Git Service

* lib/compat.exp (compat-execute): Break up long lines.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog.4
index af668a3..25546c4 100644 (file)
-Mon Jan 13 19:12:18 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+2000-12-31  Philip Blundell  <philb@gnu.org>
 
-       * unroll.c (find_splittable_givs): When completely unrolling loop,
-       use biv initial value stored in splittable_regs instead of
-       bl->initial_value, since the later may not be safe.
+       * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Add missing asm
+       operands.
 
-       * sched.c (schedule_block):  When calculating whether a register
-       crosses a call, must do this after registers are killed and before
-       new registers are made live.
+2000-12-30  Richard Henderson  <rth@redhat.com>
 
-       * x-rs6000: Define INSTALL as /usr/ucb/install -c.  /etc/install
-       (the SYS V version) does not handle -c option as Makefile.in
-       intends it.
+       * dbxout.c (dbxout_block): Invert logic on eliding LBRAC/RBRAC.
+       Initialize variables properly for DBX_LBRAC_FIRST.
 
-Mon Jan 13 11:21:24 1992  Michael Meissner  (meissner at osf.org)
+2000-12-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * mips-tfile (parse_stabs_common): Don't relocate N_LBRAC and
-       N_RBRAC stabs for compatibility with other stabs implementations.
+       * expr.c (expand_expr, case COMPONENT_REF): Fix typo in last change.
 
-Mon Jan 13 07:41:32 1992  Michael Tiemann  (tiemann at cygnus.com)
+2000-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cp-decl.c (grokdeclarator): Don't set TREE_PRIVATE here.
-       TREE_PRIVATE is only for visibility.
-       (start_function): Don't test TREE_PRIVATE here.  #pragma
-       interface/implementation should properly handle the case of static
-       (i.e. non-public) defns in implementation section now.
+       * builtins.c (validate_arglist): New function, use it.
 
-Mon Jan 13 07:31:38 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-12-30  Philip Blundell  <philb@gnu.org>
 
-       * rs6000.c (output_ascii): The AIX assembler silently truncates
-       strings longer than 666 characters, so break them up well before that.
+       * config/arm/arm.c (arm_expand_prologue): Fix typos in error
+       message and comment.  Note location of testcase for an unhandled
+       situation.
 
-Mon Jan 13 00:26:47 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-12-30  Jeffrey Oldham  <oldham@codesourcery.com>
 
-       * c-decl.c (pushdecl): Warn about shadowing at top level any symbol
-       that was declared among the function parms.  But don't warn for
-       parms in a nested function.
-       * tree.c (chain_member): New function.
+       * defaults.h (BUILD_VA_LIST_TYPE): New definition.
+       * tree.c (build_common_tree_nodes_2): Ensure the va_list_type_node
+       is a copy, not an alias.
 
-       * sparc.c (output_return): Handle structure value in all the cases.
+2000-12-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * toplev.c (main): -gstabs+ means use stabs with gdb extensions.
+       * calls.c (calls_function_1, case CONSTRUCTOR): New case.
 
-       * fixincludes: Insert #undef NULL before #define NULL.
+       * alias.c (alias_sets_conflict_p): New function.
+       (mems_in_disjoint_alias_sets_p): Use it.
+       (readonly_fields_p): Moved from expr.c; check for record type.
+       (objects_must_conflict_p): New function.
+       * calls.c (expand_call): Use assign_temp as much as possible, use
+       readonly variant if assigned once, and don't set memory attributes.
+       (emit_library_call_value_1, store_one_arg): Likewise.
+       * integrate.c (expand_inline_function): Likewise.
+       * stmt.c (expand_asm_operands, expand_return): Likewise.
+       * expr.c (copy_blkmode_from_reg, store_constructor): Likewise.
+       (store_field, save_noncopied_parts, expand_expr): Likewise.
+       (expand_expr_unaligned): Likewise.
+       (readonly_fields_p): Moved to alias.c.
+       (safe_from_p): Rework handling of SAVE_EXPR.
+       MEMs ony conflict if alias sets conflict; likewise for INDIRECT_REF.
+       * function.c (struct temp_slot): Delete field ALIAS_SET; add TYPE.
+       (assign_stack_for_temp): Use objects_must_confict_p.
+       Set all memory attributes from type, if specified.
+       (mark_temp_slot): Mark TYPE field.
+       * tree.h (alias_sets_conflict_p, readonly_fields_p): New decls.
+       (objects_must_conflict_p): Likewise.
 
-       * gvarargs.h (va_list): Check some macros to avoid redefinition.
+       * stmt.c (expand_decl): Don't use assign_stack_temp in error case.
+       (add_case_node): No need to copy nodes anymore.
 
-       * tree.h (DECL_PACKED): New macro.
-       * c-common.c (decl_attribute): Handle `packed'.
-       * stor-layout.c (layout_record): Handle DECL_PACKED.
-       * c-parse.y (attrib): Accept `packed' with no arg.
+2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
 
-       * c-decl.c (shadow_tag): For useless keyword, just warn.
-       (duplicate_decls): Don't preserve volatile bit from old decl
-       if that is just a default declaration for abort, exit, etc.
+       * config/sh/sh.c (split_branches): Don't dereference re-computed
+       `beyond' before checking it's non-NULL.
 
-       * cccp.c (do_assert, do_unassert, check_assertion):
-       No pedantic warnings in system header files.
+2000-12-29  Robert Lipe <robertl@sco.com>
 
-       * ultrix.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Defined.
-       (WCHAR_TYPE_SIZE): Defined.
+       Remove COFF support from i?86-pc-sco3.2v5.
+       * i386/sco5.h (PREFERRED_DEBUGGING_TYPE): Change to Dwarf II.
+       (TARGET_ELF): Now always true.
+       (SUBTARGET_SWTICHES: )Remove -mcoff.
 
-       * i386.h (HI_REGISTER_NAMES): Add a name for dummy reg 16.
+       * i386/t-sco5 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
+       MULTILIB_EXCEPTION): Nuke coff.
+       (CRTSTUFF_T_CFLAGS_S):  Deleted.
+       (TARGET_LIBGCC2_CFLAGS): Added.
 
-       * dbxout.c (flag_minimal_debug): Make it static.
+2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
 
-Sun Jan 12 18:10:46 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * varasm.c (output_constant_def): Don't ENCODE_SECTION_INFO
+       twice.  Update desc->rtl and ->label, in case ENCODE_SECTION_INFO
+       modifies them.
 
-       * c-lex.c (check_newline): Check #line for `3' meaning system header.
-       * cccp.c (output_line_command): Output `3' if system header.
-       * c-tree.h (system_header_p): Declare it.
-       (ridpointers): Declaration deleted.
+2000-12-29  Bernd Schmidt  <bernds@redhat.com>
 
-       * dwarfout.c (fundemental_type_code): Treat OFFSET_TYPE like integer.
-       (type_is_fundamental, output_type): Likewise.
+       * ia64.c (ia64_expand_load_address): Accept additional scratch
+       register argument.  All callers & prototype changed.
+       Use scratch register when generating load_symptr insns.
+       * ia64.md (movdi_symbolic): Clobber a scratch register.  Use it
+       when calling ia64_expand_load_address.
+       (movdi): Generate movdi_symbolic with additional operand.
+       (load_gprel64): Use pic_offset_table_rtx instead of (reg:DI 1).
+       (load_symptr): Likewise.  Use additional operand as a scratch
+       register instead of generating it here.
 
-       * optabs.c (expand_float): Abort if FROM has VOIDmode.
-       * expr.c (expand_expr, FLOAT_EXPR case): Don't pass a VOIDmode.
+       * basic-block.h: Add a comment.
+       * flow.c (PROP_POSTRELOAD): New macro.
+       (update_life_info): Add it to prop_flags.
+       (mark_set_1): If it is set, compute REG_N_SETS for the original
+       register number of a hard reg.
 
-Sun Jan 12 16:11:40 1992  Michael Meissner  (meissner at osf.org)
+       * emit-rtl.c (gen_raw_REG): New function.
+       (gen_rtx_REG, gen_reg_rtx, init_emit_once): Use it instead of
+       gen_rtx_raw_REG.
+       * print-rtl.c (print_rtx): Print ORIGINAL_REGNO.
+       * final.c (alter_subreg): Update it.
+       * regrename.c (do_replace): Likewise.  Use gen_raw_REG.
+       * rtl.def (REG): Update comment.
+       * rtl.h (X0UINT, ORIGINAL_REGNO): New macros.
+       (gen_raw_REG): Declare.
 
-       * mips.h (ASM_OUTPUT_SPACE): If assembler is gas, don't use the
-       .space directive, since the table PREDICATE_CODES generates tickles
-       a bug.
+2000-12-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-Sun Jan 12 15:59:41 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * expmed.c: Include real.h.
-       (make_tree): Properly handle CONST_INT and handle many more rtl codes.
-       (expand_mult_add): Don't do folding here; just call make_tree and fold.
-       * Makefile.in (expmed.o): Includes real.h.
-
-Sun Jan 12 12:26:20 1992  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cp-decl.c (store_parm_decls): Finish change started 11 Jan 1992.
-
-       * cp-decl.c (pushtag): Don't set CLASSTYPE_TAGS after
-       CURRENT_CLASS_TYPE has been defined.
+       * tree.c (get_set_constructor_bits): Use host_integerp and
+       tree_low_cst.
+
+       * local-alloc.c (update_equiv_regs): Don't use copy_rtx on PATTERN.
+
+       * toplev.c (main): Call xmalloc_set_program_name.
+       * gcc.c (main): Likewise.
+
+2000-12-29  Philip Blundell  <philb@gnu.org>
+
+       * config/arm/arm.c (arm_override_options): Fix typo in warning
+       message.
 
-       * cp-lex.c (check_newline): Set INTERFACE_UNKNOWN if we see a
-       #pragma implementation or if it's the toplevel file.
+2000-12-29  Richard Henderson  <rth@redhat.com>
 
-Sat Jan 11 22:04:34 1992  Michael Meissner  (meissner at osf.org)
+       * config/alpha/alpha.c (alpha_expand_block_move): Initialize
+       src_align and dst_align in bits.  Do unaligned quadword loads
+       if possible for BWX too.
+       (alpha_expand_block_clear): Initialize align in bits.  Track
+       small leading offsets into a larger alignment.  Play games with
+       stq_u for large 4-byte aligned blocks.  Use load/mask/store
+       for appropreately aligned heads and tails.
 
-       * mips.md (fix_truncsfsi2_opt): Delete, since the optimizer will
-       strip the clobbers when substituting a register for a cs'ed value,
-       unlike GCC 1.
-       (fix_truncdfsi2_opt): Likewise.
-       (long long shifts): Fix various typos.
+2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
 
-Sat Jan 11 15:26:24 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * function.c (assign_parms): Convert arguments passed by
+       reference to the right mode.
 
-       * expr.h (GEN_FCN): Alternate definition if FUNCTION_CONVERSION_BUG.
-       * xm-romp.h (FUNCTION_CONVERSION_BUG): Define it.
+2000-12-28  Geoffrey Keating  <geoffk@redhat.com>
 
-       * i386.md (cmpstrsi recognizers): Change back to repz.
+       * c-parse.in (select_or_iter_stmt): Use truthvalue_conversion
+       on the condition of a FOR statement, so that it gets typechecked
+       and optimized.
 
-Sat Jan 11 11:18:32 1992  Michael Tiemann  (tiemann at cygnus.com)
+2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
 
-       * cp-decl.c (store_parm_decls): Don't put non-PARM_DECL nodes in the
-       list that will become DECL_ARGUMENTS.
+       * c-decl.c (grokdeclarator): Prevent crash in case of overflow in
+       array size.
 
-       * cp-decl2.c (grokfield): Convert () initialization to =
-       initialization in FIELD context.
-       * cp-decl.c (parmlist_is_exprlist): Now non-static.
+       * calls.c (emit_library_call_value_1): Add to call_fusage the
+       stack slot assigned to argument passed by reference.
 
-       * cp-decl.c (grokdeclarator): Don't let static class members be
-       declared `static' at top-level.
+2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>
 
-       * cp-decl.c (pushdecl_class_level): Don't use DECL_ASSEMBLER_NAME.
+       * toplev.h (extern really_sorry): Remove extern declaration for
+        nonexistent function.
 
-       * cp-decl.c (grokdeclarator): Don't let language linkage interfere
-       with declarator grokking--the two are independent.
+2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>
 
-       * cp-call.c (compute_conversion_costs): Look for constructor or type
-       conversions regardless of whether we have CONTRAVARIANCE_HARSHNESS
-       or not.  Also, `#if 0' some dead code.
+       * varasm.c (initializer_constant_valid_p): Indicate subtraction of
+       pointers to the same string constant is absolute.
 
-       * cp-method.c (report_type_mismatch): Fix bugs in formatting error
-       messages.
+2000-12-28  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * cp-decl.c (grokvardecl): Verify that when static class members are
-       declared at toplevel, the types match their initial declaration.
+       * c-common.c (enum format_type): Add strfmon_format_type.
+       (decl_attributes): Handle format attributes strfmon and
+       __strfmon__.
+       (FMT_FLAG_USE_DOLLAR, FMT_FLAG_ZERO_WIDTH_BAD,
+       FMT_FLAG_EMPTY_PREC_OK): Define.
+       (format_char_info): Update comment for flag_chars.
+       (format_flag_spec): Add skip_next_char.
+       (format_kind_info): Add left_precision_char.
+       (printf_flag_specs, scanf_flag_specs, strftime_flag_specs,
+       format_types): Update for these new structure members and flags.
+       (time_char_table): Make const.
+       (strfmon_length_specs, strfmon_flag_specs, strfmon_flag_pairs,
+       monetary_char_table): New.
+       (format_types): Add details of strfmon formats.
+       (init_function_format_info): Create default attribute for strfmon.
+       (check_format_info_main): Check the new flags.  Handle
+       skip_next_char and left precision.
+       * toplev.c (documented_lang_options): Update description of
+       -Wformat.
+       * extend.texi: Document strfmon format attributes.  Document
+       attribute forms such as __printf__.  Clarify format_arg attribute
+       documentation.
+       * invoke.texi (-Wformat): Update for strfmon formats.
 
-Sat Jan 11 08:41:24 1992  Fred Fish  (fnf at fishpond)
+2000-12-28  Andreas Jaeger  <aj@suse.de>
 
-       * config/m68kv4.h (NO_DOLLAR_IN_LABEL):  Undefine so that the
-       default for m68k/SVR4 systems is to use '$', which is more
-       widely supported.
+       * expmed.c (store_bit_field): Fix last patch.
 
-Sat Jan 11 10:56:10 1992  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
+2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
 
-       * Finish PIC implementation on the 68k
-       * output.h (flag_pic): Declare here so that insn-*.c can see it.
+       * config/sh/crt1.asm (start_l): `__SH4_SINGLE_ONLY__' was missing
+       the trailing `__'.
 
-       * reload1.c (reload): When compiling PIC ignore REG_EQUIV notes
-       which are CONSTANT_P, but are not LEGITIMATE_PIC_OPERAND_P.
+2000-12-28  Alan Lehotsky  <lehotsky@tiac.net>
 
-       * m68k.md (call, call_value): Make these into define_expands. If
-       compiling PIC code, then load the address of the function into a 
-       register so that we make indirect calls.
-       (Non-PIC call, call_value): New define_insns.  These are 
-       standard call insns.
-       (PIC call, call_value): New define_insns which output PIC calls.
-       (movsi): Make this into a define_expand.  Legitimize PIC addresses
-       if necessary.  Old movsi code is now an unnamed define_insn pattern.
+       * expmed.c (store_bit_field): Correctly compute smallest mode that
+       is sufficient to contain all bits we are storing.
 
-       * m68k.h (GO_IF_LEGITIMATE_ADDRESS case INDIRECTABLE_1_ADDRESS_P):
-       Use LEGITIMATE_PIC_OPERAND_P to reject SYMBOL_REFS and LABEL_REFS 
-       without PIC relocation when compiling PIC code.
+2000-12-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * m68k.c (legitimize_pic_address): New function.  Given an address 
-       return that address as "legitimized" PIC code. 
-       (print_operand_address): When generating PIC code, handle PIC
-       relocated label_refs just like a PIC relocated symbol_ref.
-       (print_operand_address): If -fpic then add ":w" to displacement in
-       PIC relocated references.
-       (print_operand_address): If -fPIC then add ":l" to displacement in 
-       PIC relocated references.
-
-Fri Jan 10 18:03:08 1992  Ken Raeburn  (Raeburn@Cygnus.COM)
-
-       * cp-init.c (build_new): Don't allocate header for arrays if no
-       destructor is needed.  Also fix broken calculation of array size.
-       (build_delete): Don't skip array header if no destructor is needed.
-
-Fri Jan 10 14:54:19 1992  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cp-cvt.c cp-decl2.c cp-expr.c cp-gc.c cp-init.c cp-lex.c cp-parse.y
-       cp-pt.c cp-search.c cp-tree.c: Clean up problems found with -Wreturn
-       (from rfg).
-
-       * cp-typeck.c cp-tree.c cp-cvt.c cp-lex.c cp-call.c cp-class.c:
-       Add (unsigned) casts to all places where native SVr4 compilers
-       expect to see unsigned values.
-
-Fri Jan 10 08:34:36 1992  Fred Fish  (fnf at sunfish)
-
-       * m68ksgs.h (REGISTER_NAMES):  Provide separate versions for
-       SUPPORT_SUN_FPA defined and not defined.
-
-Fri Jan 10 22:36:41 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
-
-       * Improve I/O performance of gcc on VMS.
-       * cccp.c (VMS_open, VMS_fopen, VMS_freopen): New functions.
-       (open, fopen, freopen): Define as macros on VMS.
-       * toplev.c (VMS_fopen): New function.
-       (fopen): Define as macro on VMS.
-
-Fri Jan 10 22:00:50 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * genrecog.c (merge_trees): If two trees both have actions, but
-       one adds clobbers and one doesn't, ignore the one that does.
-
-       * genemit.c (gen_split): Say that we are giving the definition number
-       in our error message.
-       * genrecog.c (fatal): Likewise.
-       * genoutput.c (scan_operands): Likewise.
-
-       * caller-save.c: Include expr.h (for gen_move_insn).
-       (regno_save_elim): Deleted.
-       (init_save_areas): Don't initialize it.
-       (setup_save_areas): Don't set it.
-       (save_call_clobbered_regs, restore_referenced_regs): Accept mode,
-       not spill register.
-       (insert_save_restore): Don't do our own register elimination and
-       reloading; instead set the insns we make to the desired mode.
-       * reload1.c (struct elim_table): New field MAX_OFFSET.
-       (reload): Always call init_save_areas.
-       Initialize max_offset each pass.
-       At each CALL_INSN, create a need for a spill register that will
-       be used by caller-save.
-       Pass mode for insns to save_call_clobbered_regs instead of a
-       spill reg number.
-       Call reload_as_needed if we will have to reload the caller-save
-       insns, even if nothing else needs reload (unlikely).
-       (eliminate_regs_in_insn): Record maximum offset value.
-       * Makefile.in (caller-save.o): Includes expr.h.
-
-       * reload.c (find_reloads): CALL_INSNs can't have output reloads.
-       * reload1.c (emit_reload_insns): Put any reloads for a CALL_INSN
-       in front of any immediately-preceeding USE insns.
-
-       * flow.c (life_analysis): Mark all global regs as live at the end of
-       the function.
-       (propagate_block): Each call makes all global registers live.
-       (mark_used_regs): A RETURN may use the stack pointer and uses all
-       global regs.
-       * cse.c (cse_insn): A CALL_INSN clobbers any global regs.
-       * reorg.c (mark_referenced_resources): Calls used global regs.
-       (mark_set_resources): CALL_INSNs clobber global regs.
+       * builtins.c (build_function_call_expr): New function.  Use it
+       everywhere in lieu of manually constructing a CALL_EXPR.
 
-Fri Jan 10 17:24:06 1992  Michael Meissner  (meissner at osf.org)
+2000-12-27  Chandrakala Chavva  <cchavva@redhat.com>
 
-       * collect2.c (whole file): Major rewrite to merge in collect3
-       functionality which uses GCC to build up the constructor and
-       destructor tables, instead of using the assembler.  Also improve
-       the support for cross compilers to find the tools.  The old assembly
-       language support has been removed.
+       * calls.c (store_one_arg):  If parm is passed both in stack and in
+       register and offset is greater than reg_parm_stack_space, split
+       the offset and call emit_push_insn().
 
-       * mips-tfile.c (CODE_MASK): Move to mips.h to use with mips-tdump
-       also.
-       (MIPS_IS_STAB): Likewise.
-       (MIPS_MARK_STAB): Likewise.
-       (MIPS_UNMARK_STAB): Likewise.
+2000-12-27  Nick Clifton  <nickc@redhat.com>
 
-       * mips-tdump.c (various): Changes by Per Bothner to print
-       encapsulated stabs, and to shorten the output.
+       * ifcvt.c (noce_emit_store_flag): Handle jump insns that are
+       PARALLEL.
 
-       * mips.h (MIPS_VERSION): Set Meissner version # to 7.
-       (cmp2_op): Make cmp2_op a real function instead of just a
-       macro to cmp_op.
-       (OPTIMIZATION_OPTIONS): -O now sets flag_caller_saves and
-       flag_schedule_insns_after_reload.
-       (CC1_SPEC): Fix typo preventing -mgpopt from being set if
-       optimization.
-       (PREDICATE_CODES): Define.
-       (USE_COLLECT, EXTENDED_COFF, NO_UNDERSCORES): Delete, not needed in
-       GCC 2.00.
-       (ASM_INT_OP, ASM_SHORT_OP, ASM_CHAR_OP): Likewise.
-       (CODE_MASK): Move from mips-tfile.
-       (MIPS_IS_STAB): Likewise.
-       (MIPS_MARK_STAB): Likewise.
-       (MIPS_UNMARK_STAB): Likewise.
+2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
 
-       * mips.c (cmp2_op): Make this a real function, instead of a macro
-       pointing to cmp_op.
-       (volatile_buffer): New static variable to support .set volatile.
-       (mips_move_1word): Do .set volatile/.set novolatile around volatile
-       memory references.
-       (mips_move_2words): Likewise.
+       * rtl.c (copy_most_rtx, shallow_copy_rtx): Copy frame_related
+       flag.
 
-       * mips.md (sne define_split): Fix so that it generates a gtu 0.
-       (all set cc define_splits): Remove reload_completed tests.
-       (all set cc define_insns): Don't allow 0 as operand 1.
+2000-12-27  Bruce Korb  <bkorb@gnu.org>
 
-Fri Jan 10 16:40:45 1992  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
+       * fixinc/Makefile.in: fix for ancient Bourne shell
+       * fixinc/Makefile.BEOS: obsolete
+       * fixinc/Makefile.DOS: obsolete
+       * fixinc/fixincl.sh(LINKS): use `test -d' rather than `ls' for testing
 
-       * m68k.md (addsi3, addhi3, subsi3, stack adjustment peepholes):
-       Perform small (8 < N <= 16) constant additions and subractions to
-       address registers with two addqw (or subqw) instructions.
+2000-12-27  Bernd Schmidt  <bernds@redhat.com>
 
-Fri Jan 10 06:54:22 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * sched-deps.c (get_condition, conditions_mutex_p): New functions.
+       (add_dependence): Use them to avoid adding unnecessary dependencies
+       between conditionally executed insns.
+       (sched_analyze_1, sched_analyze_2, sched_analyze_insn): Don't free
+       dependency lists if current insn is a COND_EXEC.
 
-       * calls.c (expand_call): Check for _longjmp as well as longjmp;
-       clean up code a bit and merge with check for setjmp-like names.
-       Emit a BARRIER if this is a call to longjmp in addition to
-       volatile calls.
+2000-12-27  Geoffrey Keating  <geoffk@redhat.com>
 
-Fri Jan 10 02:25:54 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/rs6000/rs6000.md (define_attr "length"): Correct
+       calculation.
 
-       * c-typeck.c (digest_init): Properly return error_mark_node
-       after invalid element in array initializer.
+2000-12-26  Kazu Hirata  <kazu@hxi.com>
 
-       * gcc.c (pexecute): Use `fork' in error message if don't have vfork.
+       * config/h8300/h8300.c: Fix a comment typo.
+       (get_shift_alg): Fix a typo in the assembly code for 12-bit
+       ASHIFTRT in HImode.  Do not output extra whitespace after one line
+       of assembly code.  Output a tab after an opcode instead of a
+       space.
+       (emit_a_shift): Output a tab after an opcode instead of a space.
 
-       * Makefile.in: Add .NOEXPORT.
+2000-12-23  Marek Michalkiewicz  <marekm@linux.org.pl>
 
-Thu Jan  9 13:36:25 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/avr/avr.c (out_movqi_r_mr, out_movhi_r_mr, out_movsi_r_mr,
+       out_movsi_mr_r, out_movqi_mr_r, out_movhi_mr_r): Use %o instead of
+       %4 in output templates, do not modify operands passed by the caller.
 
-       * expr.c (expand_expr): Handle OFFSET_REF.
+2000-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * cse.c (simplify_binary_operation): Never use associative law for
-       floating arithmetic.
+       * builtins.def (BUILT_IN_LABS, BUILT_IN_LLABS, BUILT_IN_IMAXABS):
+       Don't define.
+       * builtins.c (expand_builtin): Don't handle BUILT_IN_LABS,
+       BUILT_IN_LLABS and BUILT_IN_IMAXABS.
+       * c-common.c (c_common_nodes_and_builtins): Use BUILT_IN_ABS for
+       builtin labs, llabs and imaxabs.
+       (expand_tree_builtin): Don't handle BUILT_IN_LABS, BUILT_IN_LLABS
+       and BUILT_IN_IMAXABS.
 
-       * fixinc.svr4: Renamed INCLUDES to INPUT.
+2000-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * i386.md (cmpstrsi recognizers): Output repe, not repz.
+       * c-common.c (builtin_function_2): New function.
+       (c_common_nodes_and_builtins): Use it to define each pair (foo,
+       __builtin_foo) of builtins in one place.
 
-Thu Jan  9 18:02:34 1992  Dennis P. Glatting  (dennisg at tti)
+2000-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * tree.h (CONSTRUCTOR_NAME_FORMAT): Changed name format.  Old format
-       was recognized as destructors not constructors.
-       * objc-actions.c (build_module_descriptor):
-       Null-terminate global_object_name.
+       * gccbug.in: Add libgcj and preprocessor categories.
 
-Thu Jan  9 10:35:58 1992  Tom Wood  (wood at dg-rtp.dg.com)
+2000-12-22  Bernd Schmidt  <bernds@redhat.com>
 
-       * sdbout.c (sdbout_syms): Don't attempt to output a LABEL_DECL.
+       * config/ia64/ia64.c (itanium_reorder): Only schedule stops in
+       the final scheduling pass.
 
-Thu Jan  9 08:17:44 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-12-22  Nick Clifton  <nickc@redhat.com>
 
-       * fold-const.c (merge_component_references): Treat constants as
-       unsigned, so we don't get extra sign bits where we don't want them.
+       * config/arm/arm.h (struct machine_function): Add new field
+       'lr_save_eliminated'.
+       * config/arm/arm.c (arm_compute_save_reg_mask): Do not include the
+       link register if its save has been eliminated.
+       (output_arm_prologue): Mention if the save of the link register
+       has been eliminated.
+       (output_arm_epilogue): Rename 'live_regs_mask' to
+       'saved_regs_mask'.
+       Test 'saved_regs_mask' for the link register, not regs_ever_live.
+       (arm_expand_prologue): If the link register has not been saved set
+       lr_save_eliminated and emit a USE to prevent later passes from
+       scavenging it.
 
-Wed Jan  8 19:12:59 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+       * dwarf2out_frame_debug_expr: Allow the (scratch) frame
+       pointer to be initialized from the stack pointer plus a
+       constant.
 
-       * reload.c (combine_reloads): Don't use a fixed_reg as an reload
-       reg, even if it dies.
+2000-12-22  Bernd Schmidt  <bernds@redhat.com>
 
-       * loop.c (record_giv): Fix typo extracting insn_uid.
+       * regrename.c (struct du_chain): New field "earlyclobber".
+       (enum scan_actions): Remove unused entry "note_reference".
+       (enum scan_actions_name): Likewise.
+       (note_sets, clear_dead_regs, merge_overlapping_regs): New static
+       functions.
+       (regrename_optimize): Use them to compute unavailable regs; get
+       rid of the more simpleminded code we used to have here.
+       Use a tick array to ensure registers are allocated in a more
+       round-robin way.  Disable code that only optimizes registers
+       that were seen more than once.
+       (referenced_regs): Remove variable.
+       (scan_rtx_reg): New arg "earlyclobber".  All callers changed.
+       Store its value in newly generated du_chain structures.
+       Add new du_chains at the end, not the start, of the list.
+       Don't handle the "note_reference" action.
+       (scan_rtx): New arg "earlyclobber".  All callers changed.
+       (build_def_use): Lose code to keep track of referenced regs.
 
-Wed Jan  8 15:41:10 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cpp.texi, gcc.texi: Files renamed.
-       * invoke.texi, extend.texi, md.texi, rtl.texi, tm.texi: New subfiles.
-       * Makefile.in: Corresponding changes.
+       * Makefile.in (sched-deps.o, sched-rgn.o): Fix dependency typo.
 
-       * fixincludes: Renamed INCLUDES to INPUT.
+       * fp-bit.h (usi_to_float): Add prototype.
 
-       * m68k.c (notice_update_cc, print_operand): Fix typos.
+       * i386.c (ix86_expand_builtin): Delete unused label.
 
-       * cp-decl.c (expand_static_init): Save and restore current obstacks.
+       * dwarf2out.c (file_info_cmp): Prototype.
+       (dwarf2out_line): Hide variable `old_in_use'.
 
-       * c-decl.c (poplevel): Put labels in BLOCK_VARS of top-level block.
+       * objc-act.c (objc_fatal): Delete.
 
-Wed Jan  8 12:53:48 1992  Michael Tiemann  (tiemann at cygnus.com)
+       * sched-vis.c (visualize_stall_cycles): Remove unused variable.
 
-       * cp-decl.c (expand_static_init): Switch to PERMANENT_OBSTACK during
-       expansion.
+       * system.h (getopt): Fix error in last change.
 
-Wed Jan  8 07:45:58 1992  Tom Wood  (wood at dg-rtp.dg.com)
+       * varasm.c (assemble_trampoline_template): Constify.
 
-       * m88kv3.h (STARTFILE_SPEC): SVR3 has *crt0.o files.
+2000-12-22  Jason Merrill  <jason@redhat.com>
 
-       * configure (m88k-*sysv{3,4}): The files are named m88kv{3,4}.
+       * collect2.c (main): Use auto_demangling.
 
-Wed Jan  8 06:01:44 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
 
-       * romp.md (mftbi): Allow memory in the contraints since there can't
-       be an input reload on an insn that uses cc0.
+       * function.c (assign_parms): Update parm's DECL_INCOMING_RTL
+       when optimizing PARALLEL to REG.
 
-       * cse.c (FIXED_BASE_PLUS_P): Include virtual_incoming_args_rtx.
-       (NONZERO_BASE_PLUS_P): New macro.
-       (find_comparison, simplify_relational_operation_args): Use
-       NONZERO_BASE_PLUS_P instead of FIXED_BASE_PLUS_P when appropriate.
+2000-12-22  Graham Stott  <grahams@redhat.com>
 
-       * m68k.md (peepholes): Don't change around stack adjusts and pushes
-       when we are pushing something whose address involves sp.
+       * reload.c (update_auto_inc_notes): New, broken out from ...
+       (find_reloads_address_1): ... use here, also correct possible
+       use of uninitialized reloadnum.
 
-       * cse.c (simplify_unary_operation): Check for operations on
-       integers by looking at mode of OP, not output mode, to avoid
-       confusion with FIX operations whose result is an integer.
+2000-12-21  David O'Brien  <obrien@FreeBSD.org>
 
-       * rtl.h ([df]const[012]_rtx): Deleted.
-       (const_tiny_rtx): New declaration.
-       (CONST0_RTX): Use const_tiny_rtx instead of {d,f,}const0_rtx.
-       (CONST1_RTX, CONST2_RTX): New macros.
-       * emit-rtl.c ([df]const[012]_rtx): Deleted.
-       (const_tiny_rtx): New definition.
-       (init_emit_once): Initialize const_tiny_rtx instead of old vars.
-       * cse.c (simpify_binary_operation): Use CONST[01]_RTX.
-       * varasm.c (immed_real_const_1): Likewise.
-       * combine.c (subst): Likewise.
-       * reg-stack.c (record_reg_life, stack_reg_life_analysis): Likewise.
-       * convex.md, i860.md, m88k.c, spur.md, vax.h, ns32k.md: Likewise.
+       * config/freebsd.h (LIB_SPEC): remove -kthread option.
 
-Tue Jan  7 22:11:17 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * x-i386isc (ENQUIRE_LDFLAGS): New defn: add -posix.
+       * resource.c (mark_set_resources): Use MARK_SRC_DEST for
+       PRE_MODIFY and POST_MODIFY cases.
 
-       * protoize.c (_POSIX_SOURCE): Define only if POSIX.
+       * rtlanal.c (side_effects_p): Handle PRE_MODIFY and POST_MODIFY.
 
-       * m68k.h (FPA_REG_P): Always define this somehow.
+2000-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * c-decl.c (c_decode_option): Handle -Wchar-subscripts.
-       * c-typeck.c (build_array_ref): Do the real work.
+       * md.texi (Looping Patterns): New node.
 
-Tue Jan  7 21:15:54 1992  Michael Meissner  (meissner at osf.org)
+2000-12-21  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * mips.md (branch_zero_false): Use correct mode (CC_0) on
-       match_operator.
+       * gcc.texi, cpp.texi: Update last-updated dates.
 
-Tue Jan  7 14:24:45 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+2000-12-21  Chandrakala Chavva  <cchavva@redhat.com>
 
-       * reg-stack.c (replace_reg): get mode class from a mode, not a reg.
+       * varasm.c (output_addressed_constants): Use language specific
+       expander on unknown nodes.
 
-Tue Jan  7 14:16:18 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-12-21  Graham Stott  <grahams@redhat.com>
 
-       * reg-stack.c (emit_pop_insn): Fix typo FPmode_reg.
+       * combine.c (distribute_notes): Handle REG_NON_LOCAL_GOTO notes.
 
-       * protoize.c (longjmp): Don't declare it.
+2000-12-21  Bernd Schmidt  <bernds@redhat.com>
 
-Tue Jan  7 09:47:47 1992  Michael Tiemann  (tiemann at cygnus.com)
+       * Makefile.in (out_object_file): Depend on sched-int.h.
+       * rtl.h (single_set_1): New macro.
+       (single_set_2): Renamed from single_set_1 and extra argument added.
+       * rtlanal.c (single_set_2): Likewise.
 
-       * cp-lex.c (real_yylex): From John Hassey, allocate space for the
-       terminating null on wide character literals.
+       * config/ia64/ia64-protos.h (get_bundle_name, ia64_issue_rate,
+       ia64_adjust_cost, ia64_sched_init, ia64_sched_finish,
+       ia64_sched_reorder, ia64_sched_reorder2, ia64_variable_issue):
+       Declare.
+       * config/ia64/ia64.c: Include "sched-int.h".
+       (hard_regno_rename_ok): Also disallow renaming from the various
+       reg_save_* regs.
+       (ia64_safe_itanium_requiers_unit0, ia64_safe_itanium_class,
+       ia64_safe_type, init_insn_group_barriers, group_barrier_needed_p,
+       safe_group_barrier_needed_p, fixup_errata): New static functions.
+       (rtx_needs_barrier):  Handle bundle selector and cycle display
+       insns.
+       (emit_insn_group_barriers): Accept additional FILE * arg.  All
+       callers changed.  Rework to only generate stop bits between
+       basic blocks that haven't been inserted by scheduling.
+       (struct bundle, struct ia64_packet): New structures.
+       (NR_BUNDLES, NR_PACKETS): New macros.
+       (bundle, packets, type_names): New static arrays.
+       (ia64_final_schedule): New variable.
+       (ia64_single_set, insn_matches_slot, ia64_emit_insn_before,
+       gen_nop_type, finish_last_head, rotate_one_bundle, rotate_two_bundles,
+       cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
+       find_best_packet, itanium_reorder, dump_current_packet, schedule_stop):
+       New static functions.
+       (ia64_issue_rate, ia64_sched_init, ia64_sched_reorder,
+       ia64_sched_finish, ia64_sched_reorder2, ia64_variable_issue): New
+       functions.
+       (ia64_reorg): Perform a final scheduling pass.
+       * config/ia64/ia64.h (CONST_COSTS): Slightly increase SYMBOL_REF costs.
+       (MAX_CONDITIONAL_EXECUTE, ADJUST_COST, ISSUE_RATE, MD_SCHED_INIT,
+       MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_FINISH,
+       MD_SCHED_VARIABLE_ISSUE): Define macros.
+       (ia64_final_schedule): Declare variable.
+       * config/ia64/ia64.md (attr itanium_class): Add some more classes.
+       (attr type): Account for them.
+       (itanium_requires_unit0): New attribute.
+       (function units): Rewrite.
+       (some splitters): Don't create scheduling barriers here.
+       (gr_spill_internal, gr_restore_internal): Don't predicate the
+       pseudo-op.
+       (nop_m, nop_i, nop_f, nop_b, nop_x, cycle_display, cycle_display_1,
+       bundle_selector): New patterns.
+       (insn_group_barrier): Now has an operand.
+
+2000-12-21  DJ Delorie  <dj@redhat.com>
+
+       * dwarf2out.c (simple_decl_align_in_bits): new
+       (field_byte_offset): Try both the type align and the
+       decl align, use whichever works, preferring the type align.
+
+2000-12-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * gccbug.in: Fix typo.
+
+2000-12-20  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * Makefile.in (gcc_gxx_target_include_dir): Use instead of
+       build_tooldir and libstdcxx_incdir.
+
+2000-12-20  Robert Lipe <robertlipe@usa.net>
+
+       * haifa-sched.c (schedule_block): Provide empty source statement
+       if not MD_SCHED_REORDER2.
+
+2000-12-20  Richard Henderson  <rth@redhat.com>
+
+       * rtl.h (REG_NON_LOCAL_GOTO): New.
+       * rtl.c (reg_note_name): Update.
+       * stmt.c (expand_goto): Emit a REG_NON_LOCAL_GOTO note.
+       * builtins.c (expand_builtin_longjmp): Likewise.
+       * flow.c (make_edges): Check for REG_NON_LOCAL_GOTO and do
+       not emit an edge.
+
+2000-12-20  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+       * config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r, out_movhi_mr_r):
+       Do not output undefined opcodes where source or destination register
+       overlaps with modified pointer register.  Handle (X + d) addresses.
+       * config/avr/avr.md (*movhi, *movsi, *movsf): Correct insn length
+       in alternatives with memory operand.
+
+2000-12-20  Richard Henderson  <rth@redhat.com>
+
+       * c-typeck.c (build_asm_stmt): New, broken out from ...
+       (c_expand_asm_operands): ... here.  Just do rtl expansion.
+       (c_expand_return): Return the new stmt node.
+       (c_start_case, do_case): Likewise.
+       * c-common.c (c_expand_expr_stmt): Likewise.
+       * c-common.h: Update declarations.
+       * c-tree.h: Likewise.
+       * c-semantics.c (build_stmt): Use STMT_LINENO not TREE_COMPLEXITY.
+       * c-parse.in (fndef): Set DECL_SOURCE_LINE to the open brace.
+       (nested_function, notype_nested_function): Likewise.
+       (compstmt): Return the compound statement not the binding level.
+       (lineno_labeled_stmt): Simplify.
+       (lineno_stmt, lineno_label): Set STMT_LINENO.
+       (stmt, label): Return the new stmt node.
+
+2000-12-20  Bernd Schmidt  <bernds@redhat.com>
+
+       * Makefile.in (OBJS): Add sched-ebb.o.
+       (sched-ebb.o): New rule.
+       (sched-vis.o): Depend on hard-reg-set.h and $(BASIC_BLOCK_H).
+       (haifa-sched.o): Depend on insn-flags.h.
+       * haifa-sched.c: Include "insn-flags.h".
+       (priority): Don't access BLOCK_NUM, use the new contributes_to_priority
+       callback.
+       * rtl.h (schedule_ebbs): Declare.
+       * sched-int.h (struct sched_info): Add new members
+       contributes_to_priority and compute_jump_reg_dependencies.
+       * sched-rgn.c (contributes_to_priority, compute_jump_reg_dependencies):
+       New functions.
+       (region_sched_info): Add them.
+       * sched-vis.c: Include "hard-reg-set.h" and "basic-block.h".
+       * sched-ebb.c: New file.
+       * sched-deps.c (sched_analyze_insn): Add code to handle JUMP_INSNs.
+
+       * flow.c (ior_reg_cond, and_reg_cond, elim_reg_cond): Properly
+       handle all relational operators.
+
+2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
+
+       * final.c (output_addr_const): Use ASM_OUTPUT_SYMBOL_REF.
+       * tm.texi: Document it.
+
+2000-12-19  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Use build_tooldir
+       instead of gcc_tooldir.
+
+2000-12-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * system.h (getopt): Update prototype to match include/getopt.h.
+
+2000-12-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       From Jeff Law.
+       * pa.c (basereg_operand): Simplify.
+
+2000-12-19  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * haifa-sched.c (rm_line_notes): Arguments are now head and tail,
+       not block number.  All callers and prototype changed.
+       (set_priorities): Likewise.
+       (save_line_notes): Add head and tail arguments; all callers and
+       prototype changed.
+       (restore_line_notes): Likewise.  Don't crash on insns generated
+       during scheduling.
+       (schedule_block): Don't use BLOCK_HEAD/BLOCK_END macros.
+       Call MD_SCHED_INIT with additional argument.
+       When starting a new cycle, emit cycle_display insns if available.
+       Don't stop scheduling when encountering a JUMP_INSN, but add another
+       call to schedule_more_p in the inner loop.
+       Call MD_SCHED_REORDER2 after scheduling an insn.
+       Call MD_SCHED_FINISH once all insns are scheduled.
+       (sched_init): Compensate for the fact that get_block_head_tail
+       doesn't include leading notes.
+       * sched-deps.c (free_deps): Free vectors here.
+       * sched-rgn.c (compute_block_backward_dependencies): Not here.
+       (last_was_jump): New static variable.
+       (schedule_more_p): Test it.
+       (init_ready_list): Initialize it.
+       (can_schedule_ready_p): Set it if we have a JUMP_INSN.
+
+       * config/i386/i386.h (MD_SCHED_INIT): Add new arg.
+       * config/m32r/m32r.h (MD_SCHED_INIT): Add new arg.
+       * config/sparc/sparc.h (MD_SCHED_INIT): Add new arg.
+
+       * md.texi (cycle_display): Document.
+       * tm.texi (MD_SCHED_INIT): Document new arg.
+       (MD_SCHED_FINISH, MD_SCHED_REORDER2): Document.
+
+       * flow.c (ior_reg_cond, nand_reg_cond, not_reg_cond): Rewrite
+       to use different representation.  All callers changed.
+       (and_reg_cond): Renamed from nand_reg_cond; caller changed.
+       (init_propagate_block_info): Don't test flags to determine
+       whether to compute conditional lifetimes.
+       Adjust code for new representation of conditional lifetimes.
+       (mark_regno_cond_dead): Similar adjustment.
+       (free_reg_cond_life_info): Similar adjustment.
+       (elim_reg_cond): New function.
+       (flush_reg_cond_1): Use it.
+
+2000-12-19  Catherine Moore  <clm@redhat.com>
+
+       * reload1.c (reload_combine): Take multi-hard-regs into account
+       when processing CALL_INSN_FUNCTION_USAGE.
+
+2000-12-19  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * invoke.texi (-print-search-dirs): Make references to cpp refer
+       to cpp0 instead.
+
+2000-12-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fold-const.c (tree_expr_nonnegative_p): Treat truth values as
+       non-negative.
 
-Tue Jan  7 07:41:42 1992  Tom Wood  (wood at dg-rtp.dg.com)
+Tue Dec 19 00:37:08 2000  J"orn Rennecke <amylaar@redhat.com>
 
-       * m88kv3.h (LIB_SPEC): Add -lg.
+       * reload.c (push_reload): When using a dying register for the reload
+       register in an in-out reload, use outmode if wider than inmode.
 
-Tue Jan  7 06:29:30 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-12-19  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * stor-layout.c (layout_type): Don't over-align a structure
-       when strict alignment is not required.
+       * config/d30v/d30v.h (EXIT_BODY): Update comment.
 
-       * rs6000.h (CALL_USED_REGISTERS): r31 should not be marked call-used.
+2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * rs6000.md (add-and-compare): Fix duplicate operand number.
+       * config.gcc (*-*-linux*): Don't define HAVE_ATEXIT or BSTRING.
+       * tm.texi (EXIT_BODY): Update documentation.
+       * config/freebsd.h, config/netware.h, config/arm/coff.h,
+       config/arm/conix-elf.h, config/arm/unknown-elf.h,
+       config/d30v/d30v.h, config/mcore/mcore.h, config/pj/pj.h,
+       sparc/sp86x-aout.h: Remove definitions of HAVE_ATEXIT (some
+       commented out) and associated comments.
 
-       * a29k.md (inbyte, inhw): Correct duplicate operand number.
+2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * fold-const.c (fold, case MULT_EXPR): Simplify (a * (1 << b)).
-       * combine.c (subst, case MULT): Likewise.
-       (simplify_shift_const, shift cases): Similarly, associate A << B << C.
+       * c-common.c (STD_C9L, ADJ_STD): Define.
+       (printf_length_specs, scanf_length_specs): Mark "ll" as standard
+       STD_C9L.
+       (T99_LL): Rename to T9L_LL.
+       (T99_ULL): Rename to T9L_ULL.
+       (print_char_table, scan_char_table): Use T9L_LL and T9L_ULL
+       instead of T99_LL and T99_ULL.
+       (check_format_info_main): Use ADJ_STD on all format standard
+       versions being compared.
+       * c-common.h: Declare warn_long_long.
+       * c-tree.h: Don't declare warn_long_long.
 
-       * genoutput.c (seen): New array.
-       (scan_operands): Give error if an operand number was specified
-       twice.  Include pattern number in error message.
-       (gen_insn, gen_expand, gen_split, gen_peephole): Initialize `seen'.
-       (gen_split, gen_peephole): Add initializations for arrays that
-       are copied.
+2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * optabs.c (expand_unop): Complete recent change; one TARGET was
-       not changed to TEMP.
+       * COPYING: Update to current
+       ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
+       to 19yy as example year in copyright notice).
 
-       * expmed.c (expand_mult): Always try multiplication by value and
-       by negated value. Fix bug where we don't include the cost of the negate
-       when seeing which way is better.  Write proper value in REG_EQUAL
-       note.
+2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-       * optabs.c (extendtab): Replacement for {zero,sign}_extend_codes.
-       (can_extend_p): Use new table and return type is not enum insn_code.
-       (gen_extend_insn): Deleted; not used.
-       (init_extends): Make like init_flottab: use new table and initialize
-       unused entries to CODE_FOR_nothing, not zero.
-       * expr.c (convert_move): can_extend_p fails if it returns
-       CODE_FOR_nothing, not zero.
-       * expr.h (can_extend_p): Add definition.
+       * c-lex.c (cb_file_change): Treat in_system_header as strictly
+       boolean (0 or 1).
 
-       * expr.h: Add "extern" to function definitions.
+2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-Mon Jan  6 10:12:34 1992  Leonard Norrgard  (vinsci at nic.funet.fi)
+       * cppmain.c: Update print.lineno with -P.
 
-       * m68k.c (SUPPORT_SUN_FPA): Conditionalize references to the
-       optional Sun 3 Floating Point Accelerator with SUPPORT_SUN_FPA.
-       * m68k.h (SUPPORT_SUN_FPA): Likewise.
+2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-       * m68k.c (notice_update_cc): New function.
-       * m68k.h (NOTICE_UPDATE_CC): Just call notice_update_cc.
+       * c-lex.c: s/change_file/file_change.
+       * cpplib.h: Similarly.
+       * cppmain.c: Similarly.
+       * fix-header.c: Similarly.
+       * cppfiles.c (stack_include_file): Pass the buffer location and
+       size to cpp_push_buffer.  Generate the file_change callback,
+       so that sysp is already set.
+       * cpphash.h: Add _cpp_do_file_change.
+       * cpplib.c (do_line): Set buffer->sysp directly. Generate the
+       file_change callback after setting sysp.
+       (_cpp_do_file_change): Handle FC_ENTER and the FC_RENAME exception
+       here.
+       (cpp_push_buffer): Don't generate a callback.  Clear sysp.
+       (cpp_pop_buffer): Clean up logic.
 
-        * sun3.h (SUPPORT_SUN_FPA): New define.
+2000-12-18  Benjamin Kosnik  <bkoz@redhat.com>
 
-Mon Jan  6 16:42:43 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * configure.in (gcc_gxx_include_dir): Simplify.
+       (libstdcxx_incdir): Export.
+       * configure: Regenerate.
+       * Makefile.in (PREPROCESSOR_DEFINES): Add in
+       GPLUSPLUS_TOOL_INCLUDE_DIR bits here..
+       (libstdcxx_incdir): Add.
+       * cppdefault.c (GPLUSPLUS_TOOL_INCLUDE_DIR): Add search path.
 
-       * varasm.c (assemble_global, assemble_label): New functions.
-       * objc-actions.c (finish_objc): Call them to define and globalize.
-       Use output_constant to reference a class.
+2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-       * Makefile.in (install-limits-h): New target.
-       (install-headers): Depend on install-limits-h.
-       (USER_H): Deleted LIMITS_H.
-       (INSTALLED_H): Added limits.h.
-       (mostlyclean): Remove tmp-limits.h.
-       * limitx.h: New file.
+       * c-lex.c (lex_lineno): Remove.
+       (init_c_lex, c_lex): Remove lex_lineno.
+       (cb_change_file): Update lineno correctly, both before calling
+       push_srcloc and before leaving the function.
+       (cb_def_pragma): Set lineno before outputting diagnostics.
 
-       * x-isc: File deleted.
+Sun Dec 17 18:45:41 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * objc-actions.c (build_module_descriptor): Init global_object_name.
+       * print-tree.c (print_node): Print DECL_USER_ALIGN and TYPE_USER_ALIGN.
+       Print TYPE_MIN_VALUE and TYPE_MAX_VALUE for REAL_TYPE.
+       Use print_node_brief to print bounds.
 
-       * Makefile.in (collect2): Depend on version.o.
+2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-       * protoize.c (PATH_MAX): Definition deleted.  Just test it
-       to see if param.h should be included.
+       * cpplib.h (struct cpp_reader): Remove references to string_pool
+       and temp_string_pool.
+       * cppinit.c (cpp_create_reader, cpp_cleanup): Similarly; using
+       ident_pool in place.
+       * cpplex.c (parse_number, unescaped_terminator_p, parse_string,
+       save_comment, cpp_token_as_text): Similarly.
+       * cpplib.c (do_define, glue_header_name, parse_assertion): Similarly.
+       * cppmacro.c (make_number_token, builtin_macro, lock_pools,
+       unlock_pools, stringify_arg, paste_tokens): Similarly.
 
-       * cse.c (simplify_binary_operation, case MULT): Make a copy
-       of the operand when converting 2.0 * X to X+X.
+Sun Dec 17 12:41:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * reload.c (find_reloads): Refine when we set force_reload and
-       better document the cases.
+       * dwarf2out.c (loc_descriptor_from_tree, case NOP_EXPR): New case.
+       (loc_descriptor_from_tree, case CONVERT_EXPR): Likewise.
+       (loc_descriptor_from_tree, case NON_LVALUE_EXPR): Likewise.
 
-Mon Jan  6 08:22:19 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+2000-12-17  Richard Earnshaw  <rearnsha@arm.com>
 
-       * i386.c (output_float_compare): Output only single-pop compare
-       if both operands are the FP top of stack reg.
-       When comparing FP top of stack with itself, print `%st(0)' as the
-       reg name, not `%st'.
+       * Makefile.in (check-po): Use $(MAKE).
+       (risky-stage1, risky-stage2, risky-stage3, risky-stage4): Likewise.
 
-Mon Jan  6 12:01:51 1992  Tiggr  (rcpieter at mole.gnu.ai.mit.edu)
+2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-       * arm.md (mulsi3): Fixed contraints.
+       * cppmain.c (check_multiline_token): New function.
+       (scan_buffer): Use it.
+       (cb_change_file): Restructure to avoid warning.
+       * cpperror.c (print_location): Initialize col.
 
-Mon Jan  6 08:21:46 1992  Tom Wood  (wood at dg-rtp.dg.com)
+2000-12-14  Philipp Thomas  <pthomas@suse.de>
 
-       * m88k-move.sh: Renamed from m88k-movstr.sh.  Rename the generated
-       files move*.asm from movstr*.asm to be SVR3-legit.
-       * t-m88k, t-m88kluna, t-m88kv4: Use the new names.
+       * protoize.c (main): Correctly set locale categories.
+       * gcc.c (main): Likewise.
+       * cppmain.c (general_init): Likewise.
+       * toplev.c (main): Likewise.
+       * gcov.c (main): Likewise.
+       * collect2.c (main): Likewise.
 
-       * c-aux-info.c, dbxout.c: Include errno.h as in protoize.c.
+2000-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile.in (BISONFLAGS): Don't use -v since *.output is big.
-       (cp-parse.c): Do use -d to create cp-parse.h.
-       (cp-parse.o): Don't define PARSE_OUTPUT.
-       * x-mips, x-m88kdgux (BISONFLAGS): No -v.
+       * c-common.c (c_common_nodes_and_builtins): Create a
+       cstring_endlink, use it.  Rename int_ftype_string_string to
+       int_ftype_cstring_cstring, string_ftype_string_int to
+       string_ftype_cstring_int, and string_ftype_string_string to
+       string_ftype_cstring_cstring.  Prefer sizetype_endlink and
+       int_endlink to manually recreating them.  Fix the prototype
+       set for __builtin_strspn/__builtin_strcspn.
 
-Mon Jan  6 07:54:55 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-12-12  Marek Michalkiewicz  <marekm@linux.org.pl>
 
-       * genpeep.c (match_rtx): Loop over vectors (e.g., PARALLEL) in the
-       natural order so we see an operand before we see a MATCH_DUP referring
-       to it.
+       * config/avr/avr.c (out_set_stack_ptr): Update comment.
+       (print_operand): Add support for %~ and %o.
 
-       * genrecog.c (write_tree_1): Simplify code that writes braces and
-       avoid writing them unnecessarily.
-       Don't write dead code when last test was unconditional.
+2000-12-17 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
 
-       * optabs.c (expand_binop, expand_twoval_binop, expand_unop):
-       Standardize loop for wider mode.
-       (emit_cmp_insn, emit_float_lib_cmp): Likewise.
-       (expand_binop): Correct how extensions are done: use convert_to_mode,
-       don't use SUBREG for non-integer operations, and remove test
-       involving HOST_BITS_PER_INT.
-       (expand_unop): Similar changes; make code closer to expand_binop.
-       Handle failure of recursive call when expanding.  Fix incorrect use
-       of TEMP when widening.  Use SUBREG for NEG and NOT.
+       * c4x.h: Add ASM_OUTPUT_DEF definition for bounded pointer code.
 
-       * reload.c (find_reloads_address_part): New function.
-       (find_reloads_address): Call it instead of push_reload when we are
-       reloading a PLUS or a constant.
+2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-Sun Jan 5 18:34:15 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+       * c-lex.c: Move main_input_filename handling to FC_ENTER. Clean up.
+       * cpperror.c (print_containing_files): Get right line number.
+       (print_location): Output column of 1 if 0.
+       * cppfiles.c (stack_include_file): cpp_push_buffer handles
+       the callback.
+       * cpphash.h (_cpp_do_file_change): No longer external.
+       * cpplib.c (do_file_change): Now local to cpplib.c.
+       (do_line): Fake a buffer stack for preprocessed files.
+       (cpp_push_buffer): Create a file_change callback.  Handle faked
+       buffers.
+       (cpp_pop_buffer): Similarly.
+       * cpplib.h: BUF_FAKE: New buffer type.
+       * cppmain.c: Update to handle correct file renaming where a
+       #line is the first line of the main file, and produce only
+       the renamed file, not the original file, as output.
 
-       * make-cc1.com:  Change file names from cp-tab.* to cp-parse.*.
+2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-Sun Jan  5 18:06:11 1992  Michael Tiemann  (tiemann at cygnus.com)
+       * config/c4x/c4x.md: Remove redundant @s from output patterns.
 
-       * cp-decl.c (grokdeclarator): Correctly grok REFERENCE_TYPE
-       parameters when TYPE_REFERENCE_TO is automagically converted.
+2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+            Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
 
-Sun Jan  5 05:19:19 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Call c4x_init_pragma.
 
-       * tree.h (CONSTRUCTOR_NAME_FORMAT): New macro.
-       * objc-actions.c (build_module_descriptor): Make constructor name
-       from name of file or of a global that it defines.
-       Return constructor name.
-       (finish_objc): Use name returned as name to call.
-
-       * protoize.c (GUESSPATHLEN): New macro.
-       (main): Use that for initial buffer size for getcwd.
-       * dbxout.c (getwd, getcwd, GUESSPATHLEN): Define as in protoize.c.
-       (dbxout_init): Call getcwd in loop, as in protoize.c.
-       * c-aux-info.c (getwd, getcwd, GUESSPATHLEN): Define as in protoize.c.
-       (gen_aux_info_record): Call getcwd in loop.
-       * i386v.h, i386vgas.h (MAXPATHLEN): Don't define.
-
-       * svr3.h (LINK_SPEC): Don't pass -K.
-
-       * reload.c (find_reloads): Do record in non_reloaded_operands if no -O.
-
-       * m68k.c (output_function_prologue, output_function_epilogue):
-       Add braces and adjust conditionals to fix balance and indentation.
-
-       * objc-actions.c (build_module_descriptor): Mark __objc_file_init used.
-
-Sat Jan  4 13:27:40 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+       * config/c4x/c4x-protos.h (c4x_init_pragma): New prototype.
 
-       * protoize.c: unprotoize getcwd & fork declarations.
-       (edit_fn_declaration): use "VOLATILE", not "volatile".
+       * config/c4x/c4x.c (c4x_init_pragma): New function.
+       (c_lex_func): New variable.
+       (c4x_parse_pragma): Use c_lex_func.
 
-Sat Jan  4 20:19:41 1992  Michael Meissner  (meissner at osf.org)
+2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+            Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
 
-       * mips.h (set_volatile): Add new global variable reference.
+       * config/c4x/c4x.h (MD_INIT_BUILTINS): Add void_list_node argument
+       to c4x_init_builtins.
 
-       * mips.c (set_volatile): New global variable to keep track of the
-       number of .set volatile's done.  At present, no code actually turns
-       this on.
-       (mips_move_1word): Use %. instead of putting const0_rtx into an
-       unused operator and using %z to get to $0, which is hardwired to 0.
-       (mips_move_2words): Likewise.
-       (override_options): Allow %., %{, and %} punctuation.
-       (print_operands): Add support for %. to get the current name of
-       register 0, %{ to turn on .set volatile, and %} to turn on .set
-       novolatile.
-       (function_epilogue): Give an error if .set volatile was left on in
-       the epilogue.
-       (mips_asm_file_start): Don't emit .set nobopt unless we are filling
-       branch delay slots.
+       * config/c4x/c4x-protos.h (c4x_init_builtins): Add tree argument.
 
-       * mips.md (set reg on comparison define_splits): Don't allow the
-       scheduler to split any set of a comparision insns, to work around a
-       bug in sched.c.
+       * config/c4x/c4x.c (c4x_init_builtins): Add tree argument.
+       (c4x_output_ascii):  Fix.
 
-Sat Jan  4 23:01:41 1992  Jeffrey A Law  (law at planet.super.org)
+2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+            Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
 
-       * m68k.c (output_function_prolog): Decrement (instead of 
-       increment) num_saved_regs when a frame pointer is needed.
-       (the link/unlk will restore the frame pointer register)  
+       * config/c4x/c4x.h (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Define.
 
-Sat Jan  4 11:11:24 1992  Dennis P. Glatting  (dennisg at tti)
+       * config/c4x/c4x-protos.h (c4x_init_builtins): New prototype.
+       (c4x_expand_builtin): Likewise.
 
-       * next.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef before defining.
+       * config/c4x/c4x.c (c4x_init_builtins): New function.
+       (c4x_expand_builtin): Likewise.
 
-Sat Jan  4 07:40:25 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/c4x/c4x.md (floatunsqihf2): New pattern.
+       (*floatqihf2_set, *fixhfqi_set, fix_trunchfqi2): Likewise.
+       (fixuns_trunchfqi2, toieee, frieee, *ldhf_conditional): Likewise.
+       (*ldhf_conditional_noov, movhfcc, trap, cond_trap_cc): Likewise.
+       (*toieee_movqf_clobber, *frieee_movqf_clobber): Likewise.
 
-       * expr.c (convert_to_mode): Correctly zero-extend a constant into
-       a mode whose size is twice the host int size.
+2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * machmode.h (enum mode_class): Add MAX_MODE_CLASS.
-       (GET_CLASS_NARROWEST_MODE): New macro.
-       (byte_mode, word_mode): Add declarations.
-       * caller-save.c (choose_hard_reg_mode): Use GET_CLASS_NARROWEST_MODE.
-       * combine.c (make_extraction): Don't use explicit QImode and SImode.
-       * cse.c (simplify_unary_operation): Integer CONST_DOUBLEs have 
-       VOIDmode, not DImode.
-       (simplify_binary_operation): Remove explicit DFmode reference.
-       * expmed.c (init_expmed): Don't make our own copy of word_mode.
-       (store_bit_field, extract_bit_field): Remove explicit
-       QImode reference; don't recompute word_mode.
-       (store_fixed_bit_field, {store,extract}_split_bit_field): Don't
-       recompute word_mode.
-       (emit_store_flag): Likewise.
-       (extract_fixed_bit_field): Replace explicit mode references with a
-       loop on modes; don't recompute word_mode.
-       * expr.c (convert_mode, move_block_{to,from}_reg, use_regs): Don't
-       recompute word_mode.
-       (emit_push_insn, do_jump_by_parts*): Likewise.
-       (push_block): Remove explicit QImode reference.
-       (get_inner_reference): Use mode_for_size.
-       * emit-rtl.c (restore_reg_data): Make unused regs word_mode.
-       (operand_subword): Don't recompute word_mode.
-       * fold-const.c (optimize_bit_field_compare): Likewise.
-       (merge_component_references): Likewise.
-       * flow.c (mark_set_1, mark_used_regs): Likewise.
-       * loop.c (combine_movables): Use GET_CLASS_NARROWEST_MODE.
-       * optabs.c (expand_binop): Replace SImode references in multi-word
-       multiply with the mode used for each subpart.
-       (expand_binop, expand_unop): Don't recompute word_mode.
-       * reg-stack.c (reg_to_stack): Use GET_CLASS_NARROWEST_MODE.
-       * reload.c (find_equiv_reg): Check for MODE_FLOAT, not SFmode/ DFmode.
-       * rtl.c (class_narrowest_mode, byte_mode, word_mode): Define.
-       (init_rtl): Initialize them.
-       * sched.c (attach_deaths): Don't recompute word_mode.
-       * stor-layout.c (mode_for_size): Use GET_CLASS_NARROWEST_MODE.
-       (get_best_mode): Likewise.
-       Don't recompute word_mode.
-       * unroll.c (unroll_loop): Replace default of SImode with word_mode.
+       * libgcc2.h: Use Wtype for SItype and DWtype for DItype in prototypes.
+       * libgcc2.c (__absvsi2): Use Wtype and DWtype.
+       (__absvdi2, __addvsi3, __addvdi3, __subvsi3): Likewise.
+       (__subvdi3, __mulvsi3, __mulvdi3, __negvsi2, __negvdi2): Likewise.
 
-       * calls.c (calls_alloca): Don't recurse on BLOCK_SUPERCONTEXT.
+2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
 
-Sat Jan  4 03:42:09 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Enclose the block
+       statement in do/while(0).
 
-       * protoize.c (pointer_type): Use char * if non-ANSI.
-       (const_pointer_type): Likewise.
-       (malloc, realloc): Declare to return pointer_type.
-       (setjmp): Don't declare, to avoid trouble with macro defns.
-       (const): If not ANSI, define as empty macro.
+Sat Dec 16 19:56:24 MET 2000  Jan Hubicka  <jh@suse.cz>
 
-Sat Jan  4 00:59:53 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * i386.md (ashrsi3_cmpno, ashrhi3_cmpno, ashrqi3_cmpno, lshrsi3_cmpno,
+       lshrhi3_cmpno): Remove redundant '@' from the template.
 
-       * sparc.c (legitimize_pic_address): When converting a symbol_ref,
-       use an extra temp reg when -fPIC, and add a REG_EQUAL note to the
-       insn referencing the global offset table.  This allows loop to
-       optimize these PIC sequences.
+       * i386.md (cmpstrsi_1): Fix type of the compare.
 
-Fri Jan  3 20:29:57 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+       * genattrtab.c (attr_rtx_cost): New function.
+       (simplify_test_exp): Avoid overactive inlining; use temporary
+       obstacks for tests.
 
-       * i386.md (return): Always output return insns.
+Sat Dec 16 10:41:11 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * i386.h (FUNCTION_PROLOGUE): If the last nonnote insn in a function
-       is a BARRIER, don't output a function epilogue.
+       * diagnostic.c (finish_abort): Deleted.
+       (fatal): Add code from finish_abort.
+       (error_recursion, fancy_abort): Call fatal, not finish_abort.
+       (trim_filename): Remove leading "../".
+       * diagnostic.h (finish_abort): Deleted.
+       * toplev.c (crash_signal): Call fatal, not finish_abort.
 
-Fri Jan  3 12:43:09 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT
+       as if size were variable.
 
-       * t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips (ALL):
-       Use libgcc.a, not libgcc.
+       * expmed.c (expand_mult): Write REG_EQUAL note with proper mode.
 
-       * protoize.c (STRINGIFY): Provide non-ANSI alternative definition.
+2000-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-       * c-decl.c (get_parm_info): Keep non-parms in the parm list.
+       * tradcpp.c: T_WARNING: New.
+       (do_warning): New function.
+       (finclude): Skip past the newline and increase the line number
+       before calling output_line_command.
+       (do_line): Skip the new line after output_line_command.  Don't
+       pre-decrement the line number.
 
-       * stmt.c (cost_table): Now short.
-       (estimate_case_costs): Handle that.
+2000-12-15  Diego Novillo  <dnovillo@redhat.com>
 
-       * Makefile.in (float.h, *protoize.1, gcc.xtar.Z):
-       Make temp files, then rename.
-       (clean): Delete those temp files.
+       * i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix references to
+       _GLOBAL_OFFSET_TABLE_ when using Intel syntax.
 
-       * Makefile.in (c-parse.c): Don't use -d, since cp-parse.output is big.
+2000-12-15  Jakub Jelinek  <jakub@redhat.com>
 
-Fri Jan  3 10:32:31 1992  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
+       * gcc.c (cpp_options): Pass -fno-operator-names.
+       * cpplib.h (struct cpp_options): Add operator_names.
+       * cppinit.c (cpp_create_reader): Initialize it.
+       (initialize_builtins): If -fno-operator-names, don't add
+       C++ alternate operator names.
+       (COMMAND_LINE_OPTIONS): Add -fno-operator-names.
+       (cpp_handle_option): Clear operator_names.
 
-       * Makefile.in (cp-parse.c): Add missing -o flag.
+2000-12-15  Jason Merrill  <jason@redhat.com>
 
-Fri Jan  3 08:21:04 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * jump.c (jump_optimize_1): Don't delete the line note after the
+       prologue even if it seems redundant.
 
-       * reg-stack.c: Complete last change (renaming DFmode_reg).
+       * config/arm/arm.c (arm_expand_prologue): Set RTX_FRAME_RELATED_P
+       on all insns used to adjust the stack.
 
-       * expmed.c (init_expmed): Pass dummy pointer to number of clobbers to
-       recog so it can let us see patterns that need added clobbers.
+Fri Dec 15 15:32:16 MET 2000  Jan Hubicka  <jh@suse.cz>
 
-Fri Jan  3 07:54:32 1992  Tom Wood  (wood at dg-rtp.dg.com)
+       * combine.c (cant_combine_insn_p): Get around SUBREGs when determining
+       hardreg<->reg moves.
 
-       * c-decl.c (implicitly_declare): Record whether this is an implicit
-       declaration before setting IDENTIFIER_IMPLICIT_DECL.
+Fri Dec 15 14:48:37 MET 2000  Jan Hubicka  <jh@suse.cz>
 
-Thu Jan  2 21:17:12 1992  Michael Meissner  (meissner at osf.org)
+       * genrecog.c (add_to_sequence): Remove special case for
+       const_int_operand.
+       (maybe_both_true): Return 1 when falling out of sequence when
+       trying to find common position in the pattern.
 
-       * mips.c (compute_frame_size): Don't count FP registers twice.
+Fri Dec 15 14:44:51 MET 2000  Jan Hubicka  <jh@suse.cz>
 
-Thu Jan  2 14:59:55 1992  Michael Tiemann  (tiemann at hal)
+       * integrate.c (copy_rtx_and_substitute): Copy mode too.
 
-       * cp-lex.h: Renamed from cp-parse.h.  Now cp-parse.h is the file
-       created by bison from cp-parse.y.
-       * Makefile.in: reflect this naming change.
+Fri Dec 15 14:11:57 MET 2000  Jan Hubicka  <jh@suse.cz>
 
-Thu Jan  2 12:37:32 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * flow.c (notice_stack_pointer_modification_1): Cleanup.
 
-       * objc-actions.c (build_obj_method_call): Typo in NEXT case.
+2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
 
-       * next.h (HAVE_ATEXIT): Defined.
+       * function.c (adjust_trampoline_addr): New function.
+       (trampoline_address): Call it instead of round_trampoline_addr().
+       * tm.texi (TRAMPOLINE_ADJUST_ADDRESS): Document it.
 
-       * c-decl.c (duplicate_decls):
-       No error if override decl that has DECL_BUILT_IN_NONANSI.
+2000-12-14  Zack Weinberg  <zack@wolery.stanford.edu>
 
-       * Makefile.in (c-parse.c): Don't use -o, since cp-parse.output is big.
+       * cppfiles.c (hack_vms_include_specification): Delete function
+       (not used since 1998).
 
-       * Makefile.in (protoize, PROTOIZE): Delee these 2 new targets;
-       `protoize' was redundant.
+Fri Dec 15 03:37:51 2000  J"orn Rennecke <amylaar@redhat.com>
 
-       * c-typeck.c (build_function_call): If the fn is volatile,
-       make a pointer-to-volatile-function type pointer.
-       * calls.c (expand_call): Handle calls to such pointers as volatile.
+       * haifa-sched.c (sched_init): Don't put a note in front of any BARRIER.
 
-       * expmed.c (init_expmed): Pass all 3 args to `recog'.
+2000-12-14  Jim Wilson  <wilson@redhat.com>
 
-       * varasm.c (output_constant): For REAL_TYPE, mode_for_size arg is bits.
+       * alias.c (get_alias_set): Call record_component_aliases for
+       COMPLEX_TYPE.
+       (record_component_aliases): Handle COMPLEX_TYPE.
 
-       * sparc.md (storing SF into mem at symb addr): Fix typos.
+2000-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * protoize.c (my_access, my_stat, my_execvp, my_link, my_unlink):
-       (my_open, my_chmod): Macros that run access, stat,... with casts.
-       Renamed from former POSIX-only macros and made unconditional.
-       All calls to these functions also renamed.
+       * fixinc/gnu-regex.c: Disable NLS.
 
-       * m68k.h (LEGITIMATE_PIC_OPERAND_P): Undo change below,
-       thus making the behavior really change to accept all CONST_DOUBLE.
+2000-12-14  Richard Henderson  <rth@redhat.com>
 
-       * libgcc1.c, libgcc2.c: Renamed from gnulib1.c, gnulib2.c.
-       * gcc.c (link_command_spec): Link with libgcc.a.
-       * Makefile.in (libgcc): Rename targets and variables from gnulib.
-       * *.h, t-*, x-*: Rename refs to those symbols and files.
-       * expr.c (LIBGCC_NEEDS_DOUBLE): Renamed from GNULIB_...
+       * config/alpha/alpha.c (alpha_emit_conditional_move): Do not swap
+       comparison operands when that would create non-canonical rtl.
 
-       * m68k.c (symbolic_operand): Reject all CONST_DOUBLE.
-       * m68k.h (SELECT_RTX_SECTION): Use LEGITIMATE_PIC_OPERAND_P.
-       (LEGITIMATE_PIC_OPERAND_P): Reject the CONST_DOUBLEs
-       that symbolic_operand used to accept.
+       * config/i386/i386.md (umulsi3_highpart): Remove * from name.
+       (smulsi3_highpart): Likewise.
 
-Thu Jan  2 21:06:13 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-       * protoize.c (is_id_char,free_def_dec,check_aux_info):
-       Don't declare them `inline'.
-       (save_def_or_dec,munge_compile_params,find_extern_def,check_source,
-       scan_for_missed_items): Use alloca instead of variable length arrays.
+       * gcc.c (cpp_options): Add -remap.
 
-       * Makefile.in (protoize,unprotoize): Get $(LIBS) for alloca.
+2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-Thu Jan  2 21:40:52 1992  Jeffrey A Law  (law at b115.super.org)
+       * gcc.c (cpp_options): Update to use '&'.
+       (struct switchstr): Change type of validated to save space.
+       New member 'ordering'.
+       (handle_braces, validate_switches): Update to handle '&'.
 
-       * sparc.h (OPTIMIZATION_OPTIONS): Enable caller-saves for -O2
-       and higher optimization levels.
+2000-12-13  Laurynas Biveinis  <lauras@softhome.net>
 
-Thu Jan  2 06:46:56 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * fixinc/inclhack.def: skip stdio_va_list fix if __DJ_va_list
+       found in a header.
+       * fixinc/fixincl.x: regenerated.
 
-       * final.c (final_scan_insn): Compare debug_info_level with entries in
-       its enum, not with integers.
+2000-12-13  DJ Delorie  <dj@redhat.com>
 
-       * reg-stack.c ({SF,DF}mode_reg): Deleted.
-       (FP_mode_reg): New array, indexed by register and by mode.
-       (reg_to_stack): Replace initialization of old vars with initialization
-       of FP_mode_reg.
-       (replace_reg): Use new array.
+       * config.gcc (cygwin, win32, mingw32): Use float-i386.h.
 
-       * romp.c, romp.h, romp.md: Rename symbolic_operand to
-       romp_symbolic_operand.
+2000-12-13  Tom Tromey  <tromey@redhat.com>
 
-       * emit-rtl.c (init_emit_once): Create virtual registers before the
-       structure value regsisters, since the latter might use the former.
+       * gcc.c (handle_braces): Handle %{<S*} spec correctly.
 
-       * varasm.c (output_constant): Fix typo: missing arg to expand_expr.
+2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
 
-       * vax.md (call_pop, call_pop_value): Use correct register number for
-       stack pointer.  Add new patterns for case of zero args.
+       * function.c (assign_parms): Optimize incoming PARALLELs into
+       REGs if possible.
 
-Thu Jan  2 08:12:59 1992  Fred Fish  (fnf at sunfish)
+2000-12-13  Bruce Korb  <bkorb@gnu.org>
 
-       * x-amix:  Minor changes to some comments.
-       * x-amix (CCLIBFLAGS, GNULIB2_CFLAGS, XCFLAGS):  Remove definitions.
-       * x-amix (manext):  Add definition.
+       * fixinc/Makefile.in(*): substantial rewrite to accommodate systems
+       that cannot handle bi-directional pipes, viz. BeOS and DOS.
+       * fixinc/fixlib.h(IGNORE_ARG): new macro
+       (STATIC): define for all of fixinc to use
+       * fixinc/fixfixes.c(*): eliminate unused arg warnings
+       * fixinc/fixtests.c(*): ditto
+       * fixinc/fixincl.c(start_fixer): chain_open now uses const arg list
+       * fixinc/gnu-regex.c: reorder some includes to avoid _GNU_SOURCE
+       warning.  Also, eliminate the ``#ifdef emacs'' stuff.
+       (re_syntax_options): make global as it is declared so.
+       * fixinc/mkfixinc.sh: process the argument list more consistently
+       (beos/msdosdjgpp): set TARGETS to twoprocess vs. oneprocess
+       * fixinc/procopen.c(globals): include "fixlib.h" for std defs
+       * fixinc/server.c(globals): ditto
+       * fixinc/server.h(defines): ditto
 
-Thu Jan  2 11:14:28 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-       * fold-const.c (fold, case PLUS_EXPR): If association permits
-       reduction to var+0, convert var to the desired type before returning
-       it.
+       * tradcpp.c (special_symbol): Improve test for definedness,
+       though it is still not perfect.
+       (do_define): Don't define illegal macro names.
 
-Wed Jan  1 10:37:50 1992  Michael Tiemann  (tiemann at cygnus.com)
+2000-12-07  Aldy Hernandez  <aldyh@redhat.com>
 
-       * expr.c (convert_move): When GET_MODE_BITSIZE (TO_MODE) >
-       BITS_PER_WORD, check that it's also > GET_MODE_BITSIZE (FROM_MODE).
+       * config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits
+       if changing into .bss section.
+       * config/mips/elf64.h: same.
+       * config/mips/iris6.h: same.
+       * config/mips/netbsd.h: same.
+       * config/mips/openbsd.h: same.
 
-       * expr.c (expand_expr): In CONSTRUCTOR case, preserve
-       MEM_IN_STRUCT_P when creating a new target when TARGET and EXP might
-       not be independent.
+2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-Wed Jan  1 18:32:03 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * cppfiles.c (read_name_map): Return null if open () fails.
+       (remap_filename): Simplify logic.  Add ICE if it doesn't work
+       as expected. Perform secondary lookup attempt on base filename
+       only.
 
-       * c-parse.y (parmlist_1): Accept `PARMS; PARMS'.
-       (parmlist_or_identifiers_1): Likewise.  Also use plain parmlist_2.
-       Delete the ([names] decls) syntax.
-       (defn_parms, defn_parmlist_2): Deleted.
-       * c-decl.c (get_parm_info): Put parm decls into original order.
-       Don't nreverse the original decls list.
-       (pushdecl, duplicate_decls): Avoid error for forward parm decl.
-       (clear_parm_order): New function.
-       (push_parm_decl): Record original order of parms.
+Wed Dec 13 19:48:04 MET 2000  Jan hubicka  <jh@suse.cz>
 
-       * c-decl.c (struct binding_level): New slot subblocks_tag_transparent.
-       (pushlevel): Use that, not ->parm_flag.
-       (start_function): Set that slot.
+       * flow.c (notice_stack_pointer_modification_1): Notice midifications
+       using PRE_MODIFY and POST_MODIFY.
 
-       * config.sub: Always distinguish between amix and sysv4.
-       Convert commodore to cbm and digital to dec.
+Wed Dec 13 17:25:32 MET 2000  Jan Hubicka  <jh@suse.cz>
 
-       * m68k.md (stack adjust then push SI): New peephole.
+       * genoutput.c (process_template): Add sanity checking for '@' templates.
 
-       * m68k.h, fx80.h (WCHAR_TYPE): Use precisely "long int".
-       * sun3.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Undef before defining.
+2000-12-13  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * cexp.y (yylex): Use LONG_TYPE_SIZE, not INT_TYPE_SIZE.
-       (LONG_TYPE_SIZE): Add default definition.
+       * simplify-rtx.c (cselib_finish): Free reg_values and used_regs
+       varrays.
 
-       * objc-actions.c: Declare index and rindex.
-       (build_module_descriptor): Simplify last change.
-       Use a fixed name for the initialization function.
-       (init_objc): Don't do constructor here.
-       (finish_objc): Do it here, with proper name if not NEXT_OBJC_RUNTIME.
+2000-12-12  Mike Stump  <mrs@wrs.com>
 
-       * protoize.c: Unprotoized.
-       (edit_file): Improve message in -n case.
+       * Makefile.in (distclean): Remove safe-ctype.c as well.
 
-       * Makefile.in (LANGUAGES): Add proto.
-       (C, C++, OBJC, OBJECTIVE-C): Aliases for l.c. targets.
-       (PROTOIZE, protoize, PROTO): Aliases for proto.
-       (rest.encap): Delete dep `proto'.
+2000-12-12  Brad Lucier <lucier@math.purdue.edu>
 
-Wed Jan  1 15:07:41 1992  Michael Meissner  (meissner at osf.org)
+       * tradcpp.c (do_error): Cast difference of pointers to int
+       for error message.
 
-       * mips.md (extend*): Use gen_lowpart to make the SUBREG, rather than
-       doing it wrong by hand.  If not optimizing, make sign extends from
-       memory not force the operand into a register first and do two
-       shifts -- combine already does this when optimizing.
-       (copyright): Add 1992 to list of years the file was modified.
+2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
-Wed Jan  1 06:10:01 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Move from here...
+       * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): ...to here.
 
-       * reload1.c (reload): When forcing an illegitimate constant into
-       memory, use mode of SET_DEST in case constant is VOIDmode.
+2000-12-12  Jim Wilson  <wilson@redhat.com>
 
-       * stmt.c (expand_end_case): Pass index type to emit_case_nodes instead
-       of unsigned flag.
-       (node_has_{low,high}_bound): Accept INDEX_TYPE as an argument and see
-       if the a node value is at the limit of values of the type.
-       (node_is_bounded): Accept INDEX_TYPE and pass to above functions;
-       always call them.
-       (emit_case_nodes): Accept INDEX_TYPE instead of UNSIGNEDP as arg;
-       pass index type to recursive calls and to calls to bound checking
-       functions.
+       * rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT.
 
-       * varasm.c (assemble_integer_zero): Deleted.
-       (assemble_integer, assemble_real): New functions.
-       (output_constant_pool, output_constant): Use new functions.
-       * final.c (end_final, profile_function): Likewise.
+2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
 
-       * calls.c (calls_alloca): Don't interpret operands that are RTL as if
-       they were trees; check args of nested CALL_EXPR for alloca calls.
+       * configure.in: Simplify language enabling/disabling code.
+       * configure: Rebuilt.
+       * ch/config-lang.in (target_libs): Set.
+       (build_by_default): Set to no.
+       * cp/config-lang.in (target_libs): Set.
+       * f/config-lang.in (target_libs): Set.
+       * java/config-lang.in (target_libs): Set.
+       * objc/config-lang.in (target_libs): Set.
 
-Wed Jan  1 16:51:30 1992  Fred Fish  (fnf at fishpond)
+2000-12-12  Neil Booth  <neil@daikokuya.demon.co.uk>
 
-       * Makefile.in (manext): Include the '.' character.
-       (mandir): Don't use manext.
-       (install-man, uninstall): Change uses of manext.
+       * tradcpp.c (enum node_type): Add T_ERROR.
+       (do_error): New function.
+       (directive_table): Add #error handler.
 
-Wed Jan  1 21:31:01 1992  Ron Guilmette  (rfg at ncd.com)
+2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
-       * i860.md (cmpeqsi, cmpltsi, cmpgtsi):  Made control flow more obvious.
-       (cmpnesi, cmplesi, cmpgesi):  New patterns.
-       (cmpgeusi, cmpleusi):  Fixed bug in compares against zero.
+       * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check
+       for powerpc*-*-*.
+       * configure: Regenerated.
+       * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+       * config/rs6000/rs6000.c (rs6000_unique_section): Use
+       STRIP_NAME_ENCODING.
 
-Tue Dec 31 11:16:37 EST 1991   Dennis P. Glatting (...!uunet!tti!dennisg)
+Mon Dec 11 13:51:09 2000  Jeffrey A Law  (law@cygnus.com)
 
-       * objc-actions.c (build_module_descriptor): Emit a constructor 
-       function.  Constructor function calls a ObjC run-time routine passing
-       a pointer to the module's module structure.
-       (init_objc): Call different constructor function if not Next.
-       (build_selector_translation_table): Don't give a selector global scope.
-       Changed in construction of decl_specs.
+       * pa.c (cmpib_comparison_operator): Remove GEU and LTU.
+       * pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding
+       changes.
 
-Tue Dec 31 18:06:23 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-12-11  Bruce Korb  <bkorb@gnu.org>
 
-       * genrecog.c (add_to_sequence): Clear PREDS for "const_int_operand".
-       (same_modes): Properly check when we should ignore a mode test.
+       * fixinc/fixincl.tpl: initialize all fields for warnings
+       * fixinc/fixincl.x: regenerate
 
-       * reload1.c (emit_reload_insns): Only change spill_reg_store for
-       output reloads.
-       Clear spill_reg_store when we did an input reload to a spill register.
-       (delete_output_reload): Use single_set.
-       (count_occurrences): Don't count use which is SET_DEST.
+2000-12-11  Neil Booth  <neilb@earthling.net>
 
-Tue Dec 31 16:51:37 1991  Michael Meissner  (meissner at osf.org)
+       * tradcpp.h: For tradcpp, NUL is not whitespace.
 
-       * mips.h (MIPS_VERSION): Change Meissner version # to 6.
-       (ASM_FINAL_SPEC): Don't pass -d and friends to mips-tfile.
-       (CONSTANT_ALIGNMENT): Align constructors on word boundaries.
+2000-12-11  Neil Booth  <neilb@earthling.net>
 
-       * mips.md (extend*): Replace sign extension insns with a
-       define_expand that converts the expansion into the appropriate
-       shifts.  Add insns that do sign extension from memory, which the
-       optimizer will utilitize if the thing being sign extended really
-       comes from memory.  This allows the shifts to compete for CSE, at a
-       potential cost of generating worse code if reload spills a HI or QI
-       register to the stack.
-       (sne define_split): Instead of using a constant 0 as the second
-       argument to the slti instruction, use a hard coded regisiter 0.
+       * fix-header.c (read_scan_file): Macro expansion is not a file buffer.
 
-       * mips-sysv.h (MD_STARTFILE_PREFIX): Define to point into the
-       directory where the MIPS compilers live.
-       (LIB_SPEC): Add crtn.o after all libs.
-       (STARTFILE_SPEC): Use crt1.o, not crtn.o.
-       (MACHINE_TYPE): Correct typo, this is System V, not BSD.
-       Changes are from Ron Guilmette (rfg at ncd.com).
+2000-12-05  Marek Michalkiewicz  <marekm@linux.org.pl>
 
-       * configure (mips-*-sysv): Correctly use mips-sysv.h instead of
-       mips.h.  Change is from Ron Guilmette.
+       * config/avr/avr.c (compare_condition, compare_sign_p): New functions.
+       (compare_diff_p, compare_eq_p): Call compare_condition.
+       (out_tsthi, out_tstsi): Call compare_sign_p.
+       (avr_progmem_p): Check for error_mark_node.
 
-Tue Dec 31 16:51:37 1991  Michael Stump  (mrs at charlie.secs.csun.edu)
+2000-12-11  Neil Booth  <neilb@earthling.net>
 
-       * t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips: Remove
-       collect2 from EXTRA_PASSES, as collect2 does not need installing as
-       collect2.  Also, change the symlink back to a hard link.
+       * cpperror.c (print_location): New function.
+       (print_containing_files): Simplify.
+       (_cpp_begin_message): Simplify and use print_location.
+       * cppfiles.c (stack_include_file): Update.
+       (_cpp_pop_file_buffer): Update.
+       * cpphash.h (struct cpp_buffer): New members
+       include_stack_listed and type.
+       * cpplib.c (_cpp_handle_directive): Buffer->inc is not null.
+       (run_directive): Take buffer type.  cpp_push_buffer cannot fail.
+       (_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef,
+       handle_assertion): Update.
+       (cpp_push_buffer): Take a buffer type and file name.
+       (cpp_pop_buffer): Update.  Clear include_stack_listed.
+       * cpplib.h (input_stack_listing_current): Remove.
+       (enum cpp_buffer_type): New.
+       (cpp_push_buffer): New prototype.
+       * cppmacro.c (builtin_macro): Simplify; buffer cannot be null.
+       * fix-header.c (read_scan_file): Update.
 
-       * Makefile.in: Add collect2 to STAGESTUFF as it is something that
-       needs removing or moving to stagen, but it should not be installed.
+2000-12-10  Robert Lipe <robertlipe@usa.net>
 
-Tue Dec 31 15:47:50 1991  Michael Tiemann  (tiemann at hal)
+       * install.texi (i*86-*-sco3.2v5*): Remove information duplicated
+       in html version.
 
-       * combine.c (simplify_comparison): Swap evaluation of OP0 and OP1 so
-       the lattern can use the result of the former.
+2000-12-10  Richard Henderson  <rth@redhat.com>
 
-       * conditions.h: In comments, refer to `tm.h', since `tm-' is no
-       longer the form used for these files.
+       * genrecog.c (find_operand): Handle 'V' format code.
+       (find_matching_operand): New.
+       (validate_pattern): Accept '=' for an in-out operand if there
+       is another operand with a matching constraint.
 
-Tue Dec 31 11:45:26 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/i386/i386.md (andqi_ext_0_cc): Use matching constraint
+       for op1 to op0.
 
-       * cp-lex.c (lineno, finput): Decls deleted.
+2000-12-10  Richard Henderson  <rth@redhat.com>
 
-       * global-alloc.c (find_reg): New arg RETRYING.
-       (retry_global_alloc, global_alloc): Pass that arg.
+       * genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko.
 
-       * Makefile.in (*protoize, *protoize.o): Compile with CC.
-       * protoize.c: Include config.h, not tconfig.h.
-       Always define _POSIX_SOURCE.
+2000-12-09  Richard Henderson  <rth@redhat.com>
 
-       * convex*.h (CPP_SPEC): !ansi controls _POSIX_SOURCE, _CONVEX_SOURCE.
-       * conv1*.h, conv2*.h: Files deleted.
+       * genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and
+       STRICT_LOW_PART as SET_DEST have in-out constraints.
 
-       * m68k.h, fx80.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Defined.
+2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Tue Dec 31 08:08:32 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * c-common.c (check_function_format): Don't suggest adding format
+       attributes to functions with no parameter to which to add them.
 
-       * cexp.y (yylex): Record the parsed characters when dealing with
-       multibyte characters.
+2000-12-09  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.c (arm_expand_prologue): Mark the generated
+       insn not the set as being DWARF2_FRAME_RELATED_P.
+
+2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
+
+       * Makefile.in: use $(build_exeext) for all build
+       system executable targets.
+
+2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
+
+       * install.texi: remove i[345]86-*-winnt3.5 section.
+       * configur.bat: removed.
+       * config/msdos: directory removed.
+
+2000-12-09  Neil Booth  <neilb@earthling.net>
+
+       * cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h.
+       * cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete.
+       * cpplex.c (parse_identifier): Improve diagnostic.
+       (_cpp_lex_token): Return unconditionally at the end of a directive.
+       * cpplib.c (read_flag): Verify legality of each flag.
+       (end_directive): Resotre pfile->skipping before skip_rest_of_line.
+       (do_line): Use the new read_flag.
+       * cppmacro.c (struct cpp_macro, parse_arg, replace_args,
+       check_macro_redefinition, parse_params): Rename var_args to
+       variadic.
+
+2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * .cvsignore: Add info files.
+
+2000-12-08 Laurynas Biveinis <lauras@softhome.net>
+
+       * config/winnt: Remove obsolete directory.
+       * install.texi (Configurations): Remove obsolete documentation for
+       Windows NT.
+
+2000-12-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * configure.in: Don't define INSTALL_INFO.
+       * configure: Regenerate.
+       * Makefile.in (INSTALL_INFO): Remove.
+       (info): Depend on info files in source directory.
+       (cpp.info, gcc.info, c-tree.info): Build info files in source
+       directory.
+       (distclean): Don't remove info files.
+       (maintainer-clean): Remove info files from source directory.
+       (install-normal): Depend on install-info.
+       (install-info): Install info files from source directory, if they
+       exist.
+       * texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org.
+
+2000-12-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       * lcm.c (optimize_mode_switching): Check whether an insn is a NOTE
+       before taking its NOTE_LINE_NUMBER.
+
+2000-12-08  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.md (load_indirect_jump): Add pool ranges.
+
+       * extend.texi: Document ARM "interrupt" function attribute.
+       Mention that the ARM also support the "naked" function
+       attribute.
+
+       * config/arm/arm-protos.h (arm_current_func_type): Add
+       prototype.
+
+       * config/arm/arm.h (EXCEPTION_LR_REGNUM): Define.
+       (struct machine_function): Add 'func_type' field.
+       Define bit values for 'func_type' field.
+       (ARM_FUNC_TYPE): New macro.
+       (IS_INTERRUPT): New macro.
+       (IS_VOLATILE): New macro.
+       (IS_NAKED): New macro.
+       (IS_NESTED): New macro.
+       (ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE.
+
+       * config/arm/arm.c (isr_attribute_args): New Structure.  A
+       list of "interrupt" function attribute modifiers.
+       (arm_isr_value): New Function: Returns the type of the current
+       interrupt function.
+       (arm_compute_func_type): New Function: Computes the type of
+       the current function.
+       (arm_current_func_type): New Function: Returns the type of the
+       current function.
+       (use_return_insn): Use arm_current_func_type.
+       (arm_valid_type_attribute_p): Accept "interrupt" function
+       attribute.
+       (arm_comp_type_attributes): Check "interrupt" attributes.
+       (arm_valid_machine_decl): Accept "interrupt" function
+       attribute.
+       (arm_function_ok_for_sibcall): Do not allow interrupt
+       functions to use sibcalls.
+       (arm_naked_function_p): Delete.
+       (print_multi_reg): Remove redundant parameter 'hat'.
+       (arm_compute_save_reg_mask): New Function: Compute a bit mask
+       of registers saved during the current function's prologue.
+       (output_arm_return_instruction): Use arm_current_func_type.
+       Generate return instruction when LR is not poppsed off the
+       stack.
+       (arm_volatile_func): Delete.
+       (output_arm_prologue): Use arm_current_func_type and
+       arm_compute_save_reg_mask.
+       Note presernce of interrupt functions.
+       (arm_output_epilogue): Use arm_current_func_type and
+       arm_compute_save_reg_mask.
+       (arm_expand_prologue): Use arm_current_func_type and
+       arm_compute_save_reg_mask.
+       (arm_init_machine_status): Initialize func_type field, if
+       necessary.
+       (thumb_expand_prologue): Use arm_current_func_type.
+       (output_thumb_prologue): Use arm_current_func_type.
+
+2000-12-08  Brad Lucier <lucier@math.purdue.edu>
+
+       * tradcpp.c (do_include): Make pointer differences 64-bit clean.
+
+Fri Dec  8 08:23:29 2000  J"orn Rennecke <amylaar@redhat.com>
+
+       * fp-bit.c (_fpmul_parts): Use USItype variables as inputs
+       for multiplies.
+
+2000-12-07  Mike Stump  <mrs@wrs.com>
+
+       * Makefile.in (distclean): Remove alloca.c hashtab.c.
+
+2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * Makefile.in (HOST_RTL): Add safe-ctype.o.
+       (safe-ctype.o): New rule.
+       * system.h: Include safe-ctype.h, not ctype.h.  No need to
+       wrap ctype macros.
+
+       * cpphash.h: Zap IStable and related macros.  Define is_* in
+       terms of safe-ctype.h macros.
+       * cppinit.c: Delete the IStable and all related code.
+
+       * tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
+       is_space arrays.  Delete initialize_char_syntax.  Change all
+       references to the above arrays to use macros instead.
+       * tradcpp.h: Define is_idchar, is_idstart, is_space, and
+       is_nvspace in terms of safe_ctype.h's macros.
+       * tradcif.y: is_idchar, is_idstart are macros not arrays.
+
+       * config/i370/i370.c, config/winnt/dirent.c,
+       config/winnt/fixinc-nt.c, config/winnt/ld.c:
+       Use uppercase ctype macros.  If we included ctype.h,
+       include safe-ctype.h instead.
+
+       * fixinc/fixfixes.c: Use uppercase ctype macros.  Don't test
+       ISLOWER(c) before calling TOUPPER(c).
+       * fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
+       * fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h.  No need to
+       wrap ctype macros.  Don't test ISUPPER(x) before calling TOLOWER(x).
+
+2000-12-07  DJ Delorie  <dj@redhat.com>
+
+       * c-decl.c (grokdeclarator): preserve previous alignments when
+       rebuilding array types.
+
+2000-12-07  Neil Booth  <neilb@earthling.net>
+
+       * cppfiles.c (struct include_file): Move from cpphash.h.
+       (_cpp_never_reread): New function.
+       (open_file, read_include_file): Use it.
+       (stack_include_file): Set the buffer's sysp according to the
+       path in which the file was found.
+       (find_include_file): Don't set sysp.
+       (cpp_make_system_header, actual_directory): Update.
+       (_cpp_execute_include): Do #include_next lookup handling here,
+       not in cpplib.c.  Use _cpp_never_reread.
+       * cpphash.h (struct_include_file): Remove.
+       (struct cpp_buffer): New member sysp.
+       (CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
+       (_cpp_never_reread): New.
+       * cpplib.c (read_line_number): Rename read_flag.  Rework slightly.
+       (end_directive): Clear line_extension flag.
+       (_cpp_handle_directive): Set line_extension flag for #number.
+       (do_include_next): Handle path lookup in _cpp_execute_include.
+       (do_line): Cleanup to use read_flag.  Don't allow flags in #line.
+       (_cpp_do_file_change): Update.
+       (do_pragma_once): Use cpp_never_reread.  Clean up.
+       * cpplib.h (struct lexer_state): New member line_extension.
+
+2000-12-07  Richard Henderson  <rth@redhat.com>
+
+       * flow.c (calculate_global_regs_live): Force the stack pointer live
+       after reload as well.
+
+2000-12-07  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/Makefile.*(exeext): the variables are exeext, the
+       substitution expression is build_exeext.
+
+2000-12-07  Neil Booth  <neilb@earthling.net>
+
+       * c-common.c (parse_in): Make a cpp_reader *.
+       * cppfiles.c (_cpp_fake_include): Remove.
+       * cpphash.h: Similarly.
+       * cpplib.c (do_line): Don't call _cpp_fake_include.  A valid
+       #line always creates a callback; FC_RENAME if there are no
+       #line flags.
+       * fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
+       The first EOF must be our get_char buffer.
+
+2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (warn_format_security): New variable.
+       (check_format_info): Warn about non-literal formats with no format
+       arguments if either -Wformat-nonliteral or -Wformat-security is
+       specified.
+       (set_Wformat): Set warn_format_security for settings other than 1.
+       * c-common.h (warn_format_security): Declare.
+       * c-decl.c (c_decode_option): Decode -Wformat-security and
+       -Wno-format-security.
+       * invoke.texi: Document -Wformat-security.
+       * toplev.c (documented_lang_options): Include -Wformat-security
+       and -Wno-format-security.
+
+2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (check_format_info): Warn for non-constant format
+       strings with strftime formats if -Wformat-nonliteral.  Where the
+       format can convert arguments, if the format is not a string
+       literal and there are no arguments to the format, give a different
+       warning message from the general non-string-literal case.
+
+2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (format_wanted_type): Add reading_from_flag.
+       (print_char_table): Mark %s and %S formats with flag "R".
+       (check_format_info_main): Set up reading_from_flag appropriately.
+       If aflag, always set writing_in_flag rather than relying on the
+       format used being a scanf format and so having it set.
+       (check_format_types): Check for formats reading through null
+       pointers.
+
+2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * invoke.texi (-Wformat): Document what format features are
+       checked.
 
-Mon Dec 30 17:13:30 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+2000-12-06  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.h: Fix formatting.
+
+2000-12-06      Joel Sherrill <joel@OARcorp.com>
+
+       * config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
+       h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
+       * config.gcc (*-rtems*): Add support for gthr-rtems.h.
+       * gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
+       config/h8300/rtems.h, config/mips/rtems.h: New files.
+
+2000-12-06  Mark Kettenis  <kettenis@gnu.org>
+
+       * config.gcc: Reorganize handling of *-*-gnu*, to share target
+       specific make details with Linux.  Update comments to clarify
+       the distinction between GNU/Linux and GNU/Hurd.
+
+Wed Dec  6 19:22:02 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * contrib.texi: Fix my email address.  Update Per's
+       list of contributions.
+
+2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
+
+       * c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX.
+       * collect2.c (scan_libraries): Remove unused `ch'.
+       (COFF specific stuff): Prototype ldgetname.  Declare and prototype
+       ldbtread and ldclose.
+
+       * config/alpha/osf.h: Standarize copyright statement.
+       * config/arc/arc.h: Likewise.
+       * config/arm/elf.h config/arm/coff.h config/arm/aout.h: Likewise.
+       * config/arm/arm.c config/arm/arm.h: Likewise.
+       * config/elxsi/elxsi.h: Likewise.
+       * config/i386/sco.h: Likewise.
+       * config/m68k/crds.h config/m68k/hp320.h config/m68k/lynx.h: Likewise.
+       * config/m68k/m68kv4.h config/m68k/next21.h: Likewise.
+       * config/m68k/sun3.h: Likewise.
+       * config/m88k/dgux.h config/m88k/dguxbcs.h: Likewise.
+       * config/pdp11/2bsd.h config/pdp11/pdp11.h: Likewise.
+       * config/romp/romp.h: Likewise.
+       * config/rs6000/aix41.h: Likewise.
+       * config/sparc/sysv4.h: Likewise.
+       * config/we32k/we32k.c config/we32k/we32k.h: Likewise.
+       * fixinc/gnu-regex.c fixinc/gnu-regex.h: Likewise.
+       * cpplib.h cppexp.c cselib.h profile.c: Likewise.
+       * longlong.h: Likewise.
+       * libgcc2.c: Likewise.
 
-       * i386.md (mulhi3,mulsi3): If a multiply by constant 128, use the
-       two operand multiply instead of three operand form: the AT&T
-       assemblers generate incorrect object code for the latter.
+2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
 
-Mon Dec 30 17:39:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * machmode.def: Use correct definition for BITSIZE on targets where
+       BITS_PER_UNIT != 8.
 
-       * jump.c (jump_optimize): Complete last change: use expand_and result.
+2000-12-06  Bruce Korb  <bkorb@gnu.org>
 
-       * reload1.c (emit_reload_insns): Check if reload_in needs a secondary
-       reload if we have an in-out reload, since it might have been the
-       output the needed the secondary reload.
+       * fixinc/Makefile.*: Reduce differences to (ultimately) reduce
+       the number of them.
 
-       * cse.c (simplify_unary_operation): Mode of integer CONST_DOUBLE is
-       VOIDmode, not DImode.
+2000-12-06  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
-       * fold-const.c (fold, case COND_EXPR): Make an ABS_EXPR when the
-       comparison is LE_EXPR or LT_EXPR.
+       * pa.c: Include expr.h before c-tree.h.
+       (remove_useless_addtr_insns): Use reverse_condition_maybe_unordered
+       instead of reverse_condition.
+       (print_operand): Correct predicates for GT, GE, LT and LE.  Add
+       predicates for LTGT, UNLE, UNLT, UNGE, UNGT, UNEQ, UNORDERED and
+       ORDERED.
+       (cmpib_comparison_operator): Add GEU and LTU codes.
+       * pa.h (PREDICATE_CODES): Add codes for cmpib_comparison_operator.
+       * pa.md (bltgt, bunle, bunlt, bunge, bungt, buneq, bunordered,
+       bordered): New float conditional branch patterns.
 
-       * calls.c (calls_alloca): New function.
-       (expand_call): Preexpand any argument that contains a call to alloca
-       if this call will use the stack.
+Wed Dec  6 21:03:41 2000  J"orn Rennecke <amylaar@redhat.com>
 
-       * rs6000.h (DATA_SECTION_OP): Make result a string to avoid compilation
-       error.
+       * final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.
 
-       * rs6000.h, sparc.h, sun2o4.h, sun3.h (WCHAR_TYPE_SIZE): Fix
-       incorrect definition.
+2000-12-06  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
 
-Mon Dec 30 16:10:46 1991  Michael Meissner  (meissner at osf.org)
+       * cpplex.c (skip_escaped_newlines): Don't warn for spaces between
+       backslash and newline, when inside a comment.
 
-       * mips.h (CC1_SPEC): Complete change deleting -mnogpopt and -mngpopt
-       in favor of -mno-gpopt.
+2000-12-06  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Mon Dec 30 11:32:05 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * invoke.texi: Use @table @samp instead of @itemize @minus for
+       table of language standards.  Fix use of @pxref.  From Zack
+       Weinberg.  Also exclude specs documentation from generated
+       manpage, and create separate ENVIRONMENT section.
 
-       * cp-class.c (build_vtable): If we're doing #pragma interface
-       and the interface is known, set TREE_PUBLIC, regardless of
-       TREE_EXTERNAL settings.
+2000-12-06  Michael Matz  <matzmich@cs.tu-berlin.de>
 
-       * cp-decl.c (make_temporary_for_reference): Don't call
-       `convert_pointer_to', since the type may not be an aggr type.
+       * gcse.c (compute_pre_data): Kill trapping expressions in
+       destination blocks of abnormal edges.
 
-       * cp-decl.c (finish_decl): Now takes 4th arg NEED_POP.
-       All callers changed.
+2000-12-05  Richard Sandiford  <r.sandiford@redhat.com>
 
-       * cp-class.c (permanent_obstack): Declare it.
-       (add_method): push and pop obstacks before changing out of/into
-       temporary allocation.
-       * cp-decl.c (implicitly_declare): Add
-       push_obstacks_nochange/pop_obstacks around changes out of/into
-       temporary allocation.
-       (shadow_tag,xref_tag,start_decl,finish_decl): Ditto.
-       * cp-decl2.c (grokfield,get_temp_name): Ditto.
-       * cp-except.c ({ansi_}lookup_exception_object): Ditto.
-       * cp-lex.c (get_time_identifier): Ditto.
-       * cp-tree.c (build_exception_variant): Ditto.
-       * cp-typeck.c (mark_addressable): Ditto.
+       * config/mn10300/mn10300.c (mn10300_print_reg_list): Added.
+       (mn10300_get_live_callee_saved_regs): Likewise.
+       (mn10300_gen_multiple_store): Likewise.
+       (store_multiple_operation): Likewise.
+       (expand_prologue): Use mn10300_gen_multiple_store().
+       * config/mn10300/mn10300-protos.h (mn10300_print_reg_list): Added.
+       (mn10300_get_live_callee_saved_regs): Likewise.
+       (mn10300_gen_multiple_store): Likewise.
+       (store_multiple_operation): Likewise.
+       * config/mn10300/mn10300.md (store_movm): Use a MATCH_PARALLEL
+       tied to store_multiple_operation().
 
-       * cp-decl.c (grokdeclarator,maybe_build_cleanup): Delete calls to
-       preserve allocation status.  Now handled by callers.
+Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
 
-Mon Dec 30 01:44:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * builtins.c (expand_builtin_setjmp_setup): Set
+       current_function_has_nonlocal_label.
 
-       * c-lex.c (yyprint): Function moved here.
-       * c-parse.y, objc-parse.y: Moved from here.
+2000-12-05  Neil Booth  <neilb@earthling.net>
 
-       * Makefile.in (c-parse.c, objc-parse.c, cp-tab.c, cexp.c):
-       cd to srcdir to run Bison.
+       * cppfiles.c (stack_include_file): Push zero-length buffers
+       in case of failure.  Return void, as we don't fail any more.
+       (read_include_file): Check for files we shouldn't re-read.
+       Don't return an error code; errors are implied by marking the
+       file NEVER_REREAD.
+       (_cpp_execute_include): Move the recursion and in-macro checks
+       here.  Update for stack_include_file not failing.
+       * cpplib.c (cpp_push_buffer): Always succeed, since
+       _cpp_execute_include performs the recursion check.  Tidy up.
+       * cpplib.h (cpp_push_buffer): Update prototype.
 
-       * c-lex.c (check_newline): Get rid of #ident pedantic warning.
-       * cccp.c (do_ident): Put it here.
-       Don't warn if in system header file.
+2000-12-05  Alexandre Oliva  <aoliva@redhat.com>
 
-       * cccp.c (main, finclude): Warn if file ends in backslash-newline.
+       * sched-vis.c (visual_tbl_line_length): New variable.
+       (get_visual_tbl_length): Set it.
+       (visualize_stall_cycles): Don't let stalls overrun
+       visual_tbl_line_length.
 
-       * next.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): New definitions.
+2000-12-05  Geoffrey Keating  <geoffk@redhat.com>
 
-       * global-alloc.c (find_reg): Kick out local regs if that helps.
-       (global_alloc): Set up vars local_regs_live_length, local_regs_n_refs.
+       * global.c (global_conflicts): Allow for a REG_UNUSED note
+       with a different mode to the REG set in the insn.
 
-       * protoize.c (do_processing): Fix setting syscalls_absolute_filename.
+2000-12-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * configure (m68k-*-sysv4*, m68k-*-amix*): New alternatives.
-       * config.sub (*-commodore): Default OS to Amigados.
-       (-amix*): Allow this as input.
-       (amiga): New abbreviation.
+       * Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir.
 
-       * sparc.c (output_function_epilogue): Skip unimp differently in leaf.
-       Use jmp insn rather than separate add.
-       (output_return): Skip unimp here too.
-       * sparc.md (return "peepholes"). Handle skipping the unimp.
+       * fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS).
 
-       * fold-const.c (fold, optimizing 2*EXPR): Use save_expr.
+2000-12-05  Bruce Korb  <bkorb@gnu.org>
 
-       * varasm.c (make_decl_rtl): Permit initializer for local explicit reg.
+       * fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and
+       GNU/Linux.
 
-       * c-decl.c (kept_level_p):  Changed to also return TRUE for binding
-       levels which contain only tagged type declarations.
+2000-12-05  Richard Earnshaw  <rearnsha@arm.com>
 
-       * calls.c (expand_call): Cleaned up prev change.
+       * fixinc/mkfixinc.sh: Run fixinc on netbsd.
+       * fixinc/inclhack.def (machine/ansi.h): Run this rule on all files,
+       to cope with aliased copies.
+       * fixinc/fixincl.x: Regenerate.
 
-Mon Dec 30 11:29:47 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
+2000-12-05  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * cp-lex.c (real_yylex): Call REAL_VALUE_TRUNCATE with 2 args.
+       * sched-vis.c: Guard with #ifdef INSN_SCHEDULING.
+       * sched-rgn.c: Likewise.
+       (rgn_print_insn): Fix output.
 
-       * calls.c (expand_call): Handle allocating ARGBLOCK in the case
-       that ACCUMULATE_OUTGOING_ARGS is not defined.
+2000-12-05  Bruce Korb  <bkorb@gnu.org>
 
-Mon Dec 30 10:27:11 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+       * fixinc/Makefile.*: make these more consistent
+       * fixinc/mkfixincl.sh: enable BeOS fixincludes
 
-       * protoize.c: fix typo in <sys/wait.h> inclusion.
+2000-12-05  Richard Henderson  <rth@redhat.com>
 
-Mon Dec 30 06:16:16 1991  Leonard Norrgard  (vinsci at nic.funet.fi)
+       * stmt.c (warn_if_unused_value): Move side effects test earlier.
 
-       * c-decl.c (grokdeclarator): Changed erroneus error message.
+2000-12-05  Alan Modra <alan@linuxcare.com.au>
 
-Sun Dec 29 16:16:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * bb-reorder.c (reorder_basic_blocks): Do check for EH edges even
+       when using sjlj.
 
-       * toplev.c (main): Last -On option wins.
-       * Makefile.in (ENQUIRE_CFLAGS): Add -O0.
+2000-12-05  Richard Henderson  <rth@redhat.com>
 
-       * Makefile.in (cp-tab.c): Change "expect" message.
+       * flow.c (calculate_global_regs_live): Only force stack pointer
+       live before reload.  Force pic register live before reload.
+       (insn_dead_p): Don't protect pic references from deletion.
 
-       * final.c (leaf_renumber_regs): Renumber just the PATTERN.
+2000-12-05  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Sun Dec 29 14:20:15 1991  Per Bothner  (bothner at cygnus.com)
+       * invoke.texi: Add support for using texi2pod.pl.  Don't use
+       @multitable.
 
-       * dbxout.c (dbxout_type): Tiemann's DECL_IGNORED_P optimization (Nov
-       20) was a little too drastic: If it succeded, no type info was
-       emitted at all, which made for syntactically invalid stabs.
-       Instead, just set 'full=0',
-       * dbxout.c (dbxout_symbol): Re-write code for TYPE_DECL to be a
-       little cleaner.  It *seems* to work ...
+2000-12-04  Nick Clifton  <nickc@redhat.com>
 
-Sun Dec 29 07:04:22 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/arm/arm.c (arm_override_options): Test 'insn_flags' not
+       'tune_flags' for XScale nature.
+       Remove spurious test of HARD_FLOAT and XScale flags.
 
-       * expr.c (convert_move): Add truncates from DImode to smaller modes.
-       (move_by_pieces, move_by_pieces_ninsns): Rework to remove explicit
-       references to integer modes.
-       Never need to align greater than BIGGEST_ALIGNMENT.
+       * config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
+       contraint, accidentally changed during XScale contribution.
 
-       * optabs.c (init_extends, init_fixtab, init_floattab, init_optabs):
-       Add TImode operations.
+       * config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do
+       not create these functions if the target architecture does not
+       support Thumb instructions.
 
-       * reload.c (find_reloads): Prefer alternatives that reload SCRATCH
-       instead of something else.
+2000-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * rs6000.md (movti): Adjust constraints and alternative order so
-       we actually get to use the  stsi insn.
+       * ONEWS: New file with the current contents of NEWS up to EGCS
+       1.1.
+       * NEWS: Generate automatically from online release notes from EGCS
+       1.0 to GCC 2.95.2, using ../contrib/gennews.
 
-       * rs6000.h (REG_ALLOC_ORDER): Put r9 in front of r11 so we don't try to
-       put a TImode value in r11 as often.
+2000-12-04  Neil Booth  <neilb@earthling.net>
 
-       * caller-save.c (setup_save_areas): New parameter pchanged; set when
-       memory is allocated.
-       * reload1.c (reload): Pass pointer to something_changed to
-       setup_save_areas.
+       * tradcif.y: Move lexptr to top of file.  Add rule to handle
+       assertions in conditional expressions.
+       * tradcpp.c (parse_answer): Assertions do not need to go to
+       end of line in conditional directives.
+       (parse_assertion): Get first character of identifiers correct.
+       (test_assertion): New function.
+       * tradcpp.h (test_assertion): New prototype.
 
-       * loop.c (scan_loop): Don't suppress moving insns that can trap just
-       because we have passed a call inside a libcall/retval block.
+2000-12-01  Rodney Brown  <RodneyBrown@mynd.com>
 
-       * jump.c (get_label_before): Don't separate a CALL_INSN from any USE
-       insns immediately preceeding it.
-       (get_label_after): Likewise, for following CLOBBERs.
+       * config.gcc: Fix typo for UnixWare 7.
 
-       * cse.c (fold_rtx, case '<'): When seeing if we have seen this
-       comparison before, use a constant equivalence.
-       Add test for things like "(a | 1) != 0".
-       (fold_rtx, case '2'): Move code to handle associative operations to
-       here; add support for MINUS, SMAX, SMIN, UMAX, and UMIN.
-       (record_jump_equiv): See if OP1 is equivalent to a constant.
+2000-12-03  Phil Edwards  <pme@sources.redhat.com>
 
-       * jump.c (jump_optimize): Don't pass a SUBREG as a target to
-       expand_and.
+       * invoke.texi:  Replace `pedwarns' with clearer text.
 
-       * combine.c (subst): Never associate floating-point, even if not IEEE.
-       Associate MAX and MIN operations.
+2000-12-04  Bruce Korb  <bkorb@gnu.org>
 
-       * output.h (output_asm_insn, asm_fprintf): Add "extern" to decls.
-       (alter_subreg): Add declaration.
-       * rs6000.md (movsf, movdf): Don't declare alter_subreg here.
-       (trunc_call_rtl): Don't declare trunc_used; use rs6000_trunc_used.
-       * rs6000.c (rs6000_trunc_used): New name of trunc_used.
-       * rs6000.h (rs6000_trunc_used): Add declaration.
+       * fixinc/Makefile.*(clean):  don't clean autogenerated files.
+       (mainainer-clean): clean autogenerated files
 
-Sat Dec 28 18:14:21 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-12-04  DJ Delorie  <dj@redhat.com>
 
-       * cp-method.c (build_overload_name): Don't call OB_FINISH unless END
-       is nonzero.
+       * md.texi: Add overview, clarify match_dup and define_expand.
 
-Sat Dec 28 17:46:05 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+2000-12-04  DJ Delorie  <dj@redhat.com>
 
-       * gcc.c (default_compilers): Handle -ansi in the C++ entries
-       exactly the same way as the C entries do.
+       * print-tree.c (print_node): Target-specific builtins print
+       numbers, not names.
 
-       * rtl.c (add_dependence): Cast enums to int before doing an
-       ordered comparison, since some compilers can't do this.
+2000-12-04  Jason Merrill  <jason@redhat.com>
 
-       * sparc.c (pic_address_needs_scratch): New function.  Returns
-       true if the pic address X needs a scratch register when loaded.
-       (legitimize_pic_address): Clean up.  New argument SCRATCH, which
-       is a scratch register for those loads that need it.
-       (emit_move_sequence): New argument SCRATCH_REG, which is a scratch
-       register for those loads that need it.  When loading a pic label,
-       set %o7 instead of clobbering it so its value can be used later.
-       (compute_frame_size): Leaf functions need to allocate space for
-       register window in frame if size greater than 0.
-       (print_operand): Delete obsolete %^ which added %o7 to addresses.
-       All uses of %o7 are now explicit.
-       * sparc.h: Fix callers of legitimize_pic_address.
-       (REG_CLASS_FROM_LETTER): Add 'r' case.
-       (SECONDARY_INPUT_RELOAD_CLASS): New macro, to force reload to
-       allocate a scratch register for certain pic address reloads.
-       (flag_pic): Define as extern so that it will be defined for
-       insn-emit.c.
-       * sparc.md: Fix all callers of legitimize_pic_address and
-       emit_move_sequence.
-       (reload_insi): New pattern.  Used to force reload to allocate a
-       scratch register for those pic address loads that need one.
-       (reload_insi+2): When loading pic label, set %o7 instead of
-       clobbering it.
-       (movdf, movsf): Reject matches that would require reloading via
-       use of a condition.
-       (tablejump): Now a define_expand, so can generate different
-       pattern when pic.
-       (pic_tablejump): Explicitly mention in rtl that %o7 is used,
-       instead of using %^.
+       * stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT,
+       MODE_VECTOR_FLOAT.
 
-       * m88k.h, sparc.h: Delete references to non-existent
-       BLOCK_PROFILER_USED_REG_P macro.
+       * diagnostic.c (report_problematic_module): s/function/module/.
 
-Sat Dec 28 14:31:36 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * c-lex.h: Remove decl for check_newline.
 
-       * c-lex.c (check_newline): Set ignore_escape_flag for reading filename.
-       (yylex): Handle ignore_escape_flag in string constant.
+2000-12-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
-       * gnulib2.c (__do_global_dtors): Count elements properly.
+       * README.APOLLO: Remove obsolete file.
 
-       * m68k.md (tsthi): Don't allow address register.
+2000-12-04  Neil Booth  <neilb@earthling.net>
 
-Sat Dec 28 11:49:06 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+       * cppinternals.texi: New file.
 
-       * final.c (final): Initialize elements of line_note_exists.
+2000-12-04  Neil Booth  <neilb@earthling.net>
 
-       * protoize.c: Don't include <sys/wait.h> on USG unless SVR4.
+       * cppfiles.c (cpp_make_system_header): Take 2 booleans,
+       and operate on current buffer.
+       (cpp_read_file): Rename _cpp_read_file.
+       * cpplib.c (do_line, do_pragma_system_header): Update calls to
+       cpp_make_system_header.
+       * fix-header.c: Similarly.
+       * cpphash.h (_cpp_read_file): Move from...
+       * cpplib.h: ... here.
+       * cppinit.c (do_includes, cpp_start_read): Update appropriately.
 
-Sat Dec 28 11:09:36 1991  Fred Fish  (fnf at fishpond)
+2000-12-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_strspn, expand_builtin_strcspn):
+       Handle another transformation.
+
+2000-12-03  Nick Clifton  <nickc@redhat.com>
+
+       * config.gcc: Add support for StrongARM targets.
+       * config/arm/t-strongarm-elf: New file.
+       * config/arm/t-strongarm-coff: New file.
+       * config/arm/t-strongarm-pe: New file.
+       * config/arm/strongarm-pe.h: New file.
+
+2000-12-03  Nick Clifton  <nickc@redhat.com>
+
+       * NEWS: Mention XScale has been added.
+       * config.gcc: Add support for XScale targets.
+       * config/arm/arm.h: Add support for XScale processor.
+       * config/arm/arm.c: Add support for XScale processor.
+       * config/arm/arm.md: Add support for XScale processor.
+       * config/arm/t-xscale-elf: New file.
+       * config/arm/t-xscale-coff: New file.
+       * config/arm/xscale-elf.h: New file.
+       * config/arm/xscale-coff.h: New file.
+
+2000-12-03  Richard Henderson  <rth@redhat.com>
+
+       * bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
+       unless exception handling is enabled, and if not using sjlj.
+
+       * builtins.c (expand_builtin_setjmp_setup): New.
+       (expand_builtin_setjmp_receiver): New.
+       (expand_builtin_setjmp): Split out _setup and _receiver functions.
+       Move argument parsing in from ...
+       (expand_builtin): ... here.
+       * except.c (receive_exception_label): Branch around receiver
+       unless new-style exceptions.  Call expand_builtin_setjmp_receiver.
+       (start_dynamic_handler): Call expand_builtin_setjmp_setup.
+       * expr.h: Update builtin setjmp decls.
+
+2000-12-03  Bruce Korb  <bkorb@gcc.org>
+
+       * fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical
+       build machine name.  Default to the target.
+
+2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
+
+       * Makefile.in: use $(build_canonical), not $(canonical_build).
+
+2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * Makefile.in (OBJS): Add sched-rgn.o.
+       (sched-rgn.o): New rule.  * haifa-sched.c (sched_verbose): No
+       longer static.
+       (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
+       INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
+       UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
+       MAX_BLOCKAGE_COST): Move to sched-int.h.
+       (MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD,
+       IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT,
+       FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES,
+       OUT_EDGES, edgelst, struct region, nr_regions, rgn_table,
+       rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS,
+       RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN,
+       debug_regions, find_single_block_region, find_rgns, too_large,
+       init_regions, current_nr_blocks, current_blocks, bitset, bitlst,
+       bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member,
+       extract_bitlst, bblst, struct candidate, candidate_table,
+       bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE,
+       SRC_PROB, target_bb, split_edges, compute_trg_info,
+       debug_candidate, debug_candidates, bbset, bbset_size, dom,
+       IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset,
+       rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize,
+       EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges,
+       compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY,
+       IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY,
+       MIN_PROB_DIFF, check_live_1, update_live_1, check_live,
+       update_live, set_spec_fed, is_pfree, find_conditional_protection,
+       is_conditionally_protected, may_trap_exp, haifa_classify_insn,
+       is_prisky, is_exception_free, add_branch_dependences,
+       propagate_deps, compute_block_backward_dependences,
+       debug_dependencies, is_cfg_nonregular, build_control_flow,
+       new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER,
+       BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions,
+       UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE,
+       CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns,
+       target_n_insns, sched_n_insns, init_ready_list, deaths_in_region,
+       can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn,
+       rgn_rank, region_sched_info): Move to sched-rgn.c.
+       (debug_reg_vector): Delete useless function.
+       (get_bb_head_tail): Likewise.
+       (insn_issue_delay, insn_cost, ready_add, get_block_head_tail,
+       no_real_insns_p, rm_line_notes, save_line_notes,
+       restore_line_notes, rm_redundant_line_notes, sched_init): No
+       longer static.
+       (rm_line_notes, save_line_notes, restore_line_notes,
+       schedule_block, set_priorities): Change argument to be a real
+       basic block, not one of haifa's "bb"s.  All callers changed
+       (rm_other_notes): Initialize note_list here, not in
+       schedule_region.
+       (sched_finish): New function, called from schedule_insn.  * *
+       sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
+       INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
+       UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
+       MAX_BLOCKAGE_COST): Moved here from haifa-sched.c.
+       (get_block_head_tail, no_real_insns_p, rm_line_notes,
+       save_line_notes, restore_line_notes, rm_redundant_line_notes,
+       rm_other_notes, insn_issue_delay, set_priorities, schedule_block,
+       sched_init, sched_finish, ready_add, insn_cost): Declare.
+
+2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
+           Bruce Korb  <bkorb@gnu.org>
+
+       * Makefile.in: pass $(build_canonical) to mkfixinc.sh.
+       * fixinc/mkfixinc.sh: accept build system name as an argument.
+       Use it for choosing the fix build method.  Use the target for
+       selecting special fix rules.
+
+2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * Makefile.in (OBJS): Add sched-deps.o.
+       (sched-deps.o): New rule.
+       * haifa-sched.c (struct deps, struct haifa_insn_data): Moved to
+       sched-int.h.
+       (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to
+       sched-int.h.
+       (SIZE_FOR_MODE): Delete unused macro.
+       (reg_known_equiv_p, reg_known_value, reg_pending_clobbers,
+       reg_pending_sets, reg_pending_sets_all, true_dependency_cache,
+       anti_dependency_cache, output_dependency_cache,
+       forward_dependency_cache): Variables moved to sched-deps.c.
+       (add_dependence, remove_dependence, find_insn_list,
+       find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists,
+       sched_analyze_insn, sched_analyze_1, sched_analyze_2,
+       sched_analyze, group_leader, compute_forward_dependences,
+       init_deps, free_deps, init_dependency_caches, free_dependency_caches):
+       Functions moved to sched-deps.c.
+       (schedule_region): Call init_deps_global and finish_deps_global
+       instead of directly manipulating dependency data structures.
+       * sched-deps.c: New file.
+       (init_deps_global, finish_deps_global): New functions.
+       * sched-int.h (struct haifa_insn_data, struct deps): Moved here from
+       haifa-sched.c.
+       (h_i_d): Declare.
+       (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here
+       from haifa-sched.c.
+
+       * Makefile.in (OBJS): Add sched-vis.o.
+       (sched-vis.o): New rule.
+       * haifa-sched.c (get_unit_last_insn): New function.
+       (sched_dump, insn_unit, actual_hazard_this_instance): No longer
+       static.
+       (schedule_block): Call visualize_alloc and visualize_free.  Delete
+       spurious return statement.
+       (init_target_units, insn_print_units, get_visual_tbl_length,
+       init_block_visualization, print_block_visualization, safe_concat,
+       visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles,
+       print_exp, print_value, print_pattern, print_insn, target_units,
+       MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl,
+       n_vis_no_unit, vis_no_unit): Move scheduling visualization
+       functions/variables...
+       * sched-vis.c: ...here.  New file.
+       (visualize_alloc, visualize_free): New functions.
+       (visualize_scheduled_insns, visualize_stall_cycles,
+       print_block_visualization): Lose basic block argument.  All callers
+       changed.
+       (visualize_scheduled_insns): Use new function get_unit_last_insn.
+       * sched-int.h (current_sched_info, sched_dump): Declare.
+       (init_target_units, insn_print_units, init_block_visualization,
+       print_block_visualization, visualize_scheduled_inns,
+       visualize_no_unit, visualize_stall_cycles, visualize_alloc,
+       visualize_free): Declare functions.
+
+       * sched-int.h: New file.
+       * Makefile.in (haifa-sched.o): Depend on it.
+       * haifa-sched.c: Include it.
+       (no_real_insns_p): New function.
+       (current_sched_info): New static variable.
+       (__inline, HAIFA_INLINE): Moved to sched-int.h.
+       (get_block_head_tail): Minor cleanup.
+       (init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p,
+       rgn_print_insn, rgn_rank): New functions, broken out of
+       rank_for_schedule, schedule_insn and schedule_block, where they
+       are now called through function pointers in current_sched_info.
+       (queue_insn, schedule_insn, queue_to_ready, debug_ready_list,
+       print_insn): To display uid and block number, call the print_insn
+       function pointer in current_schedule_info.
+       (region_sched_info): New static variable.
+       (sched_target_n_insns, sched_n_insns, target_n_insns): New global
+       variables, moved out of schedule_block.
+       (schedule_block): Return void.  All callers changed.
+       Move some of the setup code into schedule_region.  Get head/tail
+       from current_sched_info, and update it when done.
+       (schedule_region): Slightly rearranged, some code moved here from
+       schedule_block.  Call no_real_insns_p to avoid doing work for a
+       block that consists only of notes and labels.
+       (schedule_insns): Initialize current_sched_info.
+
+2000-12-03  Neil Booth  <neilb@earthling.net>
+
+       * cppmacro.c (funlike_invocation_p): Re-disable macros enabled
+       by contexts drops AFTER argument pre-expansion, so that they
+       remain enabled during argument pre-expansion.
+       (_cpp_pop_context): Unconditionally re-enable a macro when
+       dropping a context level.
+
+2000-12-03  Manfred Hollstein  <manfredh@redhat.com>
+
+       * arm/t-linux (MULTILIB_OPTIONS): Comment.
+       (MULTILIB_DIRNAMES): Likewise.
+       (EXTRA_MULTILIB_PARTS): Likewise.
+       (LIBGCC): Likewise.
+       (INSTALL_LIBGCC): Likewise.
+
+2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_strcat, expand_builtin_strncat,
+       expand_builtin_strspn, expand_builtin_strcspn): New functions.
+       (expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
+       BUILT_IN_STRSPN and BUILT_IN_STRCSPN.
+
+       * builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
+       BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
+
+       * c-common.c (c_common_nodes_and_builtins): Declare builtin
+       strcat, strncat, strspn and strcspn.
+       (string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
+
+       * extend.texi (strcat, strcspn, strncat, strspn): Document new
+       builtins.
+
+2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_strcmp): Use const*_rtx when
+       expanding strcmp at compile-time.  Add another transformation.
+       (expand_builtin_strncmp): Add more transformations.  Call
+       expand_builtin_memcmp, not expand_builtin_strcmp, under
+       appropriate conditions if HAVE_cmpstrsi.
+
+2000-12-02  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md (anddi3_internal[23]): Prefer rldic? over andis
+       instruction.
+       (cr logic): Really make operands sequential.
+
+2000-12-02  Geoffrey Keating  <geoffk@redhat.com>
+
+       * c-common.c (combine_strings): When the ISO C standard specifies
+       the maximum length of a string, it doesn't include the trailing
+       zero byte.
+
+       * cpplib.c (do_ifdef): Add check_eol() call.
+       (do_ifndef): Likewise.
+
+2000-12-02  Daniel Berlin  <dberlin@redhat.com>
+           Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
+       * fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
+       * fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
+       * fixinc/fixfix.c(wrap_fix): avoid wrapping files that
+       use the "__need_" hackery.  It breaks them.
+       * fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
+       Sometimes on DOS and BeOS the temp output file cannot be opened.
+       Skip the file noisily.  Ought to be fixed instead.
+
+2000-12-02  Bruce Korb  <bkorb@gnu.org>
+
+       From: 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fixfixes.c (emit_gnu_type, format_write): Prototype.
+       (format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's
+       custom uppercase ctype macros.
+       * fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN.
+       Use gcc's custom uppercase ctype macros.
+       (main): Prototype.
+       (machine_matches): Add static prototype and constify variable.
+       (create_file, test_test, egrep_test): Add static prototype.
+       (quoted_file_exists): Likewise, and constify parameters.
+       (extract_quoted_files, internal_fix, start_fixer, fix_applies,
+       write_replacement, test_for_changes): Add static prototype.
+       (write_replacement, test_for_changes): Delete excess argument to
+       `create_file'.
+       * fixtests.c (test): Make static.
+       * server.c (load_data, sig_handler, server_setup, find_shell): Add
+       static prototype.
+       (sig_handler): Mark parameter with ATTRIBUTE_UNUSED.
+
+2000-12-02  Bruce Korb  <bkorb@gnu.org>
+
+       * fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list
+       (per Laurynas Biveinis  <lauras@softhome.net>)
+
+2000-12-02  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New
+       macros.
+       (REGNO_MODE_OK_FOR_BASE_P): Define in terms of above.
+       (REGNO_OK_FOR_FOR_BASE_P): Delete.
+       (ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for
+       both strict and non-strict uses.
+       (REG_MODE_OK_FOR_BASE_P): Define in terms of above.
+       (ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros.
+       (REG_OK_FOR_INDEX_P): Define in terms of above.
+       (REG_OK_FOR_BASE_P): Delete.
+       (REG_OK_FOR_PRE_POST_P): Delete.
+       (ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P.
+       (ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P.
+       (ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX.
+       (THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET.
+       (ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes.  Use ARM
+       specific variants rather than general ones.  Use ARM_REG_OK_FOR_BASE_P
+       in pre/post increment cases.
+       (THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb.
+       (ARM_LEGITIMIZE_ADDRESS): Similarly.
+       (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly.
+       * arm.c (legitimate_pic_address): Similarly.
+
+2000-12-02  Neil Booth  <neilb@earthling.net>
+
+       * tradcpp.c (struct answer, parse_assertion, parse_answer,
+       canonicalize_text, find_answer): New.
+       (do_assert, do_unassert): Provide appropriate function bodies.
+       (union hashval): New member answers.
+
+2000-11-23  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+       * config/avr/avr.md: Document UNSPEC usage.
+       (*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump):
+       Make operand 0 input only, clobber it.  Use UNSPEC, not a bogus
+       MEM for program memory word reference.  Do not add the label to
+       the table index in each of the asm output templates, instead ...
+       (casesi): ... do it in RTL.  Adjust to match the above change.
+
+2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * c-common.c (PTRDIFF_TYPE): Provide default here, ...
+       * c-decl.c: ... not here.
+
+       * haifa-sched.c (sched_dump): Renamed from dump.  All users changed.
+       (old_max_uid): New variable.
+       (compute_forward_dependences): Renamed from
+       compute_block_forward_dependences; changed to accept block head and
+       tail instead of block number.  Caller changed.
+       (free_deps, init_dependency_caches, free_dependency_caches,
+       init_regions, sched_init): New functions, split out from
+       schedule_insns and compute_block_backward_dependences.
+
+2000-12-02  Neil Booth  <neilb@earthling.net>
+
+       * cppexp.c (parse_number): Update diagnostic test.
+
+2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * reload1.c (free_for_value_p): New function, frontend to
+       reload_reg_free_for_value_p.  All callers of the latter now call
+       this function with an additional mode argument.
+
+2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * install.texi (Configurations): Remove obsolete documentation for
+       hppa*-*-*.
+
+2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * install.texi (Installation): Remove obsolete description for
+       libstdc++ which is now an integral part of GCC.
+
+2000-12-01  Jim Blandy  <jimb@redhat.com>
+
+       * dbxout.c (dbxout_parms): Correctly describe parameters passed by
+       invisible reference in registers, but then spilled to the stack.
+       Remove code to emit a second stab for such parameters; it attempts
+       to describe the value's location by introducing a synthetic C++
+       `reference' type, and then saying the stack slot has that
+       reference type.  This loses type information (breaking GDB's
+       `ptype' command, among other things) just to describe a location
+       which stabs can represent correctly in other ways.
+
+2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
+
+       * final.c (output_addr_const) <PLUS>: Don't assume at least one
+       operand is a CONST_INT.
+
+       * config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS.
+       (machine_dependent_reorg): Split all insns.
+       * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute
+       reg_class_contents[SIBCALL_REGS].
+       (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS.
+       * config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel,
+       call_value_pcrel, call, call_value, sibcall): Match even when
+       not optimizing.
+       (sibcalli_pcrel, sibcall_pcrel): Likewise.  Use constraint `k'
+       for call address.
+       (sibcalli): Likewise.
+
+2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (warn_format, warn_format_y2k,
+       warn_format_extra_args, warn_format_nonliteral): Define.
+       (check_format_info): Check warn_format_nonliteral and
+       warn_format_extra_args.
+       (check_format_info_main): Check warn_format_y2k.
+       (set_Wformat): New function.
+       * c-common.h (warn_format_y2k, warn_format_extra_args,
+       warn_format_nonliteral, set_Wformat): Declare.
+       * c-decl.c (warn_format): Remove definition.
+       (c_decode_option): Handle -Wformat-nonliteral,
+       -Wno-format-extra-args and -Wno-format-y2k, and negated versions.
+       Use set_Wformat.
+       * invoke.texi: Document these new options and -Wformat=2.
+       * toplev.c (documented_lang_options): Add these new options.
+
+2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * builtins.def (BUILT_IN_IMAXABS): Add.
+       * builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
+       * c-common.c (c_common_nodes_and_builtins): Create builtin
+       functions __builtin_imaxabs, and plain imaxabs unless
+       flag_no_nonansi_builtin outside C99 mode.
+       (expand_tree_builtin): Handle BUILT_IN_IMAXABS.
+       * extend.texi: Document builtin imaxabs.
+
+2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c: Include "defaults.h".
+       (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
+       (c_common_nodes_and_builtins): Create string_type_node,
+       const_string_type_node, wint_type_node, intmax_type_node,
+       uintmax_type_node, default_function_type, ptrdiff_type_node and
+       unsigned_ptrdiff_type_node.
+       * c-common.h (identifier_global_value): Declare.
+       * c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
+       (init_decl_processing): Don't create string_type_node,
+       const_string_type_node, wint_type_node, intmax_type_node,
+       uintmax_type_node, default_function_type, ptrdiff_type_node and
+       unsigned_ptrdiff_type_node.
+       (identifier_global_value): New function.
+
+2000-12-01  Neil Booth  <neilb@earthling.net>
+
+       * cppinit.c (initialize): Forgotten prototype.
+       * cpplex.c (_cpp_lex_token): Loop until not skipping.
+       Always clear PREV_WHITE upon meeting a new line.
+       * cpplib.c (end_directive): Set pfile->skipping after
+       skip_rest_of_line.
+       * cpplib.h (cpp_reader): Remove macro_pos.
+       * cppmacro.c (cpp_get_line): Don't do anything special inside
+       macros.
+       (parse_arg): Add PREV_WHITE if a token appears after new lines.
+       (funlike_invocation_p): Save and restore the output position
+       over a successful check for a '('.
+       (enter_macro_context): Delete uses of macro_pos.
+       (cpp_get_token): Don't use pfile->skipping.
 
-       * Makefile.in (includes): Pre-remove the tmp dir; fix INSTALLED_H ref.
+2000-12-01  Phil Edwards  <pme@sources.redhat.com>
+
+       * diagnostic.c:  Fix typos in comments.
+       * diagnostic.h:  Likewise.
+
+2000-11-30  Phil Edwards  <pme@sources.redhat.com>
 
-Sat Dec 28 06:31:16 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * rtl.texi (Machine Modes):  Document BImode and OImode.
 
-       * sparc.md (movstrsi): Fix typo testing for more than 32 subunits.
+2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * genrecog.c: Major rework.
-       We now check to see if pairs of comparison nodes can have anything
-       that they both match.  If not, they can be reordered.  An efficient
-       ordering is established that groups all nodes with identical rtl
-       codes inside groups with identical modes.  This allows us to generate
-       a comparison tree that is a list of nested switch statements.
-       Also, genrecog.c is now indented properly so that debugging is eased.
-       (add_to_sequence): Enforce mode on the first arg of COMPARE, comparison
-       operation, SIGN_EXTEND, and ZERO_EXTEND.
+       * gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
+       .FPP.
 
-       * a29k.h, romp.h, rs6000.h (PREDICATE_CODES): Add definition.
+2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Fri Dec 27 17:31:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-decl.c (grokdeclarator): If pedantic, warn about arrays with
+       incomplete element type.
+       (grokparms): Before checking for incomplete parameter type, check
+       the type isn't error_mark_node.
 
-       * a29k.h, decrose.h, encrose.h, m88kdgux.h (WCHAR_TYPE_SIZE):
-       Add definition.
-       * rs6000.h, sparc.h, sun2o4.h, sun3.h, svr3.h, svr4.h: Likewise.
+2000-12-01  Jakub Jelinek  <jakub@redhat.com>
 
-       * expmed.c (expand_mult): For negative values, try multiplication by
-       the original value as well as by negated value.
+       * builtins.c (target_char_cast): New function.
+       (expand_builtin_strchr): Use it.
+       (expand_builtin_strrchr): Use it.
+       (builtin_memset_read_str): New function.
+       (expand_builtin_memset): Use target_char_cast.
+       Try to optimize memset with second argument nonzero using
+       store_by_pieces.
 
-Fri Dec 27 20:54:59 1991  Fred Fish  (fnf at fishpond)
+2000-11-30  Marek Michalkiewicz  <marekm@linux.org.pl>
 
-       * m68kv4.h:  Include m68ksgs.h rather than m68k.h.
+       * install.texi (avr): Replace incomplete list of supported MCU
+       types with a link to the current one ...
+       * invoke.texi (AVR Options): ... here.  Update -mmcu= to list
+       all supported MCU types.  Document -minit-stack= default.
+       Document new options -mno-tablejump, -mtiny-stack.
+       * md.texi (AVR family):  Fix typo in 'w' constraint letter
+       description.  Document 'q'.  Update 'O'.
 
-       * m68kv4.h:  Define TARGET_DEFAULT to be 68020 + 68881.
-       (CPP_SPEC): Define based on TARGET_DEFAULT
+2000-12-01  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * m68kv4.h (PCC_STATIC_STRUCT_RETURN): Undef this.
-       (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Defs deleted.
-       (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII): Defs deleted.
+       * combine.c (cant_combine_insn_p): Only disallow insns involving
+       hard regs if they are reg-reg moves.
+       (try_combine, can_combine_p, combinable_i3pat): Delete old
+       SMALL_REGISTER_CLASSES tests.
 
-       * m68kv4.h (ASM_OUTPUT_SKIP, FUNCTION_VALUE_REGNO_P):
-       (FUNCTION_PROFILER, STRUCT_VALUE_REGNUM, BSS_ASM_OP):
-       (FUNCTION_VALUE, FUNCTION_EXTRA_EPILOGUE, LIBCALL_VALUE):
-       (STACK_BOUNDARY, EMPTY_FIELD_BOUNDARY, BIGGEST_ALIGNMENT):
-       Redefined to match m68k/SVR4 conventions.
+2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
 
-       * m68ksgs.h (ASM_OUTPUT_SKIP): Redefined to use `.space'.
-       (ASM_NO_SKIP_IN_TEXT): Defined.
+       * config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
+       whether X is a CONST_INT.
+       (addsubcosts): Likewise.
 
-       * amix.h, xm-amix.h, x-amix: New files.
+       * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
+       mis-used XINT.
+       (ARG_POINTER_REGNUM): Set to AP_REG.
 
-Fri Dec 27 20:43:11 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
 
-       * cp-tree.h (build_overload_name): Declare this function.
-       * cp-decl2.c, cp-method.c: Delete random `extern' declarations.
+       * config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
+       splits): Only match on TARGET_SH4.
 
-       * cp-lex.c (get_directive_line): Declare it extern.
-       (lineno,yychar,yylval,lastiddecl,finput): Ditto.
-       (ridpointers): Don't need to declare it here.
-       (check_newline): Handle new #pragmas.
+       * combine.c (try_combine): Disregard USEs when updating LOG_LINKS
+       of subsequent insns.
 
-       * cp-class.c (add_method): Add a cast in call to `obstack_base'.
+2000-11-30  Richard Henderson  <rth@redhat.com>
 
-Fri Dec 27 20:22:05 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
+       * config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
 
-       * cp-decl.c (push_overloaded_decl): Now returns a value.
-       All callers changed.
+2000-11-30  Richard Henderson  <rth@redhat.com>
 
-       * cp-decl.c (duplicate_decls): Give better error message when user
-       declaration conflicts with built-in one.  Also, when we decide to
-       keep a builtin function builtin, copy the DECL_RTL from OLDDECL to
-       NEWDECL.
+       * config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
+       (DO_SELECT_SECTION): New.
+       (SELECT_SECTION): Use it.
+       (UNIQUE_SECTION_P): New.
+       (UNIQUE_SECTION): New.
 
-Fri Dec 27 17:18:15 1991  Michael Meissner  (meissner at osf.org)
+2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
 
-       * mips.h (TRAMPOLINE_TEMPLATE): Define correctly for MIPS.
-       (TRAMPOLINE_SIZE): Define to be 9 words.
-       (INITIALIZE_TRAMPOLINE): Define correctly for MIPS.
-       (TRANSFER_FROM_TRAMPOLINE): Define to do a mprotect of the
-       trampoline, so that we can jump to it.  I suspect the mprotect may
-       fail on some MIPS based systems, because the trampoline is on the
-       stack, and not in the data section.
+       * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
+       from va_list before using it.
 
-       * mips.c (mips_output_filename): Don't warn about ECOFF not
-       handling #line's within functions if we are using the OSF/rose
-       object format.
+2000-11-30  Michael Matz  <matzmich@cs.tu-berlin.de>
 
-Fri Dec 27 15:35:38 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * flow.c (make_edge): Early out, if no flags to set.
+       (calculate_global_regs_live): Clear out garbage only when necessary.
 
-       * c-typeck.c (build_array_ref): Special warning about `register' array.
+       * simplify-rtx.c (varray_type used_regs): New.
+       (clear_table): Use it to only clear necessary items.
+       (cselib_lookup, cselib_record_set): Remember newly set items.
+       (cselib_update_varray_sizes, cselib_init): Initialize and grow
+       used_regs.
 
-       * gnulib2.c (L_trampoline): Don't create a function here.
-       The definition of TRANSFER_FROM_TRAMPOLINE can do that if nec.
-       * m68k.h (TRANSFER_FROM_TRAMPOLINE): Make the function here.
+       * local-alloc.c (update_equiv_regs): New local `cleared_regs'.
+       Move clearing of dead regs out of insn-loop.
 
-       * fx80.*: Renamed from alliant.*.
-       * configure: Alternative renamed to fx80-alliant-*.
-       * config.sub: Corresponding changes.
+2000-11-30  Richard Henderson  <rth@redhat.com>
 
-       * cccp.c (traditional): No longer static.
-       * cexp.y (yylex): Handle full variety of character constants.
-       Include stdlib.h and locale.h if needed.
+       * calls.c (expand_call): Emit queued insns before creating
+       the tail recursion sequence.
 
-       * c-decl.c (shadow_tag): Change warnings to error or pedwarn.
+2000-11-30  J. David Anglin  <dave.anglin@nrc.ca>
+           Bruce Korb  <bkorb@gnu.org>
 
-       * gnulib2.c (__do_global_dtors): If length not given, count it.
-       * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Ignore length; scan till null.
-       (__CTOR_END__, __DTOR_END__): Declarations deleted.
+       * fixinc/inclhack.def(): prevent dual double definition protection
+       * fixinc/fixincl.x: regenerate
 
-       * cp-decl2.c (finish_file): Always change $ to _
-       regardless of NO_DOLLAR_IN_LABEL.
+2000-11-29  Loren J. Rittle  <ljrittle@acm.org>
 
-Fri Dec 27 15:04:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * fixinc/Makefile.in (fixincl.x): Explicitly state the
+       location of the generated file.
+
+2000-11-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * README.FRESCO: Remove obsolete file.
+
+2000-11-30  Mark Kettenis  <kettenis@gnu.org>
+
+       * config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
+       TARGET_LIBGCC2_CFLAGS): Remove.  We now use the settings from
+       config/t-linux for the Hurd.
+
+2000-11-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/mn10200/udivmod.c, config/mn10200/divmod.c,
+       config/mn10200/udivmodsi4.c: Moved from here.
+       * config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
+       * config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
+       C division functions.
+       * config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
+
+Thu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.md (conditional moves): Avoid holes in operand list.
+       (mod, umod patterns): Similarly.
+       (variable extract/shift patterns): Similarly.
+
+2000-11-30  Neil Booth  <neilb@earthling.net>
+
+       * objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
+       maybe_objc_check_decl, build_objc_string_object,
+       objc_declare_alias, objc_declare_class, build_message_expr,
+       build_protocol_expr, build_selector_expr, build_encode_expr,
+       get_class_ivars, start_class, start_protocol): Remove
+       redundant code, assuming doing_objc_thang is true.
+
+2000-11-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa.c (restore_unscaled_index_insn_codes): Delete procedure.
+       (record_unscaled_index_insn_codes): Likewise.
+       (unscaled_index_insn_codes): Delete.
+       (max_unscaled_index_insn_codes_uid): Delete.
+       (output_function_prologue, output_function_epilogue, pa_reorg):
+       Don't use the unscaled index insn hack.
+
+       * pa.md: Remove hack from all index insns to reverse the operand
+       order of frame and stack pointer references incorrectly created
+       in the reload pass.
+
+       * function.h (emit_status): Delete member regno_pointer_flag and
+       rename regno_pointer_flag_length to regno_pointer_align_length.
+       Delete define for REGNO_POINTER_FLAG.
+       * integrate.h (inline_remap): Delete member regno_pointer_flag.
+       Add member x_regno_reg_rtx.
+       * rtl.h (rtx_def): Use frame_related bit to indicate register is
+       a pointer in REG expressions.  Define REG_POINTER macro.
+       * alias.c (find_base_value, find_base_term): Use REG_POINTER
+       instead of REGNO_POINTER_FLAG.
+       * combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
+       * emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
+       of regno_pointer_flag_length.  Remove code which refers to
+       regno_pointer_flag.
+       (mark_reg_pointer): Use REG_POINTER.
+       (free_emit_status): Remove code which refers to regno_pointer_flag.
+       (init_emit, mark_emit_status): Likewise.
+       * flow.c (dump_flow_info): Likewise.
+       * function.c (preserve_temp_slots): Likewise.
+       * integrate.c (expand_inline_function, copy_rtx_and_substitute):
+       Use x_regno_reg_rtx instead of regno_pointer_flag for function
+       pointer determination in map.
+       * loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
+       * predict.c (estimate_probability): Likewise.
+       * regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
+       * unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
+       regno_pointer_flag for function pointer determination in map.
+       * convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
+       REG_POINTER.
+       * pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
+       Use REG_POINTER.
+       (restore_unscaled_index_insn_codes): Revise comment.
+
+       * expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
+
+2000-11-30  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * extend.texi: Update documentation for attributes.
+
+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.
 
-       * svr4.h (ASM_OUTPUT_ALIGNED_COMMON): Fix typo.
+2000-11-28  Richard Henderson  <rth@redhat.com>
 
-       * m88k.c: Move extern decls.
-       (output_ascii): Use ASCII_DATA_ASM_OP.
-       * m88k.h (HAVE_ATEXIT): Delete.
-       (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL,
-        ASCII_DATA_ASM_OP): Override svr4.h.
-       (EXTRA_SECTIONS): No ctors/dtors for m88k-luna.
-       * m88kdgux.h (STANDARD_STARTFILE_PREFIX): No need to override svr4.h.
+       * c-parse.in (finish_parse): Update for parse_in type change.
+       (_yylex): Likewise.
 
-Fri Dec 27 11:34:59 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+2000-11-28  Neil Booth  <neilb@earthling.net>
 
-       * cp-pt.c (mangle_class_name_for_template): Use a local obstack
-       rather than fixed-size buffers.
+       * 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.
 
-       * cp-class.c (add_method): Case obstack_base value to desired type
-       when reallocating vector node.
+2000-11-28  Richard Henderson  <rth@redhat.com>
 
-Fri Dec 27 09:16:50 1991  Ron Guilmette  (rfg at ncd.com)
+       * genoutput.c (validate_insn_operands): New.
+       (gen_insn): Call it.
 
-       * sort-protos:  New file.
+       * 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.
 
-       * i386.c: Remove decls of frame_pointer_needed; include flags.h.
-       * i386.c (output_387_binary_op, output_float_compare):
-       Moved declarations of strcat to top level.
+2000-11-28  Richard Henderson  <rth@redhat.com>
 
-       * i860.md (cmpnesf, cmpnedf):  New patterns.
-       * i860.md (cmplesf, cmpgesf):  Corrected to allow for IEEE conformance.
+       * config.gcc: Kill residual pyramid support.
 
-Thu Dec 26 11:20:07 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-11-28  Neil Booth  <neilb@earthling.net>
 
-       * cp-class.c: Declare N_* variables here.
-       * cp-class.h: Declare N_* variables extern here.
+       * 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-gc.c (build_static_gc_entry): Call `assemble_gc_entry' instead
-       of implementing it directly.
-       * varasm.c (assemble_gc_entry): New function.
+       * 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.
 
-       * calls.c (expand_call): Don't crash if somebody declared a void
-       function `const'.
+2000-11-28  Jakub Jelinek  <jakub@redhat.com>
 
-       * cp-cvt.c (convert): Handle case when two equal array types are
-       distinct (in memory).
-       * tree.c (build_index_2_type): Don't set TREE_TYPE of lower bound.
-       (index_type_equal): New function.
+       * 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.
 
-       * cp-spew.c (yylex): Extend special-case ptr-to-func ((*)()) parsing
-       to handle (*)[] and (&)[] declarations as well.
+2000-11-28  Jan Hubicka  <jh@suse.cz>
 
-       * cp-decl2.c (finish_file): Unconditionally call
-       assemble_{constructor,destructor}.  Also, delete code for writing
-       _init and _fini sections that was #if 0'd.  These actions belong in
-       varasm if anywhere.
+       * calls.c (expand_call): Don't disable tail recursion based
+       on the loop nest.
 
-       * cp-class.c (add_method): Fix handling of obstacks to correctly
-       extend TREE_VECs.
+2000-11-28  Neil Booth  <neilb@earthling.net>
 
-Thu Dec 26 15:24:45 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * 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.
 
-       * cccp.c (main): Add new option -include.  Rename -i to -imacros.
-       * gcc.c (SWITCH_TAKES_ARG): Remove -i.
-       (WORD_SWITCH_TAKES_ARG): Add -include, -imacros.
-       * hp800.h (WORD_SWITCH_TAKES_ARG): Add all the standard alternatives.
-       * mips.h (SWITCH_TAKES_ARG): Remove -Y and -i.
-       * next.h, sparc.h (WORD_SWITCH_TAKES_ARG): Add -include, -imacros.
-       * sun2.h, sun3.h (WORD_SWITCH_TAKES_ARG): Copy from sparc.h.
-       * svr4.h (SWITCH_TAKES_ARG): Remove -i, -f.
-       (WORD_SWITCH_TAKES_ARG): Add -include, -imacros.
+2000-11-28  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * toplev.c (flag_gnu_linker): New variable.  -fgnu-linker.
-       * flags.h (flag_gnu_linker): Declare it.
-       * varasm.c (assemble_constructor, assemble_destructor):
-       Handle flag_gnu_linker.
+       * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
+       is anything but REG or MEM, but look inside STRICT_LOW_PART.
 
-       * sparc.md (structure values): Separate unimp pattern deleted.
-       New pattern for combined call and unimp.  `call' pattern changed.
-       (type): Deleted type marker, added call_no_delay_slot.
+Tue Nov 28 09:53:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-Thu Dec 26 05:04:28 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+       * 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.
 
-       * reg-stack.c (move_for_stack_reg): If a SET_DEST is REG_UNUSED,
-       just pop the SET_SRC.
+2000-11-28  Jakub Jelinek  <jakub@redhat.com>
 
-Wed Dec 25 17:23:25 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/i386/i386.md (truncxfsf2_2): Fix predicate.
 
-       * c-decl.c (init_decl_processing): Fix type of exit, _exit.
+2000-11-27  Jim Wilson  <wilson@redhat.com>
 
-       * jump.c (cross_jump_death_matters): Move def to front, make static.
+       * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
 
-Tue Dec 24 20:41:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-11-27  Matthias Klose  <doko@cs.tu-berlin.de>
 
-       * hard-reg-set.h (reg_names): Declare here.
-       * stmt.c (expand_asm_operands): Not here.
+       * extend.texi (Nested Functions): Update URL of Usenix paper.
 
-       * gcc.c (handle_braces, do_spec_1, give_switch): Clear up %*.
+2000-11-27  Mark Mitchell  <mark@codesourcery.com>
 
-       * expr.c (expand_expr): Delete decl of lang_expand_expr.
+       * function.c (free_after_compilation): Clear x_clobber_return_insn.
 
-       * final.c (final_scan_insn): Delete line number followed by another
-       line number, if numbers are effectively consecutive.
+2000-11-27  Neil Booth  <neilb@earthling.net>
 
-       * jump.c (jump_optimize): Set cross_jump_death_matters from cross_jump.
-       * reg-stack.c (reg_to_stack): Pass 2 for cross_jump to jump_optimize.
-       Don't set cross_jump_death_matters here.
-       (record_reg_life): Delete decl of call_used_reg_set.
+       * 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.
 
-       * c-decl.c (init_decl_processing):
-       Declare abort, exit, and _exit as volatile.
+2000-11-27  Neil Booth  <neilb@earthling.net>
 
-       * c-decl.c (implicitly_declare): Set IDENTIFIER_IMPLICIT_DECL earlier.
-       (pushdecl): Test that and avoid nested extern warning.
+       * 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.
 
-       * c-decl.c (init_decl_processing): Don't handle EXPAND_BUILTIN_VARARGS.
+2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
 
-Tue Dec 24 15:42:34 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * 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.
 
-       * cp-init.c (add_friends): Add missing IDENTIFIER_POINTER macro
-       application to strncmp argument.
+       * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
 
-       * cp-method.c (build_overload_*): Now uses SCRATCH_OBSTACK instead
-       of relying on fixed buffers of finite length.
-       (fndecl_as_string): Ditto.
-       All callers changed.
-       * cp-except.c (cplus_exception_name): Definition moved to
-       cp-method.c.
+       * c-common.c (c_common_nodes_and_builtins): Declare builtin
+       strncpy and strncmp.
 
-Tue Dec 24 10:38:49 1991  Michael Collison  (collison at osf.org)
+       * extend.texi (strncmp, strncpy): Document new builtins.
 
-       * ns32k.c (hard_regno_mode_ok): Define this as a function now.
-       Also change the way it work so that we don't allow moves between
-       the general registers and the floating point registers.
+2000-11-26  Mark Mitchell  <mark@codesourcery.com>
 
-       * ns32k.h (HARD_REGNO_MODE_OK): Turn it into a function call.
+       * 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.
 
-       * ns32k.md (call_value): fix to correct a bug where the compiler thinks
-       the return value of a function call is in f0 instead of r0. Fix
-       courtesy of vince russo.
-       (movqi, movhi): Fix up these patterns because they could return
-       undefined instruction templates. Fix courtesy of vince russo.
+2000-11-26  Neil Booth  <neilb@earthling.net>
 
-Tue Dec 24 10:14:20 1991  Ron Guilmette  (rfg at ncd.com)
+       * 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.
 
-       * mips-tfile.c (main): Move nested extern decl of version_string to
-       file-scope.
-       (catch_signal): Move nested extern decl of sys_siglist to
-       file-scope.
+Sun Nov 26 10:02:37 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * varasm.c (assemble_variable): Handle ASM_OUTPUT_ALIGNED_COMMON.
-       * svr4.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): New.
-       (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Deleted.
+       * fold-const.c (fold, case CONVERT_EXPR): Always return tree of
+       proper type.
 
-       * gcc.c (SWITCH_TAKES_ARG, default_compilers):  Eliminated -Y* option.
-       (execute):  Moved decls of execv and execvp to top level.
-       (do_spec, do_spec1, handle_braces, give_switch): Support new %* spec.
+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.
+       * c-decl.c (finish_decl): Set it for asm register variables.
+       * c-semantics.c (emit_local_var): Test it when instantiating one.
+
+2000-11-25  Richard Henderson  <rth@redhat.com>
+
+       * c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
+       lineno for the start of the function.
+
+2000-11-25  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2out.c (file_table, file_table_allocated): Remove.
+       (file_table_allocated): Remove.
+       (struct file_table): New.
+       (decl_file_table, line_file_table): New.
+       (print_dwarf_line_table): Use them.
+       (size_of_line_prolog): Likewise.
+       (output_line_info): Likewise.
+       (add_src_coords_attributes): Likewise.
+       (gen_subprogram_die): Likewise.
+       (gen_variable_die): Likewise.
+       (dwarf2out_add_library_unit_info): Likewise.
+       (dwarf2out_line): Likewise.
+       (lookup_filename): Take a struct file_table argument.
+       (init_file_table): New.
+       (dwarf2out_init): Use it.
+
+2000-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * invoke.texi: Update sequence points references.
+
+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-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.
+
+2000-11-25  Richard Henderson  <rth@redhat.com>
+
+       * haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
+       Revert 2000-11-22 change.
+
+2000-11-25  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * config/i386/i386.h (FIXED_REGS): Make the three flags registers
+       fixed.
+
+2000-11-25  Philipp Thomas  <pthomas@suse.de>
+       * configure.in (ALL_LINGUAS): Remove en_GB and add sv.
+       * configure: Rebuilt.
+
+2000-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
+       Handle CONST_INT as second argument.
+       * config/sparc/sparc.c (set_extends): Remove first argument.
+       Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
+       MOV.
+       (sparc_check_64): Abort if first argument is not REG.
+       If it is DImode REG, look at the lower register of the register
+       pair.
+
+       * config/sparc/sparc.c (load_pic_register, restore_regs,
+       output_return, sparc_v8plus_shift, sparc_function_profiler,
+       sparc_function_block_profiler, sparc_block_profiler): Fix output
+       formatting.
+
+2000-11-25  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.h (TARGET_NONE): New.
+       (TARGET_SWITCHES): For all variant-selecting switch, use
+       TARGET_NONE to reset all other variant-selecting switch.  Added
+       empty strings to avoid warnings.
+       (TARGET_DEFAULT): Set to SH1_BIT.
+
+       * Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
+       insn-codes.h.
+
+       * gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
+       (sibcall_pcrel): New insn_and_split.
+       (sibcall, sibcall_value, sibcall_epilogue): New expands.
+
+       * config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
+       symPLT_label2reg, call, call_value): Don't set
+       current_function_uses_pic_offset_table.
+       * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
+       PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
+       takes it into account.
+       (FINALIZE_PIC): Delete, useless.
+       (LEGITIMATE_CONSTANT_P): Delete, unused.
+       * config/sh/sh.c (sh_expand_prologue): Don't use
+       current_function_uses_pic_offset_table.  Don't special-case
+       PIC_OFFSET_TABLE_REGNUM.  Initialize it if it's ever live and
+       PIC is enabled.
+       (sh_expand_epilogue, initial_elimination_offset): Don't
+       special case PIC_OFFSET_TABLE_REGNUM.
+
+2000-11-25  Alexandre Oliva  <aoliva@redhat.com>, NIIBE Yutaka  <gniibe@m17n.org>
+
+       * config/sh/sh-protos.h (symbol_ref_operand): Declare.
+       * config/sh/sh.md (UNSPEC_CALLER): New constant.
+       (calli_pcrel, call_valuei_pcrel): Use PIC_REG.
+       (call_pcrel, call_value_pcrel): New insn_and_splits.
+       (call, call_value): Use them.
+       (call_site): New expand.
+       (sym_label2reg, symPLT_label2reg): Adjust to hold call_sites.
+       * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]:
+       Output call_site label.
+       (PREDICATE_CODES): Added symbol_ref_operand.
+       * config/sh/sh.c (symbol_ref_operand): Define.
+       * emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE
+       to CALL_INSNs in the split sequence.
+
+2000-11-24  Nick Clifton  <nickc@redhat.com>
+
+       * config.gcc (v850-*-*): Define c_target_objs and
+       cxx_target_objs.
+
+       * config/v850/t-v850: Define how to build v850-c.o
+
+       * config/v850/v850.h (struct data_area_stack_element): Move
+       definition here from v850.c.
+
+       * config/v850v850.c: Include gcc.h to avoid compile time
+       warning.
+       (push_data_area): Move to v850-c.c.
+       (pop_data_area): Move to v850-c.c.
+       (mark_current_function_as_interrupt): Move to v850-c.c.
+       (GHS_default_section_names): Allow to be exported.
+       (GHS_current_section_names): Allow to be exported.
+       (data_area_stack_elements): Allow to be exported.
+       (ghs_pragma_section): Move to v850-c.c.
+       (ghs_pragma_interrupt): Move to v850-c.c.
+       (ghs_pragma_starttda): Move to v850-c.c.
+       (ghs_pragma_startsda): Move to v850-c.c.
+       (ghs_pragma_startzda): Move to v850-c.c.
+       (ghs_pragma_endtda): Move to v850-c.c.
+       (ghs_pragma_endsda): Move to v850-c.c.
+       (ghs_pragma_endzda): Move to v850-c.c.
 
-       * c-lang.c (recognize_objc_keyword):  Added explicit return.
+       * config/v850/v850-c.c: New file: Contains v850 specific
+       pragma parsing functions.
 
-       * svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):  New definitions.
-       (ASM_SPEC, LINK_SPEC): Support more standard svr4 options.
-       (LIB_SPEC):  Fixed to link crtend.o *after* libc.a.
+2000-11-24  Nick Clifton  <nickc@redhat.com>
 
-       * svr4.h (CONST_SECTION_FUNCTION):  Moved decl of `text_section' to
-       top level.
+       * config.gcc (extra_objs): Remove duplicate description.
+       (c_target_objs): New variable.  Contains target specific
+       object files for the gcc C compiler only.
+       (cxx_target_objs): New variable.  Contains target specific
+       object files for the gxx C++ compiler only.
 
-       * cexp.y (main): Add explicit return type and explicit value.
-       Move decl of yydebug to top level.
+       * configure.in (c_target_objs): Substitute in the makefile.
+       (cxx_target_objs): Substitute in the makefile.
+       * configure: Regenerate.
 
-       * gnulib2.c (__bb_init_func):  Moved decl of ___tcov_init to top level.
+       * Makefile.in (C_TARGET_OBJS): Define and initialize from
+       c_target_objs.
+       (CXX_TARGET_OBJS): Define and initialize from
+       cxx_target_objs.
+       (C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
 
-       * toplev.c (main):  Deleted obsolete checks for -opt and -noreg.
-       Moved decls of environ, version_string, language string to file-scope.
-       Compile-time error if PREFERRED_DEBUGGING_TYPE is missing.
+       * cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
 
-       * tree.c (dump_tree_statistics): Deleted decl of class_obstack.
-       (object_permanent_p):  Added explicit return type.
+       * tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
+       about how the use of the 'c_lex' function requires the use of
+       the target specific, language specific object files feature of
+       the configuration mechanism.
 
-Tue Dec 24 09:29:24 1991  Charles Hannum  (mycroft at hal.gnu.ai.mit.edu)
+Fri Nov 24 18:50:58 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * expr.h (lang_expand_expr): Fix typo.
+       * gcc.c (process_command): Use F_OK, not R_OK.
 
-Tue Dec 24 06:52:45 1991  Michael Meissner  (meissner at osf.org)
+2000-11-24  Arno J. Klaassen  <arno@heho.snv.jussieu.fr>
 
-       * gnulib2.c (__main): Make sure the exit module is pulled in if we
-       have atexit, since that module defines constructor/destructor
-       variables as bss symbols rather than as references.
+       * flow.c (print_rtl_and_abort): Remove ANSIism.
 
-       * decrose.h (HAVE_ATEXIT): Define.
-       * encrose.h (HAVE_ATEXIT): Define.
-       * i386rose.h (HAVE_ATEXIT): Define.
-       * decstatn.h (HAVE_ATEXIT): Define.
+Fri Nov 24 19:54:36 2000  Alexandre Oliva  <aoliva@redhat.com>
 
-       * gcc.texinfo (HAVE_ATEXIT): Expand documentation.
-       (EXIT_BODY): Document.
+       * config/sh/sh.h (GENERAL_REGISTER_P,
+       GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
+       FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros.  Use them
+       all over.
+       (SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
+       * config/sh/sh.c: Use new macros.
+       * config/sh/sh.md: Likewise.
 
-       * protoize.c (POSIX): Make protoize accept TARGET_POSIX as a synonym
-       for POSIX to make the code and documentation agree.  Also, if the
-       user defined _POSIX_SOURCE explicitly, turn on POSIX support in
-       protoize.
+Fri Nov 24 19:46:16 2000  Alexandre Oliva  <aoliva@redhat.com>
 
-Tue Dec 24 00:14:38 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode,
+       instead of just MACH_REG in DImode.  Always refer to FPSCR_REG
+       in PSImode.
 
-       * calls.c (emit_call_1): Additional arg STRUCT_VALUE_SIZE.
-       Use as arg in call and call_value insns.
-       (expand_call): Record the size, to pass it.
-       * expr.c (emit_library_call): Pass 0 for STRUCT_VALUE_SIZE.
-       * sparc.md (call, call_value): Make use of new arg.
-       Generate an unimp instruction to use sparc calling convention.
-       Add nameless pattern to recognize it.
-       * sparc.c (output_function_epilogue): Skip the caller's unimp insn.
+Fri Nov 24 22:37:41 2000  Denis Chertykov  <denisc@overta.ru>
 
-       * Makefile.in (INSTALLED_H): New variable.
-       (includes): Preserve just those specific files.
+       * config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
+       fixed.
+       (machine_dependent_reorg): Wrong optimization based on
+       NOTICE_UPDATE_CC removed.
 
-       * expr.h (lang_expand_expr): Declare it.
-       * expr.c: Don't declare it.
-       * cp-expr.c (init_cplus_expand): Set up lang_expand_expr here.
-       * cp-lex.c (init_lex): Call init_cplus_expand.
+Fri Nov 24 19:48:09 2000  J"orn Rennecke <amylaar@redhat.com>
 
-Mon Dec 23 15:17:59 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * jump.c (delete_computation): Re-instate deletion of feeding insn.
+       (delete_insn): Look for REG_LABEL notes.
+       (redirect_tablejump): Delete feeding insns.
 
-       * configure: Delete m88k-v88r32 (this is supported by m88k-svr3)
-       and add m88k.
-       * config.sub: Delete v88r as a system type.
+2000-11-24  Bernd Schmidt  <bernds@redhat.co.uk>
 
-Mon Dec 23 19:50:48 1991  Fred Fish  (fnf at fishpond)
+       * config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
+       call_value_pop_1): Make sure operand numbers are contiguous.
 
-       * 3b1.h, crds.h, hp320.h, m68k.md, m68ksgs.h, mot3300.h, news.h,
-       tower-as.h:  Replace port oriented macros SGS_3B1, HPUX_ASM, and
-       SONY_ASM, with configuration oriented macros SGS_SWITCH_TABLES,
-       SGS_SWAP_W, SGS_CMP_ORDER, and SGS_NO_LI.
+       * fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
 
-       * m68ksgs.h: New file.
+       * reload1.c (conflicts_with_override): New function.
+       (emit_input_reload_insns): Use it to tighten test for validity
+       of substituting into output of previous insn.
 
-       * m68k.c (print_operand_address): Change switch labels for MOTOROLA.
-       Don't use a `%'.  Add missing `L' to some labels.
-       For SGS assembler, use one symbol for the offset.
+       * haifa-sched.c (struct ready_list): New.
+       (ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
+       functions.
+       (schedule_insn): Replace args READY and N_READY with a pointer to a
+       ready_list; return void.  Use the new functions to access the ready
+       list.  All callers changed.
+       (queue_to_ready, debug_ready_list): Likewise.
+       (schedule_block): Initialize a ready_list structure.  Use new
+       functions to access it.
+       (max_priority): Remove unused variable.
+       (schedule_insn): Don't set it.
+
+       * c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
+
+       * combine.c (cant_combine_insn_p): New function.
+       (try_combine): Use it.
+
+       * Makefile.in (c-common.o): Depend on $(OBSTACK_H).
+       * c-common.c (c-obstack.c): Include "obstack.h".
+       (struct reverse_tree): Delete.
+       (reverse_list, reverse_max_depth): Delete.
+       (build_reverse_tree, common_ancestor, modify_ok): Delete functions.
+       (struct tlist, struct tlist_cache): New.
+       (tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
+       (add_tlist, merge_tlist, verify_tree, warning_candidate_p,
+       warn_for_collisions, warn_for_collisions_1, new_tlist): New
+       static functions.
+       (verify_sequence_points): Rewritten.
+       * fold-const.c (fold): Don't lose possibly important sequence
+       points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
+
+2000-11-24  Richard Sandiford  <rsandifo@redhat.com>
+
+       * gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL
+       when reversing a register-to-register copy.  Reversal now disabled
+       when the previous instruction has a REG_EQUIV.
+
+2000-11-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * c-parse.in (unary_expr): Move VA_ARG from here ...
+       (primary): ... to here.
 
-Mon Dec 23 17:03:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-11-23  Graham Stott  <grahams@redhat.com>
+
+       * expr.c (store_constructor): If a field is non addressable and
+       the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set.
+
+2000-11-23  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * recog.h (insn_name): New declaration.
-       * final.c (output_asm_insn):  Don't declare insn_name here.
+       * flow.c (print_rtl_and_abort): New function.
+       (verify_wide_reg, verify_local_live_at_start): Try to dump more
+       information before aborting.
 
-       * dbxout.c (dbxout_function, dbxout_begin_function):
-       Pass missing arg to dbxout_really_begin_function.
+2000-11-23  Alexandre Oliva  <aoliva@redhat.com>
 
-       * jump.c (jump_optimize): Set new var can_reach_end.
-       * c-decl.c, cp-decl.c (finish_function):
-       Merge that into current_function_returns_null.
+       * emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
+       is narrower than requested mode.
+       (gen_highpart): Abort if register mode is narrower than
+       requested mode.
 
-       * config.sub (fx2800): New machine alias.
+2000-11-23  Graham Stott  <grahams@redhat.com>
 
-       * va-m88k.h (va_start): Test __GNUC__, not __CLASSIFY_TYPE__.
+       * cse.c (cse_insn): Initialize all regcost variables.
+       Fix a typo add missing '='.
+       Only compare costs if there is a replacement insn.
 
-       * m88kv4.h: New version from Wood.
-       (CPP_PREDEFINES): Put -A options here.  Remove __CLASSIFY_TYPE__.
+Thu Nov 23 04:33:33 2000  Alexandre Oliva  <aoliva@redhat.com>
 
-       * cccp.c (initialize_builtins): Define __GNUC__ as 2.
+       * final.c (output_addr_const) [LABEL_REF]: Simplify.
+       [MINUS]: Enclose non-CONST_INTs in parentheses.
+       [default]: Try OUTPUT_ADDR_CONST_EXTRA.
+       * tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
+       * varasm.c (decode_rtx_const) [CONST]: If it's not something
+       PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
+       instead of abort()ing.
+       * sh.c (output_pic_addr_const): Removed.  Fixed all callers.
+       * sh.h (OUTPUT_ADDR_CONST_EXTRA): New.  Handle the UNSPECs
+       formerly handled in output_pic_addr_const.
+       * sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
+       operands of MINUS in CONSTs so that decode_rtx_const() will
+       accept them.
 
-       * rtl.h (read_rtx): New declaration.
+Thu Nov 23 04:10:30 2000  Alexandre Oliva  <aoliva@redhat.com>
 
-       * c-lex.c: Don't include output.h.
-       (asm_out_file): Declare it.
-       (ridpointers): Allocate storage here.
+       * config/sh/sh.md (mova_const): New pattern.
+       (GOTaddr2picreg): Use it.
+       * config/sh/sh.c (broken_move): Match it.
+       (mova_p): Don't match it.
+       (machine_dependent_reorg): Adjust it.
 
-       * c-lex.h (lastiddecl, token_buffer): Declare here.
-       (yylex, make_pointer_declarator, reinit_parse_for_function): Likewise.
-       * c-parse.y, objc-parse.y: Not here.
+Thu Nov 23 02:09:09 2000  Alexandre Oliva  <aoliva@redhat.com>
 
-       * objc-actions.c (error_with_ivar, error_with_method):
-       (warn_with_method): Use count_error, not errorcount.
+       * config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
+       Moved most register-number #defines...
+       * config/sh/sh.md (define_constants): ... here.  Use macros to
+       refer to registers and unspecs.
+       * config/sh/sh.c: Likewise.
 
-Mon Dec 23 11:50:37 1991  Ron Guilmette  (rfg at ncd.com)
+Thu Nov 23 01:01:32 2000  J"orn Rennecke <amylaar@redhat.com>
 
-       * sdbout.c:  Fixed typo.
-       * stmt.c (init_stmt, init_stmt_for_function):  Explict return type.
-       * gnulib2.c (__fixunsdfdi, __fixunssfdi): Move extern decls.
-       * recog.c (init_recog):  Added explicit return type.
-       * longlong.h (count_leading_zeros):  Moved decl of `__clz_tab'.
-       * print-rtl.c (insn_name_ptr):  Make decl `extern'.
+       * Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE.
+       (rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE.
+       (alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
+       (splay-tree.o, hash.o): Likewise.
+       GCONFIG_H: New.
+       (rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H).
+       (bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
+       (hashtab.o): Likewise.
+       (gcov.o): Depend on $(CONFIG_H).
+       * configure.in: #include insn-codes.h in tm.h.
 
-       * objc-actions.h, objc-actions.c (doing_objc_thang):  Make extern.
-       * objc-actions.h, objc-actions.c (finish_class):  Return void.
-       * objc-actions.c (continue_class):  Added default error return value.
+2000-11-22  Nick Clifton  <nickc@redhat.com>
 
-       * fixinc.svr4: Map assertion tests to equivalent ANSI macro tests.
+       * config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
+       const char * to avoid a compile time warning.
 
-       * i860.c (output_block_move):  Disabled code to move by words or
-       halfwords until it can be made to work right.
+       * config/arm/arm.md (define_constants): Define symbolic names for
+       the link register, last integer register and the fake CC register.
+       Update patterns to use these symbolic names.
 
-       * i860.c (output_block_move):  Moved a sequence of common
-       `output_asm_insn' calls out of (and before) conditionals.
+2000-11-22  Neil Booth  <neilb@earthling.net>
 
-       * i860.c (output_block_move):  Corrected bugs in move loop.
+       * cpplex.c (trigraph_ok): Ensure we don't warn twice.
+       * cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
 
-Mon Dec 23 15:25:01 1991  Tom Wood  (wood at dg-rtp.dg.com)
+2000-11-22  Richard Henderson  <rth@redhat.com>
 
-       * m88kv4.h (CPP_PREDEFINES): Fix for varargs/stdarg.
-       (includes): Include svr4.h before m88k.h so the overrides in m88k.h
-       will take effect.
+       * haifa-sched.c (sched_analyze_1): Don't special-case calls
+       for clobbering registers.
+       (sched_analyze_2): Likewise.
+       (sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
 
-Mon Dec 23 07:06:27 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-11-22  Chris Demetriou  <cgd@sibyte.com>
+           Neil Booth  <neilb@earthling.net>
 
-       * i860.c (output_delayed_branch): Call insn_extract and
-       constrain_operands so that `which_alternative' is set properly.
+       * gcc.c (validate_switches): Validate multiple switches named
+       in '|' (or) expressions in specs.
+       (handle_braces): If more than 1 alternative in a '|' spec
+       matches, call do_spec1 just once.
 
-       * stor-layout.c (layout_type, case ARRAY_TYPE): Handle
-       TYPE_NO_FORCE_BLK similar to RECORD_TYPE.
+2000-11-22  Michael Meissner  <meissner@redhat.com>
 
-       * encrose.h, i386rose.h, mips.h (LIBG_SPEC): Deleted; unused.
+       * d30v.h (TARGET_SWITCHES): Add documentation strings.
+       (TARGET_OPTIONS): Ditto.
+       (OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
+       -O3.
 
-Sun Dec 22 12:02:03 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+Wed Nov 22 06:40:56 2000  Jeffrey A Law  (law@cygnus.com)
 
-       * i386.c (function_epilogue): Use correct operand for insn mode.
+       * pa.c (hppa_encode_label): Account for addition of encoding
+       character when allocating persistent space for the new label
+       name.
 
-Sun Dec 22 12:20:16 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-11-22  Zack Weinberg  <zack@wolery.stanford.edu>
 
-       * cp-decl.c (grokdeclarator): Don't set TREE_PUBLIC for member
-       functions that are really declared as inline methods.
+       * Makefile.in, config.gcc, configure.in: Expunge remaining
+       traces of facility for running MD files through C preprocessor.
 
-       * cp-init.c (build_virtual_init): Add missing call to
-       `assemble_external' when we use a virtual function table.
+2000-11-22  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * cp-decl.c (implicitly_declare): Don't allocate a decl if at the
-       global binding level.
+       * gcov.texi: Add magic comments for texi2pod.pl.
+       * Makefile.in: Add rules to generate and install gcov.1.
+       * gcov.1: New (generated) file.
 
-       * vax.h (PRINT_OPERAND): Handle new 'R' case.
-       * vax.md: Change all patterns which passed a negated operand for
-       `rotl' to use 'R' as the negator, since rotl cannot acctually handle
-       negative arguments.
+2000-11-21  Richard Henderson  <rth@redhat.com>
 
-Sun Dec 22 12:31:46 1991  Ron Guilmette (rfg at ncd.com)
+       * regrename.c (scan_rtx_reg): Terminate the chain rather than
+       abort on mark_read with NO_REGS.
 
-       * i386v4.h (TARGET_VERSION):  Added definition.
-       * i860v4.h (TARGET_VERSION):  Added definition.
+2000-11-21  Mike Stump  <mrs@wrs.com>
 
-       * m68kv4.h:  New file.
-       * fx2800.h:  New file.
+       * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow
+       compilation with older compilers, such as /bin/cc on SunOS.
+       * fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto.
 
-       * m88kv4.h (DWARF_DEBUGGING_INFO):  Deleted redundant definition.
-       (It's defined already in svr4.h.)
+2000-11-21  Richard Henderson  <rth@redhat.com>
 
-       * m88kv4.h (CPP_PREDEFINES): Added definition.
+       * varasm.c (record_constant): Pad the constructed
+       constant_descriptor appropriately.
 
-       * m88kv4.h (CPP_SPEC, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC):
-       Deleted redundant definitions.  (These are defined in svr4.h.)
+Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
 
-       * cccp.c (errno, sys_nerr, sys_errlist): Moved extern decls to top lev.
-       * function.c (round_down): Likewise.
-       * calls.c, c-convert.c: Delete block-level extern decls.
-       * c-convert.c: Include flags.h.
+       * rtl.h (traverse_md_constants): Declare.
+       (struct md_constant): Define.
+       * Makefile.in (HOST_RTL): Add hashtab.o .
+       (OBJS): Add hashtab.o .
+       (hashtab.o): New rule.
+       (rtl.o): Depends on HASHTAB_H.
+       * rtl.c (hashtab.h): #include.
+       (md_constants): New static variable.
+       (def_hash, def_name_eq_p, read_constants): New static functions.
+       (traverse_md_constants): New function.
+       (read_name): Do constant expansion.
+       (read_rtx): Recognize define_constants.
+       * gencodes.c (print_md_constant): New function.
+       (main): Emit #defines for all constant definitions encountered.
+       * md.texi (Constant Definitions): New node.
+       * gensupport.c (xcalloc): New function.
 
-       * configure (i386-*-sysv*):  Fixed tmake_file value.
-       (i860-*-sysv3*):  Fixed xmake_file and tmake_file value.
-       (i860-alliant-*):  New configuration.
+2000-11-21  Richard Henderson  <rth@redhat.com>
 
-       * i860.c (recog_operand, call_used_regs, insn_template,
-       insn_n_operands, insn_outfun, alter_subreg):  Moved extern
-       declarations out of local contexts and put them at file-scope.
+       * config/alpha/alpha.c (alpha_split_tfmode_frobsign): New.
+       * config/alpha/alpha-protos.h: Declare it.
+       * config/alpha/alpha.md (abstf_internal): Use it.
+       (negtf_internal): Likewise.
+       (andnotdi3): Unstar the name.
+       (movtf_internal): Add o/G alternative.
 
-       * i860.c (zero_operand):  Deleted useless function.
+2000-11-21  Zack Weinberg  <zack@wolery.stanford.edu>
 
-       * i860.c (singlemove_string): Added code to optimize moving halfword
-       constants.
+       * stringpool.c (stringpool_statistics): Also report number and
+       percentage of entries which are identifiers.
 
-       * i860.c (output_block_move):  Don't do CC_STATUS_INIT until it is
-       definitely necessary & appropriate.
+2000-11-21  Diego Novillo  <dnovillo@redhat.com>
 
-       * i860.c (output_block_move):  Create up to 16 sequential load/store
-       pairs for constant length moves regardless of operand sizes (e.g.
-       byte, halfword, word).
+       * gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
+       visited before visiting it.
 
-       * i860.c (output_block_move):  Try to generate widest kind of
-       sequential load/store pairs for constant length moves before trying
-       the less efficient (narrower) ones.
+2000-11-21  Nick Clifton  <nickc@redhat.com>
 
-       * i860.c (output_block_move):  Don't do sequential load/store pairs
-       for constant length moves unless the size is a multiple of the
-       size of the operands moved each time (i.e. word, halfword, byte).
+       * config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
+       TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
 
-       * i860.c (output_block_move):  Re-wrote code to do inline variable
-       length block moves to correct fatal errors (e.g. no check for zero
-       or neagtive start count) and to make it more efficient (saved 1 cycle
-       per iteration).
+       * config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
 
-       * i860.c (output_block_move):  Make variable length moves with starting
-       alignment of 4 or 2 `#if 0' for now, until they can be fixed to work
-       right.  Also reordered all three cases so that longer alignments are
-       checked for first.
+2000-11-21  Richard Henderson  <rth@redhat.com>
 
-Sun Dec 22 01:25:07 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * c-common.c (c_unsafe_for_reeval): New function.
+       (add_c_tree_codes): Register it.
+       * c-common.h: Declare it.
+       * tree.c (lang_unsafe_for_reeval): New hook.
+       (unsafe_for_reeval): Call it.
+       * tree.h: Declare it.
 
-       * i386v4.h: Include svr4.h just once.
+2000-11-21  Richard Henderson  <rth@redhat.com>
 
-       * protoize.c (fprintf, printf): Decls put in #if 0.
+       * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
+       references as well.
 
-       * emit-rtl.c (stack_slot_list): Delete superfluous extern decl.
-       (emit): Abort if arg isn't recognized.
+2000-11-21  Neil Booth  <neilb@earthling.net>
 
-       * c-parse.y (current_declspecs, declspec_stack): Declare static.
-       (undeclared_variable_notice): Likewise.
-       (lastiddecl): Declare extern.
-       * objc-parse.y: Same changes as c-parse.y.
-       (token_buffer): Declare extern.
+       * do_includes: Revert to using cpp_read_file.
 
-       * c-lex.c: Include output.h.
-       (check_newline): Decl of asm_out_file deleted.
+2000-11-21  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * c-lex.h (ridpointers, NORID): Declare/define here.
-       * c-lex.c, c-parse.y, objc-parse.y: Not here.
+       * loop.c (consec_sets_giv): If the reg we're examining is anything
+       but UNKNOWN_INDUCT, do nothing.
+       Reset the reg's type to UNKNOWN_INDUCT before returning.
 
-       * sun3.h (WORD_SWITCH_TAKES_ARG): Add `-assert'.
-       (LINK_SPEC): Pass -assert to linker.
+       Mostly from Vladimir Makarov (vmakarov@redhat.com)
+       * ia64.md (attr itanium_class): Define insn types as described in
+       Itanium docs.
+       (all insn patterns): Use itanium_class, not type attributes.
+       Occasionally split alternatives as necessary.
+       (attr type): Compute from new attr itanium_class.
 
-       * gbl-ctors.h (__CTOR_END__, __DTOR_END__): Remove `extern'.
+2000-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * sparc.h (RTX_COSTS): Increase multiply cost to 20.
-       (MULSI3_LIBCALL): Use .umul.
-       (UMULSI3_LIBCALL): Deleted.
+       * tradcpp.c (output_line_command): Mark system headers as such in
+       `line' commands.
 
-Sat Dec 21 18:34:27 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-11-21  Jakub Jelinek  <jakub@redhat.com>
 
-       * combine.c (simplify_comparison): Allow OP0 to be VOIDmode if it
-       is a COMPARE or a comparison operation.
+       * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): SPARC has .file/.loc
+       support in as as well.
+       * configure: Regenerate.
 
-       * i860.md (bte): Remove now unneeded patterns.
-       Correct mode mismatch errors in patterns that will now be used.
+2000-11-20  Richard Henderson  <rth@redhat.com>
 
-Sat Dec 21 00:14:25 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * c-lex.c (orig_filename): New variable.
+       (init_c_lex): Set it.  Move call to cpp_start_read ...
+       (yyparse): ... here.  New function.
+       * c-parse.in (yyparse_1): Rename the parser entry point.
+       * c-tree.h: Declare it.
 
-       * ns32k.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Dummies deleted.
-       (INITIALIZE_TRAMPOLINE): Likewise.  #error inserted.
+2000-11-21  Jakub Jelinek  <jakub@redhat.com>
 
-       * ns32k.c (print_operand_address): For invalid address, just abort.
+       * expr.c (do_compare_and_jump): If op0 was replaced by promoted
+       integer constant, use type of op1 for comparison.
 
-       * Makefile.in (FIXINCLUDES): New variable.
-       (includes, maketest): Use that.
-       * x-i386v4 (FIXINCLUDES): Override here.
+2000-11-20  Stan Shebs  <shebs@apple.com>
 
-Fri Dec 20 18:28:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/rs6000/xm-darwin.h: New file, Darwin host definitions.
+       * config/rs6000/x-darwin: New file, Darwin host fragment.
+       * config.gcc (powerpc-*-darwin*): New host.
+       * system.h (HAVE_DESIGNATED_INITIALIZERS):  Allow this to be
+       overridden by a config file.
 
-       * dbxout.c (dbxout_really_begin_function): New subroutine.
-       (dbxout_function): Use that, but only if not DBX_FUNCTION_FIRST.
-       (dbxout_begin_function): New function.
-       * varasm.c (assemble_start_function): Call dbxout_begin_function.
+2000-11-20  Neil Booth  <neilb@earthling.net>
 
-       * dbxout.c (dbxout_function): Implement DBX_OUTPUT_FUNCTION_END.
+       * cppmacro.c (paste_tokens): Rename from paste_payloads.
+       Change token type after pasting spellings.
+       (paste_all_tokens): Use it.
+       * gcc.dg/cpp/paste2.c: Update test.
+       * objc/execute/paste.m: New test.
 
-       * sparc.md (movstrsi): Add missing double quote.
+2000-11-20  Richard Henderson  <rth@redhat.com>
 
-       * gcc.c (process_command): Handle -Xlinker.
+       * dwarf.h (FMT_CODE): Adjust argument order; fix mapping to
+       dwarf_subscr_data_formats bits.
+       * dwarfout.c (simple_type_size_in_bits): Handle a type with
+       no computed size as size zero.
+       (field_byte_offset): Likewise.
+       (subscript_data_attribute): Handle a range with no upper bound.
 
-       * calls.c (expand_call): Treat vfork like setjmp.
+2000-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * c-decl.c (implicitly_declare): Use push_obstacks_nochange.
+       * gansidecl.h (const): Check __STDC__ before undef'ing `const'.
 
-       * sparc.h (WORD_SWITCH_TAKES_ARG): Add -assert.
-       (LINK_SPEC): Pass -assert to linker.
+2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * svr4.h (ASM_OUTPUT_LOCAL): Fix typo.
+       * c-typeck.c (build_conditional_expr): When merging type
+       qualifiers for conditional expressions between a pointer and a
+       pointer to a void type, merge the qualifiers on the target types
+       rather than the pointer type.  Remove obsolete conditioned out
+       code.
 
-Fri Dec 20 07:52:19 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-11-20  Neil Booth  <neilb@earthling.net>
 
-       * cp-decl2.c (lang_decode_option): Recognize more -fno-OPTION
-       options which need special treatment (in the turning off of the
-       option).
+       * c-lang.c (lang_init_options): Update call to
+       cpp_reader_init.
+       * cppmain.c (main): Similarly.
+       * fix-header.c (read_scan_file): Similarly.
+       * cp/lex.c (lang_init_options): Similarly.
+       * objc/objc-act.c (lang_init_options): Similarly.
+       * cppexp.c (parse_number): Only warn for unextended C89.
+       * cppinit.c (set_lang): New function.
+       (cpp_reader_init): Take a LANG argument and pass it to set_lang.
+       (COMMAND_LINE_OPTIONS): New option std=c++98.
+       (cpp_handle_option): Use set_lang.
+       * cpplex.c (_cpp_lex_token): Warn pedantically if not C99.
+       * cppib.h (enum_c_lang): New enumeration.  Update comments.
 
-       * cp-parse.y (named_class_head_sans_basetype_either): Rule deleted.
-       (identifier_either): Rule deleted.
-       (delete): Don't call `build_x_delete'' if the type does not have a
-       destructor.  We may still need to adjust the address passed to
-       `operator delete'.
+2000-11-20  Will Cohen  <wcohen@redhat.com>
 
-       * cp-init.c (build_delete): New argument MAYBE_ADJUST.  All callers
-       changed.  Also, add #if 0/#endif around code dealing with ALIGNMENT.
-       It's dead code, and that's unclear otherwise.
-       (maybe_adjust_addr_for_delete): New function.
-       (build_new): Initialize special header for arrays allocated with
-       `operator new[]'.  This is a rewrite of Ken's code.
-       (init_init_processing): New built-in type BI_header_type.
+       * calls.c (expand_call): Clear target only when target is in
+       hard register and current_function_check_memory_usage is set.
 
-       * cp-init.c (build_{new,delete}): Call `build_builtin_call' for BIN,
-       BID.
-       (build_builtin_call): New function.
+2000-11-20  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * cp-decl.c (grokvardecl): Set TREE_EXTERNAL.
-       (grokdeclarator): Set TREE_PUBLIC for all member functions.  They
-       are effectively global.  Do the same for static members.
-       (start_function): Don't clear TREE_EXTERNAL in case the function
-       belongs to another file's implementation.  Other fixes to
-       TREE_PUBLIC/TREE_EXTERNAL logic based on interface/implementation.
+       * toplev.c (rest_of_compilation): Run optimize_mode_switching even
+       if not optimizing.
+       * sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
 
-       * cp-method.c (hack_identifier): Call `assemble_external' if
-       necessary.
+2000-11-19  Richard Henderson  <rth@redhat.com>
 
-Fri Dec 20 06:27:38 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * crtstuff.c (force_to_data): Use array size 1 not 0.
 
-       * reload1.c (emit_reload_insns): Always record first insn emitted
-       for a reload, including any insns for a secondary reload.
-       (gen_input_reload): Correct documentation of function.
+       * dwarf2out.c (simple_type_size_in_bits): Handle a type with
+       no computed size as size zero.
+       (field_byte_offset): Likewise.
 
-Thu Dec 19 22:01:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * gnulib1.c (perform_fixdfsi): New customization macro.
+       * config.gcc: Fix another typo.
 
-       * svr4.h (SELECT_RTX_SECTION): Undef before defining.
+2000-11-19  Richard Henderson  <rth@redhat.com>
 
-Thu Dec 19 16:59:12 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+       * c-decl.c (grokdeclarator): Support flexible array members.
+       Use open-ended ranges for these and zero-length arrays.
+       * c-typeck.c (push_init_level): Validate the context of
+       initialization of a zero-length array.
+       * tree.c (int_fits_type_p): Be prepared for missing bounds.
+       * varasm.c (array_size_for_constructor): New.
+       (output_constructor): Use it for arrays of unspecified length.
+       * extend.texi (Zero Length): Mention C99 flexible array members.
+       Document initialization in a top-level struct as valid.
 
-       * cccp.c (hack_vms_include_specification): Make conversion of 
-       filenames more versatile for user specified include directories.
+2000-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Thu Dec 19 17:38:18 1991  Michael Meissner  (meissner at osf.org)
+       * config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
 
-       * mips.h (#error's): Put tab in front of all #error's, so that
-       ancient pre-ANSI compilers will not complain about unknown
-       directives, even if the #error is #ifdef'ed out.
+       * alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
+       stdarg and varargs functions.
 
-       * mips.md (fix_trunc*): Reorder constraints so that 'd' comes before
-       'f', and put a '*' in front of 'f' constraints to keep integer in
-       the GP registers.
-       (define_splits): Add reload_completed check for all define_splits
-       that use subreg on the arguments to work around bug in sched.c.
+2000-11-19  Zack Weinberg  <zack@wolery.stanford.edu>
 
-       * cccp.c (lang_asm): New static variable to indicate we are
-       processing an assembly file and to ignore unknown directives in case
-       they are comments, like they are on the MIPS systems.
-       (main): Set lang_asm if -lang-asm switch.
-       (handle_directive, skip_if_group): Don't report about unknown
-       directives if lang_asm is set.
+       * gcc.c (process_command): Define 'j' variable when
+       MODIFY_TARGET_NAME is defined.
 
-       * gcc.c (default_compilers array): Pass -lang-asm to cpp when
-       processing .S files instead of -lang-c.
+2000-11-19  Richard Henderson  <rth@redhat.com>
 
-Thu Dec 19 15:06:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
 
-       * c-decl.c (c_decode_option): Handle -fno-ident.
-       * c-lex.c (check_newline): Ignore #ident for -fno-ident.
+2000-11-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
-       * svr4.h (ASM_OUTPUT_LOCAL): Use assemble_name.
+       * rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
+       calculation and allocation.
 
-       * mips.h: Use #error, not #include, for error messages.
+2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cccp.c (warning, main): Implement -Werror.
+       * builtins.c (c_getstr): Constify variable.
+       * gmon-sol2.c (_mcleanup): Comment out #endif labels.
+       * conflict.c (const_conflict_graph_arc): New typedef.
+       (arc_hash, arc_eq): Avoid needlessly casting away const-ness.
+       * cppmacro.c (builtin_macro): Likewise.
+       * dwarf2out.c (output_comp_unit): Constify variable.
+       * fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
+       * protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
+       * ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
+       away const-ness.
+       * tradcpp.c (rescan, do_line, macroexpand, macarg): Use
+       ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
+       * varasm.c (const_str_htab_hash, const_str_htab_eq,
+       compare_constant_1, record_constant_1): Constify.
 
-       * i386sco.h (CPP_SPEC): Move non-fixed option here.
-       (CPP_PREDEFINES): From here.
+2000-11-18  Richard Henderson  <rth@redhat.com>
 
-       * gcc.c (do_spec_1): For %p, just pass -D options.
-       For %P, pass all -A options.  Put in whitespace, fix typos.
+       * c-decl.c (grokdeclarator): Special case the creation of an
+       index for a zero-length array.
+       * tree.c (build_index_type): Revert Oct 20 change.
 
-       * c-parse.y (parmlist_2, defn_parmlist_2): Warn about (...).
-       * c-decl.c (get_parm_info): Don't warn here.
+2000-11-18  Marek Michalkiewicz  <marekm@linux.org.pl>
 
-Thu Dec 19 06:15:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype.
+       * config/avr/avr.c (jump_tables_size): New variable.
+       (function_prologue): Initialize it as 0.
+       (function_epilogue): Add it to function_size.
+       (avr_output_addr_vec_elt): New function.  Count words in jump
+       tables in jump_tables_size.  Move code ...
+       * config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here.
+       Call avr_output_addr_vec_elt instead.
+       * config/avr/avr.md (tablejump): Remove disabled define_expand.
 
-       * toplev.c (compile_file): Avoid ordered comparison of debug_info_level
-       since it is an enum.
+2000-11-18  Mark Mitchell  <mark@codesourcery.com>
 
-       * mips.c: Include gstab.h.
+       * configure.in: Make --enable-new-gxx-abi the default.
+       * configure: Likewise.
 
-       * sparc.md: Fix typo.
+2000-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * caller-save.c (save_call_clobbered_regs): Don't save regs that
-       die in a CALL_INSN or that are born there.
+       * Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
 
-Thu Dec 19 04:28:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * tradcif.y: Include tradcpp.h.  Constify.  Make functions static.
+       Move extern function declarations to tradcpp.h.
 
-       * c-aux-info.c (gen_aux_info_record): Don't write space at line beg.
+       * tradcpp.c: Likewise.
 
-Wed Dec 18 11:46:13 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * tradcpp.h: New file.
 
-       * cse.c (cse_main): Use get_max_uid rather than computing it.
+2000-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Wed Dec 18 18:13:06 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-decl.c (check_for_loop_decls): New function.
+       * c-parse.in (for_init_stmt): New.
+       (select_or_iter_stmt): Use for_init_stmt.
+       * c-tree.h (check_for_loop_decls): New declaration.
 
-       * loop.c (scan_loop): Ensure replacement made  by single-use code
-       is not modified in the life of the register being replaced.
+2000-11-18  Neil Booth  <neilb@earthling.net>
 
-Wed Dec 18 15:37:52 1991  Ron Guilmette  (rfg at ncd.com)
+       * cppinit.c: Update comments.
+       (cpp_reader_init): Make -imacro and -include use the standard
+       #include "" search path.
+       (do_includes): New function.
 
-       * rtl.h (fconst2_rtx, dconst2_rtx):  Added extern declarations.
+2000-11-18  Ben Elliston  <bje@redhat.com>
 
-       * flags.h (flag_inhibit_size_directive): Declared.
+       * config/sh/crt1.asm (start_l): Move PC-relative move instruction
+       out of a branch delay slot.
 
-       * svr4.h (INT_ASM_OP, INIT_SECTION_ASM_OP):  Moved around.
-       (ASCII_DATA_ASM_OP):  Definition added.
-       (flag_inhibit_size_directive):  Deleted superfluous extern decls.
+2000-11-17  Richard Henderson  <rth@redhat.com>
 
-       * Makefile.in:  Correct number of expected shift/reduce conflicts
-       reported by bison for cp-parse.y.
+       * config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
+       (ASM_SPEC): Disable and enable .mdebug based on -gstabs.
+       (ASM_FILE_START): Only write out ecoff .file directive if
+       emitting mdebug debugging.
 
-       * sparcv4.h:  New file.
+2000-11-17  Richard Henderson  <rth@redhat.com>
 
-       * i860.h (FUNCTION_ARG_BOUNDARY):  Added definition.
-       (sfmode_constant_to_ulong):  Added extern declaration.
+       * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New.  Detect
+       whether as accepts .file/.loc and produces dwarf2 line info.
+       * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if
+       the assembler supports it.
+       * config.in, configure: Regenerate.
 
-       * i860.md (BTE/BTNE patterns):  Changed all instances of
-       `(match_operand:SI 2 "zero_operand" "J")' to `(const_int 0)'.
+2000-11-17  Richard Henderson  <rth@redhat.com>
 
-       * i860.md (load then BTE/BTNE patterns):  Added 8 new patterns,
-       for cond branch on EQ/NE of a zero-extended memref with small integer.
+       * fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*.
 
-       * i860.md: 20 new patterns (involving BTE/BTNE) like existing 20
-       but simplified so that the combiner will find them.
+2000-11-17  Jim Wilson  <wilson@redhat.com>
 
-       * i860.md (sfmode_constant_to_ulong, fconst2_rtx):  Removed
-       superfluous nested extern declarations.
+       * config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN):
+       Don't clear need_barrier is next_insn is a CALL_INSN, or has
+       instruction type B or UNKNOWN.
+
+2000-11-17  Neil Booth  <neilb@earthling.net>
+
+       * cpperror.c (print_file_and_line): Don't display line number if 0.
+
+2000-11-17  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * ggc.h: Delete ggc_add_string_root and ggc_mark_string.  Add
+       digit_vector and digit_string.
+       * stringpool.c (digit_vector): New.
+       (ggc_alloc_string): Use digit_string.
+
+       * stmt.c (digit_strings): Delete.
+       (init_stmt): Do not initialize digit_strings.
+       (expand_asm_operands): Use ggc.h's digit_string macro.
+       * toplev.c (mark_file_stack): Delete.
+       (compile_file): Don't call init_tree_codes.
+       (main): No need to make the file stack a GC root.
+       * tree.c (init_tree_codes): Delete.
+       * tree.h (init_tree_codes): Delete.
+
+       * c-lex.c: Don't include ggc.h.
+       (mark_splay_tree_node, mark_splay_tree): Delete.
+       (init_c_lex): No need to ggc_strdup string constant.  Don't add
+       file_info_tree to GGC roots.
+       (cb_enter_file, cb_rename_file): No need to ggc_strdup
+       ip->nominal_fname.
+
+       * Makefile.in (c-lex.o): No longer depends on $(GGC_H).
+
+       * dbxout.c (dbxout_init),
+       dwarf2out.c (dwarf2out_line),
+       ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees),
+       varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once),
+       xcoffout.c (xcoffout_source_file),
+       i386.c (load_pic_register):
+       Delete call(s) to ggc_add_string_root and/or ggc_mark_string.
 
-Wed Dec 18 15:39:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * except.c (create_rethrow_ref),
+       profile.c (init_edge_profiler),
+       toplev.c (compile_file),
+       varasm.c (named_section, assemble_static_space,
+       assemble_trampoline_template, output_constant_def, force_const_mem),
+       i386.c (load_pic_register),
+       ia64.c (ia64_encode_section_info),
+       rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference,
+       rs6000_emit_prologue, rs6000_emit_epilogue),
+       rs6000.md (load_toc_aix_si, load_toc_aix_di):
+       Change ggc_alloc_string (var, -1) to ggc_strdup (var).
 
-       * va-i860.h (va_start for stdarg.h): Divide reg counts by 4.
+       * profile.c (output_func_start_profiler),
+       tree.c (make_node),
+       i386.c (load_pic_register): No need to ggc_strdup string constant.
 
-       * stmt.c (emit_case_nodes): Fix typo, near testing cost_table.
+2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
+
+       * Makefile.in (config.status): Depend on config.gcc.
+       * configure.in <for machine in $build $host $target>: Move
+       contents of loop into config.gcc, removing autoconf quoting.
+       Fix changequote bug for alpha*-*-vxworks*.
+       * configure: Regenerate.
+       * config.gcc: New.
+
+2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * c-parse.in (if_prefix): Find the filename and line number at
+       $-2 and $-1 respectively.
+       * diagnostic.c (error_recursion): Add missing newline, use
+       fputs, translate string.
+
+2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * stringpool.c: New file.
+       * ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete.
+       (ggc_alloc_string): Now in stringpool.o.
+       * ggc-page.c, ggc-simple.c: Do not define or allocate empty_string.
+       * ggc.h: Delete prototype of ggc_add_string_root.  #define
+       ggc_add_string_root and ggc_mark_string to nothing.  Prototype
+       init_stringpool and stringpool_statistics.
+       (ggc_alloc_string): Returns a const char *.
+       * tree.c (hash_table, do_identifier_warnings): Delete.
+       (init_obstacks): Don't initialize the identifier hash table.
+       (get_identifier, maybe_get_identifier, start_identifier_warnings,
+       set_identifier_size): Now in stringpool.c.
+       * tree.h (struct tree_string): Constify pointer field.
+       (approx_sqrt): Prototype.
+
+       * Makefile.in (stringpool.o): Add rule, mention in OBJS.
+
+       * toplev.c (approx_sqrt): New function.
+       (compile_file): Call stringpool_statistics if mem_report is on.
+       (main): Call init_stringpool.
+
+       * builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c
+       (process_directive), c-typeck.c (constructor_asmspec, struct
+       initializer_stack, start_init), except.c (create_rethrow_ref),
+       stmt.c (digit_strings), toplev.c (decode_f_option), tree.c
+       (built_in_filename), varasm,c (in_named_name,
+       assemble_static_space, struct constant_descriptor, struct
+       deferred_string, struct pool_constant, force_const_mem),
+       i386.c (pic_label_name, global_offset_table_name), rs6000.c
+       (rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *.
+
+       * c-common.c (combine_strings): Combine strings in scratch
+       buffer, then pass to build_string.
+       * optabs.c (init_libfuncs), profile.c (init_edge_profiler,
+       output_func_start_profiler), stmt.c (init_stmt), alpha.c
+       (alpha_need_linkage), arm.c (arm_encode_call_attribute),
+       i386.c (load_pic_register), ia64.c (ia64_encode_section_info),
+       rs6000.c (rs6000_encode_section_info): Create string in
+       scratch buffer, then pass to ggc_alloc_string.
+
+       * stmt.c (expand_asm_operands): If we must adjust the
+       constraint strings, do so by creating a new one, not by
+       modifying the old one in place.  Constify some char *s.
+       * config/pa/pa.c (hppa_encode_label): Drop unnecessary second
+       argument.  Create string in scratch buffer, then pass to
+       ggc_alloc_string.
+       * config/pa/pa-protos.h: Update prototype.
+       * config/pa/elf.h, config/pa/pa.h, config/pa/som.h:
+       hppa_encode_label takes only one argument.
+
+2000-11-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not
+       malloc/realloc.
+
+       * cpplib.c (glue_header_name): Likewise.
+
+       * fixincl.c (run_compiles, start_fixer): Likewise.
+
+       * fixlib.c (load_file_data): Likewise.
+
+       * mkdeps.c (munge): Likewise.
+
+2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
+
+       * defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove
+       trailing ';'.  Fix formatting.
+
+2000-11-16  Jim Wilson  <wilson@redhat.com>
+
+       * config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR):
+       Shift masks left by one to avoid conflict.
 
-       * i860.h (CUMULATIVE_ARGS): Define a named struct, then use it.
+       * config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with
+       DECL_EXTERNAL set.
 
-       * function.c (expand_function_start): Compute sizes in proper order.
+2000-11-16  Nick Clifton  <nickc@redhat.com>
 
-       * svr4.h (MD_STARTFILE_PREFIX): Defined.
-       (STANDARD_STARTFILE_PREFIX): Deleted.
+       * config/arm/arm.c (output_arm_prologue): Note nested functions.
+       (arm_expand_prologue): For nested functions preserve the
+       static chain register during stack frame creation.
 
-       * sparc.md (movstrsi): Disable if needs more than 32 insns.
+       * config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12.
+       (ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function
+       with a stack frame there is a 4 byte gap between the arg
+       pointer and the hard frame pointer (used to preserve the
+       static chain register during stack frame creation).
+
+2000-11-16  DJ Delorie  <dj@redhat.com>
 
-       * expr.c (store_expr): Handle copying too-short STRING_CST.
+       * rtl.c (read_rtx): Provide suitable names for unnamed
+       define_insn and define_insn_and_split patterns, based on file
+       and line numbers.
+
+2000-11-15  Neil Booth  <neilb@earthling.net>
+
+       * cpplib.c (start_directive, end_directive): New functions.
+       (_cpp_handle_directive, run_directive): Use them.
+       (_cpp_handle_directive): Don't -Wtraditional on indented
+       null directives.
+       (_cpp_push_buffer): Don't re-clear was_skipping.
+       * cpplib.h (struct cpp_reader): New member la_saved.
+       * cppmacro.c (cpp_get_token): Don't interpret _Pragma in
+       directives.
+
+       gcc.dg/cpp/_Pragma1.c: Update.
+       gcc.dg/cpp/_Pragma2.c: New test.
+
+2000-11-15  Mark Mitchell  <mark@codesourcery.com>
+
+       * toplev.c (wrapup_global_declarations): Don't write out
+       artificial static variables that aren't needed.
 
-       * gstdarg.h (_VA_LIST): Handle this like _VA_LIST_.
+2000-11-15  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * m68k.h (LOCAL_LABEL_PREFIX): Remove the `L'.
-       Fix uses of %L by adding `L'.
-       * m68k.c (print_operand_address): Fix use of %L.
-       * m68k.md (movhi): Fix use of %L.  They were inconsistent.
+       * ia64.c (struct group): New structure.
+       (last_group): New static array.
+       (group_idx): New static variable.
+       (emit_group_barrier_after, errata_find_address_regs, errata_emit_nops):
+       New static functions.
+       (emit_insn_group_barriers): Initialize and keep track of group_idx
+       and last_group.
+       Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP.
+       Replace all calls to emit_insn_after that emit a group barrier to use
+       emit_group_barrier_after.
+       * ia64.h (MASK_B_STEP): New.
+       (other MASK_XXX macros): Renumbered.
+       (TARGET_B_STEP): New.
+       (TARGET_SWITCHES): Add -mb-step.
 
-Wed Dec 18 14:59:26 1991  Michael Meissner  (meissner at osf.org)
+2000-11-15  Fred Fish  <fnf@be.com>
 
-       * limits.h (whole file): Protect against inclusion.
+       * fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of
+       machines for which fixincludes is not needed.
+       * config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto.
 
-       * t-decrose (LIMITS_H): Don't install limits.h on OSF/1.
-       * t-encrose (LIMITS_H): Don't install limits.h on OSF/1.
-       * t-i386rose (LIMITS_H): Don't install limits.h on OSF/1.
+2000-11-15  Jason Merrill  <jason@redhat.com>
 
-       * x-decrose (SYSTEM_INCLUDES): Don't do -I/usr/include.
-       * x-encrose (SYSTEM_INCLUDES): Don't do -I/usr/include.
-       * x-i386rose (SYSTEM_INCLUDES): Don't do -I/usr/include.
+       * diagnostic.c (finish_abort): New fn.
+       (fancy_abort, error_recursion): Use it.
+       * toplev.c (crash_signal): Likewise.
+       * diagnostic.h: Declare it.
 
-Wed Dec 18 04:53:23 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+2000-11-13  Andrew Haley  <aph@redhat.com>
 
-       * cp-init.c (build_new): Rewrote some of the array-handling code.
-       Now stores the number of elements (after stripping off all outer
-       ARRAY_TYPE nodes) at the start of allocated storage, just before the
-       pointer the user's program sees.  We also store the 2s compliment
-       value of the pointer returned so we can distinguish when deleting a
-       pointer whether it was "adjusted" or not.
-       (expand_vec_init): Added a type conversion for cases when the
-       address of an array gets passed in and we want to deal with the
-       elements.
-       (build_delete): Catch a case where deletion of arrays could slip
-       through.
-       (build_vec_delete): More array-handling rewrites.  Extract the
-       stored value and use it as the number of objects to destroy; ignore
-       any value supplied by the user.
+       * tree.c (build_type_no_quals): New function.
+       * tree.h (build_type_no_quals): Declare.
+       * c-common.c (c_get_alias_set): When considering type
+       compatibility for pointer types, ignore cv-qualifiers anywhere in
+       a pointer chain.
 
-       * cp-init.c (init_vfields): Now static.
+2000-11-15  Graham Stott  <grahams@redhat.com>
 
-       * cp-tree.h (struct lang_decl_flags): Merged "dummy" fields.
+       * regrename.c (scan_rtx_rtx): Skip to the next chain on
+       encountering a terminated chain.
 
-       * cp-tree.h (DECL_TEMPLATE_INSTANTIATIONS): New macro for finding a
-       list of instantiations already made of a template.  (Only
-       implemented for functions currently.)
-       * cp-tree.def (DECL_TEMPLATE_INSTANTIATIONS): Describe it.
-       * cp-pt.c (instantiate_template): Maintain and make use of it.
+2000-11-14  Mark Mitchell  <mark@codesourcery.com>
 
-       * cp-pt.c (tsubst, case REFERENCE_TYPE): Call build_reference_type
-       instead of constructing the type here.
+       * configure.in: Move check for V3 above check for C++ header-file
+       directory.
+       * configure: Regenerated.
 
-Wed Dec 18 03:37:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-11-14  DJ Delorie  <dj@redhat.com>
 
-       * c-parse.y (label_decl): Use identifiers_or_typenames.
+       * config/v850/v850.c: Remove obstacks.
+
+Tue Nov 14 21:54:31 2000  Marek Michalkiewicz  <marekm@linux.org.pl> & Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr.c (avr_case_values_threshold): New.
+       (avr_override_options): Set it depending on options, make it large
+       when not optimizing to work around "unable to generate reloads".
+
+       * config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option.
+       (EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section
+       executable if not AVR_MEGA.  Make sure jump tables are word-aligned.
+       (JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1.
+       (ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA.
+       (avr_case_values_threshold): Declare as extern int.
+       (CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold.
+
+       * config/avr/avr.md (tablejump): Removed.
+       (*tablejump_rjmp): New for jump tables made from "rjmp" instructions.
+       (*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the
+       index in the table, not multiplied by 2.
+       (casesi): Change to match the above insns.  Always enable.
+
+       * config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__.
+       Change to expect the word address of the table, multiply it by 2
+       here and not in the caller.  Change "adiw" to faster "inc".
+
+2000-11-14  Neil Booth  <neilb@earthling.net>
+
+       * cppexp.c (parse_defined): Call cpp_get_token not
+       _cpp_get_token.
+       (lex): Similarly.
+       * cpplex.c (cpp_output_line): Similarly.
+       * cpplib.c (glue_header_name, do_line, do_ident,
+       parse_answer, parse_assertion): Similarly.
+       (_cpp_handle_diretive): Don't save to lookaheads
+       when processing directives.
+       * cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not
+       _cpp_get_token.
+       (funlike_invocation_p): Don't save to lookaheads
+       when pre-expanding arguments.
+       (_cpp_get_token): Delete.
+       (cpp_get_token): Merge contents of _cpp_get_token.
 
-       * c-parse.y: Support FUNCTION ([ARGNAMES] DECLS) {...}.
-       (defn_parmlist_2, defn_parms): New nonterminals.
-       (identifiers_or_typenames): New nonterminal.
-       (parmlist_or_identifiers_1): Changed.
-       * c-decl.c (combine_parm_decls): New function.
+2000-11-14  Jakub Jelinek  <jakub@redhat.com>
 
-Tue Dec 17 22:18:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * builtins.c (expand_builtin_setjmp): Set
+       current_function_calls_setjmp.
+       (expand_builtin_longjmp): Set current_function_calls_longjmp.
 
-       * function.c (expand_main_function): Build SYMBOL_REF with Pmode,
-       not VOIDmode.
+       * config/sparc/sparc.md (builtin_setjmp_setup): New expand.
+       (do_builtin_setjmp_setup): New insn.
+
+Tue Nov 14 12:34:56 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * rs6000.h (HARD_REGNO_NREGS, CLASS_MAX_NREGS): FP regs can only hold
-       64 bits, not any size FP value.
+       * tree.c (get_unwidened): Use host_integerp and tree_low_cst.
+       (int_fits_type_p): For variable bounds, call force_fit_type.
 
-       * reload1.c (reload): Remove variable old_caller_save_needed.
-       Call init_save_areas and setup_save_areas instead of
-       allocate_save_areas and elim_save_addrs.
-       * caller-save.c (init_caller_save): New function, from part of
-       allocate_save_areas.
-       (setup_save_areas): New function, from rest of allocate_save_areas
-       and elim_save_addrs.
-       When scanning pseudos to find hard regs that might need caller-save,
-       look at all parts of multi-word registers.
+2000-11-14  Jakub Jelinek  <jakub@redhat.com>
 
-       * flow.c (elim_reg_set): New variable.
-       (flow_analysis): Set it to contain those regs that we can eliminate.
-       (mark_used_regs): Don't set eliminable regs as live when they are used.
+       * varasm.c (struct deferred_string): New structure.
+       (const_str_htab): New variable.
+       (STRHASH): New macro.
+       (mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
+       constr_str_htab_eq, const_str_htab_del): New functions.
+       (output_constant_def): Add DEFER argument, defer string
+       constants until mark_constant_pool time if requested.
+       (mark_constant_pool): Walk the insn chain even if const_str_htab is
+       not empty.
+       (mark_constants): If a SYMBOL_REF for deferred string is found,
+       output it and remove from hash table.
+       (output_addressed_constants): Set DEFER to 0 in call to
+       output_constant_def.
+       * rtl.h (STRING_POOL_ADDRESS_P): Define.
+       (output_constant_def): Adjust prototype.
+       * expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
 
-       * global-alloc.c (global_alloc): Clear preferences with eliminable
-       regs, in addition to clearing conflicts.
+2000-11-14  Chandrakala Chavva  <cchavva@redhat.com>
 
-       * reload.c (find_reloads_toplev): Abort instead of making
-       a SUBREG of a VOIDmode constant.
+       * optabs.c (expand_complex_ab):: Use overflow-trapping optabs for
+       signed types if flag_trapv.
 
-       * emit-rtl.c (copy_rtx_if_shared): SCRATCH may always be shared.
+2000-11-14  Zack Weinberg  <zack@wolery.stanford.edu>
 
-Tue Dec 17 21:06:03 1991  Michael Meissner  (meissner at osf.org)
+       * tradcpp.c, tradcif.y: Update FSF mailing address, delete
+       reference to GPLv1.
 
-       * mips.h (MIPS_VERSION): Bump MM version number to 5.
-       (processor_type): New enum to hold which type of
-       processor to schedule for.
-       (mips_cpu): New global to hold processor type.
-       (MASK_*, TARGET_*): Rearrange target bits, add bits to select
-       processor type, r4000 int/long/long long sizes.
-       (TARGET_SWITCHES): Delete redunant no options, only leave no-
-       version.
-       (CUMULATIVE_ARGS): Make this a structure, not a pointer to a
-       structure.
-       (INIT_CUMULATIVE_ARGS): CUMULATIVE_ARGS changes.
-       (FUNCTION_ARG_ADVANCE): Ditto.
-       (FUNCTION_ARG): Ditto.
-       (FUNCTION_ARG_PARTIAL_NREGS): Ditto.
-       (RTX_COSTS): Count simple memory refs as one instruction.
-       (REGISTER_MOVE_COST): Define as 4, to make sure constraints are
-       checked.
+2000-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * mips.md (hilo type attribute): Add hilo type attribute to
-       separate moves to/from the hi/lo registers with other register
-       transfers.
-       (move patterns): Set hilo attribute as appropriate.
-       (define_function_units): Update the integer and memory functional
-       units to include R4000 and R6000 processors, keyed off of the
-       -mr[46]000 switches.  Add a new functional unit for transfering
-       stuff between register sets.
-       (mov{sf,df}_xfer*): Remove these patterns, as they are no longer
-       needed in GCC 2.00 to move between the different register sets,
-       and generate insn not found messages if used.
-       (movsi_ulw, movsi_usw): Correct test to see if stack loads are
-       aligned.  Use UNITS_PER_WORD-1 instead of a hard coded 3.
-       (move define_expands): Delete move define_expands, since they are
-       illegal according to the documentation, and the bug they guard
-       against has long ago been fixed.
+       * c-common.h (CTI_C_SIZE_TYPE): Update comment.
 
-       * mips.c (mips_cpu): New global to hold processor type.
-       (override_options): Set mips_cpu, check for 64 bit r4000 switches
-       if processor not a r4000.
-       (init_cumulative_args): CUMULATIVE_ARGS changes.
-       (function_arg_advance): Ditto.
-       (function_arg): Ditto.
-       (function_arg_partial_nregs): Ditto.
-       (mips_output_filename): Except for first .file, don't emit any other
-       .file if encapsulating stabs in ECOFF, just put out stabs.  This
-       confuses gdb.
-       (mips_output_lineno): Don't put out .loc's if encapulating stabs in
-       ECOFF.
-       (mips_asm_file_start): Put a .set nobopt for MIPS assembler to
-       work around bug where the assembler goes bonkers if a branch
-       inside of a .set noreorder section jumps to a label outside of a
-       .set noreorder section.  This is supposed to be fixed in 2.20 of
-       the assembler.
-       (function_epilogue): Correctly emit nops with tabs and newlines if
-       needed.
+2000-11-14  Jakub Jelinek  <jakub@redhat.com>
 
-       * decrose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to
-       enable OSF/rose support, rather than use nm.
+       * varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table
+       to array of pool_constnat pointers.
+       (struct pool_constant): Add next_sym and label members.
+       (struct pool_sym): Remove.
+       (init_varasm_status): Change pool_sym into pool_constant.
+       (mark_pool_constant): Mark pc->label string as well.
+       (mark_pool_sym_hash_table): Remove.
+       (mark_varasm_status): Remove it from caller as well.
+       (free_varasm_status): Don't free pool_sym structures.
+       (force_const_mem): Don't allocate pool_sym structure, instead
+       fill pool->label and chain it into rtx_sym hash table.
+       (find_pool_constant, mark_constant_pool): Use pool_constant instead
+       of pool_sym.
+
+2000-11-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * reload1.c (emit_input_reload_insns): Honor forcing of constants
+       into memory by PREFERRED_RELOAD_CLASS NO_REGS.
+
+2000-11-14  Michael Matz  <matzmich@cs.tu-berlin.de>
+
+       * dominance.c: New file.
+       * Makefile.in (OBJS): Add dominance.o.
+
+       * flow.c (compute_flow_dominators): Remove.
+       (compute_immediate_dominators): Remove.
+       (compute_immediate_postdominators): Remove.
+       * basic-block.h: Remove their prototypes.
+       (calculate_dominance_info): Add prototype.
+
+       * dce.c (eliminate_dead_code): Change calls to above functions.
+       Don't compute dominators but only immediate dominators.
+       * flow.c (flow_loops_find): Change callers.
+       * gcse.c (compute_code_hoist_data): Likewise.
+       * haifa-sched.c (schedule_insns): Likewise.
+       * ifcvt.c (if_convert): Likewise.
+       * ssa.c (convert_to_ssa): Likewise, and only compute immediate
+       dominators.
+
+2000-11-14  Richard Henderson  <rth@redhat.com>
 
-       * encrose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to
-       enable OSF/rose support, rather than use nm.
+       * stmt.c (warn_if_unused_value): Don't warn if the expression
+       has side effects.
 
-       * i386rose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to
-       enable OSF/rose support, rather than use nm.
+       * c-typeck.c (c_sizeof): Fold result to c_size_type_node.
+       (c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise.
 
-       * t-decrose (EXTRA_PASSES): Build collect2 instead of collect-osf,
-       and link it to ld.
+2000-11-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
-       * t-encrose (EXTRA_PASSES): Build collect2 instead of collect-osf,
-       and link it to ld.
+       * loop.c (basic_induction_var): Revert accidental checkin.
 
-       * t-i386rose (EXTRA_PASSES): Build collect2 instead of collect-osf,
-       and link it to ld.
+2000-11-13  Hans-Peter Nilsson  <hp@axis.com>
 
-       * x-decrose (DEBUG): Delete -g, since CFLAGS already passes it.
-       (GCC_CFLAGS): Define POSIX so we can build protoize.
+       * c-lex.c (cb_leave_file): Harmonize conditions and order of
+       statements to those of process_directive for (action == act_pop).
 
-       * x-encrose (DEBUG): Delete -g, since CFLAGS already passes it.
-       (GCC_CFLAGS): Define POSIX so we can build protoize.
+       * collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS.
 
-       * x-i386rose (DEBUG): Delete -g, since CFLAGS already passes it.
-       (GCC_CFLAGS): Define POSIX so we can build protoize.
+       * local-alloc.c (equiv_init_movable_p): References to CC0 are not
+       movable.
 
-       * t-decstatn (EXTRA_PASSES): Explicitly mention collect2.
-       (ld): Use $(SYMLINK) rather than just ln.
+2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * t-mips (EXTRA_PASSES): Explicitly mention collect2.
+       * c-parse.in (stmts_and_decls): Deprecate use of label at end of
+       compound statement.
 
-       * collect2.c (whole file): Rewrite file based on collect-osf, to
-       make it more portable.  Highlights include: running ld only once if
-       there are no constructors; OSF/rose support; not assuming that the
-       linker, assembler, nm live in /bin; -v support to trace the commands
-       being executed and print a version number; loops instead of
-       recursion used to write out the tables; support for user using -r;
-       checking all error returns; not using the shell to start processes.
+2000-11-13  Neil Booth  <neilb@earthling.net>
+
+       * cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF
+       cases return without MI check.
+       * cpplib.c (do_diagnostic): Take boolean of whether to
+       print the directive name.
+       (do_error, do_warning): Update.
+       (do_pragma_dependency): Use it.
+       * cpplib.h (VARARGS_FIRST): Delete.
+       (struct cpp_token): Delete integer.
+       * cppmacro.c (enter_macro_context): Move disabled check
+       to _cpp_get_token.
+       (_cpp_get_token): Simplify into a single loop.
 
-       * collect-osf.c (whole file): Deleted, merged into collect2.c.
+2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
 
-Tue Dec 17 15:49:06 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * configure.in:  Use 'test -f' not '[ -e'.
+       * configure: Regenerated.
 
-       * sched.c (schedule_insns): Don't update value of reg_live_length
-       when it is negative, because negative values are special.
+2000-11-13  DJ Delorie  <dj@redhat.com>
 
-       * sched.c (schedule_block): Make new_needs an int not an enum, since
-       some compilers won't accept using `|' and `&' with enums.
+       * config/mn10300/mn10300.md (store_movm): Note which registers are
+       really used or clobbered.
 
-       * sparc.md: Don't emit nop after floating point compare; this is
-       no longer needed.
+2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       From Tom Wood:
-       * sched.c (memrefs_conflict_p): Exchange xsize and ysize when x
-       and y are exchanged.
+       * c-parse.in (ends_in_label): Remove from %union and %type.
+       (decls, stmts, lineno_stmt_or_labels, xstmts,
+       lineno_stmt_or_label, stmt_or_label): Remove.
+       (stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt,
+       lineno_stmt_decl_or_labels_ending_decl,
+       lineno_stmt_decl_or_labels_ending_label,
+       lineno_stmt_decl_or_labels_ending_error,
+       lineno_stmt_decl_or_labels, compstmt_contents_nonempty,
+       lineno_stmt, lineno_label): New.
+       (compstmt_nostart): Use compstmt_contents_nonempty.
 
-Tue Dec 17 15:01:04 1991  Mark Eichin  (eichin at cygnus.com)
+2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * cp-decl.c (set_nested_typename): use SET_IDENTIFIER_TYPE_VALUE,
-       not set_identifier_type_value, so that the binding doesn't get
-       unwound by leaving class scope.
+       * c-common.c (boolean_increment): New function.
+       * c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE,
+       CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE.
+       (c_bool_type_node, c_bool_true_node, c_bool_false_node): Define.
+       (boolean_increment): Declare.
+       * c-convert.c (convert): Allow for BOOLEAN_TYPE.
+       * c-decl.c (init_decl_processing): Create boolean nodes.
+       (finish_struct): Allow for _Bool bitfields.
+       * c-parse.in (reswords): Add _Bool.
+       (rid_to_yy): Allow for RID_BOOL.
+       * c-typeck.c (default_conversion): Make booleans promote to int.
+       (convert_arguments, build_unary_op, build_modify_expr,
+       convert_for_assignment): Allow for booleans.
+       * ginclude/stdbool.h: Make conforming to C99.
 
-Tue Dec 17 10:57:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
+2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * toplev.c (main): Make -g0 produce no debugging information.
+       * c-parse.in (c99_block_start, c99_block_end,
+       c99_block_lineno_labeled_stmt): New.
+       (simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt.
+       (stmt): Split off selection and iteration statements into...
+       (select_or_iter_stmt): New.  Use c99_block_lineno_labeled_stmt.
 
-Tue Dec 17 15:15:20 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * gcc.c (do_spec_1): In %P, duplicate the names with __ just in front.
+       * invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
+       -time): Update.
 
-       * gstab.h: Renamed from stab.h.
-       * collect2.c, dbxout.c, final.c, mips-tfile.c: #include changed.
-       * dbxout.c (N_CATCH): Define this if stab.h does not.
-       * Makefile.in: Depend on gstab.h where appropriate.
+2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
 
-       * Makefile.in (STAGESTUFF): Remove collect and collect2.
+       * arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change.
+       Rewrite to avoid use of match_dup.  Don't try to tie registers that
+       are not in the same mode.
 
-       * c-parse.y (parmlist_2): Allow just `...' with no named args.
-       * c-decl.c (get_parm_info): Pedantic warning for that usage.
+2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * final.c (final_scan_insn): Don't output blocks for -g1.
+       * invoke.texi: Update lists of languages and suffixes supported.
 
-       * Makefile.in (crtbegin.o, crtend.o): Use -g0.
+2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * function.c (expand_main_function): Do nothing if INIT_SECTION_ASM_OP.
+       * configure.in: Take toplevel configure arguments from the
+       environment to create configargs.h and substitute
+       gcc_config_arguments, taking account of any existing configargs.h
+       if reconfiguring.
+       * configure: Regenerate.
+       * gccbug.in: Include toplevel configure arguments in gccbug.
 
-       * varasm.c (assemble_asm): Handle ADDR_EXPR of a STRING_CST.
-       * stmt.c (expand_asm): Likewise.
-       * c-parse.y (extdef, stmt): Accept STRING_CST or ADDR_EXPR in asm.
+2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
 
-Tue Dec 17 15:01:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * varasm.c (struct constant_descriptor): Put CONTENTS inside a
+       union to make it well-aligned.  Update all uses.
 
-       * m88k.h (INIT_SECTION_ASM_OP): Override svr[34].h.
-       * m88kv4.h (INIT_SECTION_ASM_OP): Override svr4.h and m88k.h.
-       * m88kdgux.h ({INIT,CTORS,DTORS}_SECTION_ASM_OP): Override m88k.h
-       except when compiling crtstuff.c.
+2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Mon Dec 16 21:50:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-parse.in (initelt): Give appropriate pedantic warnings,
+       depending on flag_isoc99, for non-ISO syntax and for C99 syntax
+       outside C99 mode.
+       (designator): If pedantic, pedwarn for a designator specifying a
+       range of elements.
+       * c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
+       these cases.
+       * extend.texi: Document the C99 syntax as the preferred syntax,
+       and the pre-2.5 syntax as obsolete.  Mention use of designator
+       lists for nested subobjects.
 
-       * stmt.c (struct case_node): Remove unused field `test_label'.
-       (pushcase, pushcase_range): Don't initialize it.
+2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * stmt.c (check_for_full_enumeration_handling): Only print warnings
-       if -Wswitch is specified.
-       (expand_end_case): Call check_for_full_enumeration_handling even if
-       -Wswitch is not specified.
+       * diagnostic.c (vbuild_message_string, output_do_printf, vnotice):
+       Add ATTRIBUTE_PRINTF.
+       * tradcpp.c (v_message, warning, error, fatal, error_with_line):
+       Add ATTRIBUTE_PRINTF*.
 
-       * expr.c (convert_move): Add missing arg to call to force_reg.
-       (convert_to_mode): Likewise, for protect_from_queue.
+2000-11-12  Mark Mitchell  <mark@codesourcery.com>
 
-Mon Dec 16 20:33:10 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * function.c (assign_parms): When calling put_var_into_stack, make
+       sure that there are no hidden pending sequences.
 
-       * expr.c (expand_builtin): Check number and types of args.
+2000-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * c-parse.y (stmt, extdef): Allow constant expression inside plain asm.
+       * builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
+       BUILT_IN_RINDEX.  Add missing checks for BUILT_IN_STRCHR and
+       BUILT_IN_STRRCHR.
 
-       * m68k.md (movhi): Use asm_fprintf to print .set or equivalent.
-       * m68k.c (print_operand_address): Use %R when printing pc register.
-       * m68k.h (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL):
-       Use %L.
+       * builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
 
-       * c-typeck.c, cp-typeck.c (c_sizeof): Give error for incomplete type.
+       * c-common.c (c_common_nodes_and_builtins): Declare index and
+       rindex when nonansi builtins are allowed.
 
-Mon Dec 16 11:14:28 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+       * extend.texi (index, rindex): Document new builtins.
 
-       * cp-decl.c (init_decl_processing): Don't declare unused function
-       __builtin_vec_delete.
+2000-11-12  Mark Mitchell  <mark@codesourcery.com>
 
-Mon Dec 16 08:35:04 1991  Torbjorn Granlund  (tege at hal.gnu.ai.mit.edu)
+       * configure.in: Turn on libstdc++ V3 by default.
+       * configure: Regenerated.
 
-       * gnulib2.c (__udivmoddi4): Add comment.
+       * fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris.
 
-Mon Dec 16 07:47:13 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-11-12  Jakub Jelinek  <jakub@redhat.com>
 
-       * cp-call.c (ideal_candidate): Always set BEST before using it.
-       Also, call `build_component_ref_1' with 3 args everywhere, and
-       `build_indirect_ref' with 2 args everywhere.
+       * reload1.c (set_label_offsets): Go inside of PARALLELs.
 
-Mon Dec 16 07:17:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * reload.h: Add `extern' to function declarations.
-       (gen_input_reload): Add declaration.
-       * reload1.c (reload): Allocate save area if caller-saves are needed;
-       check for case when it becomes needed after some spill registers are
-       obtained.
-       Can now eliminate frame pointer even when caller-saves are needed.
-       Perform register elimination of save area and see if caller-save needs
-       a spill register.
-       If required, find a spill register and pass it to caller-save code.
-       (gen_input_reload): No longer static.
-       * Makefile.in (caller-save.o): Now includes reload.h (again).
-       * global-alloc.c (global_alloc): Can eliminate frame pointer even if
-       we have caller-saves.
-       * toplev.c (compile_file): Call init_caller_saves.
-       
-       * caller-save.c: Major rewrite; almost entirely new code.
-       Integrate caller-saving with frame pointer elimination.
-       Don't try to save and restore registers that cannot be directly
-       copied to memory (such as MQ).
-       Correctly place save and restore insns.
-       Don't restore a saved register until end of block or if it is needed.
+       * invoke.texi: Clean up option summary.
 
-       * cse.c (mention_regs): Now returns int to indicate that the hash code
-       may have changed.
-       For COMPARE and comparison op, ensure that any register operand has
-       a quantity number.
-       (insert_regs): Return value from mention_regs.
-       (rehash_using_reg): New function.
-       (record_jump_equiv, mention_regs): Call rehash_using_reg if an operand
-       of a compare is a REG whose hash code is changing.
+2000-11-12  Nick Clifton  <nickc@redhat.com>
 
-Mon Dec 16 07:09:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/mcore/mcore.c: Fix comment formating, and adjust sequence
+       of #include headers.
 
-       * function.c (expand_main_function): New subroutine.  Call __main.
-       * c-decl.c, cp-decl.c (store_parm_decls): Use that.
-       * cp-decl.c (init_decl_processing): Don't declare __main.
+2000-11-12  Marc Espie <espie@openbsd.org>
 
-       * objc-actions.c (init_objc): Call __objcInit as a constructor.
+       * configure.in: Fix filds test.
+       * configure: Regen.
 
-       * toplev.c (compile_file): Reenable SDB code #if 0'd before.
+2000-11-12  Mark Mitchell  <mark@codesourcery.com>
 
-       * protoize.c (version_string): Make it extern.
-       * Makefile.in (protoize, unprotoize): Link with version.o.
+       * jump.c (delete_computation): Don't assume that just because an
+       instruction sets a register, that register is dead.
 
-Sun Dec 15 23:31:47 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-11-12  Neil Booth  <neilb@earthling.net>
 
-       * cp-tree.c (virtual_member): When recurring, don't dive into
-       nonexistent baseclasses.
+       * cppexp.c: Don't worry about pfile->skipping.
+       * cpplib.c (struct if_stack): Make was_skipping unsigned char.
+       (cpp_handle_directive): Save pfile->skipping in struct cpp_buffer
+       for handled directives.
+       (skip_rest_of_line): Use _cpp_lex_token after popping contexts
+       and releasing lookaheads.
+       (do_ifdef, do_ifndef, do_if): Use buffer->was_skipping.
+       (do_else, do_elif, push_conditional): Update logic.
+       (do_endif): Set buffer->was_skipping rather than pfile->skipping.
+       (unwind_if_stack): Inline into cpp_pop_buffer.
+       (cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive.
+       * cpplex.c (_cpp_lex_token): Clear skipping on EOF.  Handle
+       multiple-include optimisation.
+       * cpplib.h (struct cpp_buffer): New member was_skipping.
+       * cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping.  This
+       works because skipping == 0 in directives.
+       (_cpp_release_lookahead): Renamed from release_lookahead.
+       (cpp_get_token): No need to check skipping as _cpp_get_token does
+       this for us.  No need to handle MI optimisation.
 
-       * cp-decl.c (grokdeclarator): Set TREE_STATIC for initialized const
-       arrays.
-       * cp-typeck.c (mark_addressable): A decl that was TREE_STATIC might
-       be chagned to TREE_EXTERNAL due to #pragma interface/implementation.
+Sat Nov 11 21:14:02 2000  Mark P Mitchell  <mark@codesourcery.com>
 
-Sun Dec 15 14:57:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
+       declarations that use `__MATH_EXCEPTION' in their prototypes, too.
+       * fixinc/fixincl.x: Regenerated.
 
-       * Makefile.in (SYSCALLS.c.X): Fix typo.
-       (INTERNAL_CFLAGS): Delete -DMERGED.
+2000-11-11  Bruce Korb  <bkorb@gnu.org>
 
-       * dbxout.c (dbxout_init): Pass proper args to ASM_OUTPUT_MAIN_*.
-       * newpbb.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Add proper arguments.
+       * fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
+       (avoid_wchar_t_type): ditto
+       * fixinc/fixinc.irix: obsoleted
 
-       * stmt.c (emit_case_nodes): Rewrite to change induction conditions.
-       Handle boundedness in the bounded node itself.
-       Handle branching entirely at the parent level.
+2000-11-11  Zack Weinberg  <zack@wolery.stanford.edu>
 
-       * gstdarg.h: Use va-i860.h.
-       * va-i860.h (va_start for ANSI): Fix typo.  Call __builtin_next_arg.
+       * configure.in: Don't add $outputs to all_lang_makefiles.  Add
+       $srcdir/$s/Makefile.in if it exists.
+       * configure: Regenerate.
 
-Sat Dec 14 20:45:30 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Sat Nov 11 18:41:20 2000  Mark P Mitchell  <mark@codesourcery.com>
 
-       * Makefile.in (USER_H): va-hp9k8.h should be va-hp800.h.
+       * fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX.
 
-       * loop.c (invariant_p): Call-clobbered register is not invariant if
-       loop has calls.
-       (count_loop_regs_set): Count a CLOBBER as a setting of a register.
+2000-11-11  Jason Merrill  <jason@redhat.com>
 
-       * stmt.c: Move include of ctype.h and definition of cost variables to
-       front of file.
-       (expand_end_case): Always set use_cost_table.  Check type here instead
-       of in estimate_case_costs.  Don't suppress use of cost table when
-       not optimizing.
-       (estimate_case_costs): Now returns int.  Check for any case tag
-       that is an unusual control character here and reject use of table
-       if so.  Always do comparisons signed, since that's how we access the
-       cost table.
-       (balance_case_nodes): Don't check for strange control characters here.
-       (node_has_low_bound): Do checking if we don't have a left branch,
-       instead of if we do.
-       (node_has_{low,high}_bound): Remove spurious checks on branches.
-       (emit_case_nodes): Ensure operation passed to emit_cmp_insn matches
-       the branch we actually emit.
-       Fix case of a range node with no left or right branch; use of case
-       and default label were backward for the high test.
-       Remove unused variables defaulted_{left,right}.
+       * function.c (assign_parms): If TREE_ADDRESSABLE is set, try to
+       give the parm a register and then call put_var_into_stack.
+       * stmt.c (expand_decl): Likewise.
 
-Sat Dec 14 16:10:11 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * protoize.c: Don't include limits.h.
-       Rename `pathname' to `filename' everywhere.
-       Clean up indentation of fprintf calls.
-       Use standard GNU format for file name/line in error messages.
-       (n_base_source_files): Renamed from base_source_files.
-       (convert_filename, invocation_filename, base_source_filenames):
-       `path' renamed to `filename'.
-       (syscalls_absolute_filename): Renamed from syscalls_pathname.
-       (find_file): Arg FILENAME no longer const.
-       (main): Fix getcwd error-checking logic.
-       (varargs_style_indicator): Delete `const'.
-       (savestring): Declare arg `input' const.
+       * gcc.texi: Adjust wording.
 
-       * Makefile.in (protoize, protoize.o, unprotoize, unprotoize.o):
-       Use GCC_FOR_TARGET.
-       (getopt.o, getopt1.o): Likewise.
-       (GCC_FOR_TARGET): Delete -B./.
-       (GCC_CFLAGS): Add -B./.  Copy ALL_CFLAGS's definition, less XCFLAGS.
+2000-11-11  Mark Mitchell  <mark@codesourcery.com>
 
-       * cp-init.c (add_friends): Pass proper args to strncmp.
+       * fixinc/inclhack.def (avoid_wchar_t_type): New fix.
+       * fininc/fixincl.x: Regenerated.
 
-       * toplev.c (compile_file): Clear DECL_RTL for vars not really output.
-       #if 0 possibly redundant code for SDB output.
+2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * sys-types.h: Include gstddef.h to get size_t and wchar_t.
+       * invoke.texi: Correct spelling of -foptimize-register-move.
 
-       * ultrix.h (CPP_PREDEFINED): Add __unix, __ultrix, __bsd4_2.
+2000-11-11  Neil Booth  <neilb@earthling.net>
 
-       * Makefile.in (STAGESTUFF): Add collect, collect2.
+       Remove CPP_PLACEMARKERs.
 
-Sat Dec 14 12:16:12 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * cppexp.c (lex): Don't handle CPP_PLACEMARKER.
+       * cpplex.c (_cpp_lex_token): Rename skip_newlines to next_bol
+       * cpplib.c (skip_rest_of_line, check_eol, cpp_push_buffer):
+                  Similarly.
+       * cpplib.h: Remove CPP_PLACEMARKER.
+       (struct lexer_state): Rename skip_newlines to next_bol.
+       * cppmacro.c (stringify_arg): Don't handle CPP_PLACEMARKER.
+       Simplify prev_white handling as a result.
+       (paste_all_tokens): Don't worry about CPP_PLACEMARKERs.
+       (parse_arg): Empty arguments are now empty, not CPP_PLACEMARKERs.
+       (parse_args): Similarly.  Update argument count tests.
+       (enter_macro_context): Return 2 to indicate an empty macro.
+       (replace_args): Don't bother pre-expanding an empty argument.
+       Handle placemarkers and ## extension during pre-expansion.
+       (cpp_get_token): Handle empty macro expansions.  Don't worry
+       about CPP_PLACEMARKERs.
+       (_cpp_create_definition): Empty macros are now empty.
+       (cpp_macro_definition): Don't special case empty macros.
+       * scan-decls.c: Don't bother with CPP_PLACEMARKERs.
+       * c-lex.c: Similarly.
 
-       * cp-search.c (get_baselinks): Use obstacks right, instead of
-       aborting when we know we're using them wrong.
+2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * cp-parse.y (structsp): Fix typo in exception declaration rule.
+       * gcc.texi, invoke.texi: Add new section discussing language
+       standards; link to it where appropriate; refer to ISO C instead of
+       ANSI C.
 
-       * cp-typeck.c (build_modify_expr_1): Recursive call to
-       `build_modify_expr_1' used pre-BINFO representation for
-       BASETYPE_PATH argument.
+2000-11-11  Alexandre Oliva  <aoliva@redhat.com>
 
-       * cp-decl.c (start_decl): Don't switch to temporary allocation for
-       decls of type REFERENCE_TYPE, as their initializers may live a long
-       time, too.
+       * builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
+       into account.
 
-Sat Dec 14 07:11:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP
+       modes.
 
-       * reload.c (find_reloads_toplev): If we have a SUBREG of a multi-word
-       constant, try to extract just the word we want.
+2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * gcc.texi, gcov.texi: Update dates and version numbers.
 
-       * global-alloc.c (global_alloc): Correct reference to ELIMINABLES.
+2000-11-10  Zack Weinberg  <zack@wolery.stanford.edu>
 
-Fri Dec 13 15:28:38 1991  Michael Meissner  (meissner at osf.org)
+       * configure.in: Remove AC_PROG_LEX and AC_PROG_YACC.  Look for
+       flex and bison, specifically, first in a unified build and
+       then installed on the system.
+       * Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@.  Rename
+       LEXFLAGS to FLEXFLAGS.  Adjust ORDINARY_FLAGS_TO_PASS to
+       match.
 
-       * configure (mips-mips-sysv): On MIPS System V, use xm-umips.h, not
-       xm-mips.h.
+       (collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
+       cppdefault.o): Remove pointless sed munging of source file
+       name.
 
-       * gstddef.h (__PTRDIFF_TYPE__): Provide default definition in case
-       non-GCC 2.00 compiler is used.
-       (__SIZE_TYPE__): Ditto.
-       (__WCHAR_TYPE__): Ditto.
+2000-11-10  Bernd Schmidt  <bernds@redhat.co.uk>
 
-Fri Dec 13 14:49:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * reload.c (find_reloads_address_1, case POST_MODIFY): Use RELOAD_OTHER
+       for address reloads.  Push replacements for REG_INC notes.
+       (regno_clobbered_p): New arg SETS.  Examine SETs if it's nonzero.  All
+       callers changed.
+       * reload1.c (choose_reload_regs): Registers set in the insn can't be
+       used for RELOAD_OTHER reloads.
 
-       * config.sub: Renamed from config.subr.
-       Support os -sym1.
-       Convert -svr3, -svr4 to -sysv3, -sysv4.
-       * configure: Used new name.
+2000-11-10  Mark Mitchell  <mark@codesourcery.com>
 
-       * Makefile.in (includes): Preserve files from GCC already in dir.
+       * c-dump.h: New file.
 
-Fri Dec 13 11:01:12 1991  Fred Fish  (fnf at fishpond)
+2000-11-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * att386.h:  Fix unparenthesized macro arguments in
-       ASM_OUTPUT_ASCII macro.
+       * alpha.c (check_float_value): Use memcpy, not bcopy.
+       * arm.c (output_move_double): Likewise.
+       * arm.md: Likewise.
+       * m88k.c (legitimize_operand): Likewise.
+       * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
+       * m88k.md: Likewise.
+       * mips.c (override_options): Likewise.
+       * mips.md: Likewise.
+       * romp.c (output_fpops): Likewise.
+       * rs6000.c (rs6000_override_options): Likewise.
+       * sh.md: Likewise.
+       * vax.c (check_float_value): Likewise.
 
-       * i386v4.h:  Select an assembly language syntax file and include
-       it.  Supply missing macros from ones in i386v.h (TARGET_DEFAULT,
-       VALUE_REGNO, FUNCTION_VALUE_REGNO_P).
+       * emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise.
+       * expmed.c (synth_mult): Likewise.
+       * final.c (add_bb_string): Likewise.
+       * genattr.c (main): Likewise.
+       * genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging):
+       Likewise.
+       * jump.c (thread_jumps): Likewise.
+       * prefix.c (save_string): Likewise.
+       * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise.
+       * regclass.c (init_reg_sets, init_reg_sets_1): Likewise.
+       * reload1.c (reload, eliminate_regs): Likewise.
 
-       * svr4.h:  Fix misspelled variable name labelno (was labeno).
+2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Fri Dec 13 09:07:22 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * gcc.texi (Service): Update to reflect current practice and
+       location of the GNU service directory.
 
-       * cp-typeck.c (build_component_ref): Call `assemble_external' as
-       nec.
-       (build_function_call_real): Call `assemble_external' as nec. for
-       function calls we build.  Code slightly rearranged for clarity.
-       * cp-call.c (build_method_call): Call `assemble_external' as nec.
+2000-11-09  Bernd Schmidt  <bernds@redhat.co.uk>
 
-Thu Dec 12 22:03:52 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
+       * regrename.c (build_def_use): Mark contents of REG_INC notes as
+       needing replacement.
 
-       * make-cc1.com: Change message given to user. Change c-parse_tab.*
-         to c-parse.*
+       * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Emit
+       a no-op move if regs are equal.
+       * toplev.c (rest_of_compilation): Do the noop moves elimination pass
+       when calling jump after post-reload splitting.
 
-       * config-gcc.com: Purge excess versions of version.opt.
+2000-11-09  Jan van Male  <jan.vanmale@fenk.wau.nl>
 
-Thu Dec 12 20:25:20 1991  Michael Meissner  (meissner at osf.org)
+       * c-tree.texi: Fix typos.
+       * extend.texi: Likewise
+       * gcov.texi: Likewise
+       * rtl.texi: Likewise
+       * tm.texi: Likewise
 
-       * Makefile.in (BOOT_CFLAGS): Remove quotes around the argument,
-       since this causes a syntax error when it is later expanded.
+2000-11-09  Hans-Peter Nilsson  <hp@axis.com>
 
-Thu Dec 12 17:53:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check
+       in_system_header and flags[1] before dereferencing flags[2].
 
-       * config.subr: Add many new machines and some OS's.
+2000-11-09  Matthew Hiller <hiller@redhat.com>
 
-       * va-i860.h: Rewrite from rfg.
+       * reload1.c (reload_combine): Fixed calculation of
+       first_index_reg, last_index_reg.
 
-       * toplev.c (main): Handle -dm on USG systems.
+2000-11-09  Mark Mitchell  <mark@codesourcery.com>
 
-       * m68k.c (print_operand, print_operand_address): New functions.
-       * m68k.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Just call them.
+       * c-dump.c (dequeue_and_dump): Dump function bodies.
 
-       * m68k.c (S_*, D_*): Delete the #undefs at the end.
+       * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
+       (c-dump.o): New target.
+       * c-common.h (flag_dump_translation_unit): New variable.
+       (C_TYPE_QUALS): New macro.
+       (strip_array_types): New function.
+       (DECL_C_BIT_FIELD): New macro.
+       (SET_DECL_C_BIT_FIELD): Likewise.
+       (CLEAR_DECL_C_BIT_FIELD): Likewise.
+       (dump_info_p): New typedef.
+       (dump_tree_fn): Likewise.
+       (lang_dump_tree): New variable.
+       (dump_node_to_file): New function.
+       * c-common.c (flag_dump_translation_unit): Define it.
+       (strip_array_types): New function.
+       * c-decl.c (c_decode_option): Handle -fdump-translation-unit.
+       * c-lang.c (finish_file): Call dump_node_to_file if
+       flag_dump_translation_unit.
+       * c-semantics.c (mark_rtl_for_local_static): Fix typo in comment.
+       * c-tree.h (DECL_C_BIT_FIELD): Remove declaration.
+       * c-dump.c: New file.
 
-       * stmt.c (expand_return): Special case if fcn returns void.
+2000-11-09  Christopher Faylor <cgf@cygnus.com>
 
-       * objc-actions.c (build_objc_method_call): Fix typo in NeXT case.
+       * config/i386/cygwin.h: Add mingw startfile prefix.
 
-       * expr.c (expand_builtin, BUILT_IN_ARGS_INFO): Cast init of word_ptr.
+2000-11-09  Richard Henderson  <rth@redhat.com>
 
-       * protoize.c: Delete the `extern "C"' for C++ compilation.
+       * flow.c (invalidate_mems_from_set): Split out from ...
+       (mark_set_1): ... here.
+       (try_pre_increment_1): Use it.  Use propagate_block_delete_insn
+       instead of turning insn into a NOTE_INSN_DELETED.
 
-Thu Dec 12 10:01:13 1991  Michael Meissner  (meissner at osf.org)
+2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Fix off by one error in
-       handling the constructor list when a valid count is supplied.
+       * extend.texi, invoke.texi: Move documentation of builtin versions
+       of C library functions to one place and update.
 
-       * collect2.c (write_hooks): Emit a count before the list of
-       constructors, to go back to the old format.
+2000-11-09  Richard Henderson  <rth@redhat.com>
 
-       * collect-osf.c (write_s_file): Emit a count before the list of
-       constructors, to go back to the old format.
+       * fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than
+       the types themselves to discover type equivalence.
 
-       * gnulib2.c (exit): Provide default defintions as bss symbols for
-       all of the constructor/destructor related symbols if the macro
-       INIT_SECTION_ASM_OP is not defined.  The second link that collect
-       does and/or gld will provide the right values.
+2000-11-09  Mike Stump  <mrs@wrs.com>
 
-       * decrose.h (HAVE_ATEXIT): Nuke macro, no longer used.
-       * encrose.h (HAVE_ATEXIT): Nuke macro, no longer used.
-       * i386rose.h (HAVE_ATEXIT): Nuke macro, no longer used.
+       * Makefile.in (distclean): Remove a few extra leftovers.
 
-Thu Dec 12 07:27:05 1991  Tom Wood  (wood at dg-rtp.dg.com)
+2000-11-09  Richard Henderson  <rth@redhat.com>
 
-       * gbl-ctors.h (__CTOR_LIST__, __DTOR_LIST__): Renamed from *_BEGIN__.
-       * collect-osf.c collect2.c: Rename here as well.
+       * recog.c (validate_replace_rtx_1): Consider subregs when
+       replacing a register with a constant inside a sign/zero_extend.
 
-Thu Dec 12 04:15:22 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
 
-       * c-parse.y (stmt): Make asm alternatives allow expr.
-       * c-typeck.c (c_expand_asm_operands): Get the STRING_CST from the expr.
+2000-11-09  Geoffrey Keating  <geoffk@redhat.com>
 
-       * c-parse.y (datadecl, datadecls, lineno_datadecl): New rules.
-       (xdecls): Use them.
+       * c-decl.c (finish_struct): When a structure is completed,
+       check all its variant types for completeness.
 
-Wed Dec 11 18:36:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-11-09  Neil Booth  <neilb@earthling.net>
 
-       * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Just one definition; use ON_EXIT.
-       Test for -1 and handle both kinds of table format.
-       * gnulib2.c (__do_global_dtors): Check for -1...
-       (__do_global_ctors): Dummy defn of ON_EXIT if no other defined.
-       (__main): Do nothing if called again.
-       (exit): Use EXIT_BODY if defined.
-       * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__):
-       Renamed from *_BEGIN__.  Add -1 as first elt.
-       (__CTOR_END__, __DTOR_END__): Add 0 as last elt.
-       (ON_EXIT): Dummy defn if no other is defined.
+       * cpphash.c: Move cpp_defined here from cpplib.c.
+       * cpplib.c: Update comments, move cpp_defined to cpphash.c.
+       * cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL.
+       * cppmacro.c (cpp_get_token): Update comments, no need now
+       to catch the CPP_EOF meaning EOL case.
 
-Wed Dec 11 18:08:36 1991  Mark Eichin  (eichin at cygnus.com)
+2000-11-08  Geoffrey Keating  <geoffk@redhat.com>
 
-       * cp-parse.y (template_parm): removed some reduce/reduce conflicts
-       by noting which of identifier or identifier_defn would actually be
-       passed up in this context.
+       * config/sparc/sparc.c (sparc_va_arg): When the required alignment
+       is more than that provided, copy to a temporary.
 
-Wed Dec 11 17:52:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-11-09  Alexandre Oliva  <aoliva@redhat.com>
 
-       * flow.c (propagate_block): Adjust loop depth if it is changed in
-       notes at the end of a block.
-       Abort if loop depth ever reaches zero.
+       * mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from
+       interpreting $out as a macro assignment.
+       * Makefile.in (T_TARGET): New auxiliary macro and target.
+       (all): Add a target right in the beginning, so that we don't build
+       T_TARGET by default.
 
-Wed Dec 11 16:30:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-11-09  Graham Stott  <grahams@redhat.com>
 
-       * cccp.c (do_endif): Don't call record_control_macro at top level.
+       * config/i386/i386.md (mmx_pinsrw): Output operands in correct
+       order for -mintel-syntax.  Remove comment now that the operand
+       order has been checked.
+       (mmx_pextrw): Likewise.
+       (mmx_pshufw): Likewise.
 
-Wed Dec 11 14:45:42 1991  Mark Eichin  (eichin at cygnus.com)
+2000-11-09  Jakub Jelinek  <jakub@redhat.com>
 
-       * cp-decl.c (set_identifier_type_value): If we're in a
-       class_binding_level, shadow the type there.
-       (xref_defn_tag): New function. Calls xref_tag with special flag set
-       to indicate that we know we're defining something.
-       (pushdecl_top_level): if class_binding_level is set, search from it
-       instead of only from current_binding_level when trying to find
-       shadowed values. This is in support of tests m5.cc through m8.cc,
-       which broke after the changes for m9.cc were installed.
+       * builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max.
+       (c_getstr): New function.
+       (expand_builtin_strstr): Do nothing if -fcheck-memory-usage.
+       If both arguments are constant string, optimize out.
+       (expand_builtin_strchr, expand_builtin_strrchr): New functions.
+       (expand_builtin_strpbrk): Use c_getstr, do nothing if
+       -fcheck-memory-usage.
+       (expand_builtin_fputs): Likewise.
+       (expand_builtin_strcmp): Add MODE argument.
+       Use even if !HAVE_cmpstrsi.
+       Optimize the case when both arguments are constant strings.
+       (expand_builtin): Adjust expand_builtin_strcmp caller.
+       Call expand_builtin_strchr and expand_builtin_strrchr.
+       * c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr
+       builtins.
+       * builtins.def (BUILT_IN_STRRCHR): Add.
 
-       * cp-spew.c (do_aggr): New function. Looks ahead from AGGR to see if
-       we have AGGR identifier { or AGGR identifier : which are both
-       definitions, and passes up identifier_DEFN instead. This is in
-       support of test m9.cc.
-       (yylex): add SPEW_DEBUG case after EMPTY, so we don't have gaps in
-       the displayed stream.
-       (yylex, case AGGR): added call to do_aggr.
-       (debug_yychar): added call to debug_yytranslate for proper
-       translations.
+2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
-       * cp-parse.y (debug_yytranslate): New function to support SPEW_DEBUG
-       translations. 
-       (TYPENAME_DEFN): new token, TYPENAME seen by do_aggr.
-       (IDENTIFIER_DEFN): new token, ditto.
-       (PTYPENAME_DEFN): new token, ditto.
-       (identifier_defn): corresponds to identifier, but when the
-       identifier has been seen by do_aggr.
-       (named_class_head_sans_basetype_defn): specially recognize aggr
-       identifier_defn.
-       (named_class_head): add parallel clauses calling xref_tag_defn when
-       we know we're defining this aggr.
-       (named_class_head_sans_basetype_defn_either): for when we don't care
-       if it is a defn or not (such as templates)
-       (identifier_either): ditto.
+       * fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL.
 
-       * cp-tree.h (xref_defn_tag): New declaration.
+2000-11-09  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Wed Dec 11 12:37:51 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+       * calls.c (expand_call, emit_library_call_value_1), collect2.c
+       (scan_prog_file), config/a29k/a29k.c (print_operand),
+       config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy ()
+       instead of bcopy ().
+       * real.h: Use memcmp () instead of bcmp ().
+       * config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c
+       (split_branches), config/sparc/sparc.c (ultra_flush_pipeline,
+       ultrasparc_sched_init, ultrasparc_sched_reorder),
+       config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset ()
+       instead of bzero ().
+       * config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr ()
+       instead of rindex ().
+       * configure.in: Don't check for bzero, bcmp, index or rindex.
+       * configure, config.in: Regenerate.
+       * system.h: Don't include declarations for bzero, bcmp, index or
+       rindex.
+       * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
+       bzero, bcmp, index or rindex.
 
-       * cp-parse.y (label_colon): New nonterminal, with all label prefixes
-       from "stmt" moved here.
-       (stmt): Use it.  Also provide useful message for label followed by
-       end of block (close-brace).
+Wed Nov  8 21:58:20 2000  Christopher Faylor <cgf@cygnus.com>
 
-       * cp-init.c (BIVN): Deleted unused variable.
-       * cp-decl.c (init_decl_processing): Don't declare function
-       __builtin_vec_new; it's never used.
+       * config/i386/cygwin.h: Add -no-win32 switch.  Separate -mno-cygwin
+       include and library paths from -mcygwin case.  Parameterize some
+       declarations to avoid warnings.  Use standard locations for include and
+       lib dirs.
 
-Wed Dec 11 10:59:48 1991  Michael Meissner  (meissner at osf.org)
+2000-11-08  Nick Clifton  <nickc@redhat.com>
 
-       * toplev.c (main): Complete last change from RMS, use variable
-       'level' which used to be named 'arg'.
+       * config/arm/arm.md (mulsidi3adddi): Change output operand
+       constraint from "=&" to "+&".
+       (umulsidi3adddi): Change output operand constraint from "=&" to
+       "+&".
 
-       * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Don't reference ON_EXIT for
-       those poor systems without atexit or on_exit.
+2000-11-08  Richard Henderson  <rth@redhat.com>
 
-Wed Dec 11 09:06:52 1991  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
+       * flow.c (init_propagate_block_info): Protect the rtx stored in
+       mem_set_list from modification by find_auto_inc.
+       (mark_set_1): Likewise.
 
-       * m68k.c (output_function_prologue, output_function_epilogue):
-       When saving/restoring only 2 registers, do so with two "movel"
-       instructions instead of a single "moveml".  This results in
-       faster code for the 68020 and later machines.
+2000-11-08  Neil Booth  <neilb@earthling.net>
 
-Wed Dec 11 06:45:08 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       Move directive handling into the lexer itself.
 
-       * x-romp (MAKE): Add definition; the supplied `make' doesn't define it.
+       * cpplex.c (_cpp_lex_token): Handle directives directly.
+       In the case of a directive interrupting a function-like
+       macro invocation, use extra_char since read_ahead is
+       used to store the '#'.  Return a CPP_EOF in this case.
+       * cppmacro.c (parse_arg): No need to handle CPP_DHASH any more.
+       (cpp_get_token): Don't handle directives here.
+       * cpplib.h: Remove CPP_DHASH token type.
 
-Tue Dec 10 22:17:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Wed Nov  8 21:53:41 MET 2000  Jan Hubicka  <jh@suse.cz>
 
-       * combine.c (try_combine): Always make a copy of I2's pattern if
-       it will be used in a PARALLEL (`added_sets_2' nonzero).
+       * regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
+       formed using PRE_MODIFY too.
 
-       * Makefile.in (BOOT_CFLAGS): New parameter.
-       (bootstrap*): Use it.
+2000-11-08  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-tree.texi (VAR_DECL): Describe representation of GCC's
+       extension for placing variables in particular registers.
+
+       * c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for
+       unprototyped C functions with no parameters.
+
+2000-11-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int
+       before passing to fprintf.
 
-       * flow.c (find_basic_blocks): Set depth of last insn, not first,
-       into basic_block_loop_depth.
-       (propagate_blocks): Use consistently with new definition.
+2000-11-08  Jakub Jelinek  <jakub@redhat.com>
 
-       * cse.c (cse_end_of_basic_block, cse_basic_block): Remove previous
-       change; it can cause loops following around branches.
+       * function.c (expand_function_start): Cast GET_MODE_SIZE to
+       HOST_WIDE_INT before negating it.
 
-       * Makefile.in (USER_H): Add va-hp9k8.h.
+2000-11-08  Jakub Jelinek  <jakub@redhat.com>
 
-Tue Dec 10 17:22:01 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL
+       passed in multiple non-contiguous locations.
 
-       * m88k*.h: Include svr3.h as the default.  m88kv4.h and m88kdgux.h
-       include svr4.h.  Override svr[34].h as needed.
-       * t-m88k, t-m88kv4: Specify EXTRA_PARTS.
+2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
-       * m88k.c (uses_arg_area_p): Check current_function_varargs.
+       * README.gnat: Remove file.
 
-Tue Dec 10 15:41:03 1991  Michael Meissner  (meissner at osf.org)
+2000-11-08  Alexandre Oliva  <aoliva@redhat.com>
 
-       * osf-main.c (whole file): Delete, since the constructor stuff was
-       moved to gnulib2.c.
+       * mklibgcc.in (EXTRA_MULTILIB_PARTS): Generate multilib parts
+       in-place.
 
-       * Makefile.in (collect2, collect2.o): Change to use the default
-       compiler to build collect2, instead of the newly built GCC, since
-       otherwise, collect2 will create a circular dependency.  Also, pass
-       LDFLAGS when linking.
+2000-11-07  Richard Henderson  <rth@redhat.com>
 
-       * collect-osf.c (write_s_file): Change to the new way of doing
-       constructors and destructors of having an end marker instead of a
-       count.
+       * dwarfout.c (INSN_LABEL_FMT): Remove.
+       (output_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
+       (dwarfout_label): Remove.
+       * dwarfout.h: Remove it's prototype.
+       * dwarf2out.c (INSN_LABEL_FMT): Remove.
+       (gen_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
+       (dwarf2out_label): Remove.
+       * dwarf2out.h: Remove it's prototype.
+       * final.c (final_scan_insn): Don't call dwarf[2]out_label.
 
-       * collect.c (REAL_AS_PATH, REAL_LD_PATH, REAL_NM_PATH): New macros
-       to allow cross compilers to specify where the real linker,
-       assembler, and nm live.
-       (NM_FLAGS): New macro to allow a configuration to change what flags
-       get passed to nm.
-       (alloca defines): Remove alloca defines, since config.h provides
-       them.
-       (write_hooks): Change to the new way of doing constructors and
-       destructors of having an end marker instead of a count.  Cast all
-       alloca calls to be the appropriate pointer type.  Put both
-       constructors and destructors into the data section, because the MIPS
-       tools do not like non-instructions in the .text section.
+2000-11-07  Richard Henderson  <rth@redhat.com>
 
-       * decrose.h (HAVE_ATEXIT): Define, OSF/1 has atexit.
-       (FULL_PROTOTYPES, NO_CONST_IN_SYSCALL): Remove, no longer used.
+       * config/ia64/fde-glibc.c (find_fde_for_dso): Do a binary
+       search on the unwind region section.
 
-       * encrose.h (HAVE_ATEXIT): Define, OSF/1 has atexit.
-       (FULL_PROTOTYPES): Remove, no longer used.
+       * config/ia64/ia64.md (movbi): Add r/r alternative.
+       (cmovdi_internal_astep): Describe all combinations of register
+       classes for sources & destinations; remove matching constraints.
+       (cmovdi_internal): Likewise.
 
-       * i386rose.h (HAVE_ATEXIT): Define, OSF/1 has atexit.
+       * gcc.c (default_compilers) [@cpp-output]: Add -fpreprocessed.
 
-       * t-decrose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer
-       needed, since constructor/destructor support moved into gnulib2.c.
+2000-11-07  Richard Henderson  <rth@redhat.com>
 
-       * t-encrose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer
-       needed, since constructor/destructor support moved into gnulib2.c.
+       * c-lang.c (start_cdtor, finish_cdtor): New functions.
+       (finish_file): Use them in building constructor/destructor functions.
 
-       * t-i386rose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer
-       needed, since constructor/destructor support moved into gnulib2.c.
+       * config/alpha/alpha.h (HAS_INIT_SECTION, LD_INIT_SWITCH,
+       LD_FINI_SWITCH): Move ...
+       * config/alpha/osf.h: ... here.
+       * config/alpha/alpha-interix.h: Don't undef them.
 
-       * t-decstatn (CCLIBFLAGS, GNULIB2_CFLAGS): Define so that gnulib1
-       and gnulib2 are both compiled with -G 0, in case the users compiles
-       and links this way.  It also fixes a bug where the constructors and
-       destructors that collect2 produces are in the big data section, but
-       gnulib2 thinks they are in the small data section, because it only
-       sees a pointer.
-       (ld): Add -f to remove old ld link to collect2, if it exists.
+2000-11-07  Jeffrey Oldham  <oldham@oz.codesourcery.com>
 
-       * t-mips (CCLIBFLAGS, GNULIB2_CFLAGS): Define so that gnulib1
-       and gnulib2 are both compiled with -G 0, in case the users compiles
-       and links this way.  It also fixes a bug where the constructors and
-       destructors that collect2 produces are in the big data section, but
-       gnulib2 thinks they are in the small data section, because it only
-       sees a pointer.
-       (ld): Add rule to link collect2 to ld.
-       (EXTRA_PASSES): Build collect2 (aka ld).
+       * config/mips/t-iris6 (FPBIT): New.  Added so that __unorddf2 is
+       included in libgcc.a.
+       (DPBIT): Likewise.
+       (dp-bit.c): Likewise.
+       (fp-bit.c): Likewise.
 
-       * xm-mips.h (alloca): If not GNU C, declare alloca to be char *.
+2000-11-07  Nick Clifton  <nickc@redhat.com>
 
-       * mips-tfile.c (add_aux_sym_tir): Move code to record bitfield size,
-       so that it agrees with MIPS ECOFF practice, rather than the
-       documentation, which affects enum bitfields.  Changes from Per
-       Bothner.
+       * config/m88k/m88k.h (GLOBAL_ASM_OP): Add missing tab.
+       (INTERNAL_ASM_OP): Add missing tab.
 
-Tue Dec 10 14:10:10 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Get rid of __reverse_order, etc.
-       * gnulib2.c (__do_global_dtors): Remove & before arrays.
+       * alias.c (init_alias_analysis), calls.c (expand_call,
+       emit_library_call_value_1), combine.c (init_reg_last_arrays),
+       cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c
+       (init_output_buffer, set_diagnostic_context), dwarf2out.c
+       (equate_decl_number_to_die, build_abbrev_table), emit-rtl.c
+       (init_emit_once), fold-const.c (mul_double, div_and_round_double),
+       function.c (assign_parms), gcse.c (compute_can_copy,
+       alloc_gcse_mem, alloc_reg_set_mem, record_one_set,
+       compute_hash_table, compute_set_hash_table,
+       compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c
+       (global_alloc, global_conflicts), haifa-sched.c (compute_trg_info,
+       clear_units, schedule_block), integrate.c (initialize_for_inline,
+       expand_inline_function), jump.c (thread_jumps), local-alloc.c
+       (local_alloc), loop.c (combine_movables, count_loop_regs_set,
+       load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree),
+       regclass.c (init_reg_sets, init_reg_sets_1, regclass,
+       record_reg_classes, allocate_reg_info), reload.c
+       (get_secondary_mem, remove_address_replacements, find_reloads),
+       reload1.c (reload, set_initial_label_offsets, finish_spills,
+       reload_as_needed, choose_reload_regs_init,
+       reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c
+       (sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c
+       (rename_registers), stmt.c (expand_end_case), unroll.c
+       (unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset
+       () instead of bzero ().
 
-       * configure: Set a default value for xm_file.
-       Remove redundant defaulting of cpu_type.
+2000-11-07  Neil Booth  <neilb@earthling.net>
 
-       * svr4.h (ASM_DECLARE_FUNCTION_SIZE): Output internal label properly.
+       * cp/lang-specs.h: Fix -save-temps specs under USE_CPPLIB.
 
-       * function.c (assign_parms): Set current_function_args_info.
-       * output.h: Declare that var.
-       * tree.h (BUILTIN_ARGS_INFO): Renamed from BUILT_IN_VARARGS.
-       * expr.c (expand_builtin): Implement __builtin_args_info.
-       * c-decl.c (init_decl_processing): Declare it.
-       * va-i860.h: Use it.
-       Also update order of elements in struct __va_ctl.
+2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * toplev.c (main): Eliminate -gsdb and -gdbx.
-       Clean up setting of use_gdb_dbx_extensions.
+       * c-common.c (combine_strings): Only warn about long strings for C.
 
-Tue Dec 10 10:33:58 1991  Tom Wood  (wood at gen-rtx)
+Tue Nov  7 19:44:30 2000  J"orn Rennecke <amylaar@redhat.com>
 
-       * svr4.h (ASM_DECLARE_FUNCTION_SIZE): Use an internal label.
+       * combine.c (distribute_notes): Fix typo in last change.
 
-Tue Dec 10 07:12:28 1991  James Van Artsdalen  (james@raid)
+2000-11-07  Geoff Keating  <geoffk@redhat.com>
 
-       * Makefile.in (crtbegin.o, crtend.o): crstuff.c is in $(srcdir).
+       * config/rs6000/rs6000.md (movdi_internal32+1): Use
+       operand_subreg_force rather than gen_rtx_SUBREG.
+       (movdi_internal32+2): Likewise.
 
-Tue Dec 10 06:56:26 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-11-07  Philip Blundell  <philb@gnu.org>
 
-       * cp-decl.c (kept_level_p): New function, borrowed from c-decl.c.
-       * cp-parse.y (compstmt): Call it.
+       * configure.in (arm*-*-linuxaout*): Obsolete, deleted.
+       * config/arm/linux-aout.h: Likewise.
+       * configure: Regenerate.
 
-Mon Dec  9 18:37:32 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+2000-11-07  Philipp Thomas  <pthomas@suse.de>
 
-       * cp-decl.c (grok_enum_decls): Don't give warning for class-local
-       enum types; this is a perfectly reasonable usage.
+       * ABOUT-GCC-NLS: Remove the patch for gettext as it has been
+       accepted my the gettext maintainer.
 
-Mon Dec  9 12:23:48 1991  Ron Guilmette  (rfg at ncd.com)
+2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * toplev.c (main):  Check that no extra chars follow the level #
-       in a -gNNN option.  Also check that the debugging level requested
-       is between 0 and 3 (inclusive).
+       * builtins.c (expand_builtin_strpbrk): New function.
+       (expand_builtin): Handle BUILT_IN_STRPBRK.
 
-Mon Dec  9 20:34:48 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * builtins.def (BUILT_IN_STRPBRK): New entry.
 
-       * sched.c (schedule_block): Don't crash if `line' is zero.
-       (schedule_insns): Initialize line_note_head.
+       * c-common.c (c_common_nodes_and_builtins): Declare builtin
+       strpbrk.
 
-Mon Dec  9 15:31:46 1991  Michael Meissner  (meissner at osf.org)
+2000-11-07  David O'Brien  <obrien@dragon.nuxi.com>
 
-       * mips-tfile.c (pseudo_ops array): Correctly size the .stabs and
-       .stabn elements.
+       * config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file.
+       * POTFILES.in: Add config/alpha/freebsd.h
+       * configure.in: Add alpha*-freebsd support.
+       * configure: Regenerate.
 
-       * mips.c (function_prologue, function_epilogue): Use assemble_name
-       to print the current function, instead of fprintf, in case there is
-       a  leading '*'.
+2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * mips-news.h (CPP_PREDEFINES): Define news3700, not news7300.
+       * tree.c (build_common_tree_nodes_2): Make va_list_type_node be a
+       copy of ptr_type_node rather than ptr_type_node itself.
 
-       * mips.md (ashldi3_internal3): Fix typos.
-       (ashrdi3_internal3): Ditto.
-       (lshldi3_internal3): Ditto.
+Tue Nov  7 06:29:24 2000  J"orn Rennecke <amylaar@redhat.com>
 
-Mon Dec  9 11:49:52 1991  Torbjorn Granlund  (tege at hal.gnu.ai.mit.edu)
+       * combine.c (recog_for_combine): Allocate uninitialized vector with
+       rtvec_alloc.
+       * recog.c (apply_change_group): Likewise.
 
-       * longlong.h (__a29k__ udiv_qrnnd): Change "q" to "1" for operand
-       2 constraint.
+Tue Nov  7 06:24:02 2000  J"orn Rennecke <amylaar@redhat.com>
 
-Mon Dec  9 11:22:58 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+       * flow.c (verify_local_live_at_start): Back out last change.
+       * combine.c (distribute_notes): When parts of a hard reg are
+       neither set nor referenced in PLACE, search backwards for a
+       place to put a REG_UNUSED note; if none found, ask for flow
+       info refresh.
 
-       * cp-typeck.c (build_x_function_call): A method might have type
-       pointer-to-method as well.  Don't build an OFFSET_REF for any
-       "function" that already has pointer type.  Only use
-       DECL_CLASS_CONTEXT to find type of `this' for FUNCTION_DECLs; for
-       method pointer expressions, look up the basetype of the method type.
-       (build_unary_op): Fix comment in typo.
+Mon Nov  6 20:08:13 2000  J"orn Rennecke <amylaar@redhat.com>
 
-       * cp-tree.c: Fix typo in comment at start of file.
+       * reload1.c (eliminate_regs_in_insn): Allow a set to be a PARALLEL
+       with (clobber (match_scratch...)).
 
-Mon Dec  9 07:17:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-11-06  Neil Booth  <neilb@earthling.net>
 
-       * cse.c (cse_insn): When a jump is converted to unconditional, 
-       delete the dead code, but leave the notes.
-       (cse_basic_block, cse_end_of_basic_block): Some unconditional jumps are
-       part of the basic block.
-       (cse_basic_block): Add missing arg to cse_end_of_basic_block call.
-       
-Mon Dec  9 07:16:15 1991  Ron Guilmette  (rfg at ncd.com)
+       * c-lex.c (init_c_lex): If cpp_start_read fails, exit with
+       error status.
 
-       * sys-types.h:  New file.
-       * sys-protos.h:  New file.
-       * SYSCALLS.c: Just include those files.
+2000-11-06  Neil Booth  <neilb@earthling.net>
 
-       * protoize.c (VOLATILE):  Define this symbol conditionally so that
-       it can be used to declare GNU `volatile' functions.
-       (abort):  Added VOLATILE extern declaration (but not if it's a macro).
-       (kill, fork):  Added extern declaration.
-       (substr): Declare c as int.
+       * tradcpp.c (special_symbol): Assign an null string rather
+       than writing to an unallocated buffer.
 
-       * gbl-ctors.h: New file.
-       * crtstuff.c: Include gbl-ctors.h.
-       (INIT_SECTION_ASM_OP):  Delete default definition.
-       Only compile .init section code if INIT_SECTION_ASM_OP is defined.
-       (pointer):  Globally changed to `func_ptr'.
-       * Makefile.in (crtbegin.o, crtend.o, gnulib2): Depend on gbl-ctors.h.
-       * gnulib2.c:  Added definition of __builtin_saveregs for i860/svr4
-       and fixed up definition of __builtin_saveregs for i860/non-svr4.
-       (__bb_avoid_warning):  Added explicit return type.
-       (__builtin_new, __builtin_vec_new, __builtin_delete,
-       __builtin_vec_delete): Use `void*' where appropriate.
-       (exit): Change conditional to ON_EXIT.  Make dummy if no real exit.
-       Include gbl-ctors.h.
-       (__main): Change conditional to INIT_SECTION_ASM_OP.
-       (__do_global_ctors): Conditional on INIT_SECTION_ASM_OP.
-       Use DO_GLOBAL_CTORS_BODY for the guts.
-       Include gbl-ctors.h.
+2000-11-06  Neil Booth  <neilb@earthling.net>
 
-Mon Dec  9 01:07:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * cpplex.c (_cpp_equiv_tokens): Check arg_no in the
+       CPP_MACRO_ARG case.
 
-       * fixinc.svr4: Don't change #ident or assertion tests.
-       Don't install inline.h.
+2000-11-06  Neil Booth  <neilb@earthling.net>
 
-       * c-common.c (get_directive_line): Declare c as int.
+       * c-lex.c (c_lex): Replace tok.val.aux with tok.val.c or
+       tok.val.arg_no as appropriate.
+       * cppexp.c (lex): Similarly.
+       * cpplex.c (_cpp_lex_token, cpp_spell_token, cpp_output_token,
+       cpp_equiv_tokens, cpp_can_paste, cpp_avoid_paste): Similarly.
+       * cppmacro.c (stringify_arg, replace_args, lex_expansion_token,
+       cpp_macro_definition): Similarly.
+       * cpplib.h (struct cpp_token): Replace aux with c and arg_no.
 
-       * configure: Create additional file tconfig.h.
-       * protoize.c: Include that, not tm.h.
-       * Makefile.in (protoize.o, unprotoize.o): Depend on tconfig.h.
+2000-11-06  Jakub Jelinek  <jakub@redhat.com>
 
-       * svr4.h (HAVE_ATEXIT): Defined.
-       * gnulib2.c (_main, exit): Use HAVE_ATEXIT to control use of atexit.
+       * config/sparc/sparc.md (adddi3): If operands[2] is 4096 and
+       operands[1] is constant, calculate the sum and generate movdi.
+       (addsi3): Similarly.  Use SImode in call to arith_4096_operand.
+       (subsi3): Use SImode in call to arith_4096_operand.
 
-       * final.c (final_scan_insn): Output first and last note in a series.
+2000-11-06  Jakub Jelinek  <jakub@redhat.com>
 
-       * objc-actions.c (build_objc_method_call):
-       New arg LOOKUP_OBJECT.
-       (build_message_expr): Pass RECEIVER for LOOKUP_OBJECT.
-       Pass RECEIVER or self_decl as OBJECT.
+       * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to
+       adjust %o1, not %o0 if the return type is large structure.
 
-       * unx386.h (PRINT_IMMED_PREFIX, PRINT_OFFSET_PREFIX): Deleted.
+2000-11-06  Jakub Jelinek  <jakub@redhat.com>
 
-       * rtl.h: Undef FLOAT.
+       * config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1,
+       update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting.
 
-       * svr4.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_SIZE):
-       Fix typo.
+Sat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru> & Marek Michalkiewicz  <marekm@linux.org.pl>
 
-Sun Dec  8 21:46:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * protoize.c (main): Declare `value'.
-       (abspath): Declare endp.  Declare and set outp and inp.
-
-       * cp-decl.c (sigsegv): Function deleted.
-       (init_decl_processing): Don't use it.
-       Also don't include signal.h.
-
-       * t-svr4: New file.
-       * configure (i386-*-sysv4*, i860-*-sysv4*): Use that file.
-
-Sun Dec  8 12:01:36 1991  Ron Guilmette (rfg at ncd.com)
-
-       * fixinc.svr4: New file.
-
-       * final.c (profile_function): Specify return type.
-       (get_attr_length):  Added a return statement to prevent warnings.
-
-       * final.c (final_scan_insn):  Switch to .text section before output
-       of jumptable lable (if requested by JUMP_TABLES_IN_TEXT_SECTION).
-       Don't switch sections again after the label.
-
-       * configure (i386-*-sysv*):  Configuration deleted.
-       (i386-*-sysv3, i386-*-sysv4, i860-*-sysv3, i860-*-sysv4):
-       Added assignment to `tmake_file' (to pick up def of EXTRA_PARTS).
-       (i860-*-sysv3, i860-*-sysv4):  Added assignment to `xmake-file'.
-       (i860-*-sysv3):  Deleted bogus GAS related stuff.
-
-       * combine.c (combinable_i3pat):  Added explicit return type.
-
-       * i860.h (TARGET_FPU):  Deleted this target flag.  i860 fpu is on chip.
-       (TARGET_XP):  New target flag for XR and XP models.
-       (TARGET_FLAGS, HARD_REGNO_MODE_OK):  Adjusted for above changes.
-       (REG_ALLOC_ORDER): Use first the regs less likely for other purposes.
-       (LITERAL_COMPARE_BETTER_UNSIGNED):  Defined.
-       (BRANCH_COST): Defined.
-       (CC_ONLY_*):  Deleted these obsolete defines.
-       (CC_NEGATED):  Added for IEEE behavior with cmpgesf and cmplesf.
-       (ASM_OUTPUT_CASE_LABEL):
-       Added .align so assembler doesn't barf on subsequent .long(s).
-       (FLOAT_TYPE_VALUE, INTIFY, FLOATIFY, FLOAT_ARG_TYPE):
-       Added definitions needed to build a useable gnulib1 library.
-
-       * i860.md:  Removed all references to CC_ONLY_* symbols.
-       (cmpledf, cmpgedf):  Adjusted assembler code  as suggested
-       by i860 manuals, for IEEE results.
-       (cbranch, flipped_cbranch, inverse_cbranch, flipped_inverse_cbranch):
-       Check for CC_NEGATED.
-       (bte, btne patterns): Complete rewrite.
-       (anonymous sign-extend patterns): Moved before the named patterns.
-
-       * i860.md (addsi3, subsi3):  Disparaged alternatives with a floating-
-       pointer input register to avoid complicated reloading problem.
-       (negsi2):  Deleted bogus `I' constraint on operand 1.
-       (divdf3, divsf3):  Added additional continuation characters
-       needed to make lines acceptable to `read_rtx' in the gen* programs.
-
-       * i860.c:  Include "flags.h" to get access to `optimize' flag.
-       (leaf_function_p):  Added extern declaration.
-       (zero_operand): New function.
-       (must_preserve_r1, must_preserve_bytes): New variables.
-       (function_prologue, function_epilogue): 
-       Support treatment of return-address reg (r1) in leaf functions.
+       * expmed.c (expand_divmod): For signed divide by 2, prefer
+       a branch and fewer shifts if branches are very cheap.
 
-       * i860v4.h (CPP_PREDEFINES):  Add pre-assertions for i860/svr4.
-       (CPP_SPEC):  Deleted definition.
-       (TYPE_OPERAND_FMT):  New definition.
-       (ASM_OUTPUT_FUNCTION_PREFIX):  #undef before defining.
-       (ASM_OUTPUT_EPILOGUE_SUFFIX):  Deleted obsolete macro.
-       (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
-       TDESC_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
-       TDESC_SECTION_FUNCTION):  Definitions added.
+2000-11-05  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * i860v3.h: Complete rewrite.  Uses svr3.h.
+       * Makefile.in: Remove all targets related to building
+       distributions and diffs, or INSTALL.
+       * INSTALL, install1.texi: Remove.
+       * configure.in: Remove mention of distdir.
+       * configure: Regenerate.
+       * objc/Make-lang.in: Remove mention of distdir.
 
-       * i386v4.h:  Don't include i386v.h.  Include i386.h instead.
-       (SDB_DEBUGGING_INFO):  #undef deleted.
-       (ASM_OUTPUT_DWARF_STRING):  Added definition.
+2000-11-04  Neil Booth  <neilb@earthling.net>
 
-       * gcc.c (default_compilers):  Pass -g* options to cpp.
+       * cpp.texi: Update for _Pragma.
 
-       * gcc.c (do_spec_1):  Don't duplicate -A options in CPP_PREDEFINES.
+2000-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * gnulib2.c (exit, __main, __do_global_dtors, __do_global_ctors):
-       New functions.
+       * gcc.texi (Contributing): Update URL for projects web page.
 
-       * i386.h (PRINT_IMMED_PREFIX, PRINT_OFFSET_PREFIX):
-       Define here, and use IP.
+2000-11-04  Neil Booth  <neilb@earthling.net>
 
-       * i386.h: Don't include syms.h or define FILNMLEN.
+       * cpplex.c (parse_string): Don't allow multiline strings in
+       #include family directives.
 
-       * x-i860v3, x-i860v4: New files.
-       * x-i386v4 (CCLIBFLAGS, GCC_CFLAGS):  Added definitions.
+2000-11-04  Neil Booth  <neilb@earthling.net>
 
-       * xm-svr3.h:  New file.
-       * xm-i86v3.h, xm-i86v4.h, xm-i386v.h: Rewritten.
-       * xm-i38v4.h: New file.
+       * cpplib.c (do_line): Only warn pedantically if not reading
+       preprocessed input.
 
-       * svr4.h (LIB_SPEC):  Make crtend.o come before any *crtn.o
-       file (to avoid hitting return without standard epilogue in .init code).
-       (INIT_SECTION_ASM_OP):  Added definition for crtstuff.c (and friends).
-       (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION):
-       Adjusted indentation of continuations to match those in rest of file.
+2000-11-04  Alexandre Oliva  <aoliva@redhat.com>
 
-       * svr3.h (CPP_PREDEFINES):  Don't define this here.
-       (ASM_FILE_START_1):  Provide no-op default definition.
-       (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):  Undef these before defining.
-       (INT_ASM_OP, USE_CONST_SECTION, INIT_SECTION_ASM_OP,
-       CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
-       EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, READONLY_DATA_SECTION,
-       CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION,
-       ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR, SELECT_SECTION,
-       SELECT_RTX_SECTION):  Definitions added.
+       * calls.c (emit_call_1) [sibcall_pop]: Use n_popped instead of
+       RETURN_POPS_ARGS().
 
-Sun Dec  8 15:27:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-11-03  Zack Weinberg  <zack@wolery.stanford.edu>
 
-       * next.c (handle_pragma): Use get_directive_line.
+       * builtins.c (expand_builtin_strlen): Remove unused mode
+       argument.
+       * gcc.c (process_command): Remove unused variable.
+       * fold-const.c: Include expr.h.
+       * recog.c: Include reload.h.
+       * Makefile.in (recog.o, fold-const.o): Update deps.
+
+2000-11-02  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * fixinc/gnu-regex.c: Change 'CYGNUS LOCAL' to 'EGCS LOCAL'.
+
+Fri Nov  3 13:41:04 2000  Mark P Mitchell  <mark@codesourcery.com>
+
+       * config/mips/iris6.h (SUBTARGET_CC1_SPEC): Remove -static
+       handling.
+       (STARTFILE_SPEC): Likewise.
+       (LINK_SPEC): Likewise.
+
+2000-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (fold-const.o): Depend on $(GGC_H), not ggc.h.
+       (toplev.o): Likewise for $(LOOP_H)/loop.h and $(REGS_H)/regs.h.
+       (simplify-rtx.o): Likewise for $(GGC_H)/ggc.h.
+
+2000-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-decl.c (duplicate_decls, copy_lang_decl), dwarfout.c
+       (dwarfout_line), gcc.c (main, save_string), tree.c (init_obstacks,
+       perm_calloc, get_identifier, maybe_get_identifier,
+       real_value_from_int_cst, simple_cst_equal), varasm.c
+       (assemble_name, assemble_real, immed_real_const_1,
+       compare_constant_1, decode_rtx_const, output_constant_pool): Use
+       strrchr () instead of rindex ().  Use memcmp () instead of bcmp
+       ().  Use memcpy () instead of bcopy ().  Use memset () instead of
+       bzero ().
+
+2000-11-03  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cppfiles.c (open_file): If already read, then don't reopen.
+       Immediately close an empty file.
+
+2000-11-01  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * expr.h (fold_builtin): Move declaration...
+       * tree.h (fold_builtin): ... here.
+
+Fri Nov  3 05:41:07 2000  J"orn Rennecke <amylaar@redhat.com>
+
+       * flow.c (verify_local_live_at_start): Allow hard regs to die.
+
+2000-11-02  Neil Booth  <neilb@earthling.net>
+
+config:
+       * a29k/a29k.h, a29k/unix.h, a29k/vx29k.h,
+       alpha/alpha-interix.h, alpha/alpha.h, alpha/linux.h,
+       alpha/openbsd.h, alpha/osf.h, alpha/vms.h, alpha/vxworks.h,
+       alpha/win-nt.h, arc/arc.h, arm/arm.h, arm/conix-elf.h,
+       arm/linux-aout.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
+       arm/riscix1-1.h, arm/semiaof.h, arm/unknown-elf-oabi.h, arm/vxarm.h,
+       c4x/rtems.h, clipper/clix.h, convex/convex.h, d30v/d30v.h,
+       elxsi/elxsi.h, fr30/fr30.h, h8300/h8300.h, i370/linux.h, i370/mvs.h,
+       i370/oe.h, i386/386bsd.h, i386/aix386ng.h, i386/beos-elf.h,
+       i386/bsd386.h, i386/crtdll.h, i386/cygwin.h, i386/dgux.h,
+       i386/djgpp-rtems.h, i386/djgpp.h, i386/freebsd-aout.h, i386/freebsd.h,
+       i386/gnu.h, i386/i386-interix.h, i386/i386.h, i386/linux-aout.h,
+       i386/linux-oldld.h, i386/linux.h, i386/lynx-ng.h, i386/lynx.h,
+       i386/mach.h, i386/mingw32.h, i386/moss.h, i386/netbsd.h,
+       i386/netware.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
+       i386/osfelf.h, i386/osfrose.h, i386/ptx4-i.h, i386/rtems.h,
+       i386/rtemself.h, i386/sco.h, i386/sco4.h, i386/sco4dbx.h, i386/sco5.h,
+       i386/scodbx.h, i386/sequent.h, i386/sol2.h, i386/sun.h, i386/sysv3.h,
+       i386/sysv4.h, i386/uwin.h, i386/vsta.h, i386/vxi386.h, i386/win-nt.h,
+       i386/win32.h, i860/fx2800.h, i860/i860.h, i860/mach.h, i860/sysv3.h,
+       i860/sysv4.h, i960/i960.h, i960/rtems.h, i960/vx960-coff.h,
+       ia64/ia64.h, ia64/linux.h, m32r/m32r.h, m68k/3b1.h, m68k/3b1g.h,
+       m68k/a-ux.h, m68k/altos3068.h, m68k/amix.h, m68k/apollo68.h,
+       m68k/crds.h, m68k/ctix.h, m68k/dpx2.h, m68k/hp2bsd.h, m68k/hp320.h,
+       m68k/hp3bsd.h, m68k/hp3bsd44.h, m68k/isi.h, m68k/linux-aout.h,
+       m68k/linux.h, m68k/lynx-ng.h, m68k/lynx.h, m68k/m68kemb.h,
+       m68k/m68kv4.h, m68k/mot3300.h, m68k/netbsd.h, m68k/news.h,
+       m68k/next.h, m68k/openbsd.h, m68k/pbb.h, m68k/plexus.h, m68k/rtems.h,
+       m68k/rtemself.h, m68k/sun2.h, m68k/sun3.h, m68k/sun3mach.h,
+       m68k/tower-as.h, m68k/tower.h, m68k/vxm68k.h, m88k/dgux.h,
+       m88k/dolph.h, m88k/luna.h, m88k/m88k-aout.h, m88k/m88k-coff.h,
+       m88k/openbsd.h, m88k/sysv3.h, m88k/sysv4.h, mips/bsd-4.h,
+       mips/bsd-5.h, mips/dec-bsd.h, mips/dec-osf1.h, mips/gnu.h,
+       mips/iris3.h, mips/iris5.h, mips/iris6.h, mips/linux.h, mips/mips.h,
+       mips/netbsd.h, mips/news4.h, mips/news5.h, mips/nws3250v4.h,
+       mips/openbsd.h, mips/osfrose.h, mips/rtems64.h, mips/sni-svr4.h,
+       mips/svr3-4.h, mips/svr3-5.h, mips/svr4-4.h, mips/svr4-5.h,
+       mips/ultrix.h, ns32k/encore.h, ns32k/merlin.h, ns32k/netbsd.h,
+       ns32k/ns32k.h, ns32k/pc532-mach.h, ns32k/pc532.h, ns32k/sequent.h,
+       ns32k/tek6000.h, ns32k/tek6100.h, ns32k/tek6200.h, pa/pa-hiux.h,
+       pa/pa-hpux.h, pa/pa-hpux7.h, pa/pa-linux.h, pa/pa-osf.h,
+       pa/pa-pro-end.h, pa/pa.h, pa/rtems.h, pj/linux.h, pj/pj.h,
+       romp/romp.h, rs6000/aix.h, rs6000/aix31.h, rs6000/aix41.h,
+       rs6000/aix43.h, rs6000/beos.h, rs6000/eabi.h, rs6000/eabisim.h,
+       rs6000/linux.h, rs6000/lynx.h, rs6000/mach.h, rs6000/rtems.h,
+       rs6000/sysv4.h, rs6000/vxppc.h, sh/elf.h, sh/linux.h, sh/rtems.h,
+       sh/rtemself.h, sh/sh.h, sparc/aout.h, sparc/elf.h, sparc/linux-aout.h,
+       sparc/linux.h, sparc/linux64.h, sparc/lite.h, sparc/litecoff.h,
+       sparc/liteelf.h, sparc/lynx-ng.h, sparc/lynx.h, sparc/netbsd.h,
+       sparc/openbsd.h, sparc/pbd.h, sparc/rtems.h, sparc/rtemself.h,
+       sparc/sol2-sld-64.h, sparc/sol2.h, sparc/sp64-aout.h,
+       sparc/sp64-elf.h, sparc/sp86x-aout.h, sparc/sp86x-elf.h,
+       sparc/sparc.h, sparc/sysv4.h, sparc/vxsim.h, sparc/vxsparc.h,
+       v850/rtems.h, vax/netbsd.h, vax/openbsd.h, vax/ultrix.h, vax/vax.h,
+       vax/vaxv.h, vax/vms.h, we32k/we32k.h
 
-       * gnulib2.c (__do_global_dtors, __do_global_ctors):
-       Remove the feature to control the order of execution.
-       This is not a clean solution to the overall problem.
+       Replace -A() with -A=, the new assertion syntax.
 
-Sun Dec  8 14:47:44 1991  Michael Meissner  (meissner at osf.org)
+Thu Nov  2 21:52:35 2000  J"orn Rennecke <amylaar@redhat.com>
+
+       * combine.c (distribute_notes): Use rtx_equal_p to check elim_i2 /
+       elim_i1.
+       In REG_DEAD handling: When handling parts of multi-hard-reg hard
+       registers, increment the loop counter by the size of the parts;
+       use recursion to handle individual parts.
 
-       * mips-tfile.c (toplevel, add_local_symbol, parse_stabs_common):
-       More changes for smuggling stabs through from meissner@osf.org and
-       bothner@cygnus.com.
+2000-11-02  Neil Booth  <neilb@earthling.net>
 
-       * mips.h (ignore_line_number): New global, set when we must avoid
-       putting out a MIPS ECOFF .loc because the file changed inside of a
-       function, and we are also putting out stabs, which can handle this.
-       (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Define to put a comment
-       in front of the pseudo op, if we are encapsulating stabs in MIPS
-       ECOFF.
-       (ASM_OUTPUT_SOURCE_FILENAME): Change to call mips_output_filename.
-       (ASM_OUTPUT_SOURCE_LINE): change to call mips_output_lineno.
+       * configure.in: Make integrated CPP the default.
+       * configure: Regenerate.
 
-       * mips.c (toplevel): Include stab.h for encapsulating stabs.
-       (ignore_line_number): New global variable.
-       (reg_or_0_operand): Call register_operand for REG's as well as
-       SUBREG's.
-       (override_option): Don't allow ints in FP registers unless -mdebugh.
-       (mips_output_filename): New function to write the filename to the
-       assembler output.  Add special support for encapsulating .stabs in
-       MIPS ECOFF.
-       (mips_output_lineno): New function to write the line number to the
-       assembler output.  Add special support for encapsulating .stabs in
-       MIPS ECOFF.
-       (function_epilogue): Clear ignore_line_number.
+Thu Nov  2 19:20:12 2000  J"orn Rennecke <amylaar@redhat.com>
 
-       * mips.md (fix_trunc??si_opt, mov??_internal): Change '!' constraint
-       back to '*'.
+       * reload.c (find_equiv_reg): Test all hard registers for membership
+       in the requested class.
 
-Sat Dec  7 16:58:57 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+2000-11-02  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * cp-spew.c (scan_tokens): Stop scanning at semi-colon.
+       * collect2.c (main, write_c_file_stat), gcc.c (translate_options,
+       process_command, main), gcov.c (open_files, output_data), tlink.c
+       (frob_extension, scan_linker_output), toplev.c
+       (file_name_nondirectory): Use strchr () and strrchr () instead of
+       index () and rindex ().
 
-       * cp-spew.c: Made SPEW_DEBUG code useable:
-       (yylex): Use stderr in SPEW_DEBUG code.
-       (yytags): Deleted table.
-       (debug_yychar): Print to stderr, and don't try finding translations
-       for values over 256.
+2000-11-02  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * cp-class.c (push_lang_context): Fix typo in comment.
+       * c-common.c (get_flag_spec, check_format_info_main,
+       check_format_types): Use strchr () instead of index ().  Compare
+       against error_mark_node instead of comparing the TREE_CODE against
+       ERROR_MARK.
 
-       * cp-decl.c (finish_decl): Undo `pushclass' done in start_decl for
-       top-level decls of methods.
+2000-11-02  Zack Weinberg <zackw@Stanford.EDU>
 
-       * cp-lex.c (restore_pending_input): Cast 0 to pointer type for
-       obstack_free.
+       Integrated CPP.
 
-       * cp-pt.c (do_pending_expansions): Use TREE_USED instead of
-       TREE_ADDRESSABLE for functions.  Put in comments explaining why we
-       compile unused methods of classes that are interface-unknown: the
-       file initializer/cleanup functions might need them.
-       (mumblefrotz): Delete unused function; this code is in cp-parse.y.
+       * c-lex.c (init_c_lex): Update cpp_start_read call.
+       (cb_ident): Update for new callback prototype.
+       (cb_def_pragma): Update for new cpp_get_token prototype.
+       (c_lex): Similarly.  Use cpp_get_line.
 
-Sat Dec  7 15:46:55 1991  Timothy Moore (moore@cs.utah.edu)
+       * c-parse.in (finish_parse): Update for new cpp_finish
+       prototype.
 
-       * function.c: Handle ARGS_GROW_DOWNWARD.
-       (pad_below, pad_to_arg_alignment, round_down): New subroutines.
-       (locate_and_pad_parm): Use them, for the existing case.
-       Also handle the ARGS_GROW_DOWNWARD case, using them.
+       * cp/lex.c (finish_parse): Similarly.
 
-Sat Dec  7 15:46:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * tree.h (DECL_ARG_TYPE_AS_WRITTEN): New macro.
-       * c-decl.c (grokdeclarator): Store value there.
-
-       * m68k.c (output_function_prologue, output_function_epilogue):
-       Support MOTOROLA syntax.
+2000-11-01  Geoff Keating  <geoffk@cygnus.com>
 
-       * toplev.c (main): Testing for -ggdb catches -g also.
-       Default use_gdb_dbx_extensions to 1 for -gstabs, 0 for -gdbx.
-       Specified default is for -g.
+       * machmode.def: Add V16QImode.
 
-       * cccp.c (handle_directive): Store start address in directive_start.
-       (do_xifdef): Use that, checking if at start of file.
-       (do_endif): Compute ep properly.
+2000-11-01  Richard Henderson  <rth@redhat.com>
 
-       * protoize.c (abspath): Fix errors referencing argument cwd.
-       (main): Allocate big enough buffer for getcwd.
-       Don't clobber varargs_style_indicator, copy it.
-       (savestring): New function.
+       * dwarf2out.c (loc_descriptor_from_tree): Check for null result
+       from rtl_for_decl_location.
+       (add_location_or_const_value_attribute): Likewise.
 
-Sat Dec  7 00:53:16 1991  Ron Guilmette  (rfg at ncd.com)
+2000-11-01  Neil Booth  <neilb@earthling.net>
 
-       * c-decl.c (warn_redundant_decls, warn_nested_externs): New vars.
-       (c_decode_option): Support -Wredundant-decls and -Wnested-externs.
-       (pushdecl): Print those warnings.
-       * c-tree.h (warn_redundant_decls, warn_nested_externs): Declared.
+       * cpplib.c (run_directive): Use correct line number for output
+       of _Pragma.  Remember any in-progress directive.
 
-       * c-decl.c (pending_xref_error, c_mark_varargs):  Added return type.
+       * gcc.dg/cpp/vararg2.c, gcc.dg/cpp/_Pragm1.c: New tests.
 
-       * cccp.c (main):  Added code to support the presence of -A (assertion)
-       options within CPP_PREDEFINES.
+2000-11-01  Richard Henderson  <rth@redhat.com>
 
-       * c-lang.c: Minor cleanups.
+       * stmt.c (expand_start_null_loop): Set continue_label.
 
-       * c-lex.c (check_newline):  Added support for the -g3 option.
+2000-11-01  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * dwarfout.c (type_tag):  Fixed bug in gcc Dwarf generation for
-       tagged types.
+       * builtins.c (fold_builtin_constant_p, fold_builtin): New functions.
+       (expand_builtin_constant_p): Move parts of the code into
+       fold_builtin_constant_p.
+       (expand_builtin_strlen): Move parts of the code into fold_builtin.
+       * expr.h (fold_builtin): Declare.
+       * fold-const.c (fold): Handle builtin calls.
 
-       * dwarfout.c (output_decl):  Added two pre-checks to see if nodes
-       are ERROR_MARK nodes before using them.
+       * c-typeck.c (build_function_call): Call fold on the CALL_EXPR.
 
-       * dwarfout.c (generate_new_sfname_entry):  Function added.
+2000-11-01  Richard Henderson  <rth@redhat.com>
 
-       * dwarfout.c (lookup_filename):  Call generate_new_sfname_entry
-       as soon as each new source filename is added to the list of
-       known filenames (thus avoiding an m68k forward-ref assembler bug).
+       * stmt.c (expand_start_null_loop): New.
+       (expand_end_null_loop): New.
+       * c-semantics.c (genrtl_do_stmt): Use them.
+       * tree.h: Declare them.
 
-       * dwarfout.c (dwarfout_line):  Initialize prev_file_entry_num to
-       (unsigned) -1 rather than zero to avoid bogus suppression of
-       first .debug_sfnames section entry.
+2000-11-01  Richard Henderson  <rth@redhat.com>
 
-       * dwarfout.c (compare_filename_entries):  Function deleted.  (It's
-       no longer needed.)
+       * cppmain.c (scan_buffer): Don't avoid paste for assembly.
 
-       * dwarfout.c (dwarfout_finish):  Don't generate .debug_sfnames
-       section entries here anymore.  (See lookup_filename.)
+2000-11-01  Neil Booth  <neilb@earthling.net>
 
-       * Makefile.in (realclean): Delete c-parse.h.
-       Delete objc-parse.output just once.
+       * c-parse.in (_yylex): Remove CPP_BACKSLASH case.
+       * cp/spew.c: Similarly.
+       * cpplex.c (_cpp_lex_token): Backslashes are now CPP_OTHER.
+       * cppmacro.c (stringify_arg): Similarly.
+       * cpplib.h (CPP_BACKSLASH): Delete.
 
-Fri Dec  6 17:49:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-10-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cse.c (FIXED_BASE_PLUS_P): The frame or argument pointer itself is
-       a fixed address.
-       (find_comparison_args): If we find something equivalent to a
-       fixed address, return the fixed address.
+       * builtins.c (expand_builtin_strstr): New function.
+       (expand_builtin): Handle BUILT_IN_STRSTR and BUILT_IN_STRCHR.
 
-       * combine.c (try_combine): Don't access new_i2_notes if it hasn't been
-       defined (it isn't defined unless newi2pat != 0).
+       * builtins.def (BUILT_IN_STRSTR, BUILT_IN_STRCHR): New entries.
 
-Fri Dec  6 16:01:02 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * c-common.c (c_common_nodes_and_builtins): Declare builtin strstr
+       and builtin strchr.
 
-       * rtl.h (enum reg_note): Define two new values REG_DEP_ANTI,
-       REG_DEP_OUTPUT, which are used to mark LOG_LINKS.
-       * rtl.c (reg_note_name): Likewise.
-       (add_dependence): Return void.  New parameter DEP_TYPE to indicate
-       type of dependence.
+2000-10-31  Richard Henderson  <rth@redhat.com>
 
-       * sched.c: Major rewrite to delete much obsolete code, correct many
-       comments, delete unused variables, etc.  Modify all callers of
-       add_dependence to pass new argument.  Significant changes are:
-       (reassign_dependence): Deleted, was unnecessary.
-       (priority): Account for type of dependence when calculating
-       priority.
-       (flush_pending_lists): New function.  Encapsulate code which makes
-       dependencies between an INSN and every insn on the
-       pending_read_insns and pending_write_insns lists.
-       (rank_for_schedule): Account for type of dependence with last
-       scheduled insn when deciding which ready insn to schedule next.
-       (launch_link): Give all birthing insns the same priority.
-       (schedule_block): Only sort the ready list once, after all ready
-       insns have been added to it.
-       (schedule_block): When deciding what REG_DEAD notes are needed on a
-       just scheduled insns, process all sets first (sched_note_set) then
-       process all uses (attach_deaths_insn).
-       (attach_deaths): Simplified by above change.
-       (sched_note_set): Likewise.
-       (update_flow_info): Renamed from update_links, since it no longer
-       does anything with LOG_LINKS.  Sched_analyze_insn creates all
-       necessary new LOG_LINKS already.
-       (schedule_insn): Delete no op move insns after reload.
+       * config/i386/i386.c (fcmov_comparison_operator): Check for
+       CCFPmode or CCFPUmode instead of CCmode.
+       (ix86_expand_fp_movcc): Call ix86_expand_setcc for most
+       unordered operations as well.
 
-Fri Dec  6 13:33:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-10-31  Richard Henderson  <rth@redhat.com>
 
-       * crtstuff.c: Give permission to link with non-free programs.
+       * c-semantics.c (genrtl_do_stmt): Use integer_zerop instead
+       of integer_zero_node.
 
-       * toplev.c (flag_inhibit_size_directive): New var and -f option.
-       * svr4.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_SIZE): Use it.
-       * Makefile.in (crtbegin.o, crtend.o): Use that option.  Use -g1.
+2000-10-31  Richard Henderson  <rth@redhat.com>
 
-Fri Dec  6 08:42:53 1991  Ron Guilmette  (rfg at ncd.com)
+       * c-semantics.c (genrtl_do_stmt): Special case do/while(0).
 
-       * Makefile.in (STAGESTUFF):  Added __main and _exit to support g++.
+2000-10-31  Nick Clifton  <nickc@redhat.com>
 
-       * c-common.c (c_expand_expr_stmt):  Made return type explicit.
+       * config/arm/unknown-elf.h (UNIQUE_SECTION_P): Do not allow
+       -fdata-sections to override the section attribute of a DECL.
 
-       * c-common.c: (get_directive_line):  Function added to support -g3.
+2000-10-31  Chris Demetriou  <cgd@sibyte.com>
 
-Fri Dec  6 04:50:39 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * libgcc2.c (__shtab): Remove __shtab variable.
+       * libgcc-std.ver (GCC_3.0): Remove __shtab from symbol list.
+       * Makefile.in (LIB2FUNCS): Remove _shtab from list of library
+       members.
 
-       * cp-tree.h (OPERATOR_ASSIGN_CHARS_P): Flushed.
-       * cp-decl.c (grok_op_properties): Flush OPERATOR_ASSIGN_CHARS_P.
-       * cp-init.c (add_{friend,friends}): Ditto.
+2000-10-31  Jim Wilson  <wilson@redhat.com>
 
-Thu Dec  5 22:31:12 1991  Jeffrey A Law  (law at super.super.org)
+       * defaults.h (ASM_OUTPUT_DEBUG_LABEL): New.
+       * tm.texi (ASM_OUTPUT_DEBUG_LABEL): Document.
+       * dwarf2out.c (dwarf2out_begin_block): Use ASM_OUTPUT_DEBUG_LABEL
+       instead of ASM_OUTPUT_INTERNAL_LABEL.
+       (dwarf2out_end_block, dwarf2out_label): Likewise.
+       * final.c (final_scan_insn, case NOTE_INSN_DELETED_LABEL): Likewise
+       * config/ia64/ia64.h (ASM_OUTPUT_DEBUG_LABEL): Define.
 
-       * m68k.h (CONST_COSTS): Show that constants which can be easily
-       generated are less expensive than most.
+2000-10-31  Richard Henderson  <rth@redhat.com>
 
-       * m68k.md (movsi): Use two instruction sequences to load constants
-       which are just outside moveq's range (within 8 of moveq's range).
-       Likewise for positive even constants within twice moveq's range.
+       * dwarf2out.c (struct dw_loc_descr_struct): Add dw_loc_addr.
+       (size_of_locs): Set it.
+       (output_loc_operands): Use it to compute branch displacement.
+       (int_loc_descriptor): New.
+       (mem_loc_descriptor): Dereference memory in the proper size.
+       Use DW_OP_plus_uconst when possible.  Use int_loc_descriptor.
+       (loc_descriptor_from_tree): New.
+       (rtl_for_decl_location): Break out from ...
+       (add_location_or_const_value_attribute): ... here.
+       (add_bound_info): Use loc_descriptor_from_tree.
+
+2000-10-31  Neil Booth  <neilb@earthling.net>
+
+       * cpp.texi: Update for new command line assertion syntax.
+       * cpplib.c (cpp_define): Simplify a bit.
+       (cpp_assert, cpp_unassert): Use handle_assertion.
+       (handle_assertion): New function; accept new command line
+       syntax with '='.
+       * testsuite/gcc.dg/cpp/assert3.c: New tests.
+
+2000-10-31  Neil Booth  <neilb@earthling.net>
+
+       * cppmacro.c (STDC_0_IN_SYSTEM_HEADERS): Define to 0 if
+       undefined.  Remove #ifdef check.
+       * config/i386/sol2.h, config/rs6000/sol2.h, config/sparc/sol2.h:
+       Define STDC_0_IN_SYSTEM_HEADERS to 1.
+
+2000-10-31  Jan Hubicka  <jh@suse.cz>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.h: Clarify CCNOmode description in comment.
+       (EXTRA_CC_MODES): Remove CCRCmode.
+       * config/i386/i386.c (ix86_comparison_operator): Remove CCRCmode.
+       (put_condition_code, ix86_match_ccmode): Likewise.
+       (ix86_cc_mode): Likewise.  Fix comment.
+       (ix86_expand_strlensi_unroll_1): *rc patterns are gone.
+       * config/i386/i386.md: Add unspec 12 description.
+       (adddi3 split): Use unspec 12 instead of CCRCmode.
+       (addsi3_carry_rc): Remove.
+       (addsi3_cc, addqi3_cc): New patterns.
+       (addsi_3): Swap operands, match CCZmode.
+       (addsi_4): Rewritten.
+       (addsi_5): Renamed from addsi_6.
+       (addsi_6): Removed.
+       (addhi_3): Swap operands, match CCZmode.
+       (addhi_4): Rewritten.
+       (addhi_5): Renamed from addhi_6.
+       (addhi_6): Removed.
+       (addqi_3): Swap operands, match CCZmode.
+       (addqi_4): Rewritten.
+       (addqi_5): Renamed from addqi_6.  Use =q constraint for clobber.
+       (subsi3_carry_rc): Removed.
+       (iorqi_3): Use =q constraint for clobber.
+       (xorqi_cc_2): Likewise.
+       (negdi2_1 split): Don't use CCRCmode, use ltu instead of gtu.
+       (x86_movsicc_0_m1_rc): Removed.
+       (cmp?i peepholes): Remove neg.  Use CCGCmode instead of CCRCmode.
+
+2000-10-31  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-typeck.c (build_unary_op): If pedantic, pedwarn for increment
+       and decrement of complex types.
+
+2000-10-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_fputs): When deleting NOP calls to
+       builtin fputs, ensure we still evaluate the stream in case it
+       has side-effects.
+
+2000-10-31  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0)
+       to expand_shift.
+
+Tue Oct 31 15:33:27 2000  J"orn Rennecke <amylaar@redhat.com>
+
+       * sh-protos.h (reg_no_subreg_operand, emit_fpscr_use): Don't declare.
+       (fp_extended_operand, emit_fpscr_use): Likewise.
+       * sh.c (reg_no_subreg_operand, fp_extended_operand): Delete functions.
+       (fpul_operand): New function.
+       * sh.h (PREDICATE_CODES): Remove reg_no_subreg_operand and
+       fp_extended_operand.  Add fpul_operand.
+       * sh.md (mulsf3, mulsf3_i4): Use fp_arith_reg_operand for "f" operands.
+       (mulsf3_ie, macsf3, cmpgtsf_t, cmpeqsf_t, ieee_ccmpeqsf_t): Likewise.
+       (cmpgtsf_t_i4, cmpeqsf_t_i4, ieee_ccmpeqsf_t_4, negsf2): Likewise.
+       (negsf2_i, sqrtsf2, sqrtsf2_i, abssf2, abssf2_i, adddf3): Likewise.
+       (adddf3_i, subdf3, subdf3_i, muldf3, muldf3_i, divdf3): Likewise.
+       (divdf3_i): Likewise.
+       (floatsisf2): Likewise.  Use fpul_operand for 'y' operand.
+       (floatsisf2_i4, floatsisf2_ie, fix_truncsfsi2): Likewise.
+       (fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i): Likewise.
+       (fix_truncdfsi2, fix_truncdfsi2_i, extendsfdf2): Likewise.
+       (extendsfdf2_i4, truncdfsf2, truncdfsf2_i4): Likewise.
+
+2000-10-31  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * config/i386/i386.c (ix86_init_builtins): Correct return type
+       building v4hi_ftype_v4hi_int_int tree node.
+       (ix86_expand_builtin): Use correct operand numbers 0 and 1.
+       Copy operand 0 into a Pmode register, don't generate a MEM rtx.
+
+       * config/i386/i386.md (sse_movntdi): Use mmx register constraint
+       for operand 1.
+       (mmx__uavgv8qi3): Correct insn mnemonic.
+       (mmx_psadbw): Correct insn mnemonic.  Use V8QI mode for operands 1 and 2.
+       (mmx_punpckhwd): Correct insn mnemonic.
+       (mmx_punpckhdq): Likewise.
+       (mmx_punpcklwd): Likewise.
+       (mmx_punpckldq): Likewise.
+       (prefetch): Use immediare_operand and 'n' constraint for operand 1.
+       Renumber case labels to match the _mm_prefetch constants defined in
+       xmmintrin.h.
+
+       * recog.c (split_all_insns): Don't try to call cleanup_subreg_operands
+       if the splitter didn't emit new insns.
+       Make sure we call cleanup_subreg_operands even when splitting the last
+       insn in a basic block.
+
+       * invoke.texi (Debugging Options): Describe -do.
+       * toplev.c (enum_dump_file_index): New entry DFI_postreload.
+       (dump_file): Likewise.
+       (rest_of_compilation): Split .greg dump into .greg and .postreload.
+
+2000-10-30  Neil Booth  <neilb@earthling.net>
+
+       * cppfiles.c (stack_include_file): Check for stacked contexts
+       here.
+       * cpphash.h (_cpp_do__Pragma): New prototype.
+       * cppinit.c (cpp_reader_init): Add _Pragma keyword to hash table.
+
+       * cpplex.c (skip_escaped_newlines): Only process trigraphs and
+       escaped newlines if !(buffer->from_stage3).
+       (_cpp_lex_token): Warn about missing newlines iff
+       !buffer->from_stage3.
+
+       * cpplib.c (get__Pragma_string, destringize,
+       _cpp_do__Pragma): New functions.
+       (run_directive): Set output_line for _Pragma to avoid line
+       markers in output.  Set from_stage3 and prevent macro expansion
+       for _Pragma and command-line options.  Check buffer exhaustion.
+       (cpp_push_buffer): Don't check for stacked macro contexts, as
+       this is perfectly legitimate for _Pragma.  Move the check to
+       stack_include_file instead. Set from_stage3 iff buffer is
+       preprocessed input.
 
-Thu Dec  5 20:17:13 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
+       * cpplib.h (struct cpp_buffer): Make warned_cplusplus_comments
+       unsigned. New boolean from_stage3.
+       (struct spec_nodes): Add n__Pragma.
 
-       * config-gcc.com: Generate a file 'version.opt' which will be given
-         to the VMS linker to put the gcc version number in the image 
-         header version number field.
+       * cppmacro.c (enter_macro_context): Flip sense of return value.
+       (_cpp_get_token): Handle _Pragma operator.
 
-       * make-cc1.com: Compile c-lex.c when building gcc and objc, and
-         add c-lex.obj to the list of files given to the linker.
-         Add version.opt to the list of files given to the linker.
+2000-10-30  Phil Edwards  <pme@sources.redhat.com>
 
-       * make-cccp.com: Add version.opt to the list of files given to the
-         linker.
+       * gcc.texi:  The C++ standard isn't "draft" anymore.
 
-Thu Dec  5 23:04:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-10-30  Mark Mitchell  <mark@codesourcery.com>
 
-       * combine.c (make_extraction): Don't make a STRICT_LOW_PART of a MEM;
-       clean up comments so they agree with the code.
+       * cppmacro.c (builtin_macro): Use NT_VOID, not T_VOID.
 
-       * combine.c (try_combine): Correct test for when we can safely change
-       the mode of a pseudo; can't if it doesn't die in I3.
+2000-10-29  Neil Booth  <neilb@earthling.net>
 
-       * c-decl.c (WCHAR_TYPE_SIZE): Deleted; never used.
-       * c-common.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Deleted, no longer needed.
-       (combine_strings): Use size of `wchar_type_node' to get number of
-       bytes in wchar_t.
-       * next.h (WCHAR_TYPE_SIZE): Delete; no longer used.
+       * cpplib.c (skip_rest_of_line):  Use _cpp_get_token.
 
-       * cse.c (cse_main): Add new argument to cse_basic_block_call.
-       Don't call cse_around_loop here.
-       (cse_basic_block): Call cse_around_loop from here while we still
-       have our arrays allocated.
+2000-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * combine.c (simplify_comparison): Fix error in last change; don't
-       reference TEM before it is set.
+       * toplev.c, flags.h, fold-const.c, real.c, rtl.c,
+       fixinc/inclhack.def: Change comments mentioning C9X to refer to
+       C99 instead.
 
-       * toplev.c (fatal_insn_not_found): Flush all files before aborting.
+       * invoke.texi: Document that -V will only work for very similar
+       versions of driver and compiler.
 
-Thu Dec  5 21:42:29 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-10-29  Neil Booth  <neilb@earthling.net>
 
-       * objc-actions.c (build_objc_method_call): Eval OBJECT and SELECTOR
-       only once.  Always pass self_decl as self to the method.
+       * cppmacro.c (_cpp_create_definition): Optimize the case of
+       a macro defined to itself.
 
-Thu Dec  5 14:52:16 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+2000-10-29  Neil Booth  <neilb@earthling.net>
 
-       * ccrtstuff.c, gnulib2.c, protoize.c: Include tm.h not config.h,
-       since these are complied for the target, host defines do not apply.
+       * cpplex.c (save_comment): Don't store new lines in C++ comments.
 
-Thu Dec  5 14:52:24 1991  Michael Meissner  (meissner at osf.org)
+2000-10-29  Michael Hayes  <mhayes@redhat.com>
 
-       * dbxout.c (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): If
-       not defined, define as .stabs/.stabn/.stabd respectively.  Change
-       all places emitting stabs to use the macros.
-       * cp-decl2.c: Ditto.
-       * cp-gc.c: Ditto.
-       * final.c: Ditto.
-       * varasm.c: Ditto.
-       * gcc.texinfo: Document ASM_STAB[DNS]_OP macros.
+       * integrate.c (copy_insn_list): Copy the unchanging flag for calls.
 
-Thu Dec  5 12:03:40 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-10-28  Geoffrey Keating  <geoffk@cygnus.com>
 
-       * gcc.c (process_command): Don't put `.' on startfile_prefix.
-       Cast result of alloca.
+       * cpphash.c (cpp_forall_identifiers): Add context variable
+       for callback routine.
+       * cppmain.c (dump_macro): Update to match cpp_forall_identifiers
+       change.
+       (main): Call cpp_forall_identifiers with null context.
+       * cpplib.h (cpp_forall_identifiers): Update prototype.
 
-       * config/*.h (ASM_OUTPUT_ASCII): Put parens around all uses of args.
+       * cppmain.c: Make `parse_in' and `print' static.
 
-       * hp800.h, hp800.c, hp800.md, xm-hp800.h: New files.
-       * va-hp800.h: New file.
-       * gvarargs.h: Use va-hp800.h if needed.
-       * config.subr, configure: Add alternatives for hp800, hp700.
+2000-10-28  Alan Modra <alan@linuxcare.com.au>
 
-Thu Dec  5 09:35:15 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * c-decl.c (finish_function): Clear c_function_name_declared_p.
 
-       * cp-search.c (note_debug_info_needed): Do the right thing for
-       static member functions.
+2000-10-28  Richard Henderson  <rth@redhat.com>
 
-Thu Dec  5 01:25:13 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
+       * regrename.c (scan_rtx_address): Frob action, not class,
+       when trying to disable optimization.
 
-       * version.c: Now 1.96.
+2000-10-28  Mark Mitchell  <mark@codesourcery.com>
 
-Wed Dec  4 23:17:23 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-semantics.c (make_rtl_for_local_static): Don't clobber
+       DECL_ASSEMBLER_NAME.
 
-       * reorg.c (try_merge_delay_insns, fill_simple_delay_slots): Correctly
-       update NEXT_TRIAL after possibly splitting an insn.
+2000-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Wed Dec  4 17:03:11 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+       * configure.in: Determine and substitute gcc_version_full.
+       * configure: Regenerate.
+       * gccbug.in: Use it to give full version.  Don't allow
+       confidential PRs.
+
+2000-10-28  Richard Henderson  <rth@redhat.com>
+
+       * recog.c (split_all_insns): Run cleanup_subreg_operands
+       after reload.
+
+       * regrename.c (regrename_optimize): Verify that all registers of
+       a multiple register mode are available.
+       (scan_rtx_address): Accept the mode of the address; all callers
+       changed.
+
+       * cpplib.c (run_directive): Fix prototype.
+
+2000-10-28  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * reload.c (find_reloads): Distinguish "wins" so that we know whether
+       a given operand won because of a matching constraint or not; then use
+       that information to compute goal_alternative_matched properly.
+       * reload1.c (choose_reload_regs): Never set reload_override_in for an
+       optional reload.
+
+       * config/ia64/ia64.h (RTX_COSTS): A few more entries, and a more
+       accurate value for MULT.
+       * config/ia64/ia64.c (ia64_print_operand): Require probability to be
+       2% or > 98% before using static branch prediction bits.
+
+2000-10-28  Neil Booth  <neilb@earthling.net>
+
+       New macro expander.
+
+       * cpplib.c (struct answer): New.
+       (struct if_stack): Use cpp_lexer_pos rather than line and col.
+       Rename cmacro mi_cmacro.
+       (struct directive, KANDR, STDC89, EXTENSION, COND, IF_COND, INCL,
+       IN_I): New directive and flags.
+       (skip_rest_of_line, check_eol, run_directive, glue_header_name,
+       parse_answer, parse_assertion, find_answer): New functions.
+       (parse_ifdef, detect_if_not_defined, validate_else): Remove.
+       (lex_macro_node): New function to replace parse_ifdef and
+       get_define_node.
+
+       (_cpp_handle_directive): New function, combines _cpp_check_directive
+       and _cpp_check_linemarker.
+
+       (do_define, do_undef, parse_include, do_include, do_import,
+       do_include_next, read_line_number, do_line, do_ident, do_pragma,
+       do_pragma_once, do_pragma_poison, do_pragma_dependency):
+       Update for new token getting interface.
+
+       (do_ifdef, do_ifndef, do_if, do_else, do_endif, push_conditional)
+       : Update for new multiple-include optimisation technique.
+       (do_elif): Don't forget to invalidate controlling macros.
+
+       (unwind_if_stack, cpp_defined, cpp_push_buffer, cpp_pop_buffer): Update.
+       (parse_assertion, parse_answer, find_answer, _cpp_test_assertion):
+       Functions to handle assertions with the new token interface.
+       (do_assert, do_unassert): Use them.
+
+       (cpp_define, _cpp_define_builtin, cpp_undef, cpp_assert, cpp_unassert):
+       Use run_directive.
+
+       (_cpp_init_stacks): Register directive names.  Don't register special
+       nodes.
+
+       * cpperror.c (print_containing_files, _cpp_begin_message): Update to
+       new position recording regime.
+       (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
+       cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
+       cpp_pedwarn_with_file_and_line): Update for _cpp_begin_message changes.
+       (cpp_type2name): Move to cpplex.c.
+
+       * cppexp.c (parse_charconst): spec_nodes is no longer a pointer.
+       (parse_defined): Update to handle new multiple include optimisation
+       method.  Remove poisoned identifier warning.
+       (parse_assertion, TYPE_NAME): Delete.
+       (lex): Update for multiple include optimisation, removal of
+       CPP_DEFINED, to use _cpp_test_assertion for assertions and
+       cpp_token_as_text.
+       (_cpp_parse_expr): Update for MI optimisation, and to use op_as_text.
+       (op_as_text): New function, to wrap cpp_token_as_text.
+
+       * cppfiles.c (stack_include_file, _cpp_pop_file_buffer):
+       Update for MI optimisation.
+       (_cpp_execute_include): Take a token rather than 3 arguments.  Fix
+       segfault on diagnostic.
+       (_cpp_compare_file_date): Take a token rather than 3 args.
+       (cpp_read_file): Work correctly for zero-length files.
+
+       * cpphash.c (_cpp_init_macros, _cpp_cleanup_macros): Rename
+       _cpp_init_hashtable and _cpp_cleanup_hashtable.
+       (cpp_lookup): Place identifiers at front of identifier pool
+       for _cpp_lookup_with_hash.
+       (_cpp_lookup_with_hash): Require identifiers to be at the front of
+       the identifier pool.  Commit the memory if not already in the
+       hash table.
+
+       * cppinit.c (cpp_reader_init): Move cpp_init_completed test to top.
+       Initialize various members of cpp_reader, memory pools, and the
+       special nodes.
+       (cpp_printer_init): Delete.
+       (cpp_cleanup): Update.
+       (struct builtin, builtin_array, initialize_builtins): Update for new
+       hashnode definition and builtin handling.
+       (cpp_start_read, cpp_finish): Don't take or initialize a
+       printer.  Update.
+
+       * cpplib.h (cpp_printer, cpp_toklist, CPP_DEFINED, BOL,
+       PASTED, VAR_ARGS, BEG_OF_FILE, IN_DIRECTIVE, KNOWN_DIRECTIVE,
+       T_VOID, T_SPECLINE, T_DATE, T_FILE, T_BASE_FILE, T_INCLUDE_LEVEL,
+       T_TIME, T_STDC, T_OPERATOR, T_POISON, T_MACRO, T_ASSERTION): Delete.
+       (struct cpp_pool, struct cpp_macro, struct cpp_lexer_pos,
+       struct cpp_lookahead, CPP_DHASH, enum mi_state, enum mi_ind,
+       NO_EXPAND, VARARGS_FIRST, struct cpp_token_with_pos,
+       struct toklist, struct cpp_context, struct specnodes,
+       TOKEN_LOOKAHEAD, TOKEN_BUFFSIZE, NODE_OPERATOR, NODE_POISONED,
+       NODE_BUILTIN, NODE_DIAGNOSTIC, NT_VOID, NT_MACRO, NT_ASSERTION,
+       enum builtin_type, cpp_can_paste): New.
+       (struct cpp_token): Delete line and col members.
+       (struct cpp_buffer): New member output_lineno.
+       (struct lexer_state): Delete indented, in_lex_line, seen_dot.
+       Add va_args_ok, poisoned_ok, prevent_expansion, parsing_args.
+       (struct cpp_reader): New members lexer_pos, macro_pos, directive_pos,
+       ident_pool, temp_string_pool, macro_pool, argument_pool, string_pool,
+       base_context, context, directive, mi_state, mi_if_not_defined,
+       mi_lexed, mi_cmacro, mi_ind_cmacro, la_read, la_write, la_unused,
+       mlstring_pos, macro_buffer, macro_buffer_len.
+       Delete members mls_line, mls_column, token_list, potential_control_macro,
+       temp_tokens, temp_cap, temp_alloced, temp_used, first_directive_token,
+       context_cap, cur_context, no_expand_level, paste_level, contexts, args,
+       save_parameter_spellings, need_newline, .
+       Change type of date, time and spec_nodes members.
+       Change prototypes for include and ident callbacks.
+       (struct cpp_hashnode): Change type of name.  Remove union members
+       expansion and code.  Add members macro, operator and builtin.
+
+       (cpp_token_len, cpp_token_as_text, cpp_spell_token, cpp_start_read,
+       cpp_finish, cpp_avoid_paste, cpp_get_token, cpp_get_line,
+       cpp_get_output_line, cpp_macro_definition, cpp_start_lookahead,
+       cpp_stop_lookahead): New prototypes.
+       (cpp_printer_init, cpp_dump_definition): Delete prototypes.
+
+       (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, ufputs):
+       Move from cpphash.h.
+
+       * cpphash.h (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr,
+       ufputs): Move to cpplib.h.
+       (enum spell_type, struct token_spelling, _cpp_token_spellings, TOKEN_SPELL,
+       TOKEN_NAME, struct answer, FREE_ANSWER, KANDR, STDC89, EXTENSION,
+       COND, EXPAND, INCL, COMMENTS, IN_I, struct directive, directive_handler,
+       struct spec_nodes, _cpp_digraph_spellings, _cpp_free_temp_tokens,
+       _cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_init_toklist,
+       _cpp_clear_toklist, _cpp_expand_token_space, _cpp_expand_name_space,
+       _cpp_equiv_tokens, _cpp_equiv_toklists, _cpp_process_directive,
+       _cpp_run_directive, _cpp_get_line, _cpp_get_raw_token, _cpp_glue_header_name,
+       _cpp_can_paste, _cpp_check_directive, _cpp_check_linemarker,
+       _cpp_parse_assertion, _cpp_find_answer): Delete.
+       (VALID_SIGN, ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, POOL_SIZE,
+       POOL_USED, POOL_COMMIT, struct cpp_chunk, _cpp_lex_token, _cpp_init_pool,
+       _cpp_free_pool, _cpp_pool_reserve, _cpp_pool_alloc, _cpp_next_chunk,
+       _cpp_lock_pool, _cpp_unlock_pool, _cpp_test_assertion,
+       _cpp_handle_directive, DSC): New.
+       (struct include_file): New member defined.
+
+       (DO_NOT_REREAD, _cpp_begin_message, _cpp_execute_include,
+       _cpp_compare_file_date): Update.
+       (_cpp_pop_context, _cpp_get_token, _cpp_free_lookaheads, _cpp_push_token): New.
+       (_cpp_init_macros, _cpp_cleanup_macros): Rename to _cpp_init_hashtable,
+       _cpp_cleanup_hashtable.
+
+       * Makefile.in: Remove cppoutput.c.
+
+       * cppoutput.c: Delete
+
+       * fixheader.c (read_scan_file): Update for new cpp_get_token
+       prototype.
+       (recognized_function): New argument LINE.
+
+       * scan-decls.c (skip_to_closing_brace, scan_decls): Update for
+       new cpp_get_token prototype.
+
+       * scan.h (recognized_function): Update prototype.
+
+       * po/POTFILES.in: Remove cppoutput.c.
+
+2000-10-27  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-typeck.c (check_init_type_bitfields): Remove.
+       (constructor_incremental): Likewise.
+       (struct constructor_stack): Remove incremental bit.
+       (struct initializer_stack): Likewise.
+       (start_init): Don't play with constructor_incremental.
+       (finish_init): Likewise.
+       (really_start_incremental_init): Likewise.
+       (push_init_level): Likewise.
+       (pop_init_level): Likewise.
+       (output_init_level): Likewise.
+       (output_pending_init_elements): Likewise.
+
+2000-10-21  Mike Coleman  <mcoleman2@kc.rr.com>
+
+       * c-pragma.c (handle_pragma_pack): Initialize align to -1.
+       Improve error messages.  Correct parsing of
+       #pragma pack(pop [,id]).  Do not check the user-supplied
+       alignment if we're popping.
+
+       * gcc.dg/pack-test-1.c: New test case.
+       * gcc.dg/pack-test-2.c: New test case.
+       * gcc.dg/pack-test-1.h: New file.
+
+2000-10-27  Neil Booth  <neilb@earthling.net>
+
+       * cpp.texi: Update.
+
+2000-10-27  Kelley Cook <kelley.cook@home.com>
+
+       * invoke.texi: Document -mintel-syntax
+
+2000-10-27  Richard Henderson  <rth@redhat.com>
+
+       * invoke.texi: Document -frename-registers.  Add it to -O3.
+       * toplev.c (rest_of_compilation): Run regrename before ifcvt2.
+       (enum dump_file_index, dump_file): Update order.
+       (main): Set flag_rename_registers at -O3.
+
+2000-10-27  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.h (enum reg_class): Add PV_REG.
+       (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
+       (REG_CLASS_FROM_LETTER): Assign it to 'c'.
+       * config/alpha/alpha.md (call_osf_1): Use it.
+       (call_value_osf_1): Likewise.
+
+       * config/ia64/ia64.c: Revert 10-23 patch.
+       (ia64_hard_regno_rename_ok): New.
+       * config/ia64/ia64-protos.h: Declare it.
+       * config/ia64/ia64.h (HARD_REGNO_RENAME_OK): Use it.
 
-       * gplus.gperf: Add throw and template keywords.  Update private,
-       protected, and public definitions.
+2000-10-27  Bernd Schmidt  <bernds@redhat.co.uk>
+           Richard Henderson  <rth@redhat.com>
 
-       * print-tree.c (print_node): Add missing indentation argument to
-       print_node call for values field.
+       * regrename.c: Rewrite to handle multi-register modes and
+       cond_exec instructions.
+       * Makefile.in (regrename.o): Update dependencies.
+       * recog.h (struct operand_alternative): Add is_address.
+       * recog.c (preprocess_constraints) [case 'p']: Set it.
 
-Wed Dec  4 18:39:33 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-10-27  Zack Weinberg  <zack@wolery.stanford.edu>
 
-       * objc-actions.c (build_objc_method_call): Define as static.
+       * configure.in: If not NO_MINUS_C_MINUS_O, substitute
+       OUTPUT_OPTION with '-o $@'.  Make zlibdir, zlibinc relative to
+       top level.  Kill oldstyle_subdirs.  Do not include
+       $srcdir/$s/Makefile.in in all_lang_makefiles, but do include
+       $outputs.  Do not run configure.lang from config.status.
+       Rearrange warning-flag logic to correspond to what the
+       makefile wants.  Put special vax stage1 options in
+       @stage1_flags@ not @stage1_warn_cflags@.  Don't do anything
+       with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
+       (--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
+       switch is given, nothing otherwise.
+       * configure.lang: Delete.
 
-Wed Dec  4 17:04:49 1991  Michael Meissner  (meissner at osf.org)
+       * Makefile.in: Expunge all traces of extra_c_objs,
+       extra_cxx_objs, and extra_cpp_objs.  Set MAYBE_CPPLIB from
+       @maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS.  Set
+       warning options via a three level scheme so that -pedantic and
+       -Wtraditional are not used for non-C front ends: LOOSE_WARN,
+       STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
+       WARN_CFLAGS.  Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
+       Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
+       Set OUTPUT_OPTION, ZLIB, ZLIBINC.  Do not set P,
+       LANG_FLAGS_TO_PASS.  Add OUTPUT_OPTION to all object-file
+       generation rules.  Wrap all rules that change the current
+       directory in parentheses; pmake doesn't spawn a new shell for
+       each command.  Expunge all references to $(P).  When one
+       command depends on another and they're run all at once, use &&
+       to separate them, not ;.  Add libgcc_s$(SHLIB_EXT) to files
+       deleted on make clean.  Force OUTPUT_OPTION='-o $@' in stage2
+       and beyond.
 
-       * mips-tfile.c (add_varray_page, alloc_type enum): Keep track of how
-       many pages we allocated for varrays as well as the small stuff.
-       (stabs_filename): New static to hold the special filename used for
-       passing stabs through.
-       (parse_stabs_common, parse_stabs, parse_stabn): New functions to
-       smuggle stabs through to the debugger.  Stabs must be commented out,
-       just like the other debug directives.
-       (add_local_symbol): Check hash_ptr to see if it's null before
-       storing into it, in case no name is passed.
-       (add_file): Add support for the special stabs file.
-       (copy_object): Before copying the external symbols, figure out the
-       file indexes of each of the files, and then explicitly remap the
-       original file indexes of the external symbol to be the new file
-       index.  If this isn't done, then bad file numbers can get generated
-       if a filename is repeated.
-       (various): Change the name of small_alloc to alloc_counts, since we
-       now track large memory allocations as well.
+       * objc/Make-lang.in: Wrap all rules that change the current
+       directory in parentheses.  Expunge all references to $(P).
+       When one command depends on another and they're run all at
+       once, use && to separate them, not ;.  Add OUTPUT_OPTION to
+       all object-file generation rules.  Delete obsolete variables.
+       * objc/Makefile.in: Delete.
 
-       * mips-tdump.c (toplevel): Delete unnecessary include file stamp.h.
+2000-10-27  Jakub Jelinek  <jakub@redhat.com>
 
-Wed Dec  4 11:05:04 1991  Michael Collison  (collison at osf.org)
+       * calls.c (expand_call): If sibcall_failure is set during pass 1,
+       clear tail_call_insns as well.
 
-       * encore.h (ASM_OUTPUT_LABELREF_AS_INT): add definition
-       * ns32k.h: ditto
+2000-10-27  Nick Clifton  <nickc@redhat.com>
 
-       * ns32k.h (ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL): If COLLECT is
-       defined provide alternate definitions
+       * config/arm/arm-protos.h (arm_function_ok_for_sibcall): Add
+       prototype.
 
-       * encrose.h (ASM_OUTPUT_INT): If COLLECT is defined provide
-       alternate definition
+2000-10-26  Richard Henderson  <rth@redhat.com>
 
-Wed Dec  4 01:39:07 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+       * calls.c (expand_call): Supress sibcall if we have a
+       BLKmode return in registers.
 
-       * cp-pt.c (end_template_decl): For method templates, pop the class
-       binding level before the others rather than after.
+2000-10-26  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * cp-class.c: Added DEBUG_CP_BINDING_LEVELS code.  Include cp-decl.h
-       if that symbol is defined, but don't list it in Makefile.in since
-       that's not the normal mode.
-       (pushclass): Print messages and frob indentation level.
-       (popclass): Likewise.
+       * ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants
+       into memory.
 
-       * cp-spew.c (yylex): If identifier_type says PTYPENAME, and
-       following token is "<", force looking_for_typename to be
-       non-negative.
+2000-10-26  Nathan Sidwell  <nathan@codesourcery.com>
 
-       * cp-pt.c (mangle_class_name_for_template): Drop extra spaces
-       between last parm and closing ">".  Print a message before aborting
-       if a parm type isn't handled.
+       * tree.c (make_node, case 't'): Set alignment to that of
+       char_type_node.
+       * expr.c (move_by_pieces_ninsns): Abort if some length remains.
 
-       * cp-decl.c (maybe_globalize_type): Don't do it if the identifier
-       that names the type doesn't currently have a type value.
+2000-10-25  Mark Mitchell  <mark@codesourcery.com>
 
-Wed Dec  4 01:06:28 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * Makefile.in (site.exp): Define HAVE_LIBSTDCXX_V3.
+       * configure.in (enable-libstdcxx-v3): Arrange to have
+       HAVE_LIBSTDCXX_V3 substituted into the output files.
 
-       * cp-decl.c (finish_enum): Call `rest_of_type_compilation' for
-       ENUMTYPE.
-       * cp-class.c (finish_struct): Ditto.
-       * cp-decl.c (pushtag): Set TYPE_STUB_DECL.
-       * cp-search.c (note_debug_info_needed): Call
-       `rest_of_type_compilation' if we notice we need debug info for TYPE.
-       * dbxout.c (dbxout_init): Fix typo in comment.
+2000-10-25  Richard Henderson  <rth@redhat.com>
 
-       * cp-parse.y (DOT_STAR): New token.
-       (expr_no_commas): Handle DOT_STAR expressions.
-       * cp-lex.c (real_yylex): Recognize DOT_STAR.  Also, rearrange
-       scanner to make it more efficient.
+       * recog.c (constrain_operands): Initialize which_alternative
+       before no alternatives early exit.
 
-       * cp-decl.c (maybe_build_cleanup): When building cleanups, pass
-       TYPE_MAIN_VARIANT to `build_delete'.
+       * cse.c (find_comparison_args): Check that we can reverse a
+       comparison if needed before accepting the substitution.
 
-Tue Dec  3 22:52:33 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * reload.c (find_reloads_address_part): Kill rtx obstack hackery.
 
-       * flow.c (mark_set_1): Make a REG_UNUSED note not a REG_DEAD note
-       for the part of multi-word hard registers not needed.
+       * simplify-rtx.c (simplify_relational_operation): Sign extend
+       low words before sign extending to high words.
 
-Tue Dec  3 22:34:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-10-25  Nick Clifton  <nickc@redhat.com>
 
-       * configure: Support --objdir.
+       * config/mcore/mcore.c: Include config.h before system.h.
 
-       * objc-parse.y: Get rid of many static decls.
-       Reorder all token definitions to match c-parse.y.
-       (recognize_objc_keyword): New function.
-       * c-lex.c (token_buffer): No longer static.
-       (yylex): For @, call recognize_objc_keyword.  Don't use keyword table.
-       * c-lang.c (recognize_objc_keyword): Dummy definition.
+2000-10-25  Ray Essick  <essick@ddna.labs.mot.com>
 
-       * objc-actions.c (build_objc_method_call) [!NEXT_OBJC_RUNTIME]:
-       Pass selector as arg to the method.
-       Always cast the method to a function type.
+       * config/mcore/mcore.md (return): Force function epilogue to
+       always be generated to work around epilogue suppression bug in
+       M*Core backend.
 
-       * xm-sparc.h (alloca): If using Sun CC, include alloca.h.
-       If using GCC, define as __builtin_alloca the way other machines do.
+2000-10-25  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * cccp.c (print_containing_files): Print the nominal file names.
+       * c-decl.c (grokdeclarator): Move warning for qualified void
+       return types with -pedantic to when the function type is
+       constructed.  At -W, warn in general for qualified function return
+       types, except for volatile void.
+       * invoke.texi: Document this new warning at -W.
 
-Tue Dec  3 16:54:04 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-10-25  Neil Booth  <neilb@earthling.net>
 
-       * jump.c (jump_optimize): If branches are expensive, convert jumps
-       around increments or decrements by one into an increment by the
-       conditional expression.
+       * cpp.texi: Update with implementation-defined behavior and
+       internal limits.
 
-       * combine.c (simplify_comparison): Don't remove a SUBREG unless
-       it doesn't affect either operand.
+2000-10-25  Jakub Jelinek  <jakub@redhat.com>
 
-       * cse.c (find_comparison_args): Rework so that we can correctly
-       fold comparisons on machines that set CC0 to the result of a 
-       condition test, not just a COMPARE.
-       (cse_insn): Don't set THIS_INSN_CC0 to a constant if we don't know
-       its mode.
+       * stor-layout.c (layout_type): If TYPE_ALIAS_SET was already set on the
+       incomplete type force it into alias set 0.
 
-Tue Dec  3 12:01:12 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+Wed Oct 25 01:02:44 EDT 2000  John Wehle  (john@feith.com)
 
-       * mips.md: Use AND not IOR in define_function_unit definitions.
-       Correct setting of MODE attribute in various insn patterns.
+       * alias.c: Include basic-block.h.
+       (loop_p): New function.
+       (mark_constant_function): Use it.
+       * Makefile.in (alias.o): Update dependencies.
 
-Tue Dec  3 08:31:18 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-10-24  Aldy Hernandez  <aldyh@redhat.com>
 
-       * cp-spew.c (scan_tokens): Delete Dec 2 change.
-       (yylex): Instead, copy TMP_TOKEN.YYLVAL.TTYPE if it was allocated on
-       the wrong obstack.
-       (probe_obstack): New function to support the above change.
+       * config/mn10300/mn10300.c (secondary_reload_class): Treat pseudos
+       like memory.
 
-       * cp-tree.h (CLASSTYPE_DEBUG_REQUESTED): New flag.
-       (CLASSTYPE_ASM_WRITTEN): Deleted.
-       cp-class.c (finish_struct): Now almost always assume that classes
-       with methods are to ignored for debugging purposes.
-       cp-search.c (dfs_debug_{mark,unmarkedp}): Rewritten to handle new
-       algorithm for minimizing debug output.
+2000-10-24  Jim Wilson  <wilson@cygnus.com>
 
-       * cp-decl2.c (constructor_name): Handle case when THING is a
-       UNION_TYPE.
+       * expmed.c (store_bit_field): Move integer pun code down after
+       code that calls emit_move_insn for entire register move.
+       * stor-layout.c (compute_record_mode): Revert Mar 25, Aug 18, and
+       Oct 20 changes.  Only store mode in TYPE_MODE if RECORD_TYPE.
 
-Tue Dec  3 06:35:38 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-10-24  Richard Henderson  <rth@cygnus.com>
 
-       * jump.c (duplicate_look_exit_test): If REG_MAP is non-zero, call
-       replace_regs on the REG_NOTES of COPY.
+       * rtlanal.c (rtx_unstable_p, rtx_varies_p): Don't consider pic
+       register stable if PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
 
-       * cp-spew.c (scan_tokens): Don't read past '='.
+2000-10-24  Aldy Hernandez  <aldyh@redhat.com>
 
-       * cp-call.c (compute_conversion_costs): For now, treat
-       CONTRAVARIANCE_HARSHNESS as EVIL_HARSNESS, since we cannot tell the
-       difference between when we should accept it (pointers to the right
-       sort of methods) and when we shouldn't (base* to derived*
-       conversions).
+       * gcse.c (cprop_insn): do not propagate constants into jump_insn
+       for machines with CC0 more than once.
 
-Mon Dec  2 18:53:42 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+2000-10-24  Richard Henderson <rth@cygnus.com>, Aldy <aldyh@cygnus.com>
 
-       * cse.c (cse_around_loop): Fix typo in comment.
-       * dbxout.c (dbxout_type_fields): Likewise.
+       * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat
+       pseudos just like memory.
 
-       * sched.c (sched_analyze_1): Pass the second and third args of a
-       ZERO_EXTRACT or SIGN_EXTRACT in the SET_DEST to sched_analyze_2.
+2000-10-24  Alexandre Oliva  <aoliva@redhat.com>
 
-       * combine.c (make_compound_operation): Change (lshiftrt (ashift ...))
-       to a ZERO_EXTRACT, not a SIGN_EXTRACT.
+       * combine.c (distribute_notes): Discard REG_LIBCALL and REG_RETVAL
+       when deleting libcall sequence collapsed to a single instruction.
 
-Mon Dec  2 15:09:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-10-24  Andrew Haley  <aph@cygnus.co.uk>
 
-       * jump.c (jump_optimize): New arg AFTER_REGSCAN.
-       If not set, don't use duplicate_loop_exit_test.
-       * toplev.c (compile_file): Pass new arg to jump_optimize.
+       * expr.c (do_store_flag): Don't crash if either side of a
+       comparison is error_mark_node.
 
-       * next.h (SELECT_SECTION): Test TREE_CONSTANT as well as TREE_READONLY.
+2000-10-24  Jakub Jelinek  <jakub@redhat.com>
 
-       * xm-i86v[34].h: Renamed from xm-i860v[34].h.
-       * configure: Corresponding changes.
+       * sibcall.c (purge_mem_unchanging_flag): New function.
+       (optimize_sibling_and_tail_recursive_calls): Call it.
 
-       * m68k.c (output_function_epilogue): Put %R on all regs in asm_fprintf.
+2000-10-24  Philipp Thomas  <pthomas@suse.de>
 
-       * t-decstatn (ld): Just copy collect2.
-       (collect): Target deleted.
-       (EXTRA_PASSES): Deleted collect.
-       (mips-tfile, mips-tdump): Depend on LIBDEPS.
-       * t-mips (mips-tfile, mips-tdump): Depend on LIBDEPS.
-       * collect2.c (main): Run /bin/ld.
-       Use fatal_perror where appropriate.
+       * Makefile.in (check-po): New target for doing checks in the po
+       subdir if all languages configured.
+       (CHECK_TARGETS): Add @CHECK_PO@, replaced with check-po via
+       configure if NLS is enabled.
+       * configure.in: If NLS is enabled, substitute CHECK_PO by check-po,
+       otherwise leave empty.
+       * configure: Regenerate.
 
-       * objc-actions.c (build_message_expr): Fix typo.
+2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
 
-       * configure: Add missing fi to finish last change.
+       * i386.c (print_operand): Handle new 'A' formatting code.
+       387 opcodes need suffixes even with -mintel-syntax.
+       Check for explicit size override (codes 'b', 'w' and 'k').
+       (print_operand_address): Check if register prefix is needed when
+       emitting `ds' segment override.
+       * i386.h: Add comment about new 'A' formatting code.
+       * i386.md (jump and call patterns): Emit absolute references using %A.
 
-       * cse.c (simplify_binary_operation): Restore missing break in case DIV.
+2000-10-23  Richard Henderson  <rth@cygnus.com>
 
-       * sdbout.c (sdbout_init): Explicitly do nothing.
-       (sdbout_typedefs): Function deleted.
+       * config/ia64/ia64.c (ia64_expand_prologue): Mark extra
+       output registers as fixed.
+       (ia64_function_epilogue): Undo output fixation.
 
-Mon Dec  2 12:504:35 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
+2000-10-23  Richard Henderson  <rth@cygnus.com>
 
-       * config-gcc.com: Finish changeover from tm-*.h to *.h.
+       * config/alpha/alpha.md: Add names for all unnamed insns; use
+       define_insn_and_split in some obvious places.
+       (lda): Remove.
+       (zero_extendqihi2): Use an expander w/ nonimmediate_operand for BWX.
+       (zero_extendqisi2, zero_extendqidi2): Likewise.
+       (zero_extendhisi2, zero_extendhidi2): Likewise.
+       (abs splitters): Fix match_scratch operand number.
+       (bcc_reverse): Swap pc & label instead of non-canonical compare.
 
-Sun Dec  1 05:18:32 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-10-23  Jim Wilson  <wilson@cygnus.com>
 
-       * cp-search.c (lookup_{field,fnfields}): If PROTECT is 0, don't
-       memoize the entry we find.
+       * ia64.c (ia64_print_operand, case 'r'): Correct comment.  Handle
+       CONST_INT.
+       * ia64.md (cmpsi_adjusted): Use %r3.
+       (cmpdi_adjusted): Likewise.
 
-       * cp-decl.c (grokvardecl): Call `build_lang_field_decl' instead of
-       `build_decl' if we retroactively allocate a VAR_DECL.
+2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
 
-Sun Dec  1 00:10:18 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/i386/att.h (ASM_FILE_START): Define.
 
-       * configure: Convert option syntax from + to --.
-       Support --target.
+2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
 
-       * i386v4.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_GLOBAL): Deleted.
-       (ASM_FILE_START): Deleted.
-       (STARTFILE_SPEC, LIB_SPEC, STANDARD_STARTFILE_PREFIX): Deleted.
-       (STDC_VALUE): Deleted.
+       * config/i386/linux.h (ASM_FILE_START): Define.
 
-       * real.h (REAL_VALUE_TRUNCATE): Check for same size as SFmode.
+Wed Oct 18 11:16:40 2000  Donald Lindsay  <dlindsay@cygnus.com>
 
-       * config/*.h: Renamed from tm-*.h.  #includes and comments changed.
-       * configure: Changed accordingly.
-       * t-*: tm-*.h file names changed.
+       * gcc/configure.in: m68k-coff tm_file should not have libgloss.h,
+       since this (only) drags in a crt0.o reference that the .ld files
+       also introduce.
 
-       * gnulib2.c (__enable_execute_stack): Renamed function.
-       * convex.h (INITIALIZE_TRAMPOLINE): Use new name.
+2000-10-23  Geoff Keating  <geoffk@cygnus.com>
 
-Sun Dec  1 08:57:45 1991  Michael Meissner  (meissner at osf.org)
+       * reload1.c (reload_reg_reaches_end_p): A RELOAD_OTHER can
+       overwrite the value in a RELOAD_FOR_INPUT and other kinds of
+       reloads just like an RELOAD_FOR_OUTPUT would.
 
-       * cccp.c (main): Add cast in front of alloca for non GCC compilers.
+       * local-alloc.c (update_equiv_regs): Add an abort().  When
+       deleting or moving insns, update reg_equiv[regno].init_insns.
 
-Sat Nov 30 22:33:24 1991  Chris Smith  (csmith@convex.com)
+2000-10-23  Mark Mitchell  <mark@codesourcery.com>
 
-       * config.subr: Recognize -c3*.
-       New alternatives for convex-c3*.
-       * configure: Alternatives for convex rewritten.
+       * c-tree.texi: Improve documentation for IF_STMTs and related
+       conditional statements.
 
-       * gnulib2.c (__execute_enable_stack): New function for Convex only.
+2000-10-22  Mark Mitchell  <mark@codesourcery.com>
 
-       * gcc.c (do_spec_1): Use \ as quoting char.
+       * expr.c (do_preexpand_calls): Remove.
+       (same_from_p): Don't use CALL_EXPR_RTL.
+       (expand_expr): Don't call preexpand_calls, or use CALL_EXPR_RTL.
+       (preexpand_calls): Remove.
+       * tree.c (first_rtl_op): Remove CALL_EXPR case.
+       (unsave_expr_1): Likewise.
+       * tree.def (CALL_EXPR): Give it only two slots.
+       * tree.h (CALL_EXPR_RTL): Remove.
 
-       * convex.h (TARGET_SWITCHES): Add new machine types c32, c34, c38.
-       Add flag TARGET_INDIRECTS, true for c1 and c2, false for c3.
-       * convex.h (GO_IF_LEGITIMATE_ADDRESS): Avoid indirect
-       addressing if ! TARGET_INDIRECTS.
-       
-       * convex.h: (BITS_PER_WORD, UNITS_PER_WORD, WORDS_BIG_ENDIAN):
-       It now works to describe machine correctly.
+2000-10-21  Chandrakala Chavva   <cchavva@redhat.com>
 
-       * convex.h (SIZE_TYPE, PTRDIFF_TYPE): Make them ints rather
-       than longs to match usage in /usr/include.
+       * libgcc-std.ver (__addvsi3, __addvdi3,  __subvsi3, __subvdi3,
+       __mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
+       New functions.
 
-       * convex.h (enum reg_class): Add classes SP_REGS, the stack
-       pointer, and INDEX_REGS, the remaining A_REGS.
-       (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust
-       for new classes.
-       (INDEX_REG_CLASS, BASE_REG_CLASS): Use INDEX_REGS so gcc will
-       not index off the stack pointer (register 0).
+2000-10-22  Alexandre Oliva  <aoliva@redhat.com>
 
-       * convex.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
-       INITIALIZE_TRAMPOLINE): Define.
+       * calls.c (combine_pending_stack_adjustment_and_call): Don't
+       adjust stack when unadjusted_alignment ends up as zero.
 
-       * convex.h (INITIAL_FRAME_POINTER_OFFSET): Define.
+2000-10-22  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * convex.h (RTX_COSTS): Specify costs to prevent multiply
-       from being synthesized from shifts (which aren't faster).
+       * fixinc/genfixes: Remove EGCS reference.
+       * install.texi: Remove EGCS reference.
+       * INSTALL: Regenerate.
 
-       * convex.h (NOTICE_UPDATE_CC): No need to do CC_STATUS_INIT,
-       cc is never looked at.
+2000-10-22  Mark Mitchell  <mark@codesourcery.com>
 
-       * convex.h (VTABLE_USES_MASK, VINDEX_MASK, SET_DECL_VINDEX):
-       define so g++ works.
+       * tree.h (TYPE_IS_SIZETYPE): Add more documentation.
 
-       * convex.h: If COLLECT is defined, define output macros for
-       collect to call.
+2000-10-21  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * convex*.h: If !traditional, define _LONGLONG and 64-bit
-       typedefs to prevent types.h from murdering ansi compilations.
+       * diagnostic.c: Remove EGCS reference in comment.
 
-       * convex.md (movsi): split into define_expand and two
-       anonymous define_insns, one that uses indirection and
-       one that doesn't.  TARGET_INDIRECTS selects which.
+Sat Oct 21 08:24:25 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * convex.c (output_call):  New routine.  Scan forward from call
-       to decide if AP is live, omit AP reload if not.
-       * convex.md (call, call_value): use output_call.
+       * loop.c (strength_reduce): Fix error in last change.
 
-       * convex.md (bit manipulation peepholes): remove, now done in
-       combine.
+2000-10-20  David Edelsohn  <edelsohn@gnu.org>
 
-       * convex.md (indirect_jump): Define.
+       * Makefile.in (SHLIB_NM_FLAGS): New.
+       (libgcc.mk): Pass it.
+       * mklibgcc.in (libgcc.map): Use it.
 
-       * convex.c (const_double_{high,low}_int): Just return the
-       appropriate word, remove slow float computations.
+       * rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_LIBS,
+       SHLIB_MKMAP, SHLIB_MAPFILES, SHLIB_NM_FLAGS): New.
 
-       * math-convex: New file to use builtin instructions.
+2000-10-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * x-convex: Use cc -pcc to bootstrap gcc.
+       * mips.h (REG_CLASS_FROM_LETTER): Cast array arg to unsigned char.
 
-Sat Nov 30 10:21:26 1991  Ron Guilmette (rfg at ncd.com)
+       * sparc.c (load_pic_register): Delete unused varaible.
 
-       * tm-i386v4.h (DBX_REGISTER_NUMBER): Different renumbering.
+       * libgcc2.c (__addvsi3): Delete unused variable.
 
-       * tm-svr4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Changed 
-       so that the progbits parameter actually appears in the definitions.
+       * libgcc2.h (__absvsi2, __absvdi2, __addvsi3, __addvdi3,
+       __subvsi3, __subvdi3, __mulvsi3, __mulvdi3, __negvsi2,
+       __negvdi2): Prototype.
 
-       * tm-svr4.h (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION):  Adapted
-       for change in CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP.
+       * ssa.c (apply_delayed_renames): Avoid undefined operation.
 
-Sat Nov 30 07:05:06 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * toplev.c (display_target_options): Make static to match
+       prototype.  Delete empty declaration.
 
-       * cp-spew.c (follows_{identifier,typename}): New arrays.
-       * cp-spew.c (init_spew): Initialize new arrays.
-       * cp-decl.c (lookup_name): takes new parameter PREFER_TYPE.
-       All callers changed.
-       * cp-spew.c (yylex): Set LOOKING_FOR_TYPENAME every time we see an
-       AGGR or ENUM.
+2000-10-20  Tom Tromey  <tromey@cygnus.com>
 
-       * cp-lex.c (real_yylex): When composing EXTERN_LANG_STRING, call
-       `real_yylex', not `yylex'.  Changed other places that depended on
-       calling `real_yylex' for their input.
+       * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
+       * gcc.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
 
-       * cp-spew.c (scan_tokens): Never read past '{' or ':'.  Fill the
-       token buffer with EMPTY tokens in that case.
-       (yylex): Handle EMPTY tokens.
+Fri Oct 20 17:05:49 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * cp-parse.y (structsp): Avoid using `yyungetc' to push a ';' back
-       on the input stream.
-       (START_DECLARATOR): New token.
-       (absdcl): Handle START_DECLARATOR.
-       * cp-spew.c (consume_token): Renamed from `discard_token'.
-       (struct token): Changed structure to make it smaller.
-       (spew_init): Renamed from init_spew.  Now called from init_lex.
-       (scan_tokens): Renamed from slurp_next_token.
-       Many functions reformatted to match GCC indentation style.
+       * expr.c (expand_expr, case SAVE_EXPR): Set RTX_UNCHANGING_P on
+       returned MEM.
+       (expand_expr_unaligned, case ARRAY_REF): Check that index is
+       a constant before comparing it; use tree_low_cst.
+       * tree.c (save_expr): Set TREE_READONLY.
+       (substitute_expr): Return inside of NON_LVALUE_EXPR.
+       (build, build1): Set TREE_READONLY if all operands are.
+       (build_index_type): If upper bound is a negative number, lower
+       bound is zero and sizetype is unsigned, use upper bound of one and
+       lower of zero.
 
-       * cp-lex.c (arbitrate_lookup): Don't guess in favor of type if
-       yychar is ')'.
+2000-10-20  David Edelsohn  <edelsohn@gnu.org>
 
-       * cp-decl.c (lookup_name): Fixed so that all binding levels use
-       `looking_for_typename' consistently.
-       * cp-type2.c (build_functional_cast): Handle new case that we are
-       called in a context where a method is appropriate (but we parsed it
-       as a ctor call).
+       * gcc.c (process_command, main): Use "because" instead of
+       "since" in error messages.
 
-       * cp-call.c (CONST_HARSHNESS): Change bit that we test.
-       (convert_harshness,compute_conversion_costs): Call CONST_HARSHNESS
-       consisently when needed.
+Fri Oct 20 13:33:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * cp-init.c (decl_constant_value): Keep enabled even when
-       CURRENT_FUNCTION_DECL is null.
+       * stor-layout.c (compute_record_mode): Use tree_low_cst.
+       Don't use mode of field for record unless sizes are the same.
+       (layout_type, case ARRAY_TYPE): Remove special bounds handling
+       previously added for Ada; also change to using host_integerp
+       and tree_low_cst.
 
-Sat Nov 30 01:23:38 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * loop.c (strength_reduce): Show when new register made for
+       giv is known to be a pointer and its aligment if so and known.
+       (loop_dump_aux): Show VERBOSE parameter unused.
 
-       * sdbout.c (sdbout_init): Just call sdbout_one_type on each type.
+       * gcse.c (set_hash_table_size): Now unsigned.
+       * sdbout.c (template_name_p): Add "const" to avoid warnings.
+       (sdbout_record_type_name, plain_type_1, sdbout_symbol): Likewise.
+       (sdbout_one_type, sdbout_parms, sdbout_reg_parms): Likewise.
+       (sdbout_end_epilogue): Remove variable NAME.
+       * system.h (getopt): Add default definition.
+       * config/alpha/alpha.c (print_operand): Don't continue processing
+       after issuing error.
+       (summarize_insn): Avoid use of UL in constant.
 
-       * tm-att386.h (ASM_OUTPUT_ASCII): Output a space after ASM_BYTE_OP.
-       * tm-sun386.h: Likewise.
-       * tm-i386.h (ASM_OUTPUT_BYTE, ASM_OUTPUT_CHAR): Likewise.
-       (ASM_OUTPUT_SHORT, ASM_OUTPUT_LONG, ASM_OUTPUT_DOUBLE): Likewise.
-       (ASM_OUTPUT_FLOAT, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
-       * tm-att386.h (ASM_BYTE_OP, ASM_SHORT, ASM_LONG, ASM_DOUBLE):
-       Don't end with space.
-       * tm-sun386.h, tm-bsd386.h: Likewise.
+       * function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst.
 
-       * c-lex.h: Renamed from c-parse.h.  All #includes changed.
-       * c-parse.c, c-parse.h: Renamed from c-parse.tab.*.
-       * Makefile.in: Changed accordingly.
-       (C_OJBS, realclean, TAGS): These changed too.
+       * fold-const.c (force_fit_type): Unsigned values can overflow
+       if they are sizetype.
+       (int_const_binop): Don't use cache if overflows.
 
-       * tm-svr4.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS):
-       Undef before defining.
+2000-10-20  Richard Henderson  <rth@cygnus.com>
 
-       * tm-i386v4.h: Include tm-svr4.h.
-       (CPP_PREDEFINES): Define SVR4, and several assertions.
-       (LIB_SPEC): Delete -Qy.  LINK_SPEC handles this.
-       (DBX_REGISTER_NUMBER): New macro.
+       * function.c (locate_and_pad_parm): Zero alignment_pad.
 
-Fri Nov 29 22:16:06 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * regrename.c (rr_replace_reg): Rewrite to use recog_data to
+       perform substitutions, and apply_change_group to see if it worked.
 
-       * rs6000.md: Cannot use "muls" and "muli" to do widening multiply
-       from HImode to SImode; delete the 12 patterns that try to do this.
+Fri Oct 20 13:33:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * dwarf2out.c (add_bound_info): Also ignore COND_EXPR.
 
-Fri Nov 29 21:32:52 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * combine.c (struct undo): Change int to unsigned int.
+       (do_SUBST_INT): Args are unsigned int.
+       (make_extraction, force_to_mode): Use proper type when forming mask.
+       (make_field_assignment): Likewise.
+
+2000-10-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (check_format_info_recurse): Extract string constant
+       initializers from non-volatile constant arrays and check them as
+       formats.
+       * c-typeck.c (decl_constant_value): Don't check pedantic or check
+       for DECL_MODE (decl) != BLKmode.
+       (decl_constant_value_for_broken_optimization): New function which
+       includes these checks.
+       (default_conversion, convert_for_assignment, digest_init): Use
+       decl_constant_value_for_broken_optimization instead of
+       decl_constant_value.
+
+2000-10-20  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.h (DECL_ALIGN_UNIT): New macro.
+
+2000-10-14  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+       * config/avr/avr-protos.h (avr_output_bld): New.
+       (out_shift_with_cnt): Add t_len argument.
+       * config/avr/avr.c (avr_num_arg_regs): Remove -mpack-args.
+       (output_movqi, output_movhi, output_movsisf): Optimize loading
+       any constant with exactly one bit set to NO_LD_REGS.
+       (out_shift_with_cnt): Optimize output code for size or speed,
+       depending on optimize_size.  Handle small shift counts as well
+       (if not hand-optimized in ?sh??i3_out).  Shifts can be done
+       with or without a scratch register, with help of __tmp_reg__
+       or __zero_reg__ if necessary.  Add T_LEN argument to pass the
+       length of TEMPLATE in words, return total insn length in *LEN.
+       (ashlqi3_out, ashrqi3_out, lshrqi3_out): Change all calls to
+       out_shift_with_cnt to work with the above change.
+       (ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, lshrhi3_out,
+       lshrsi3_out): Likewise.  Optimize more known shift count cases.
+       Remove cases already well optimized in out_shift_with_cnt.
+       (avr_output_bld): New function.
+       * config/avr/avr.h (MASK_PACK_ARGS, TARGET_PACK_ARGS): Remove.
+       (TARGET_SWITCHES): Remove -mpack-args backward compatibility.
+       * config/avr/avr.md (*reload_inqi, *reload_inhi, *reload_insi):
+       Add reload_completed to insn condition - only for peepholes.
+       (ashlqi3, ashrqi3, lshrqi3): Correct insn length for shift counts
+       in a register or memory.
+       (ashlhi3, ashlsi3, ashrhi3, ashrsi3, lshrhi3, lshrsi3): Likewise.
+       Do not require a scratch register.
+       (*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
+       *lshrhi3_const, *lshrsi3_const): New insns and matching peepholes.
+       Optimize shifts by known count using a scratch register, but only
+       if one is still available after register allocation.
+
+2000-10-20  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * t-vax: New file.  Don't build modules from libgcc1.c.
+
+Fri Oct 20 00:57:00 EDT 2000  John Wehle  (john@feith.com)
+
+       * alias.c: (mark_constant_function): Don't check pure functions.
+       Initialize and end alias analysis.
+       (nonlocal_mentioned_p): Rename from nonlocal_reference_p.
+       Don't make a special exception for recursion.  Handle
+       UNSPEC_VOLATILE.  Don't assume ASM_OPERANDS is non-local
+       unless it's volatile.
+
+       * local-alloc.c (equivalence): New structure.
+       (reg_equiv): Define.
+       (contains_replace_regs): Remove array and use
+       field in reg_equiv.
+       (memref_referenced_p): Likewise.
+       (no_equiv): Likewise.
+       (update_equiv_regs): Likewise.
+
+       (equiv_init_varies_p,
+       equiv_init_movable_p): New functions.
+       (update_equiv_regs): Use them.  Use rtx_varies_p
+       instead of function_invariant_p.  Process insns
+       from end to beginning.  Allow a REG_EQUIV insn
+       within the same loop as a use to be moved, also
+       allow it to be moved out of a loop.  Update
+       REG_DEAD notes when substituting into an insn.
+
+2000-10-19  Jim Wilson  <wilson@cygnus.com>
+
+       * c-decl.c (start_decl): Check for error_mark_node type before using
+       COMPLETE_TYPE_P.
+       (finish_decl): Likewise.  Don't give an error if decl type is
+       already error_mark_node.
+
+       * haifa-sched.c (compute_trg_info): Add explanatory comments.
+       New local update_blocks.  Use update_blocks to remove duplicates
+       when computing update blocks.  Check for bblst_table overflow.
+       (schedule_block): Add explanatory comment.  Reduce bblst_size by
+       factor of 2.
+       * config/ia64/ia64.md (movdi_symbolic): Document loss of REG_LABEL
+       notes.
 
-       * cp-cvt.c (build_type_conversion): Don't assume that if
-       TYPE_HAS_{INT,REAL}_CONVERSION implies that CLASSTYPE_CONVERSION for
-       the given type combination is non-NULL.
+2000-10-19  Chandrakala Chavva   <cchavva@redhat.com>
+
+       * libgcc2.c (_mulvsi3): Change variables u and v to a and b.
+
+2000-10-19  Chandrakala Chavva   <cchavva@redhat.com>
+
+       * expmed.c: Minor corrections in comments.
+       * invoke.texi: Added desciption for the new option -ftrapv.
+
+2000-10-19  Chandrakala Chavva   <cchavva@redhat.com>
+
+       * libgcc2.c: Added the missing #endif.
+
+Thu Oct 19 14:25:11 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * i386.h (CONST_OK_FOR_LETTER): Re-add 'N'; document.
+
+2000-10-18  Chandrakala Chavva  <cchavva@redhat.com>
+
+       * expmed.c (expand_mult): Don't do synth_mult optimization for -ftrapv.
+       Use smulv_optab for -ftrapv.
+       (expand_mult_highpart): Use unsigned multiply.
+       (expand_divmod): Special-case division by -1.
+       For EXACT_DIV_EXPR, do right shift first, then the multiply.
+       For complex divide, use abs with unsigned result.
+       * expr.c (force_operand): Use unsigned multiply.
+       (expand_expr): Use overflow-trapping optabs for signed types if
+       flag_trapv.
+       If flag_trapv, don't generate a recursive call with EXPAND_SUM
+       if the type is signed and the original call wasn't EXPAND_SUM or
+       EXPAND_INITIALIZER.
+       * expr.h (addv_optab, subv_optab, smulv_optab, sdivv_optab): Declare.
+       (negv_optab, absv_optab): Declare.
+       * flags.h (flag_trapv): Declare.
+       * genopinit.c (optabs): Add entries for addv_optab, subv_optab,
+       smulv_optab, sdivv_optab, negv_optab and absv_optab.
+       (gen_insn): Interpret '$P' as requiring an integer mode,
+       including partial integer modes.
+       * loop.c (emit_iv_add_mult): Use unsigned expand_mult_add.
+       (product_cheap_p): Use unsigned expand_mult.
+       * optabs.c (addv_optab, subv_optab, smulv_optab, sdivv_optab): Define.
+       (negv_optab, absv_optab): Define.
+       (expand_binop): Use overflow-trapping optabs for signed types if
+       flag_trapv.
+       Handle negv_optab libe neg_optab.
+       (expand_abs): Take result_unsignedp argument instead of unsignedp one.
+       Use overflow-trapping optabs for signed result if flag_trapv.
+       (expand_complex_abs): Use overflow-trapping optabs for signed types if
+       flag_trapv.
+       Don't open-code complex absolute-value operation for flag_trapv.
+       (init_optabs): Initialize addv_optab, subv_optab, smulv_optab,
+       sdivv_optab, negv_optab and absv_optab.
+       * toplev.c (flag_trapv): Define.
+       (lang_independent_options f_options): Include flag_trapv.
+       * tree.h (TYPE_TRAP_SIGNED): Define.
+       * libgcc2.c (__addvsi3, __addvdi3, __subvsi3,__subvsi3, __subvdi3,
+       __mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
+       New functions.
+       * Makefile.in: add _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3
+       _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2.
 
-Fri Nov 29 16:08:22 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-10-18  Geoffrey Keating  <geoffk@cygnus.com>
+           David V. Henkel-Wallace  <gumby@cygnus.com>
 
-       * crtstuff.c: New file.  Needs papers from rfg.
-       * Makefile.in (crtbegin.o, crtend.o): New targets.
+       * config/i386/t-netware: Bring in from the Red Hat tree.
+       * config/i386/netware.h: Likewise.
+       * config/netware.h: Likewise.
+       * config/rs6000/netware.h: Delete.
+       * configure.in: Add i[34567]86-*-netware.
+       * configure: Hand-edit to match configure.in change.
 
-       * objc-actions.c (build_message_expr): Lots of cleanups.
-       (build_objc_method_call): New subroutine.
-       Handles new option NEXT_OBJC_RUNTIME.
+2000-10-18  Mark Mitchell  <mark@codesourcery.com>
 
-       * expr.c (do_jump): Any LABEL_REF is nonzero.
-       (expand_expr): Construct LABEL_REFs with Pmode.
+       * c-common.h (flag_no_builtin): Declare.
+       (flag_no_nonansi_builtin): Likewise.
+       (c_common_nodes_and_builtins): Change prototype.
+       * c-common.c (flag_no_builtin): New variable.
+       (flag_no_nonansi_builtin): Likewise.
+       (c_common_nodes_and_builtins): Remove parameters.  Adjust
+       accordingly.
+       * c-decl.c (flag_no_builtin): Remove.
+       (flag_no_nonansi_builtin): Likewise.
+       (init_decl_processing): Adjust call to
+       c_common_nodes_and_builtins.
 
-Fri Nov 29 14:43:32 1991  Michael Meissner  (meissner at osf.org)
+2000-10-18  Marc Espie <espie@openbsd.org>
 
-       * mips-tfile.c (parse_def): Change an error into a warning.
+       * tm.texi (LIBGCC_SPEC): Synch with reality.
 
-       * mips.md (fix_trunc??si_opt, mov??_internal): Change '*' constraint
-       to '!' to keep reload from allocating FP registers from holding
-       excess integer values.
-       (ashift right define_splits): Fix typo, so that the long long
-       arithmetic right shifts are recognized.
-       (all define_splits): dummy out constraints, since they are not used.
+2000-10-18  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * mips.c (override_options): Allow int's in FP registers again, now
-       that ! constraints are used.
+       * c-common.c (check_format_types): Check for writing through a
+       NULL pointer argument.
 
-Fri Nov 29 13:20:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-10-18  Hans-Peter Nilsson  <hp@axis.com>
 
-       * dwarfout.c (output_compile_unit_die):  Don't include the name
-       of the compiler which compiled the compiler in the AT_producer
-       string.  It goofs up comparisons of stage2 & stage3 object files.
+       * tm.texi (Exception Region Output): Document
+       DWARF_CIE_DATA_ALIGNMENT.
+       * dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Wrap definition in
+       #ifndef.
+       [ENABLE_CHECKING] (reg_save): Abort if offset is not a multiple of
+       DWARF_CIE_DATA_ALIGNMENT.
 
-       * c-parse.y, objc-parse.y: Don't declare position_after_white_space
-       as static; it is now in c-lex.c.
+2000-10-18  Michael Hayes  <mhayes@cygnus.com>
 
-Fri Nov 29 05:15:26 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * basic-block.h (struct loop): Delete fields pre_header_root
+       and pre_header_trace and replace with pre_header_edges
+       and num_pre_header_edges.
+       * flow.c (flow_loop_dump): Dump pre_header_edges.
+       (flow_loops_free): Free pre_header_edges.
+       (flow_loop_pre_header_scan): Calculate pre_header_edges.
 
-       * cp-decl.c (xref_tag): Check that TREE_CODE (ref) is aggr type
-       before storing into CLASSTYPE_DECLARED_CLASS (ref).
+2000-10-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
-       * cp-decl2.c (build_push_scope): Don't let non-aggr types appear in
-       `cname::fname' expressions.
+       * contrib.texi: Update references to steering committee members
+       and Jeff Law's entry.
 
-       * cp-class.c (resolves_to_fixed_type_p): VAR_DECL and FIELD_DECL
-       nodes of ARRAY_TYPE may resolved to fixed type.  Also handle other
-       cases of WITH_CLEANUP_EXPR.
+2000-10-18  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * cp-spew.c (frob_identifier): Handle case of a type conversion
-       operator that converts to a nested type.
+       * c-common.c (CPLUSPLUS_STD_VER, C_STD_VER, C_STD_NAME): Define.
+       (maybe_read_dollar_number, check_format_info_main): Use them for
+       pedantic warning messages.
 
-       * cp-expr.c (cplus_expand_expr): In NEW_EXPR case, if ARGS is
-       permanent, build a new arglist instead of modifying it in place.
+2000-10-18  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * cp-typeck.c (convert_arguments): Add ??? to comment about virtual
-       function conversions.  ??? I don't understand what that code is
-       supposed to do anymore.
-       (comp_target_parms): If STRICT <= 0, accept types whose
-       TYPE_MAIN_VARIANTs are equal.
+       * c-common.c (check_format_info_main): Minor cleanup: move
+       variables into inner scopes; initialize declarations where
+       appropriate; don't hardcode "scanf" name on warning for zero
+       width.
 
-       * cp-call.c (convert_harshness): Revamped to handle contravariance
-       better.
-       * cp-class.h (struct candidate): Declaration moved from cp-tree.h.
+2000-10-17  Mark Mitchell  <mark@codesourcery.com>
 
-       * cp-class.c (duplicate_tag_error): New function.
-       * cp-parse.y (LC): Call it if we're redefining a tag.
-       * cp-decl.c (duplicate_decls): Only copy DECL_ARGUMENTS from OLDDECL
-       if non-NULL.  Otherwise we get nonsense when we try to parse
-       inline function bodies of classes that have already been redefined.
-       * cp-lex.c (reinit_parse_for_method): If we get some text for a
-       class that's been redefined, flush the text.
-       * cp-tree.h (TYPE_REDEFINED): New field in `struct lang_type'.
+       * c-common.c (back_end_hook): New variable.
+       * c-common.h (back_end_hook): Declare it.
+       * c-lang.c (finish_file): Use it.
 
-       * cp-cvt.c (convert_to_integer): Only warn about anachronistic
-       conversion from int to enum if PEDANTIC is nonzero.
+       * emit-rtl.c (init_emit_once): Initialize the const_int_htab
+       earlier.
 
-       * cp-typeck.c (convert_for_initialization): No longer give warning
-       messages about bitwise copy: this is currently how the default X(X&)
-       constructor is implemented.
-       * cp-init.c (expand_aggr_init_1): Ditto.
+2000-10-18  Jan Hubicka  <jh@suse.cz>
 
-       * cp-method.c (dump_init): Handle WITH_CLEANUP_EXPR and TARGET_EXPR.
-       * tree.c (simple_cst_equal): Handle WITH_CLEANUP_EXPR.  Correct
-       handling of TARGET_EXPR case.
+       * i386.c (ix86_comparison_operator, put_condition_code,
+       ix86_match_ccmode, ix86_cc_mode): Handle CCRCmode.
+       (ix86_expand_strlensi_unroll_1): Use CCRCmode.
+       * i386.h (EXTRA_CC_MODES): Add CCRCmode.
+       * i386.md (adddi and negdi splitter): Use CCRCmode.
+       (add?i_3, add?i_4, add?i_5): Use CCRCmode; swap operands
+       (subsi3_carry): add '*'
+       (addsi3_carry_rc, subsi3_carry_rc, x86_movsicc_0_m1_rc): New.
+       (cmp to add peep2): Use CCRCmode; swap operands.
 
-       * cp-decl.c (grok_reference_init): If DECL is permanent, make it's
-       DECL_REFERENCE_SLOT permanent as well.
+2000-10-18  Kazu Hirata  <kazu@hxi.com>
 
-       * cp-cvt.c (build_type_conversion): If PEDANTIC, give message about
-       conversions which cast away const.
+       * h8300.c: Fix a comment typo.
+       (round_frame_size): New.
+       (compute_saved_regs): Likewise.
+       (push): Likewise.
+       (pop): Likewise.
+       (push_order): Remove.
+       (pop_order): Likewise.
+       (function_prologue): Rearrange code for readability.
+       (function_epilogue): Likewise.
 
-       * cp-decl.c (store_return_init): If PEDANTIC, give error about named
-       return values.
+       * config/h8300/h8300.md: Remove an unnecessary sign_extend
+       expander that is used when not optimizing.  Output a tab after
+       each assembly insns.
 
-       * cp-init.c (decl_constant_value): Don't return DECL_INITIAL if
-       CURRENT_FUNCTION_DECL is null or if the initializer is a
-       CONSTRUCTOR.
+       * reorg.c: Fix formatting.
 
-Thu Nov 28 05:29:52 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-10-17  Joern Rennecke <amylaar@redhat.co.uk>
 
-       * integrate.c (expand_inline_function): When passing objects by
-       invisible reference, correctly compute the amount of space to be
-       allocated in the pseudo-frame we create for the inline function.
+       * reload1.c (move2add_note_store): Check for simple
+       auto-inc in destination.
 
-       * cp-typeck.c (mark_addressable): Add call to
-       `mark_inline_for_output' that got lost in Nov 25 change.
+2000-10-17  Michael Chastain  <chastain@redhat.com>
 
-       * cp-decl.c (push_overloaded_decl): If the value of a name is an
-       ADDR_EXPR, look inside to get the _DECL node.
+       * config/i386/i386-aout.h: define INT_ASM_OP.
 
-       * cp-decl.c (grokdeclarator): Don't convert type of operators new
-       and delete to METHOD_TYPE; they remain FUNCTION_TYPEs.
+Tue Oct 17 20:11:08 2000  Alan Modra <alan@linuxcare.com.au>
 
-       * function.c (expand_function_start): Set TREE_REGDECL bit on
-       RESULT_DECL if result starts life in a register.
+       * pa.c (print_operand): Handle case 'c' for .vtable_inherit
 
-       * c-common.c (truthvalue_conversion): Don't treat a CONVERT_EXPR as
-       a NOP when it or the expression inside it is of REFERENCE_TYPE.
+Tue Oct 17 20:05:51 2000  Martin Buchholz <martin@xemacs.org>
 
-       * cp-class.c (finish_struct): Test DESTRUCTOR_NAME_P on
-       DECL_ASSMBLER_NAME, not DECL_NAME.
+       * i370.md: Fix spelling typo.
 
-Wed Nov 27 13:49:10 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+2000-10-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
-       * cse.c (simplify_relational_operation): Correct handling of
-       COMPARE as first argument.  Always strip it off.  Don't invert
-       return value for EQ when !HAVE_cc0.
+       * function.c (locate_and_pad_parm): Don't align stack unconditionally.
+       Fixes execute/20001017-1.c on powerpc-linux-gnu.
 
-Thu Nov 28 20:08:15 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * gmon.c: New file.
-
-Thu Nov 28 15:02:24 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * combine.c (subst, case SET): Never make a paradoxical SUBREG of
-       a REG unless the SUBREG and REG occupy the same number of words.
-
-       * emit-rtl.c: Include flags.h.
-       (operand_subword): Always look inside floating if -fpretend-float.
-       * final.c (split_double): Likewise.
-       * Makefile.in (emit-rtl.o): Includes flags.h.
-
-       * c-lex.c (yylex): Add goto to `L' case.
-
-Thu Nov 28 08:37:02 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
-
-       * tm-mips.h (ASM_OUTPUT_INT): Use `do {...} while (0)' so it can be
-       used in if/else constructs.
-
-Thu Nov 28 00:23:26 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * tree.h (BUILT_IN_FRAME_ADDRESS, BUILT_IN_RETURN_ADDRESS):
-       New function codes.
-       * c-decl.c (init_decl_processing): Declare the functions.
-       * expr.c (expand_builtin): Implement them.
-
-       * gcc.c: Pass to ld all the dirs in LIBRARY_PATH:
-       (library_prefix): New list of prefixes.
-       (process_command): Put dirs from LIBRARY_PATH on that list.
-       (do_spec_1): %D outputs those dirs.
-       (link_command_spec): Use %D after passing -L options.
-
-       * gcc.c (process_command): Don't require machine suffix
-       for dirs from COMPILER_PATH or LIBRARY_PATH.
-
-       * cccp.c (main): C_INCLUDE_PATH, etc., add dirs rather than replacing.
-
-       * Use the TYPE_DECLs to drive dbx and sdb output of type tags.
-       * toplev.c (rest_of_type_compilation): New function.
-       (compile_file): Pass list of initial decls to dbxout_init, sdbout_init.
-       (various): Don't call get_*_types.
-       * dbxout.c (dbxout_init): Get initial types from that list.
-       * sdbout.c (sdbout_init): Likewise.
-       * sdbout.c, dbxout.c: Don't call get_*_types.
-       (*out_typedefs): New subroutines.
-       * c-decl.c (finish_struct, finish_enum): Call rest_of_type_compilation.
-       (pushtags): Record TYPE_STUB_DECL.
-       * tree.h (TYPE_STUB_DECL): New macro.
-       * stor-layout.c (chain_type, get_permanent_types, get_temporary_types):
-       Deleted.
-       (save_storage_status, restore_storage_status): Don't frob chains.
-       (layout_type): Don't call chain_type.
-
-       * dbxout.c (dbxout_type_fields): Output `/'-spec after type tag
-       only if really needed.
-
-Wed Nov 27 18:52:55 1991  Michael Tiemann  (tiemann at cygnus.com)
-
-       * expr.c (expand_expr): Typo in expand_end_bindings, in BIND_EXPR case.
-
-Wed Nov 27 23:10:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * cccp.c (main): Use savestring, not strdup.
-
-Wed Nov 27 17:10:17 1991  Michael Meissner  (meissner at osf.org)
-
-       * mips.c (mips_load_reg3, mips_load_reg4): New global variables to
-       enable scheduling the second nop for the mfhi and mflo instructions.
-       (mips_hard_regno_mode_ok): New global array to give the results
-       of HARD_REGNO_MODE_OK for each register and mode.
-       (mips_fill_delay_slot): Instead of taking the number of nops as a
-       parameter, take an enumeration, giving what kind of delay this is.
-       If the next instruction is a label, put nops before label, not
-       after.  Add support for mflo/mfhi, which need 2 nops if the next
-       instruction would modify the hi/lo registers.
-       (mips_move_1word, mips_move_2words): mips_fill_delay_slot calling
-       sequence changes.  Pass mflo/mfhi to schedule nops.
-       (mips_move_2words): Move DImode to/from hi and lo registers is now
-       supported.
-       (function_arg): Correctly align long long parameters, just like
-       doubles.  Also correct typo in debug code.  Bug report from
-       lisa@MicroUnity.com.
-       (override_options): Initialize mips_hard_regno_mode_ok.  Restrict
-       int's from going in the FP registers, to limit the register
-       allocator from allocating them instead of using memory.  Also, make
-       the special registers (HI, LO, FPSW) only accept full sized ints, or
-       a double int for the HI:LO combination.
-       (compute_frame_size): Don't set the initialized member until reload
-       has completed, since otherwise the information may change.
-
-       * mips.md (various): Add 64 bit integer operations for addition,
-       subtraction, negation, and, inclusive or, exclusive or, one's
-       complement, shifts, and nor.  Add 32x32->64 bit support for
-       multiply, which the compiler then uses to construct 64 bit
-       multiplies.
-       (mulsi3): Break mul into it's two instructions, and schedule the
-       two nops needed for the mflo instruction.  Don't allow an integer
-       multiplier anymore.
-       (ffssi2): Delete define_expand, and use a second clobber'ed register
-       to preserve the original input, instead of (clobber (match_dup 1)).
-       (movsi_ulw): Change mips_fill_delay_slot calling sequence.
-       (movdi_internal): Allow DImode move from HI/LO to/from GP registers.
-       (movdi define_split): Add a define_split to separate the two parts
-       of DImode register pairs when using GP registers.
-       (movdf define_split): Add a define_split to separate the two parts
-       of DFmode register pairs when using GP registers.
-       (mov??_internal): Change condition to call memory_operand, instead
-       of just checking for MEM, which disallows (subreg (MEM)) during
-       the intermediate parts of the compilation.  Reported by
-       lisa@MicroUnity.com.
-       (negsi2): Turn back into a real insn instead of just a
-       define_expand for subsi3.
-       (one_cmplsi2): Turn back into a real insn instead of just a
-       define_expand for norsi3.
-       (andsi3, iorsi3, xorsi3): Be more liberal than the real machine, and
-       allow 32 bit constants to improve the code generated for bitfields,
-       at the expense of potentially not moving the constant out of loops.
-       (various): Add = constraint to all clobbers.
-       (fix_trunc*): Go back to old method of using two clobbers, since
-       unoptimized compiles call abort otherwise, when returning the result
-       of truncating a float as a function result.
-
-       * tm-mips.h (delay_type): New enum to express different types of
-       delay slots.
-       (mips_load_reg3, mips_load_reg4): Declarations for more registers
-       to check for needing nops.  Used by multiply/divide to schedule
-       the two nops needed after mfhi/mflo if the next instruction would
-       clobber the register.
-       (CONDITIONAL_REGISTER_USAGE): If -msoft-float, disable all FP
-       registers.
-       (MASK_DEBUG_G): Add comment saying -mdebugg turns of new DImode
-       patterns, in case the code is wrong.
-       (HARD_REGNO_NREGS): All FP registers use register pairs, so that
-       SF in a GP register takes only one register, and SI in a FP
-       register takes 2.
-       (HARD_REGNO_MODE_OK): Change macro to reference the array
-       mips_hard_regno_mode_ok, which is now built in override_options.
-       (CONST_OK_FOR_LETTER_P): 'N' is now for negative numbers, 'O' is
-       an exact power of 2, and 'P' is now for positive numbers.
-       (PREFERRED_RELOAD_CLASS): If -msoft-float, never prefer a FP
-       register.
-       (PREFERRED_RELOAD_CLASS_FM): Delete, since nobody uses it.
-       (FINAL_PRESCAN_INSN): Check for mips_load_reg3 and mips_load_reg4
-       being mentioned.  Also add a missing tab when more than one delay
-       slot.
-       (CONST_COSTS): Make all constant ints cost 0 to lower register
-       pressure according to Richard Kenner.
-       (RTX_COSTS): Adjust costs for DI, SF, and DF modes, and add ABS/FFS
-       costs as well.
-       (REGISTER_MOVE_COSTS): Bump costs for moving between register
-       classes, so that reload doesn't try to store int type values in the
-       floating point registers.
-
-Wed Nov 27 15:01:52 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * config-gcc.com: Renaming of out-vax.c.
-       * make-cc1.com: Link dbxout with all languages.  Add cp-spew.
-
-       * cccp.c (include_defaults_array): Fix typo.
-
-       * gstddef.h: Handle _STDDEF_H_.
-
-       * configure.bat, Makefile.dos: New files.
-
-       * c-lex.c: New file.  All subroutines moved here.
-       (yylex): Small diffs between C and OBJC merged.
-       * c-parse.y, objc-parse.y: Deleted from here.
-       * c-lang.c (lookup_interface): New stub.
-       * Makefile.in (c-lex.o): New rule.
-       (OBJC_OBJS, C_OBJS): Changed for new files.
+       * expr.c (store_constructor): Apply MEM_ALIAS_SET to MEMs only.
+       * rs6000/rs6000.c (rs6000_hash_constant): Use X0INT to access a
+       LABEL_REF.
 
-Wed Nov 27 13:34:15 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * rs6000/rs6000.h (NO_DOLLAR_IN_LABEL, DOLLARS_IN_IDENTIFIERS,
+       ENCODE_SECTION_INFO, ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Move from
+       here...
+       * rs6000/aix.h: ...to here.
+       * rs6000/linux.h (ASM_APP_ON, ASM_APP_OFF): Define to Linux-style.
 
-       * c-parse.y (yylex): Don't assume that long is 32 bits and long
-       long is 64 bits when warning for out of range integer constants,
-       and when creating a tree to represent integer constants.
-       * cp-lex.c (real_yylex): Likewise.
-       * objc-parse.y (yylex): Likewise.
+2000-10-17  Jakub Jelinek  <jakub@redhat.com>
 
-       * combine.c (simplify_comparison, ASHIFT case): Prevent shift by
-       HOST_BITS_PER_INT for inequality comparisons.
+       * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Reload gp if needed.
 
-       * fold-const.c (operand_equal_p): Arguments are not equal if
-       signedness differs.  Conversions don't match if signedness differs.
+       * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Always use call, make
+       sure linker can relax even the delay slot mov %g1,%o7, fix output
+       formating.
 
-       * sparc.md (movsi, movhi, movqi, movdi): Prohibit matches that
-       would require reloading by the use of conditions.
+2000-10-17  Kazu Hirata  <kazu@hxi.com>
 
-       * alloca.c (alloca): Add parens to make precedence clearer.
+       * config/h8300/h8300.md: Remove an unnecessary zero_extend
+       expander that is used when not optimizing.  Output a tab after
+       each assembly insns.
 
-       * tm-news.h (PRINT_OPERAND): Add 68040 support so that the compiler
-       will bootstrap.
+2000-10-17  Chandrakala Chavva  <cchavva@redhat.com>
 
-Wed Nov 27 09:41:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * gcc.c: New options --target-help.
+       (process_command): Added code to parse this new option.
+       * toplev.c (display_target_options): New function to support the
+       above new option.
+       * cppinit.c (new_pending_directive) : New option OPT_target__help.
+       (cpp_handle_option): Support this new option.
+       * invoke.texi: Added notes about --target-help option.
 
-       * expr.c (expand_expr, case MIN_EXPR): Fix typo in operand number
-       in safe_from_p call.
+2000-10-17  Graham Stott  <grahams@redhat.com>
 
-       * recog.c (indirect_operand): Correctly handle case where we have
-       a (subreg (mem X) C) after reload.
+       * config/i386/i386.md (testqi_1): Add missing operand prefix
+       for operand 0.
+       * config/i386/i386-protos.h: Add missing prototype.
 
-Tue Nov 26 16:24:03 1991  Ron Guilmette  (rfg at ncd.com)
+2000-10-17  Diego Novillo  <dnovillo@cygnus.com>
 
-       * dwarfout.c (output_enumeration_type_die): Handle a GNU C 
-       language extension: incomplete enum types.
+       * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Symbol
+       _GLOBAL_OFFSET_TABLE should not have a $ prefix when
+       using -mintel-syntax.
 
-       * dwarfout.c (output_type): Fixed bug which causes DIEs for
-       file-scope tagged types to be generated in a local-scope
-       under some conditions.
+2000-10-17  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * dwarfout.c (dwarfout_init, dwarfout_finish): Moved code which
-       generates most of the .debug_aranges entries from dwarfout_init
-       into dwarfout_finish to avoid m68k assembler bug.
+       * c-common.c (FMT_FLAG_DOLLAR_MULTIPLE): Define.
+       (format_types): Use it for printf.
+       (maybe_read_dollar_number): Add parameter for the kind of format
+       involved.  Warn for multiple use for arguments if this is
+       inappropriate for the kind of format involved.
+       (check_format_info_main): Update calls to maybe_read_dollar_number.
 
-       * Makefile.in (EXTRA_PARTS): New parameter.
-       (install-common): Compile the things in EXTRA_PARTS.
-       (GCC_PASSES, GCC_PARTS): New variables.
-       (STAGESTUFF, native, enquire, enquire.o): Use them.
-       (protoize, protoize.o, unprotoize, unprotoize.o, SYSCALLS.c.X):
-       (gnulib2.ready, collect2, collect2.o, getopt.o, getopt1.o): Likewise.
+2000-10-17  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
-       * tm-svr4.h (CPP_PREDEFINES): Don't define this here.  Undef it
-       so that other files which include this one will be forced to
-       define it appropriately for the specific target and OS.
-       (CPP_SPEC): Deleted.
-       (LIB_SPEC): Add crtend.o as last thing linked in on each link-step.
-       (STARTFILE_SPEC): Add crtbegin.o as the first thing linked in.
-       (NO_DOLLAR_IN_LABEL):  Added define.  Most svr4's don't support $.
+       * inclhack.def (hpux_maxint): Also apply fix to values.h.
+       * fixincl.x: Rebuilt.
 
-       * tm-svr4.h: Added support for the .ctors and .dtors sections
-       (as for the m88k).
-       (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): New macros.
-       * tm-svr4.h (HERE_ASM_OP, ASM_DECLARE_FUNCTION_SIZE):  Deleted
-       define of HERE_ASM_OP and made ASM_DECLARE_FUNCTION_SIZE not
-       try to use a dot when computing a function's size in a .size
-       directive (because Tom Wood says that 88open doesn't approve
-       of dot as an asm operand).
+2000-10-17  Alexandre Oliva  <aoliva@redhat.com>
 
-       * x-genix, x-i386sco, x-xenix (INSTALL): Define as cp.
+       * genrecog.c (write_switch): Return the first condition that needs a
+       label.
 
-Tue Nov 26 16:24:03 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-10-17  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * gcc.c (default_compilers): Pass -A* to cpp.
+       * c-tree.h (warn_sequence_point): Move declaration to...
+       * c-common.h (warn_sequence_point): ... here.
+       * c-decl.c (warn_sequence_point): Move definition to...
+       * c-common.c (warn_sequence_point): ... here.
+       (struct reverse_tree): New.
+       (reverse_list, reverse_max_depth): New static variables.
+       (build_reverse_tree, common_ancestor, modify_ok
+       verify_sequence_points): New functions.
+       (c_expand_expr_stmt): Call verify_sequence_points if -Wsequence-point.
+       * c-typeck.c (check_modify_expr): Delete.
+       (build_modify_expr): Don't call it.
 
-       * Make names unique if unpacked on MSDOG.
-       * config/*.c: `out-' removed from all file names out-*.c.
-       * x-hp*: Renamed from x-hp9k*.
-       * tm-conv1.h, tm-conv2.h: Renamed from tm-convex*.h.
-       * tm-hp*.h: `9k' removed from these names.
-       * tm-isi*.h: `68' removed from these names.
-       * tm-i860b.h, tm-i860bg.h: `sd' removed.
-       * tm-i860g3.h: Renamed from tm-i860v3g.h.
-       * tm-i386sun.h: Renamed from tm-sun386i.h.
-       * tm-sun3o3.h, tm-sun4o3.h: Were tm-sun*os3.h.
-       * tm-sun3n3.h: Was tm-sun3os3nf.h.
-       * tm-sun3n.h: Was tm-sun3-nfp.h.
-       * tm-sun2o4.h: Was tm-sun2os4.h.
-       * xm-hp320.h: Was xm-hp9k320.h.
-       * xm-i386sun.h: Was xm-sun386i.h.
-       * configure: Adjust for those renamings.
+2000-10-17  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * configure (m68000-hp-hpux*): Use xm-hp320.h.
+       * c-common.h (warn_missing_format_attribute): New variable.
+       * c-decl.c (warn_missing_format_attribute): New variable.
+       (c_decode_option): Decode -Wmissing-format-attribute and
+       -Wno-missing-format-attribute.
+       * c-common.c (check_function_format): If
+       -Wmissing-format-attribute, give a warning where a vprintf or
+       vscanf function is called by a function without its own printf or
+       scanf attribute.
+       * toplev.c (documented_lang_options): Add
+       -Wmissing-format-attribute.
+       * invoke.texi: Document -Wmissing-format-attribute.
 
-       * stmt.c (expand_value_return): New subroutine.
-       (expand_return): Use that.
+2000-10-17  Marc Espie <espie@openbsd.org>
 
-       * make-gcc.com: New name for make.com.
+       * invoke.texi (-shared): Insist on requiring code generation flags
+       to be used along with -shared, and document the subtle failure that
+       may occur otherwise.
 
-       * stor-layout.c (layout_record): Return list of static members.
-       (layout_type): Lay them out here.
+2000-10-16  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
-       * expmed.c (init_expmed): Use 3 as shift count for shift_cost.
+       * pa.md (return_internal): Move `use' after `return'.
 
-       * x-sco: File deleted.
+2000-10-16 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
 
-       * print-tree.c (print_node): Always be brief for vector elts.
+       * machmode.def: Correct comment.
 
-Tue Nov 26 07:42:41 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
+2000-10-16  Rodney Brown  <RodneyBrown@mynd.com>
 
-       * cp-decl.c (grokdeclarator): Fix typo involving ~RID_STATIC.
+       * print-rtl.c (print_rtx_head): Constify.
+       * rtl.h (print_rtx_head): Similarly.
 
-Mon Nov 25 21:51:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/pa/pa/pa-protos.h (output_64bit_and, output_64bit_ior):
+       Constify char * return value.
+       * config/pa/pa/pa.c
+       (output_64bit_and, output_64bit_ior): Constify char * return value.
+       (pa_can_combine_p): Make static.
+       (function_arg): Decorate unused `named' argument. Fix comment typo.
+       (function_arg_partial_nregs): Decorate unused `named' argument.
 
-       * optabs.c (emit_cmp_insn): If both operands are VOIDmode,
-       put first operand into register, not second.
+2000-10-16  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * alliant.md, gmicro.md, i386.md, m68k.md, ns32k.md, pyr.md:
-       Don't allow a constant as the first operand to tstxx insns.
-       * tahoe.md, vax.md: Likewise.
-       * convex.md: Remove erroneous comment on tstsi.
+       * c-common.c (format_check_results): New structure.
+       (finish_dollar_format_checking): Adjust to take a
+       format_check_results * parameter.
+       (check_format_info, check_format_info_recurse,
+       check_format_info_main): Split check_format_info into three
+       functions, the main checking going in check_format_info_main.
+       Recurse when any reduction of the format string argument towards a
+       string literal is done; go down both branches of a conditional
+       expression.  Don't warn for extra format arguments or empty format
+       strings if they only occur in some branches of a conditional
+       expression.
 
-Mon Nov 25 20:51:00 1991  DJ Delorie  (dj@ctron.com)
+2000-10-16  Kazu Hirata  <kazu@hxi.com>
 
-       * cccp.c (main): Look in env vars to override header dir list.
-       * gcc.c (process_command): Likewise.
+       * config/h8300/h8300.c: Remove obstack.  Include ggc.h.
 
-       * gcc.c (execute): Alternate way to get status on MSDOS.
-       Error for -pipe on MSDOS.
-       (pexecute): Alternate definition for MSDOS.
-       (find_a_file): Handle new hook EXECUTABLE_SUFFIX.
-       (EXECUTABLE_SUFFIX): Add default definition, and alternate for MSDOS.
-       (P_tmpdir): Add default definition for MSDOS.
+2000-10-16  Jakub Jelinek  <jakub@redhat.com>
 
-Mon Nov 25 17:18:52 1991  Michael Collison  (collison at osf.org)
+       * rtlanal.c (may_trap_p): Check operand modes of COMPARE.
+
+2000-10-15  Diego Novillo  <dnovillo@cygnus.com>
+
+       * i386.md (*movsi_or): Switch operand order for intel syntax.
+
+2000-10-14  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * PROBLEMS: Remove.
+
+       * gcc.texi (Contributing): Update.
+
+2000-10-13  Diego Novillo  <dnovillo@cygnus.com>
+
+       * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using
+       appropriate assembler dialect.
+
+2000-10-13  Alexandre Oliva  <aoliva@redhat.com>
+
+       * c-common.c (c_expand_builtin): PARAMS-ize prototype.
+
+2000-10-12  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+       * config/avr/avr.c (output_movhi, output_movsisf): Fix loading
+       constants 1 and 2 to NO_LD_REGS.
+
+2000-10-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (c-parse.c, tradcif.c): Create atomically.
+
+       * objc/Make-lang.in (objc-parse.c): Likewise.
+
+2000-10-13  Richard Earnshaw <rearnsha@arm.com>
+
+       * arm.c: Include obstack.h
+       (minipool_obstack, minipool_startobj): Define.
+       (arm_add_gc_roots): Initialize them.
+       (create_fix_barrier): Use our new obstack.
+       (push_minipool_barrier, push_minipool_fix): Likewise.
+       (arm_reorg): Release obstack memory.
+
+2000-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.md (nonlocal_goto_receiver): Remove.
+       (prologue, exception_receiver, builtin_setjmp_receiver): New
+       patterns.
+       * config/sparc/sparc.h (FINALIZE_PIC): Remove.
+       * config/sparc/sparc-protos.h (finalize_pic): Remove.
+       (load_pic_register): New prototype.
+       * config/sparc/sparc.c (pic_setup_code): Remove.
+       (finalize_pic): Rename to...
+       (load_pic_register): ...this function.
+       Don't look for nonlocal_goto_receivers and emit pic setup code
+       directly.  Don't check current_function_uses_pic_offset_table.
+
+2000-10-13  Richard Earnshaw <rearnsha@arm.com>
+
+       * tree.h (struct obstack): Declare.
+
+2000-10-12  Mark Mitchell  <mark@codesourcery.com>
+
+       Remove obstacks.
+       * Makefile.in (ggc-callbacks.o): Remove target.
+       (flow.o): Depend on GGC_H.
+       * alias.c (init_alias_analysis):
+       Remove ggc_p conditionals.
+       (end_alias_analysis): Likewise.
+       * basic-block.h (init_flow): New function.
+       (allocate_reg_life_data): Declare.
+       * bb-reorder.c  (function_obstack): Replace with ...
+       (flow_obstack): ... new variable.
+       (fixup_reorder_chain): Use it.
+       * c-decl.c (ggc_p): Remove.
+       (caller-save.c): Don't call oballoc/obfree.
+       * combine.c (struct
+       undobuf): Remove storage.
+       (try_combine): Don't call oballoc.
+       (undo_all): Don't call obfree.
+       * cse.c (insert): Use xmalloc, not
+       oballoc.
+       (cse_main): Adjust accordingly.
+       * dwarf2out.c (save_rtx): Remove
+       obstack code.
+       (dwarf2out_init): Remove ggc_p conditionals.
+       * emit-rtl.c (rtl_obstack): Remove.
+       (gen_rtx_CONST_INT): Remove ggc_p conditionals.
+       (make_insn_raw): Likewise.
+       (emit_insn_before): Likewise.
+       (emit_insn_after): Likewise.
+       (emit_insn): Likewise.
+       (gen_sequence): Likewise.
+       (copy_insn_1): Remove handling of `b' RTL components.
+       (init_emit_once): Remove ggc_p conditionals.
+       * except.c (create_rethrow_ref): Don't fool with obstacks.
+       (add_partial_entry): Likewise.
+       (call_get_eh_context): Likewise.
+       (begin_protect_partials): Likewise.
+       (protect_with_terminate): Likewise.
+       * explow.c
+       (plus_constant_wide): Likewise.
+       * expr.c (init_expr_once):
+       Likewise.
+       (emit_block_move): Likewise.
+       (clear_storage): Likewise.
+       (expand_expr): Likewise.
+       * flow.c (function_obstack): Remove.
+       (flow_obstack): New variable.
+       (flow_firstobj): Likewise.
+       (create_base_block): Use the flow_obstack.
+       (split_block): Likewise.
+       (split_edge): Likewise.
+       (calculate_global_regs_live): Likewise.
+       (allocate_bb_life_data): Make it static.  Likewiwse.
+       (init_flow): New function.
+       (size_int_type_wide): Remove ggc_p conditionals.
+       * function.c
+       (push_function_context_to): Don't call save_tree_status.
+       (pop_function_context_from): Or restore_tree_status.
+       (assign_stack_local_1): Don't call push_obstacks.
+       (find_fixup_replacement): Use xmalloc.
+       (fixup_var_refs_insns): Free the storage.
+       (insns_for_mem_walk): Don't mess with obstacks.
+       (instantiate_decls): Likewise.
+       (trampoline_address): Likewise.
+       (expand_function_end): Likewise.
+       * function.h (sturct function):
+       Remove obstack-related variables.
+       (save_tree_status): Don't declare.
+       (restore_tree_status): Likewise.
+       * gcse.c (compute_can_copy):
+       Don't call oballoc/obfree.
+       * genattrtab.c (operate_exp): Remove
+       ggc_p conditionals.
+       (simplify_cond): Likewise.
+       (simplify_test_exp): Don't mess with obstacks.
+       (optimize_attrs): Likewise.
+       * gengenrtl.c (gendef): Don't include
+       ggc_p conditionals.
+       * ggc-callbacks.c (ggc_p): Remove.
+       * ggc-none.c (ggc_p): Remove.
+       * ggc.h (ggc_p): Don't declare.
+       * integrate.c (save_for_inline): Don't mess with obstacks.
+       (integrate_decl_tree): Likewise.
+       (output_inline_function): Likewise.
+       * lists.c
+       (init_EXPR_INSN_LIST_cache): Likewise.
+       * loop.c (temp_obstack):
+       Remove.
+       (rtl_obstack): Likewise.
+       (init_loop): Don't mess with obstacks.
+       (reg_address_cost): Free BIVs and GIVs.
+       (check_insns_for_bivs): Use xmalloc, not oballoc.
+       (find_mem_givs): Likewise.
+       (record_biv): Likewise.
+       (general_induction_var): Likewise.
+       (product_cheap_p): Likewse.
+       * optabs.c (init_one_libfunc): Remove
+       ggc_p conditional.
+       * print-tree.c (debug_tree): Don't use
+       oballoc/obfree.
+       (print_node): Likewise.
+       * profile.c (output_func_start_profiler):
+       Remove call to temporary_allocation.
+       * reload1.c
+       (eliminate_regs_in_insn): Don't mess with obstacks.
+       * resource.c
+       (mark_target_live_regs): Use xmalloc.
+       (free_resource_info): Free the memory.
+       * rtl.c (rtl_obstack):
+       Remove.
+       (rtvec_alloc): Don't mess with obstacks.
+       (rtx_alloc): Likewise.
+       (rtx_free): Remove.
+       (copy_rtx): Don't handle `b' cases.
+       (read_rtx): Use a local rtl_obstack.
+       * rtl.h (oballoc): Remove.
+       (obfree): Likewise.
+       (pop_obstacks): Likewise.
+       (push_obstacks): Likewise.
+       (allocate_bb_life_data): Likewise.
+       (allocate_reg_life_data): Likewise.
+       (rtx_free): Likewise.
+       * sdbout.c (sdbout_queue_anonymous_type):
+       Use tree_cons, not saveable_tree_cons.
+       * simplify-rtx.c
+       (cselib_init): Don't mess with obstacks.
+       * stmt.c
+       (mark_block_nesting): Mark the label_chain.
+       (epxand_label): Use ggc_alloc, not oballoc.
+       (clear_last_expr): Don't mess with obstacks.
+       (expand_decl_cleanup): Likewise.
+       (expand_dcc_cleanup): Likewise.
+       (expand_dhc_cleanup): Likewise.
+       (expand_anon_union_decl): Likewise.
+       (add_case_node): Use xmalloc, not oballoc.
+       (free_case_nodes): New function.
+       (expand_end_case): Call it.
+       * stor-layout.c (layout_type): Don't
+       mess with obstacks.
+       (layout_type): Likewise.
+       * toplev.c (wrapup_global_declarations):
+       Likewise.
+       (compile_file): Remove ggc_p conditionals.
+       (rest_of_compilation): Call init_flow.  Remove ggc_p conditionals.
+       (decode_f_option): Remove ggc_p conditionals.
+       * tree.c
+       (function_maybepermanent_obstack): Remove.
+       (maybepermanent_obstack): Likewise.
+       (function_obstack): Likewise.
+       (tmeporary_obstack): Likewise.
+       (momentary_obstack): Likewise.
+       (temp_decl_obstack): Likewise.
+       (saveable_obstack): Likewise.
+       (rtl_obstack): Likewise.
+       (current_obstack): Likewise.
+       (expression_obstack): Likewise.
+       (struct obstack_stack): Likewise.
+       (obstack_stack): Likewise.
+       (obstack_stack_obstack): Likewise.
+       (maybepermanent_firstobj): Likewise.
+       (temporary_firstobj): Likewise.
+       (momentary_firstobj): Likewise.
+       (temp_decl_firstobj): Likewise.
+       (momentary_function_firstobj): Likewise.
+       (all_types_permanent): Likewise.
+       (struct momentary_level): Likewise.
+       (momentary_stack): Likewise.
+       (init_obstacks): Remove initialization of removed obstacks.
+       (save_tree_status): Remove.
+       (restore_tree_status): Likewise.
+       (temporary_allocation): Liekwise.
+       (end_temporary_allocation): Liekwise.
+       (resume_temporary_allocation): Likewise.
+       (saveable_allocation): Likewise.
+       (push_obstacks): Likewise.
+       (push_obstacks_nochange): Likewise.
+       (pop_obstacks): Likewise.
+       (allocation_temporary_p): Likewise.
+       (permanent_allocation): Likewise.
+       (preserve_data): Likewise.
+       (preserve_initializer): Likewise.
+       (rtl_in_current_obstack): Likewise.
+       (rtl_in_saveable_obstack): Likewise.
+       (oballoc): Likewise.
+       (obfree): Likewise.
+       (savealloc): Likewise.
+       (expralloc): Likewise.
+       (print_obstack_name): Likewise.
+       (debug_obstack): Likewise.
+       (object_permanent_p): Likewise.
+       (push_momentary): Likewise.
+       (perserve_momentary): Likewise.
+       (clear_momentary): Likewise.
+       (pop_momentary): Likewise.
+       (pop_momentary_nofree): Likewise.
+       (suspend_momentary): Likewise.
+       (resume_momentary): Likewise.
+       (make_node): Don't set TREE_PERMANENT.
+       (copy_node): Remove ggc_p conditionals.  Don't set TYPE_OBSTACK.
+       Don't set TREE_PERMANENT.
+       (get_identifier): Remove ggc_p conditionals.
+       (build_string): Likewise.
+       (make_tree_vec): Likewise.
+       (build_decl_list): Remove.
+       (build_expr_list): Likewise.
+       (tree_cons): Remove ggc_p conditionals.
+       (decl_tree_cons): Remove.
+       (expr_tree_cons): Likewise.
+       (perm_tree_cons): Likewise.
+       (temp_tree_cons): Likewise.
+       (saveable_tree_cons): Likewise.
+       (build1): Remove ggc_p conditionals.
+       (build_parse_node): Likewise.
+       (build_type_attribute_variant): Don't mess with obstacks.
+       (build_type_copy): Likewise.
+       (type_hash_canon): Likewise.
+       (build_pointer_type): Likewise.
+       (build_reference_type): Likewise.
+       (build_index_type): Likewise.
+       (build_range_type): Likewise.
+       (dump_tree_statistics): Don't print obstack information.
+       * tree.h
+       (struct tree_common): Remove permanent_flag.
+       (TREE_PERMANENT): Remove.
+       (TREE_SET_PERMANENT): Likewise.
+       (TYPE_OBSTACK): Likewise.
+       (struct tree_type): Remove obstack.
+       (oballoc): Remove.
+       (savealloc): Likewise.
+       (build_decl_list): Likewise.
+       (build_expr_list): Likewise.
+       (perm_tree_cons): Likewise.
+       (temp_tree_cons): Likewise.
+       (saveable_tree_cons): Likewise.
+       (decl_tree_cons): Likewise.
+       (expr_tree_cons): Likewise.
+       (suspend_momentary): Likewise.
+       (allocation_temporary_p): Likewise.
+       (resume_momentary): Likewise.
+       (push_obstacks_nochange): Likewise.
+       (permanent_allocation): Likewise.
+       (push_momentary): Likewise.
+       (clear_momentary): Likewise.
+       (pop_momentary): Likewise.
+       (end_temporary_allocation): Likewise.
+       (pop_obstacks): Likewise.
+       (push_obstacks): Likewise.
+       (pop_momentary_nofree): LIkewise.
+       (preserve_momentary): Likewise.
+       (saveable_allocation): Likewise.
+       (temporary_allocation): Likewise.
+       (resume_temporary_allocation): Likewise.
+       (perserve_initializer): Likewise.
+       (debug_obstack): Likewise.
+       (rtl_in_current_obstack): Likewise.
+       (rtl_in_saveable_obstack): Likewise.
+       (obfree): Likewise.
+       * varasm.c (current_obstack): Remove.
+       (saveable_obstack): Remove.
+       (rtl_obstack): Remove.
+       (immed_double_const): Don't mess with obstacks.
+       (immed_real_cons): Likewise.
+       (output_constant_def): Likewise.
+       (init_varasm_status): Use xcalloc.
+       (mark_pool_constant): Mark the pool constant itself.
+       (free_varasm_status): Free memory.
+       (decode_rtx_const): Call bzero directly, rather than expanding it
+       inline.
+       (record_rtx_const): Don't mess with obstacks.
+       (force_const_mem): Likewise.
+       * config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p
+       conditionals.
+       (aof_pic_entry): Likewise.
+       * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
+       * config/m32r/m32r.c (m32r_encode_section_info): Likewise.
+       * config/pa/pa.c (saveable_obstack): Remove.
+       (rtl_obstack): Likewise.
+       (current_obstack): Likewise.
+       (output_call): Don't mess with obstacks.
+       (hppa_encode_label): Remove ggc_p conditionals.
+       * config/romp/romp.c (get_symref): Don't mess with obstacks.
+       * config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
+       (rs6000_encode_section_info): Likewise.
+       * config/sh/sh.c (get_fpscr_rtx): Likewise.
+
+Thu Oct 12 16:02:31 MET DST 2000 Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (adddi3, subdi3 splitters): Update for new pattern.
+       (addsi3_cc, addqi3_cc, subsi3_cc): Remove
+       (addsi3_carry): Canonicalize.
+       (addqi_5): Remove '*'.
+       (sbb pattern): Canonicalize.
+
+       * i386.md (cmp to inc/add peep2): New.
+
+2000-10-12  Richard Earnshaw  <rearnsha@arm.com>
+
+       * bb-reorder.c (reorder_basic_blocks): Allocate an aux block for
+       the exit block.
+
+2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * gcc.texi: Merge in contents of README.TRAD and TESTS.FLUNK.
+       * README.TRAD, TESTS.FLUNK: Remove.
+
+2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (decl_attributes): Don't allow strftime formats with
+       first_arg_num nonzero.
+       (check_format_info): Set wanted_type and wanted_type_name to zero
+       before they are possibly assigned and used.
+
+2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (scanf_flag_specs): Add flags ' and I.
+       (strftime_flag_pairs): Disallow any pair of the _, - and 0 flags,
+       or the ^ and # flags together.
+       (scan_char_table): Handle the ' and I flags.
+       (format_types): Add ' and I flags for scanf.
+
+2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (print_char_table): Use the unpromoted type for
+       lengths "h" and "hh" with conversions dioxXu.
+       (check_format_types): Apply the default argument promotions where
+       the wanted type is not a pointer target.
+
+2000-10-11  Michael Meeks  <mmeeks@gnu.org>
+           Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-typeck.c (check_modify_expr): New function.
+       (build_modify_expr): Call it if warn_sequence_point.
+       * c-decl.c (warn_sequence_point): New variable.
+       (c_decode_option): Handle -Wsequence-point and
+       -Wno-sequence-point.  Enable -Wsequence-point as part of -Wall.
+       * c-tree.h (warn_sequence_point): Declare.
+       * invoke.texi (-Wsequence-point): Document.
+       * toplev.c (documented_lang_options): Add -Wsequence-point and
+       -Wno-sequence-point.
+       Original work by Michael Meeks, 16 Jun 1998.
+
+Wed Oct 11 06:15:41 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * tree.c (get_narrower): Don't look at precision of field if
+       not laid out yet.
+
+Tue Oct 10 23:14:33 2000  Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr.c (valid_machine_decl_attribute): Allow `extern'
+       declaration for data with "progmem" attribute.
+
+2000-10-09  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+       * config/avr/avr.c (out_shift_with_cnt): Use AS2 macro.
+       Correct insn length if shift count is a memory operand.
+       * config/avr/avr.md: New define_peephole2 to use *reload_inqi.
+       (*iorhi3_clobber): Change lo8 to hi8.
+       (zero_extendhisi2): Change %B0 to %A1.
+       (ashlhi3, ashrhi3): Correct insn length.
+       (andhi3, abssf2, extendqisi2, extendhisi2): Change "cc"
+       from "clobber" to "set_n" in some alternatives.
 
-       * x-encrose: New file for mmax running OSF/1.
-       * t-encrose: ditto.
+2000-10-10  Jakub Jelinek  <jakub@redhat.com>
 
-       * ns32k.md (movsi): Use new constraint letters 'x' and 'y'
-       representing the frame and stack pointer.
-       (movhi,movqi): Add constraints and template code to allow moves
-       between the floating point and general purpose registers.
+       * reload1.c (calculate_needs_all_insns): If deleting an instruction,
+       remove its insn_chain structure as well.
 
-       * tm-ns32k.h (REGISTER_MOVE_COST): Use this macro to discourage
-       moves between the floating point registers and the frame and stack
-       pointer.  Also discourage moves between the fp and general registers.
-       (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
-       REG_CLASS_FROM_LETTER): Add two new register classes representing
-       the frame pointer and stack pointer respectively.
-       (GO_IF_NONINDEXED_ADDRESS): Add check to see if register is also a
-       base register. This causes reload to reject pseudo registers when
-       REG_OK_STRICT is defined.
+2000-10-09  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
-       * tm-i386rose.h: New file for 386 running on OSF/1.
-       * x-i386rose: ditto
-       * t-i386rose: ditto
+       * dbxout.c (dbxout_source_line): Remove extra tab.
 
-       * config.subr: Added case for 'osf-'.
-       * configure: Added case for i386-osfrose
+2000-10-09  Hans-Peter Nilsson  <hp@bitrange.com>
 
-       * tm-encrose.h (CC1_SPEC): Simplified so by default it passes nothing.
-       (ASM_SPEC): Changed so that under OSF/1 with NO_J_SWITCH defined
-       nothing is passed to the assembler.
-       (TARGET_DEFAULT): Changed so that, by default, no code is generated
-       using the static base (sb) register.
-       (OVERRIDE_OPTIONS): Removed in lieu of the new debug macros
-       PREFERRED_DEBUGGING_TYPE and DEFAULT_GDB_EXTENSION.
-       (DEFAULT_GDB_EXTENSIONS): Define it
-       (PREFERRED_DEBUGGING_TYPE): Use it.
+       * config/elfos.h (UNIQUE_SECTION): Apply STRIP_NAME_ENCODING on name.
 
-Mon Nov 25 17:18:52 1991  Jyrki Kuoppala  (jkp at batman.hut.fi)
+2000-10-09  Richard Henderson  <rth@cygnus.com>
 
-       * ns32k.md (ashlhi3): use addw also on 32532 if shiftcount is 1.
-       (ashlqi3): likewise.
-       (addsi3): don't use addr instead of addd on the 32532.
+       * Makefile.in (LANG_LIB2FUNCS): Remove.
+       (LIB2FUNCS): Remove _pure.
+       (LIB2ADD): Remove LANG_LIB2FUNCS.
+       (stage_a): Don't set LANG_LIB2FUNCS.
+       * libgcc2.c (__terminate): Mark noreturn.
+       (__pure_virtual): Remove.
+       * mklibgcc.in: Remove LIB2ADD .txt processing.
 
-       * out-ns32k.c (calc_address_cost): don't assume unknown RTX codes
-       have XEXP's which are rtx's.
+2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
 
-       * ns32k.md (movsi): don't use addr for the 32532 immed displacements.
-       (shift patterns): fixed a typo with %$%n.
+       * arm.md (push_multi): Revert unintended change.
 
-       * out-ns32.c (calc_address_cost) new function.
-       tm-ns32k.h (ADDRESS_COST): call calc_address_cost.
+2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
 
-       * out-ns32k.c (print_operand_address): use error & debug_rtx if error.
+       * arm.c: Miscellaneous white space and comment clean-ups.  No
+       functional change.
+       * arm.md: Likewise.
 
-       * tm-ns32k.h (CONST_OK_FOR_LETTER_P): constraint 'I' shouldn't
-       match anything on the 32532 to make negative arithmetic left
-       shifts behave consistently.
+2000-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * ns32k.md (subsf+1): don't use ajdspb on the 32532.
+       * c-common.c (c_expand_builtin_printf): Set the TREE_TYPE of a new
+       STRING_CST by calling combine_strings.
 
-       * tm-ns32k.h (CONST_OK_FOR_LETTER_P): positive values not OK for
-       constraint 'I' if on 32532.
+2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
 
-       * ns32k.md (ashl??): if TARGET_32532, use lsh{d,w,b}.
+       * arm.c (thumb_expand_movstrqi): Rewrite to support SSA form.
+       (thumb_output_move_mem_multiple): Support new insn format.
+       * arm.md (movmem12b): Use SSA compatible format.
+       (movmem8b): Likewise.
 
-       * ns32k.md (adjusting stack pointer): don't use ajdp{b,w} if not 32532.
+2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
 
-       * ns32k.md (isv,insv-1,insv-2,extzv): use constraint K instead of
-       n for offset.
+       * arm.md (predicable): New attribute, default to "no".
+       (all patterns): Mark as predicable if appropriate.
+       (conditional execution splits): Split using predication format.
+       (define_cond_exec): Define.
+       * arm.c (arm_print_operand): handle insn predicate.
 
-       * ns32k.md (insv-1): use only register_operand with constraint
-       "r" for operand 2, insd can't take constant offsets >= 8.
-       (pattern insv-2): added another insv-like pattern, for
-       offsettable operand.
-       (insv): constraint should be "+g".
-       (pattern before insv): installed an insv-like pattern
-       with operand 0 having register_operand and SImode.
+2000-10-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
-       * out-ns32k.c (print_operand): define as a void function.
+       * README.NS32K: Remove file.
 
-       * ns32k.md (call_value): use operands[1], not operands[0] to check
-       for CONSTANT_ADDRESS_P.
+2000-10-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
-       * out-ns32k.c (print_operand): eliminate
-       PRINT_OPERAND_EXTRACT_FLOAT, don't depend on HOST_WORDS_BIG_ENDIAN.
+       * README-bugs: Remove file.
 
-       * tm-ns32.h (INDIRECTABLE_1_ADDRESS_P): use CONSTANT_ADDRESS_P,
-       not CONSTANT_P.
+2000-10-08  Philipp Thomas  <pthomas@suse.de>
+       * aclocal.m4 (AM_GNU_GETTEXT): Fix non portable use of == operator
+       for test.
+       * configure: Rebuilt.
 
-       * tm-ns32k.h (GO_IF_LEGITIMATE_ADDRESS): checking for CONST_INT
-       is not right because displacements are not 32-bit.  Use
-       CONSTANT_ADDRESS_NO_LABEL_P instead.
+2000-10-08  Philipp Thomas  <pthomas@suse.de>
+       * aclocal.m4 (AM_WITH_NLS): When not using included gettext,
+       disable catalog building if no suitable program was found.
+       Move warning message from here
+       (AM_GNU_GETTEXT): To here.
+       * configure: Rebuilt.
 
-       * tm-ns32k.h (output_move_double, output_shift_insn): New declarations.
+2000-10-08  Philipp Thomas  <pthomas@suse.de>
+       * aclocal.m4 (GCC_PATH_PROG): New. Like AC_PATH_PROG but uses
+       different cache variables.
+       (GCC_PATH_PROG_WITH_TEST): New. Like AM_PATH_PROG_WITH_TEST but
+       uses different cache variables.
+       (AM_WITH_NLS): Use GCC_PATH_PROG and GCC_PATH_PROG_WITH_TEST.
+       * configure: Regenerated.
 
-       * out-ns32k.c (print_operand_address): Use fatal for errors.
+2000-10-08  Richard Henderson  <rth@cygnus.com>
 
-       * ns32k.md (insv, extzv): Replaced with the pattern near insv in 1.40.
+       * Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS.
+       * configure.in (sparc*-*-solaris*): Use t-slibgcc{,-sld}.
+       * mklibgcc.in: Consider SHLIB_LINK the entire shlib build command.
+       Use SHLIB_EXT.
 
-       * out-ns32k.c (print_operand): function moved from tm-ns32k.h.
-       Modified to use PUT_IMMEDIATE_PREFIX, PUT_EXTERNAL_PREFIX; added
-       macro PRINT_OPERAND_EXTRACT_FLOAT.
+       * config/t-linux (SHLIB_EXT): New.
+       (SHLIB_LINK): Use the entire build command, with substitutions.
+       (SHLIB_LIBS): Remove.
+       * config/alpha/t-osf4: Likewise.
+       * config/mips/t-iris6: Likewise.
+       * config/sparc/t-sol2: Likewise, but move shlib stuff...
+       * config/sparc/t-slibgcc-sld: ...here.
+       * config/sparc/t-slibgcc: New file.
 
-       * out-ns32k.c (print_operand_address): replaced the function with
-       a more clean version, written for gas syntax.
+2000-10-08  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * ns32k.md (call): #if 0 code which was used when GAS_SYNTAX was not
+       * tm.texi (INTMAX_TYPE, UINTMAX_TYPE): Define.
+       * c-common.h (enum c_tree_index): Add CTI_INTMAX_TYPE and
+       CTI_UINTMAX_TYPE.
+       (intmax_type_node, uintmax_type_node): Define.
+       * c-common.c (decl_attributes): If pedantic, warn if `mode'
+       attributes create a type wider than intmax_t.
+       (T_IM, T_UIM): Define properly.
+       * c-decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already
        defined.
-       (call_value): likewise.
-
-       * ns32k.md (pattern after ashrsi3): added % before $ so the
-       pattern works also for gas syntax.
-       (pattern after ashrhi3): likewise.
-       (pattern after ashrqi3): likewise.
-       (pattern after lshrsi3): likewise.
-       (pattern after lshrhi3): likewise.
-       (pattern after lshrqi3): likewise.
-       (pattern after rotrsi3): likewise.
-       (pattern after rotrhi3): likewise.
-       (pattern after rotrqi3): likewise.
-
-       * ns32k.md (movsf): put #ifndef GAS_SYNTAX part inside #if 0 since
-       for now we only use GAS syntax.
-
-       * tm-ns32k.h (INDIRECTABLE_2_ADDRESS_P): add TARGET_SB as a
-       condition in addition to CONSTANT_ADDRESS_P.
-
-       * tm-ns32k.h (MEM_REG): use CONSTANT_ADDRESS_P instead of GET_CODE
-       == SYMBOL_REG, add TARGET_SB to the second-part condition.
-
-       * ns32k.md (rotrsi3): fixed a typo NEGATE->NEG
-
-       * tm-ns32k.h: added a comment about CONSTANT_ADDRESS_P; it's not
-       strictly according to the spec.
-
-       * tm-ns32k.h: added defaults for ABSOLUTE_PREFIX,IMMEDIATE_PREFIX
-       etc, using gas syntax.
-
-       * out-ns32k.c: removed macro FP_REG_P.
-
-       * tm-ns32k.h: (ASM_OUTPUT_ALIGN_CODE): changed alignment from 4 to
-       2 since GAS syntax is the default assembler syntax now.
-       (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): defined to call
-       print_operand and print_operand_address in out-ns32k.c,
-       respectively.
-
-       * tm-ns32k.h: New macros TARGET_SB, TARGET_PIC.
-       Dummy code for trampolines, calls fatal().
-       Macro FP_REG_P moved here from out-ns32k.c.
-       Some reorganizations of blocks.
-       68000 -> ns32k.
-
-       * tm-ns32k.h (TARGET_VERSION) says GAS syntax.
-       (TARGET_*) added some empty lines for clarity.
-
-Mon Nov 25 14:29:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * Makefile.in (aux-output.o): Depend on insn-codes.h.
-
-       * make-cc1.com: Handle print-rtl.c.
-
-       * toplev.c (warn_aggregate_return): New variable.
-       (W_options): Define option to set it.
-       * flags.h: Declare it.
-       * calls.c (expand_call): Print warning if value is aggregate.
-       * function.c (init_function_start): Likewise.
-
-Mon Nov 25 13:29:50 1991  Per Bothner  (bothner at cygnus.com)
-
-       * cp-except.c (init_exception_processing): Fix return type of
-       longjmp (from int to void).
-
-Mon Nov 25 13:11:51 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       * rtlanal.c (refers_to_regno_p): Check for `x == 0' on repeat.
-
-       * x-mips, xm-vms.h: Change cplus-* to cp-* in comments.
-       * x-tower (X_CFLAGS): Add missing `-'.
-
-       * unroll.c (unroll_loop): When simplifying loops executed only once,
-       use last_loop_insn not copy_end.
-
-Mon Nov 25 07:45:46 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
-
-       * cp-except.c (init_exception_processing): Mark `ExceptionHandler'
-       constructor and destructor as being TREE_EXTERNAL, and mark the
-       `ExceptionHandler' type as being interface-only.
-
-       * cp-decl.c (maybe_globalize_type): Don't test TYPE_BEING_DEFINED
-       for ENUMERAL_TYPE.
+       (init_decl_processing): Initialize intmax_type_node and
+       uintmax_type_node.
+       * c-lex.c (lex_number): When pedantic and warning for integer
+       constants that are too large, in C99 mode warn for those that have
+       a type wider than long long.
+
+2000-10-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (FMT_FLAG_ARG_CONVERT, FMT_FLAG_SCANF_A_KLUDGE,
+       FMT_FLAG_FANCY_PERCENT_OK): Define.
+       (format_char_info): Add flag "4" to comment.
+       (format_flag_spec, format_flag_pair): New structures.
+       (format_kind_info): Add additional fields to control format
+       checking.
+       (printf_flag_specs, printf_flag_pairs, scanf_flag_specs,
+       scanf_flag_pairs, strftime_flag_specs, strftime_flag_pairs): New
+       arrays.
+       (time_char_table): Use "4" flag to handle %Ey.
+       (format_types): Add entries for new fields.
+       (get_flag_spec): New function.
+       (check_format_info): Increase size of flag_chars[] to 256.
+       Control format checking using the new fields of a format_kind_info
+       and the new tables; remove all conditionals on printf_format_type,
+       scanf_format_type or strftime_format_type.  Handle all details of
+       bad combinations of flags (including width, precision and strftime
+       modifiers) through data rather than ad hoc code.  Handle all
+       details of standard versions in which flags appeared through
+       data.  Use the "4" flag.
 
-       * cp-class.c (modify_vtable_entry): Disable code which attempts to
-       encode in a vtable an indirection to another vtable entry.
+2000-10-07  Will Cohen  <wcohen@redhat.com>, Kazu Hirata  <kazu@hxi.com>
 
-       * cp-call.c (build_method_call): Convert FUNCTION to
-       DECL_MAIN_VARIANT (FUNCTION) once we are going to use it for real.
-       * cp-init.c (build_delete): Use DECL_MAIN_VARIANT (DTOR).  *
-       * cp-typeck.c (mark_addressable): Use DECL_MAIN_VARIANT (X).
+       * config/h8300/h8300.md: Remove the memory alternative and correct
+       the insn lengths in the templates for sign extension and zero
+       extension.
 
-Mon Nov 25 00:41:14 1991  Per Bothner  (bothner at cygnus.com)
+2000-10-07  Richard Henderson  <rth@cygnus.com>
 
-       * dbxout.c (dbxout_type): Tiemann's DECL_IGNORED_P optimization (Nov
-       20) was a little too drastic: If it succeded, no type info was
-       emitted at all, which made for syntactically invalid stabs.
-       Instead, just set 'full=0',
-       * dbxout.c (dbxout_symbol): Re-write code for TYPE_DECL to be a
-       little cleaner.  It *seems* to work ...
+       * calls.c (expand_call): Disallow sibcalls to noreturn functions.
+       * flow.c (make_edges): Revert last change.
 
-Sun Nov 24 19:32:07 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Don't test
+       TREE_THIS_VOLATILE.
+       * config/pa/pa.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
 
-       * sched.c (update_links): Use PUT_REG_NOTE_KIND to change REG_NOTE.
+2000-10-06  David O'Brien  <obrien@dragon.nuxi.com>
 
-Sun Nov 24 14:53:37 1991  Ron Guilmette  (rfg at ncd.com)
+       * config/alpha/elf.h: Standardize the formatting.
 
-       * cccp.c: Add `return 0;' statements to all do_* functions which
-       needed them to prevent spurious warnings.  Also change plain
-       `return;' statements to `return 0;' statements where appropriate.
+2000-10-06  David O'Brien  <obrien@FreeBSD.org>
 
-Sun Nov 24 07:37:17 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an
+       #undef.
+
+2000-10-06  Richard Henderson  <rth@cygnus.com>
 
-       * cse.c (cse_insn): When making equivalences of subparts of
-       a SET, avoid putting a (hard) register in the hash table twice,
-       each time with different modes.
+       * function.c (diddle_return_value): Examine
+       current_function_return_rtx instead of the DECL_RESULT.
+       (expand_function_end): Handle reloading DECL_RESULT from memory
+       into a hard register.  Query promote_mode for sign of mismatched
+       modes.
+
+2000-10-06  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
 
-       * genrecog.c (write_tree_1,change_state): Don't check for a position
-       containing a '*' since we don't set it to that.
-       (main): Don't define recog_addr_dummy; no longer used.
-       * recog.c (recog_addr_dummy): No longer needed; wasn't actually used.
-       (init_recog_no_volatile, init_recog): Don't set recog_addr_dummy.
+       * haifa-sched.c (schedule_insns): Fix typo in freeing
+       forward_dependency_cache.
 
-       * expmed.c (store_split_bit_field, extract_bit_field): Abort if 
-       operand_subword of target returns 0.
-       * expr.c (convert_move, move_block_from_reg, emit_move_insn): Likewise.
+2000-10-06  Alexandre Oliva  <aoliva@redhat.com>
 
-       * combine.c (subst, case SUBREG): Don't allow making a SUBREG of
-       a hard reg in a mode not valid for that hard reg.
-       * emit-rtl.c (gen_lowpart_common, operand_subword): Likewise.
+       * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add
+       `TARGET_SH2' as a condition.
 
-       * expmed.c (extract_split_bit_field): Use operand_subword_force.
-       * expr.c (emit_move_insn): If operand_subword fails for non-const,
-       use operand_subword_force.
+2000-10-06  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
+
+       * haifa-sched.c (anti_dependency_cache, output_dependency_cache,
+       forward_dependency_cache): New variables.
+       (add_dependence, remove_dependence): Use anti_dependency_cache and
+       output_dependency_cache.
+       (compute_block_forward_dependences): Use forward_dependency_cache.
+       (schedule_insns): Allocate and free memory for anti/output/forward
+       dependencies caches.
+
+2000-10-06  Alexandre Oliva  <aoliva@redhat.com>
 
-       * expmed.c (expand_mult): Pass OP0 through protect_from_queue so we can
-       use it in a REG_EQUAL note and check it for being a MEM.
+       * config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
+       `! TARGET_SH1'.  Reindent.
 
-       * rtl.def (SMIN, SMAX, UMIN, UMAX): New RTL codes.
-       * fold-const.c (const_binop, case MIN_EXPR, MAX_EXPR): Use MIN and MAX.
-       (fold, case MIN_EXPR, MAX_EXPR): Check for operands equal; check for
-       min (x, lowest-value-for-type) and max (x, highest-value-for-type).
-       (fold, case COND_EXPR): Look for conditionals that are equivalent
-       to ABS_EXPR, MIN_EXPR, or MAX_EXPR and convert them to the appropriate
-       expression.
-       * expr.h (smin_optab, smax_optab, umin_optab, umax_optab): New vars.
-       * gcc.texinfo (smin, smax, umin, umax): Add documentation.
-       * expr.c (expand_expr, case ABS_EXPR): Ignore ABS on unsigned types.
-       If jumps are expensive, we can do ABS with shifts and xors.
-       (expand_expr, case MIN_EXPR, MAX_EXPR): Try to do using new optabs.
-       * optabs.c (smin_optab, smax_optab, umin_optab, umax_optab):
-       Initialize new optabs.
-       * cse.c (simplify_binary_operation): New cases SMIN, SMAX, UMIN, UMAX.
-       * rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3): New patterns.
-       * m88k.md (abssi2): Delete pattern; now done in expr.c.
+2000-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * rs6000.md (scc): Correct typos in last change.
+       * builtins.c (is_valid_printf_arglist, expand_builtin_printf):
+       Move functions from here ...
 
-       * expmed.c (expand_mult): TARGET will only be written once, so
-       function return register is OK.
-       Write a REG_EQUAL note so multiplications can be cse'ed.
+       * c-common.c (is_valid_printf_arglist, c_expand_builtin_printf):
+       ... to here.
+       (c_expand_builtin): New function.
+       (init_function_format_info): Don't set `check_function_format_ptr'.
+       (c_common_nodes_and_builtins): Set built_in_class type for
+       printf/__builtin_printf to BUILT_IN_FRONTEND.
+       (c_expand_expr): Handle CALL_EXPRs that are front-end builtins.
 
-       * expmed.c (emit_store_flag): Skip trying most sequences of insns
-       if branches are very cheap (BRANCH_COST == 0).
-       * expr.c (expand_expr, case COND_EXPR): Check for BRANCH_COST <= 1,
-       not equal to 1.
-       Know that emit_store_flag won't do most sequence if branches are very
-       cheap.
+       * c-common.h (build_function_call): Declare.
 
-       * tm-vax.h (BRANCH_COST): Define to be equal to zero.
+       * expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND
+       to `lang_expand_expr' rather than `expand_builtin'.
 
-Sun Nov 24 07:07:31 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * tree.c (check_function_format_ptr): Delete.
 
-       * cp-decl.c (maybe_globalize_type): Don't globalize a type that's
-       being defined.
+       * tree.h (check_function_format_ptr): Likewise.
 
-Sun Nov 24 05:08:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-10-06  Hans-Peter Nilsson  <hp@bitrange.com>
 
-       * c-decl.c (finish_struct): Use main variant checking ANSI bitfields.
+       * dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or
+       DW_OP_bregx when cfa->reg > 31.
 
-       * tm-tower-as.h (ASM_FILE_START): Use output_file_directive.
+       * frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing
+       break.
 
-       * gcc.c (process_command): Treat `-' as file name, not option.
+2000-10-05  Richard Henderson  <rth@cygnus.com>
 
-Sat Nov 23 20:28:58 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-decl.c (warn_missing_noreturn): Remove.
+       (c_expand_body): Don't set or check can_reach_end.
+       * c-tree.h (warn_missing_noreturn): Move ...
+       * flags.h: ... here.
+       (can_reach_end): Remove.
+       * flow.c (check_function_return_warnings): New.
+       (make_edges): No edge to exit for noreturn sibcalls.
+       * function.c (expand_function_end): Save the return value
+       clobber instruction.
+       (mark_function_status): Mark it.
+       * function.h (struct function): Add x_clobber_return_insn.
+       * jump.c (can_reach_end): Remove.
+       (calculate_can_reach_end): Remove.
+       (jump_optimize_1): Don't call it.
+       * output.h (check_function_return_warnings): Declare.
+       * toplev.c (warn_missing_noreturn): Move from c-decl.c
+       (rest_of_compilation): Call check_function_return_warnings.
 
-       * cse.c (simplify_binary_operation): Remove duplicate code for SFmode
-       and DFmode; use of REAL_VALUE_TRUNCATE means that all modes can be
-       handled with the same code.
-       Truncate result as well as inputs to computations.
+2000-10-05  Richard Henderson  <rth@cygnus.com>
 
-       * cse.c (cse_basic_block): Allow recording of destinations in the
-       final insn of a LIBCALL block.
+       * Makefile.in (NM_FOR_TARGET): New.
+       (libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES.
+       (libgcc.a, stmp-multilib): Pass NM_FOR_TARGET.
+       * mklibgcc.in: If SHLIB_MKMAP, build libgcc.map.  Depend the
+       shared library build on that and EXTRA_MULTILIB_PARTS.
+       * mkmap-flat.awk: New file.
+       * mkmap-symver.awk: New file.
+       * libgcc-std.ver: New file.
+       * config/libgcc-glibc.ver: New file.
+       * config/ia64/libgcc-ia64.ver: New file.
+       * config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+       (SHLIB_LINK): Add --version-script.
+       * config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver.
+       * config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+       * config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+       (SHLIB_LINK): Add -M.
 
-       * flow.c (insn_dead_p): Add new argument CALL_OK.
-       (propagate_block): Pass new arg.
-       (libcall_dead_p): Indicate that we can accept a CALL when we use
-       insn_dead_p to see if the destination of the CALL is dead.
+2000-10-05  Richard Henderson  <rth@cygnus.com>
 
-       * genrecog.c (struct decision): Remove fields `dupcount'
-       and `reg_class' and all references; they were being set but never
-       used and are now obsolete.
+       * Makefile.in (LIB2FUNCS): Add _clz.
+       * libgcc2.c (__ffsdi2): Use count_trailing_zeros.
+       (__clz_tab): Put in its own unit, non-static.
+       * libgcc2.h: Always include longlong.h.
 
-       * emit-rtl.c (gen_lowpart_common, operand_subword): Don't make
-       a new REG for the function return value until we after the RTL
-       is copied for possible inlining; use a SUBREG instead.
+       * longlong.h [alpha] (count_leading_zeros): Use cmpbge with
+       a zero instead of -1.
+       (count_trailing_zeros): Likewise.
 
-       * combine.c (can_combine_p): Don't move insn past a volatile ref if
-       it is an `asm', even if non-volatile.
+2000-10-05  Richard Henderson  <rth@cygnus.com>
 
-       * gmicro.md: Fix punctuation problem causing syntax error.
+       * config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests
+       when second op1 is const0_rtx.  Validate op0 as a register.
+       * config/alpha/alpha.md (setcc_internal): Don't allow constants
+       in the first argument of the compare.
+       (setcc_swapped_internal): Likewise.
+       (setne_internal): Likewise.
 
-       * tm-rs6000.h (CONST_OK_FOR_LETTER_P): Add `O' and `P'.
-       * out-rs6000.c (reg_or_neg_short_operand): New function.
+2000-10-05  Geoff Keating  <geoffk@cygnus.com>
 
-       * rs6000.md (attribute "type"): New type `delayed_compare'.
-       Add define_function_unit for delayed comparisons.
-       Mark comparison results of certain insns as being delayed for
-       longer that normal comparison results; add a new missing types
-       of `compare'.
-       (seq, sle): Remove special-cases for (const_int 0) operands; use
-       alternative with constraint of `O' instead.
-       (sltu, sgeu): Support most constants in second operand.
+       * tree.c (tree_size): New function split out of copy_node.
+       (make_node): Remove obstack handling.  Use tree_size.
+       (copy_node): Use tree_size.
+       * tree.h: Prototype tree_size.
 
-       * cse.c (prev_insn_cc0_mode): New variable.
-       (fold_rtx): When folding CC0, get the mode from prev_insn_cc0_mode.
-       (cse_insn): Save mode of SET of CC0 in prev_insn_cc0_mode.
+2000-10-05  Richard Henderson  <rth@cygnus.com>
 
-Sat Nov 23 17:01:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * diagnostic.c (output_format): Add missing break.
 
-       * expmed.c (init_expmed): Make REG a pseudo, not a hard reg.
+2000-10-05  Jim Wilson  <wilson@cygnus.com>
 
-       * tm-m68k.h (RTX_COSTS): New macro.
+       * function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a
+       SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last
+       sequence insn to INSN, and delete last sequence insn.
 
-       * varasm.c (make_decl_rtl): Get rid of pedantic warning.
+2000-10-05  Phil Edwards  <pme@gcc.gnu.org>
 
-       * gcc.c (link_command_spec): Delete code for handling -collect.
-       (default_compilers): Get rid of the %x for g++.
-       This is because now collect is always supposed to be run.
+       * gcc.c (main): Include generated configargs.h header
+       and use arguments in '-v' output.
 
-       * tm-vms.h (ASM_OUTPUT_COMMON): Avoid void as type in :? operator.
-       * tm-sun3.h (ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND):
-       Likewise.
-       * tm-vaxv.h (ASM_OUTPUT_ASCII): Declare `s' as unsigned char *.
-       * tm-crds.h (FUNCTION_EPILOGUE): Don't call FUNCTION_EXTRA_EPILOGUE.
+Thu Oct  5 16:16:57 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * configure (i386-dontknow-*, ns32k-*-*): Alternatives deleted.
-       (m68k-tti2-*): Deleted.
-       (m68k-tti-*): Renamed from m68k-tti1-*.
+       * gcc.c: Move data on prefixes forward in file and reorganize.
+       (md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1):
+       Always define, but make null if no value.
+       (static_specs): Add "md_exec_prefix", "md_startfile_prefix",
+       and "md_startfile_prefix_1".
+       (main): Check whether md_exec_prefix and the others are the
+       null string rather than whether the macro is defined.
 
-       * i860.md (floatsidf2): Escape the doublequotes.
+Thu Oct  5 19:04:18 2000  J"orn Rennecke <amylaar@redhat.co.uk>
 
-       * Makefile.in (final.o): Add insn-codes.h as dep.
-       (OBJS): Add dbxout.o.
-       (C_OBJS, OBJC_OBJS): Deleted here.
-       (CPLUS_OBJS): Deleted cp-dbxout.o.
-       (cp-dbxout.o): Target deleted.
+       * (convert_move): Use zero_extendpsisi2 to do an unsigned extension
+       from PSImode to SImode.
 
-Sat Nov 23 06:33:24 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-10-05  Jakub Jelinek  <jakub@redhat.com>
 
-       * cp-spew.c (yylex): Don't see TYPENAME if LOOKING_FOR_TYPENAME
-       is < 0.  Definitely see TYPENAME if LOOKING_FOR_TYPENAME > 0.
+       * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion
+       from float to integral mode with HOST_BITS_PER_WIDE_INT 64.
+       * dwarf2out.c (add_const_value_attribute): Divide by 4, not
+       sizeof(long).
+
+Thu Oct  5 09:31:31 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * cp-decl.c (grokdeclarator): Any type construction that uses a
-       struct/union/enum type that is not yet defines pushes that type into
-       the global namespace.
+       * fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform
+       negation in proper type.a
 
-       * cp-spew.c (discard_token): Renamed from `eat_token'.
-       Also, make all local functions static.  Some day we'll use inlining.
+2000-10-04  Richard Henderson  <rth@cygnus.com>
 
-Thu Nov 21 16:06:14 1991  Mark Eichin  (eichin at cygnus.com)
+       * configure.in (enable-shared): New.
+       * Makefile.in (LIBGCC_DEPS): Depend on EXTRA_PARTS as well.
+       (libgcc.mk): Pass SHLIB_LINK, SHLIB_LIBS, SHLIB_MULTILIB to mklibgcc.
+       * mklibgcc.in: Use them to link shared a libgcc.
+       * config/t-linux (SHLIB_LINK, SHLIB_LIBS): New.
+       * config/alpha/t-ieee (SHLIB_MULTILIB): New.
+       * config/mips/t-iris6 (SHLIB_LINK, SHLIB_LIBS): New.
+       * config/sparc/t-sol2 (SHLIB_LINK, SHLIB_LIBS): New.
 
-       * Makefile.in: added rule for cp-spew.o
+       * configure.in (alpha-osf*): Use t-osf and x-osf.
+       * config/alpha/t-osf: New file.
+       * config/alpha/t-osf4: New file.
+       * config/alpha/x-osf: New file.
+       * config/alpha/x-alpha: Remove file.
 
-       * cp-parse.y (TYPENAME_SCOPE): added an action, since it is no
-       longer done in the lexer.
-       (yyprint): Took out case for TYPENAME_SCOPE.
+2000-10-04  Will Cohen  <wcohen@redhat.com>
 
-       * cp-lex.c (real_yylex): renamed from yylex. Also all of the code
-       dealing with nested classes has been #if 0'd in favor of the code in
-       cp-spew.c.
+       * c-typeck.c (process_init_element): Added warning for zero-length
+       array.
 
-       * cp-spew.c (New File): This calls yylex (which is now real_yylex)
-       and looks ahead as far as possible to bind up nested classes and
-       pass them on to the parser.
+       * extend.texi (Zero Length): State that static initializers for
+       zero-length arrays are not allowed.
 
-Thu Nov 21 18:14:11 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+Mon Oct  2 14:50:14 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
-       * out-sparc.c (output_function_epilogue): Correct parameters in
-       call to final_scan_insn, write_symbols parameter no longer exists.
+       * rtlanal.c (single_set_1): Do not require USE and CLOBBERs
+       to come last.
 
-       * integrate.c (save_for_inline_copying): Use GET_RTX_CLASS.
+2000-10-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-Thu Nov 21 17:44:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/float-c4x.h: New.
+       * configure.in (c4x-*): Set float_format to c4x.
+       * configure: Regenerate.
 
-       * gcc.texinfo (PCC_BITFIELD_TYPE_MATTERS): Clarify that macro
-       must always be non-zero unless MEM extv/extzv/insv exist.
+2000-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * romp.md (movdi): Disable define_split when we are moving
-       between overlapping registers prior to reload to work
-       around hard-to-fix sched.c bug.
+       * configure.in (sparc-*-solaris2*): Disable 32-to-64 cross
+       compilation for solaris versions 2.7 and greater.
 
-Thu Nov 21 17:14:54 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+2000-10-02  Marc Espie <espie@openbsd.org>
 
-       * jump.c (invert_exp): Correct typo in comment.
+       * config/alpha.h (WORD_SWITCH_TAKES_ARG): add -rpath to default,
+       instead of redefining from scratch.
 
-Thu Nov 21 15:34:27 1991  Michael Meissner  (meissner at osf.org)
+2000-10-02  David O'Brien  <obrien@dragon.nuxi.com>
 
-       * gcc.texinfo (warning options): Make the documentation agree with
-       the code, -Wstrict-prototypes and -Wmissing-prototypes are not
-       turned on via -Wall; -Wnoparenthesis is now spelled
-       -Wno-parenthesis.
-       (option header): Mention that -W options take the no- prefix as well
-       as -f options.
+       * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
 
-Thu Nov 21 08:12:51 1991  Tom Wood  (wood at dg-rtp.dg.com)
+2000-10-01  Mark Mitchell  <mark@codesourcery.com>
 
-       * out-m88k.c (check_float_value): Change use of REAL_VALUE_TRUNCATE.
-       * tm-m88k.h (FLOAT_TO_INT_INTERNAL): Ditto.
-       (AS_BUG_POUND_TYPE): Simplify.
-       * tm-m88kdgux.h: Don't need AS_BUG_DOT_LABELS or AS_BUG_POUND_TYPE.
+       * config/ns32k/genix.h: Remove.
+       * config/ns32k/x-genix: Likewise.
+       * config/ns32k/xm-genix.h: Likewise.
+       * config/fx80: Remove all filee in directory.
+       * config/pyr: Likewise.
+       * config/tahoe: Likewise.
+       * config/gmicro: Likewise.
+       * config/spur: Likewise.
+       * configure.in: Remove configury bits for above targets.
+       * configure: Regenerated.
 
-Thu Nov 21 06:47:11 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * configure.in: Don't configure chill by default.
+       * configure: Regenerated.
 
-       * rs6000.md (scc): Add missing '&' in some alternatives of constraints.
+       * c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
+       (lang_mark_false_label_stack): Remove.
+       * c-lex.c (init_c_lex): Add file_info_tree as GC root.  Allocate
+       <top level> string in GC area.
+       (mark_splay_tree_node): New function.
+       (mark_splay_tree): Likewise.
+       * except.c (mark_eh_status): Only call lang_mark_false_label_stack
+       if it exists.
+       * ggc-callbacks.c (lang_mark_false_label_stack): Remove.
+       * ggc-common.c (lang_mark_false_label_stack): Change type.
+       * ggc.h (ggc_alloc_string): Add comment.
+       (ggc_strdup): New function.
 
-       * a29k.md (negdf2): Fix typo in constraints for SCRATCH in 29050 case.
+Sat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru>
 
-       * real.h (REAL_VALUE_TRUNCATE): Default is to truncate to float if
-       mode size is BITS_PER_WORD instead of when mode if SFmode.
+       * config/avr/avr.h (BRANCH_COST): Define as 0.
 
-Thu Nov 21 01:58:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/pdp11/pdp11.c: #include "tree.h" added.
 
-       * dbxout.c (dbxout_type): Test TYPE_BINFO before TYPE_BINFO_BASETYPES.
-
-Thu Nov 21 01:45:53 1991  Ken Raeburn  (raeburn@cygnus.com)
+2000-09-30  Marek Michalkiewicz  <marekm@linux.org.pl>
 
-       * cp-parse.y (unary_expr): Break out `new' expressions with
-       parenthesized types into more basic forms, and handle trailing array
-       dimensions with an appropriate warning message.
+       * config/avr/avr.c (ashlhi3_out, ashlsi3_out, ashrhi3_out,
+       ashrsi3_out, lshrhi3_out, lshrsi3_out): Optimize more cases
+       with known shift count.
+       * config/avr/avr.md (ashlsi3, ashrsi3, lshrsi3):
+       New alternative for shift count 2 with no scratch register.
+       (ashlhi3, ashlsi3): Change "cc" attribute from "clobber" to
+       "set_n" for shift counts 1 and 2.
 
-       * cp-class.c (pushclass): For UPType, overload the template name.
-       (popclass): For UPType, undo the overload.
-
-       * cp-decl.c (pop_decl_level): Don't look up DECL_NAME slot of a
-       null pointer.
-       (pushdecl_top_level): Reworked handling of shadow lists to be
-       correct.
-       (lookup_tag): Bypass redefinition error message for UPT as well as
-       for TEMPLATE_DECL.
-       (start_decl): Add template decls only to top level.  Print message
-       for non-function, non-class templates.
-       (finish_decl): Disable code that renames anonymous types; leave it
-       disabled until we figure out why it was being done in the first
-       place.
-       (grokdeclarator): Eliminate hack to deal with destructor templates.
-       Extend some code handling constructors to handle destructors as
-       well.  Deleted some unnecessary code dealing with function
-       templates.
-
-       * cp-decl2.c (constructor_name): Treat class template decl like
-       type decl.
-
-       * cp-lex.c (store_pending_inline): If a function is not to be
-       compiled, discard its text only if can_free flag is set.
-
-       * cp-decl.c (start_function): For `pre-parsed' functions, only
-       set extern-inline flag if inline flag is set.
-       * cp-lex.c (do_pending_inlines): Don't set inline flag for method
-       templates, regardless of default-inline flag setting.
-       (process_next_inline): Ditto.
-
-       * cp-method.c (dump_type): Do something semi-useful with UPT
-       nodes, instead of crashing.
-       (fndecl_as_string): For constructor and destructor, use name of
-       function rather than looking up class constructor name; should be
-       the same, and it's cheaper this way.
-       (build_overload_name): Make template-related names unique, as well
-       as unlikely to be accepted by the assembler.
-
-       * cp-parse.y (yyprint): Handle PRE_PARSED_CLASS_DECL.
-       (template_def): In case handling destructors, pass new decl to
-       end_template_decl, rather than ungrokked call_expr node.  Rewrote
-       last derivation.
-       (scoped_typename): Don't try building from template type; it doesn't
-       work.
-       (try_for_typename): Treat typename using template parms like any
-       other typename.
-
-       * cp-pt.c: New comment at start lists some known problems.
-       (end_template_decl): Do nothing for error_mark_node.  Check
-       DECL_CLASS_CONTEXT and DECL_EXTERNAL when setting TREE_EXTERNAL
-       field of template decl.  Don't need to pop extra class level for
-       non-operators any more, but do need to assign class context field.
-       (instantiate_member_templates): Now returns void.
-       (tsubst, case FUNCTION_DECL): Process flag fields of method as for
-       other functions.  Handle class context field.  Push decl at top
-       level only if decl context is null.
-       (tsubst, case TREE_LIST): Use via-public and via-virtual fields.
-       (do_pending_expansions): Correct handling of methods.
-
-       * cp-pt.c (overload_template_name): If not class-level, push
-       extra binding level.  Disable check that overload hasn't already
-       been done; for now, it's needed.
-       (undo_template_name_overload): Pop it.
-
-Thu Nov 21 00:15:33 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       * dbxout.c (dbxout_type_methods): Don't dereference TYPE_NAME and
-       ctor_name until after checking for non-null methods.
-
-       * sched.c (create_reg_dead_note): New function.  Add a REG_DEAD note
-       for REG to INSN, reusing a REG_DEAD note from the dead_notes line.
-       (attach_deaths): Add quick exit for many rtx that can't contain a
-       register.  Rewrite REG_DEAD note code to use the new scheme (see
-       the Nov 1 ChangeLog entry).
-       (new_insn_dead_notes): Don't add a REG_DEAD note to an insn that
-       already has one.
-       (update_links): Must convert REG_UNUSED notes to REG_DEAD when a
-       register formerly just clobbered is now explicitly set and used in
-       the new split insns.
-
-Wed Nov 20 18:02:38 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       * c-decl.c, cccp.c: Change all -Wno options to
-       -Wno- options so as to be consistent with toplev.c, and so as
-       to also be consistent with the -fno- options.
-       * objc-actions.c: Add a -Wno-selector option to match the
-       -Wselector option.
-
-       * gcc.c (default_compilers): Pass all -W options to cpp, so that
-       -Wno options will be passed along with the -W options that it
-       understands.
-       * cccp.c (main): Accept -Wno option counterparts for every
-       existing option.
-
-Wed Nov 20 00:03:41 1991  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cp-tree.c (lang_output_debug_info): Deleted.
-       * cp-class.c (finish_struct): Set DECL_IGNORED_P on the TYPE_DECL
-       nodes for types that should not have their debugging info written
-       out.
-       * dbxout.c (dbxout_{symbol,type}): Check DECL_IGNORED_P for
-       TYPE_DECLs of RECORD_TYPE nodes.
-
-       * cp-decl.c (grok_op_properties): Fix bug in grokking NEW_EXPR
-       and DELETE_EXPR operators.
-       * cp-method.c (hack_operator): Deleted.
-       * cp-init.c (init_init_processing): Use `ansi_opname' for
-       {NEW,DELETE}_EXPR instead of calling hack_operator and build_opid.
-       * cp-decl2.c (grokopexpr): Deleted.
-       * cp-lex.c (build_opid): Deleted.
-       * cp-class.c (build_instantiated_decl): Deleted.
-       * All cp-* files: OP_IDENTIFIER is no longer used.
-
-       * cp-parse.y (operator_name): For most cases, Use `ansi_opname'
-       directly instead of calling `build_opid'.
-
-Tue Nov 19 16:02:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * c-decl.c (xref_tag): If we find wrong kind of type, return it.
-       (lookup_tag): Fill in pending_invalid_xref_file, ..._line.
-
-       * real.h (REAL_VALUE_TRUNCATE): New argument MODE.
-       * cse.c (simplify_unary_operation, simplify_binary_operation):
-       Pass that arg.
-       * c-parse.y, objc-parse.y, cp-lex.c (yylex): Likewise.
-       * fold-const.c (combine): Truncate floating result to fit mode.
-       (fold): Don't add 1 to float constant if that doesn't change the value.
-
-Tue Nov 19 09:37:36 1991  Michael Meissner  (meissner at osf.org)
-
-       * configure (ns32k-encore-osf): Restore Encore Multimax using the
-       OSF/rose object format, since the necessary files, such as
-       tm-encrose.h, are present in the distribution.
-
-Mon Nov 18 21:38:13 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       * out-sparc.c (output_cbranch): Always emit a nop before a FP branch
-       to avoid illegal assembly output.
-       * sparc.md: Don't define delay slot for FP compare insns.  This was
-       meant to solve the above problem, but fails with insn scheduling.
-
-       * sparc.md (movsi): Must accept 'f' in addition to 'r' because
-       combine can convert FP hard registers to SImode.
-
-Mon Nov 18 13:43:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * rtlanal.c (replace_regs): Correct code that prevents nested SUBREGs.
-
-Mon Nov 18 13:43:12 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * c-decl.c (finish_decl): Reinstall lost end_temporary_allocation.
-
-       * tree.h (DECL_LANG_FLAG_8): Deleted.
-       * print-tree.c (print_node): Don't use it. Do print DECL_IGNORED_P.
-
-Mon Nov 18 06:59:37 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-09-30  Geoff Keating  <geoffk@cygnus.com>
 
-       * cp-decl.c (value_identifier): Gone, following c-decl.c.  Now use
-       zero DECL_NAME for this purpose.
-       * cp-typeck.c: Also affected by this change.
+       * config/rs6000/rs6000.md (movsi_to_cr): Remove the USE.  Calculate
+       the mask value from the individual SET operations.
+       (return_internal_si): Move the USE after the RETURN.
+       (return_internal_di): Likewise.
+       (return_and_restore_fpregs_si): Likewise.
+       (return_and_restore_fpregs_di): Likewise.
+       (return_eh_si): Likewise.
+       (return_eh_di): Likewise.
+       * config/rs6000/rs6000.c (mtcrf_operation): Don't look for,
+       or check, the USE.
+       (rs6000_emit_prologue): Don't emit the USE for movsi_to_cr.
+       Don't generate a PARALLEL around a single operation movsi_to_cr.
+       Generate the RETURN first in any PARALLELs.
 
-       * c-lang.c, objc-lang.c (lang_output_debug_info): New function.
-       * dbxout.c (dbxout_type_methods): Fix minor problems arising from
-       assuming all RECORD_TYPE are C++ RECORD_TYPE nodes.
-       (dbxout_type): Ditto.
+       * rtlanal.c (single_set_1): Use fatal_insn to display the
+       invalid insn.  Check for more cases when a USE or CLOBBER occurs
+       before a SET.
+       * Makefile.in: Update dependencies for rtlanal.o.
 
-Sun Nov 17 17:33:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * tree.c (struct obstack_stack): New slots expression and rtl.
-       (push_obstacks, push_obstacks_nochange, pop_obstacks):
-       Save and restore all 4 obstack vars individually.
+       * i386.c: Move include of "config.h" to before that of <setjmp.h>.
 
-       * c-decl.c (start_decl): Call push_obstacks_nochange here.
-       (push_parm_decl, grokfield): Also here.
-       (finish_decl): Not here.
-       Also clean up test for whether to replace DECL_INITIAL with error mark.
+2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Sun Nov 17 14:25:15 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi:
+       Consistently use @email for formatting email addresses.
 
-       * cp-typeck.c (c_expand_return): Be more careful about throwing
-       away only cleanup generated by 'build_functional_cast'.
+2000-09-29  Richard Henderson  <rth@cygnus.com>
 
-       * cp-init.c (build_new): Use TRUE_TYPE instead of TYPE more
-       consistently, in case TYPE is really an ARRAY_TYPE on its own.
+       * cse.c (notreg_cost): New argument outer.
+       (COST): Pass in SET to notreg_cost
+       (COST_IN): New.
+       (fold_rtx): Use COST_IN.  Prefer constants when costs
+       are the same.
+
+2000-09-29  David Edelsohn  <edelsohn@gnu.org>
 
-       * cp-dbxout.c: Gone.  Now G++ uses dbxout.c.
-       * cp-tree.h (OPERATOR_NAME_P): Changed to IDENTIFIER_OPNAME_P.
-       (OPERATOR_TYPENAME_P): Changed to IDENTIFIER_TYPENAME_P.
-       (OPERATOR_{NEW,DELETE}_FORMAT): Deleted.
-       * cp-lex.c (ansi_{opname,assopname}): New variables.  All cp-* files
-       changed to use these where comparisons against *_FORMAT were made.
-       (init_lex): Initialize `ansi_{opname,assopname}' arrays.
-       Also, update {opname,assignop}_tab grok new ANSI equivalences.
-       (build_operator_fnname): Changed to build ANSI-style overloaded
-       names.
-       * cp-dem.c (optable): Add new ANSI equivalences.
-       (cplus_demangle): Fixed to recognize new ANSI demangling.  Note that
-       old-style destructors, and possibly other codes were broken by the
-       (undocumented) 27 Oct changes.
-
-       * cp-decl2.c (grokclassfn): Set DECL_CLASS_CONTEXT here.
-       * cp-class.c (finish_struct): Don't skip over FUNCTION_DECL that
-       already has a DECL_CLASS_CONTEXT.
-
-       * cp-except.c (cplus_expand_end_try): Set BLOCK_HANDLER_BLOCK for
-       blocks that handle exceptions.
-       (EXCEPTION_NAME_PREFIX): Shorted to "__ex" (from "__exception").
-       (EXCEPTION_NAME_LENGTH): Reduced to 4 from 12.
-
-       * dbxout.c (flag_minimal_debug): Define new variable that is
-       non-zero when symtab output routines can output abbreviated.
-       (dbxout_type_fields): Move code that writes out debugging info about
-       fields of RECORD_TYPE and UNION_TYPE nodes from `dbxout_type' into
-       this function. 
-       (dbxout_type_{method,method_1}): Move code from `dbxout_type' into
-       these new functions.
-       (dbxout_type): Now writes out info about basetypes.  Also, no longer
-       need to record info about types having ctors, dtors, or both.  GDB
-       now figures out what it needs to, when it needs to.
-       (dbxout_symbol): Implement special abbreviated form for C++ classes,
-       which place their names in both the struct and decl namespaces.
-       (dbxout_block): Write out special debugging stabs for exception
-       handler blocks.
-
-       * tree.h (BLOCK_HANDLER_BLOCK): Define new flag to indicate that a
-       BLOCK is an exception handler block (a `catch' block for C++).
-       (TREE_VFIELD, DECL_IGNORED_P): New macros.
-
-Sat Nov 16 22:21:56 1991  Jeffrey A Law  (law at super.super.org)
-
-       * tm-m68k.h (CONST_COSTS): Integer values between -128 and 127
-       inclusive are very cheap because of moveq.  
-
-Sat Nov 16 00:40:04 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * Makefile.in (install-cross-tools): Avoid clobbering symlinks already
-       made.  Double the $ before the @ in the indirection script.
-
-       * t-decstatn: New file.
-       * configure: (mips-dec-ultrix*): Use t-decstatn.
-
-       * collect-ld: Always run collect if collect is installed.
-
-       * collect-osf.c, enquire.c, gnulib2.c: Use gstddef.h, not stddef.h.
-
-       * gnulib2.c (__eprintf): Undef NULL.
-
-       * c-typeck.c (build_array_ref): Ref is volatile if array is volatile.
-
-Fri Nov 15 19:53:41 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       * c-typeck.c (build_binary_op_nodefault): Delete ERROR_CODE
-       argument because it is always the same as CODE.  Add new argument
-       CONVERT_P, and call default_conversion on the operand trees if
-       true.  Rename to build_binary_op.
-       (old build_binary_op): Deleted because it is now unnecessary.
-       * c-common.c, c-convert.c, c-decl.c, c-tree.h, c-typeck.c: All
-       callers and other references to build_binary_op* fixed.
-       * c-typeck.c (new build_binary_op): Add warning message for
-       comparisons of signed and unsigned variables that won't give the
-       expected result due to unexpected sign extension.
-
-       * expr.c (convert_move): Add TFmode support and clean up code.
-       * optabs.c (init_fixtab): Add TFmode support.
-       (init_floattab): Likewise.
-       (expand_float): Likewise.
-       (expand_fix): Likewise.
-       (init_optabs): Likewise.
-
-       From Per Bothner:
-       * collect2.c: Define vfork as fork for USG.  Rewrite to not use
-       prototypes, so it doesn't need gcc for compilation.
-       (main): No longer uses static sized array for ld arguments, so
-       that long command lines will work.  Vfork ld instead of running
-       via popen with nm.
-       (write_hooks): Use type names not variable names in sizeof calls.
-
-Fri Nov 15 15:01:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * fold-const.c (size_int): Properly preserve old obstack settings.
-       * c-decl.c (finish_decl, grokdeclarator, xref_tag): Likewise.
-       * stor-layout.c (layout_type): Likewise.
-       * varasm.c (output_constant_def): Likewise.
-       * tree.c (push_obstacks_nochange): New function.
-
-       * stor-layout.c (layout_type): Make size of temp type saveable.
-       * tree.c (saveable_allocation): New function.
-
-       * configure: Comment out certain alternatives not yet updated.
-       (sparc-unicom-*, m68k-tti1-*, m68-tti2-*): New alternatives.
-       (m88k-*-v88r32*): New alternative.
-       (i386-alternate-sysv): New alternative, not sure why.
-       (sparc-*-sysv*): Commented out--not really supported.
-
-Fri Nov 15 22:22:32 PDT 1991  Mike Stump (mrs at csun.edu)
-
-       * configure: Recognize only canonical names.  Added missing entries
-       for some configurations that obviously have not been tested in a
-       while.
-
-       * config.subr: Massive overhaul.  It claimed to canonicalize
-       the machine specification, but it never really did.  Now it
-       does.  In general, it is not necessary to specify the os for
-       popular machines that have a popular os, or given the os, it
-       can sometimes figure out the vendor.  Added in all the old
-       ways of specifying machines from configure.  Also added
-       support for all (before it was missing a few) of the tm-*.h
-       files.  It now supports the concept of guessing the vendor for
-       a given CPU type.  It now supports the concept of guessing the
-       os version given the vendor and/or the CPU type.  Changed the
-       default os for vax to ultrix, changed the default os for i386
-       to sco.
-
-       * collect-ld:  New file.  It is useful when compiling C++ programs
-       on machines that use collect.  This includes the decstation.
-
-Fri Nov 15 14:19:29 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       * out-sparc.c: Singlemove_string no longer static.
-       (emit_move_sequence): Emit sethi/low_sum insn pair for values which
-       are not arith_double_operands, was missing not.
-       * sparc.md: DImode sethi pattern now uses singlemove_string to load
-       a constant into a reg.
-       * tm-sparc.h (LEGITIMATE_CONSTANT_P): Accept anything except a
-       floating point constant.
-       Declare singlemove_string so it can be used in sparc.md.
-
-       * jump.c (jump_optimize): Correct typos in comments.
-
-Fri Nov 15 08:05:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * out-rs6000.c (scc_comparison_operator): Allow non-FP EQ.
-
-       * combine.c (subst, case NEG): Correct shift count in code that
-       negates ZERO_EXTRACT to SIGN_EXTRACT.
-
-Thu Nov 14 23:03:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * genrecog.c (try_merge_1): Add big new comment.
-
-Thu Nov 14 19:28:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * m68k.md: Fix peephole that merges a stack adjust with a push to
-       use addqw instead of addql since we know we are incrementing an
-       address register (sp).
-
-       * loop.c (scan_loop): Rework code that looks for loops starting at the
-       exit test; don't skip non-jump insns at start of loop and modernize
-       and clean up code.
-
-       * gcc.texinfo (SECONDARY_RELOAD_CLASS): Update description to
-       show uses for both intermediate and scratch registers.
-       * reload.h (SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS): Default from
-       SECONDARY_RELOAD_CLASS, if defined.
-       (HAVE_SECONDARY_RELOADS): Defined if any of the secondary reload
-       macros are defined.
-       (reload_secondary_icode, reload_{in,out}_optab): New vars.
-       * reload.c: Include insn-codes.h.
-       (find_secondary_reload): New function.
-       (push_reload): Call find_secondary_reload to process input and
-       output reloads.  Create both secondary and tertiary reloads,
-       as required.
-       * reload1.c: Include insn-codes.h.
-       (init_reload): Initialize reload_{in,out}_optab.
-       (emit_reload_insns): Handle cases where a secondary reload
-       is a scratch register and where tertiary reloads are required.
-       * Makefile.in (reload.o, reload1.o): Now include insn-codes.h.
-
-       * tm-romp.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define to use a BASE_REGS
-       for symbolic memory locations.
-       * romp.md (reload_outsi, reload_outhi, reload_outqi): New patterns.
-
-       * expr.c (expand_expr): Pass BRANCH_COST to do_store_flag.
-       (do_store_flag): Canonicalizations done in emit_store_flag
-       need to be done here as well.
-       Test for ffs as well as abs when seeing if scc is expensive.
-       * expmed.c (emit_store_flag): Correct cases that are open-coded:
-       Add a few missing cases and correct handling of normalizep.
-       * combine.c (simplify_shift_const, case IOR): Convert sequence
-       open-coded by emit_store_flag into LE or (neg (le ..)), as
-       appropriate.
-       (simplify_shift_const, case MINUS): Similarly, for GT.
-       (simplify_comparison): sign_bit_comparison_p now true only if
-       also comparing against constant zero.
-       (simplify_comparison, case NOT): If sign bit comparison, just
-       reverse comparison.
-       (simplify_comparison, case MINUS): Move case where we subtract
-       one from the absolute value of something to PLUS, since we
-       subtract one using a PLUS operation.
-       (simplify_comparison, case MINUS): Handle GT case done by
-       emit_store_flag.
-       (simplify_comparison, cae IOR): Similarly, for IOR.
-
-       * tm-rs6000.h (BRANCH_COST): Define as 2.
-       * rs6000.md (scc): Allow some more cases.
-       (new scc patterns): Add numerous patterns to reflect superoptimizer
-       results for scc insns on RS/6000.
-
-Thu Nov 14 16:42:19 1991  Michael Meissner  (meissner at osf.org)
-
-       * mips-tfile.c (all): Change small allocation requests to use
-       separate allocation and free functions, instead of using the word8
-       union to hold each request.  In order to support this easily, a free
-       field was added to each small structure that is released.
-       (main): If debugging, print a summary of the number of small
-       allocations, frees, and the number of pages used.
-       (add_procedure, copy_objects): Stuff the pointer to the end symbol
-       into the shash chain, and use it's value to generate the new value
-       for the computed end block.  This is much safer than trying to
-       calculate this on the fly.
-       (main): Don't try to avoid using malloc by setvbuf'ing the streams
-       we use.
-
-Wed Nov 13 23:47:10 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       From tege@sics.se:
-       * sparc.md: In DF load peephole, use operands not xoperands, so
-       that output_asm_insn will use the right values.
-
-       * tm-sun3.h, tm-sun2os4.h: Define PTRDIFF_TYPE, SIZE_TYPE,
-       WCHAR_TYPE same as tm-sparc.h.
-
-       * c-decl.c (finish_function): Don't clear current_function_decl
-       for nested functions.
-
-       * dbxout.c: Include insn-config.h and reload.h.
-       (dbxout_symbol): Pass DECL_RTL (decl) through eliminate_regs before
-       using.
-       (dbxout_parms): Pass DECL_RTL and DECL_INCOMING_RTL of parms through
-       eliminate_regs before using.
-       * sdbout.c: Include insn-config.h and reload.h.
-       (sdbout_symbol): Pass DECL_RTL (decl) through eliminate_regs before
-       using.
-       (sdbout_parms): Pass DECL_RTL and DECL_INCOMING_RTL of parms through
-       eliminate_regs before using.
-       * Makefile.in: Update dependency lists for dbxout.c and sdbout.c.
-
-       * combine.c (try_combine): Don't pass sets with (USE (MEM ...))
-       dests to reg_referenced_p.
-
-Wed Nov 13 21:38:03 1991  John Bunda (bunda at cs.utexas.edu)
-
-       * reload1.c (gen_input_reload): If IN is a PLUS whose second arg
-       is the same as the reload register, swap the args of the PLUS.
-
-Wed Nov 13 14:43:09 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       * tm-sparc.h (OPTIMIZATION_OPTIONS): Don't redefine options set in
-       toplev.c, only effect flag_omit_frame_pointer.
-       
-       * sparc.md: Delete obsolete sign_extract and zero_extract patterns.
-       We get better code without them.
-       (indirect_jump, tablejump): Extend indirect_jump pattern to accept
-       any address, not just a register.  Add tablejump like pattern which
-       also accepts any address.
-
-       * unroll.c (final_biv_value): Make sure the initial value of the biv
-       is invariant if it is used after the loop.
-
-Tue Nov 12 23:16:51 1991  Michael Meissner  (meissner at osf.org)
-
-       * tm-mips.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Correct so
-       ASM_OUTPUT_REG_PUSH actually does a push instead of pop, and vica
-       versa.  Also make ASM_OUTPUT_REG_POP turn on .set noreorder, and
-       increment the appropriate -mstats load delay counters.
-
-Tue Nov 12 22:53:45 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * expr.h (BRANCH_COST): Supply default value here.
-       * jump.c (BRANCH_COST): Don't default BRANCH_COST here.
-
-       * global-alloc.c (global_alloc): Use proper entry in eliminables
-       when searching for the frame pointer.
-
-Tue Nov 12 22:23:36 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
-
-       * expr.c: (expand_expr, MIN_EXPR case): Check for const_true_rtx
-       not const1_rtx as return value from compare_from_rtx.
-       (do_jumps_by_part_greater): Handle const0_rtx and const_true_rtx
-       return values from compare_from_rtx.
-       (do_jumps_by_part_equality, do_jumps_by_part_equality_rtx): Likewise.
-
-       * sched.c (sched_analyze_2): Correctly handle ASM_OPERAND and
-       ASM_INPUT rtx.  Volatile and traditional asm statements are
-       assumed to use and clobber all hard registers and all memory.
-       (schedule_block): Delete code that incorrectly handles ASM_OPERAND
-       and ASM_INPUT rtx by exiting early.
-
-Tue Nov 12 15:38:56 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * sched.c: Introduce names for various priority values.  Reduce
-       LAUNCH_PRIORITY to avioid wrap-around in launch_link.
-
-Tue Nov 12 14:21:52 1991  Per Bothner  (bothner at cygnus.com)
-
-       * cp-lex.c (init_lex):  Exception-handling fixes.
-       * cp-tree.h:  Add new OPERATOR_CHARS_P that is like
-       OPERATOR_NAME_P, except if takes a (char*), not a tree.
-       * cp-dbxout.c (dbxout_type_methods):  Handle operators
-       specially when chopping prefix for minimal_debug.
-
-       * config/tm-news.h: In PRINT_OPERAND, recognize new 68040
-       operand types.  Add definition of CPP_DEFINES for cross-compiling.
+       * fixinc/inclhack.def (broken_cabs): Generalize regex.
+       * fixinc/fixincl.x: Regenerate.
 
-Tue Nov 12 13:11:01 1991  Michael Meissner  (meissner at osf.org)
+2000-09-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * loop.c (check_final_value): A GIV is not replaceable if used
+       before set.
+
+Fri Sep 29 10:04:12 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * version.c: Bump to gcc-2.97.
+
+Frs Sep 29 13:37:59 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * final.c (final_scan_insn): Remove extra extract_insn call;
+       Use caching for constrain_operands.
+       (cleanup_subreg_operands): Use caching for extract_insn.
+       * recog.c (constrain_operands_cached): New.
+       * recog.h (constrain_operands_cached): Declare.
+       * i386.c (ix86_attr_length_immediate_default,
+       ix86_attr_length_address_default, ix86_agi_dependant): Cache
+       extract_insn call.
+
+       * recog.c (asm_noperands): Tweak.
+       (extract_insn): Do not call asm_noperads for non-asm instructions.
+
+Fri Sep 29 13:20:42 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * recog.c (recog_memoized): Rename to recog_memoized_1.
+       * recog.h (recog_memoized): Rename to recog_memoized_1.
+       (recog_memoized): New macro.
+       * rtl.h (single_set): Rename to single_set_1
+       (single_set): New macro.
+       * rtlanal.c (single_set): Rename to single_set_1;  expect clobbers
+       to be last.
+
+       * i386.md (strmovsi_1, strmovhi_1 strmovqi_1):
+       Do not use match_dup of input operands at outputs.
+       Use register_operand for memory expression.
+       (rep_movsi): Put use last, canonicalize.
+       Use register_operand for memory expression.
+       (rep_movqi): Put use last.
+       Use register_operand for memory expression.
+       (strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup
+       of input operands at outputs.  Use register_operand for memory
+       expression.
+       (rep_stossi): Put use last; canonicalize; fix match_dup in
+       the address expression
+       (rep_stosqi): Likewise.
+       (memcmp expander): Update calls.
+       (cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in
+       the clobbers.
 
-       * protoize.c (__OSF1__ ifdef): Remove OSF/1 specific ifdefs, since
-       the problem they address has been fixed, and the ifdefs now cause
-       spurious warnings.
+       * i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is
+       VOIDmode.
+       (fp_jcc_4, fp_jcc_3): Refuse unordered comparisons.
 
-       * tm-mips.h (INT_TYPE_SIZE): Define.
-       (SHORT_TYPE_SIZE): Define.
-       (LONG_TYPE_SIZE): Define.
-       (LONG_LONG_TYPE_SIZE): Define.
-       (CHAR_TYPE_SIZE): Define.
-       (FLOAT_TYPE_SIZE): Define.
-       (DOUBLE_TYPE_SIZE): Define.
-       (LONG_DOUBLE_TYPE_SIZE): Define.
+2000-09-28  David O'Brien  <obrien@FreeBSD.org>
 
-       * out-mips.c (block_move_load_store): New commn function to create
-       one load and store for the block move functions.  The load is
-       emitted directly, and the store is returned, to be emitted later.
-       (block_move_sequence): Call block_move_load_store.  For straight
-       line moves, have two outstanding loads before a store, for newer
-       machines that want two delay slots.
-       (block_move_loop): Call block_move_load_store.  Move 4 words per
-       loop, for a loop that moves 16 bytes in 11 cycles if aligned, and 16
-       bytes in 19 cycles if not aligned.
-       (block_move_memcpy): Change argument names for consistancy.
-       (expand_block_move): Always move address into a register, even for
-       one byte moves.  Fix bugs in calling memcpy.  If moving a large
-       constant amount of unaligned data, emit a runtime check to see if
-       the data is really aligned, and if so do an aligned move, otherwise
-       an unaligned move loop.
-
-       * mips-tfile.c (toplevel): Make some changes, so that mips-tfile can
-       be debugged on OSF/1.
-       (efdr structure): Align identifiers in declaration.
-       (cur_proc_value): Delete variable.
-       (cur_oproc_begin): New global to record original proc .ent symbol.
-       (cur_oproc_end): New global to record original proc .end symbol.
-       (add_procedure): Set cur_oproc_begin, cur_oproc_end variables
-       instead of cur_proc_value.
-       (parse_begin, parse_end): Add check for cur_oproc_begin being set.
-       (parse_end): Use cur_oproc_end's value node for new value node.
-       (main): Add cast to free_multiple_pages call.
-
-Tue Nov 12 08:57:39 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * jump.c (jump_optimize): Merge the "if (...) x = 0;" case with
-       the "x = a; if (...) x = b;" case.
-
-Mon Nov 11 19:27:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * cp-cvt.c (convert_pointer_to): Correctly get type of a TREE_VEC
-       object.  (This patch is from someone at Cygnus.)
-
-       * combine.c (try_combine): Add missing parens.
-
-Mon Nov 11 19:26:24 1991  Ron Guilmette  (rfg at ncd.com)
-
-       * c-typeck.c (build_binary_op_nodefault, convert_for_assignment):
-       A (void *) object is compatible with a function pointer if it is
-       the constant zero.
-       (build_conditional_expr): Properly check for pointers to functions.
-
-Sun Nov 10 19:59:12 1991  Michael Meissner  (meissner at osf.org)
-
-       * cccp.c (make_undef): Fix by off by one error.
-       (MIN, MAX): Add #undef, in case some system include file defined
-       these macros.
-
-Sun Nov 10 10:34:17 1991  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cp-decl2.c (grokfield): Set TREE_EXTERNAL on static const
-       decls that are either uninitialized in their initial declaration,
-       or initialized by something we cannot evaluate at initial
-       declaration time.
-
-       * cp-init.c (build_new): Make `operator new' with placement cast
-       its return type to the type of the object being allocated.
-
-       * cp-typeck.c (commonparms): If the last element of P1 is
-       VOID_LIST_NODE, use that.
-
-       * stor-layout.c (layout_record): Return PENDING_STATICS.
-       (layout_type): Don't commit static members to a particular mode
-       until REC has been laid out completely.
-
-Sat Nov  9 23:16:51 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * cccp.c (fancy_abort): Don't declare as static.
-
-Sat Nov  9 20:38:30 1991  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cp-decl.c (push_overloaded_decl): Don't cons new decl to
-       existing ERROR_MARK_NODE.  If the old decl was erroneous, just
-       ignore it.
-
-       * cp-call.c (ideal_candidate): Fix typo in error message.
-
-Sat Nov  9 14:13:46 1991  Jeffrey A Law  (law at super.super.org)
-
-       * tm-hp9k2bsd.h (MULSI3_LIBCALL): New define which avoids
-       the use of __mulsi3 for signed integer multiplication.
-       (UMULSI3_LIBCALL, DIVSI3_LIBCALL, UDIVSI3_LIBCALL): Likewise.
-       (MODSI3_LIBCALL, UMODSI3_LIBCALL): Likewise.
-
-Fri Nov  8 12:05:39 1991  Per Bothner  (bothner at cygnus.com)
-
-       First cut at ANSI-style exception handling (using
-       syntax and semantics of Stroustrup 2nd ed).
-       THIS IS WORK IN PROGRESS!
-       * cp-tree.h:  Declare flag_ansi_exceptions.
-       * gplus.gperf:  Add 'throw' (for ANSI exception handling),
-       and update private/protected/public from (old) cp-lex.c.
-       * cp-hash.h:  New file, generated from gplus.gperf.
-       * cp-lex.c: #include cp-hash.h, instead of requiring
-       manual cut-and-paste when keywords are changed.
-       * cp-lex.c:  Commented out some extern declarations that
-       were conflicting with inlines in cp-input.c.
-       Hooks for ANSI-style exception handling.
-       * cp-parse.y:  Parse ANSI-style exception stuff.
-       * cp-decl2.c:  Define new flag flag_ansi_exceptions.
-       * cp-decl2.c (finish_table):  Off-by-one error in
-       calculating index type.
-       * clus-decl2.c (finish_vtable_vardecl):  Add missing
-       TREE_OPERAND to get dossier decl.
-       * cp-except (cplus_expand_start_except):  Allow NULL name,
-       since there is no distinguished name for ANSI exceptions.
-       * cp-except (cplus_expand_raise):  Too few
-       parameters to expand_expr; add them.
-       * cp-except.c:  New functions for ANSI exceptions:
-       cplus_exception_name, ansi_exception_object_lookup,
-       cplus_expand_throw, ansi_expand_start_catch.
-       These are heavily hacked from similar old functions.
-
-       Try to make -fdossier work better (but more work is needed).
-       (Especially, generate fewer unneeded descriptors.)
-       * cp-class.c (add_virtual_function, finish_struct):  Do not
-       create a vtable just because of -fdossier.
-       * cp-gc.c:  Each type points to an array of fields,
-       instead of an array of pointers to fields.  Ditto for methods.
-       This saves one pointer per field or method by removing
-       unneded extra indirection.  Also other tweaks to save space.
-       * cp-decl.c (init_decl_processing):  Add length of
-       field and method arrays to descriptors, instead of
-       relying on NULL-termination (since we no longer have
-       the extra pointer array).
-       Make the parameter count and required count of
-       method descriptors be shorts.
-       * cp-method.c:  Remove no-longer-needed functions
-       build_i_desc_overload and build_m_desc_overload.
-
-       Other C++ fixes:
-       * cp-dbxout.c (dbxout_symbol):  Class types were
-       emitting only a "t" spec which made gdb unhappy.
-       Kludged it so that it once more emits "Tt".
-       * cp-tree.c (lang_output_debug_info):  Do emit debugging
-       info if this implementation file corresponds the the
-       type's interface, even if nothing is written.
-
-Fri Nov  8 08:18:55 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * tm-m88k*.h: Fix comments, minor cleanups.
-
-Thu Nov  7 16:21:05 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
-
-       * longlong.h (__ibm032__): Fix operand order for add_ssaaaa and
-       sub_ddmmss.
-
-Thu Nov  7 12:47:14 1991  Michael Meissner  (meissner at osf.org)
-
-       * tm-mips.h (MIPS_VERSION): Bump meissner version number to 3.3.
-       (PCC_BITFIELD_TYPE_MATTERS): Define this to be 1.
-
-       * out-mips.c (block_move_loop): New function to generate a loop to
-       do a block move.
-       (block_move_call): Pass the source, destination, size as separate
-       arguments, rather than a pointer to an array of operands.
-       (expand_block_move): Change block_move_call calling sequence.
-       (expand_block_move): If moving big aligned items, generate a loop to
-       do it, rather than calling memcpy/bcopy.
-       (override_options): If -msoft-float, 'f' constraint picks GP
+       * config/i386/freebsd-aout.h: New, FreeBSD a.out config file.
+       Contains the old contents of config/i386/freebsd.h
+       * config/i386/freebsd.h: Now the ELF rather than a.out config file.
+       Contains the old contents of config/i386/freebsd-elf.h
+       * config/i386/freebsd-elf.h: Retire this file -- contents moved to
+       config/i386/freebsd.h.
+       * configure.in: Adjust for above changes.
+       * po/POTFILES.in: Likewise.
+       * po/en_GB.po: Likewise.
+       * po/gcc.pot: Likewise.
+       * configure: Rebuilt.
+
+2000-09-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * doloop.c (doloop_modify): Prevent delete_insn() from
+       deleting too much.  Prefer loop->top over loop->start as
+       target for the new JUMP insn.
+       (doloop_valid_p): Ignore loop with exit_count != 0.
+
+2000-09-28  Philipp Thomas  <pthomas@suse.de>
+
+       * invoke.texi (i386 Options): Add athlon to table of possible
+       choices for -mcpu=.
+
+2000-09-28  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.h (output_clear_message_text): New function.
+       (output_message_text): New macro.
+
+       * diagnostic.c (clear_text_info): Rename to
+       output_clear_message_text.
+       (output_clear): Adjust.
+       (output_finish): Rename to output_finalize_message.  Tweek.
+       (output_to_stream): Adjust.
+
+2000-09-28  Neil Booth  <neilb@earthling.net>
+
+       * cpperror.c (_cpp_begin_message):  Do the test for suppression
+       of warnings and pedantic warnings before the "is a warning an
+       error" tests.
+       * cppinit.c (cpp_handle_option): Remove surplus \n.
+       * cpplex.c (ON_REST_ARG): Delete.
+       (skip_block_comment): Initialize prevc.
+       (parse_args): Improve error messages.
+       (maybe_paste_with_next): Use CONTEXT_VARARGS rather
+       than ON_REST_ARG.
+       * cpplib.c (cpp_push_buffer): Fix grammar in message.
+       * cppmain.c (main): Set callbacks for #ident and #pragma
+       only if no_output option is false.
+       (do_pragma_implementation): Only call the #pragma handler
+       if it is set in the cpp_reader structure.
+
+Wed Sep 27 14:00:07 2000  Donald Lindsay  <dlindsay@cygnus.com>
+
+       * integrate.c (copy_insn_list): if an ignored return value
+       is being clobbered, skip cloning that into the inline copy.
+
+2000-09-27  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * extend.texi, invoke.texi, gcc.texi, install.texi: Consistently
+       use @uref for formatting URLs.
+
+2000-09-27  Mark Elbrecht  <snowball3@bigfoot.com>
+
+       * config/i386/djgpp.h (UNIQUE_SECTION): Constify the variables
+       name and prefix.
+
+Tue 26-Sep-2000 18:25:38 BST  Neil Booth  <neilb@earthling.net>
+
+       * gcc.c (cpp_options): Add spec for -ftabstop=.
+       (invoke_as): New spec that handles invoking as.
+       Update specs to handle -save-temps and -traditional.
+       * ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h:
+       Use invoke_as.
+       * cp/lang-specs.h, objc/lang-specs.h: Update to use
+       invoke_as, and handle -save-temps and -traditional (if
+       appropriate).
+
+2000-09-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.c (sparc_emit_set_const64): Don't abort when
+       op0 is a SUBREG.
+       (function_arg_slotno): Accept TImode/CTImode.
+       * config/sparc/sparc.h (MIN_UNITS_PER_WORD): If IN_LIBGCC2 define
+       to UNITS_PER_WORD.
+
+2000-09-26  Michael Hayes  <mhayes@cygnus.com>
+
+       * flow.c (flow_loop_pre_header_scan): Punt if loop enters
+       from entry block.
+
+2000-09-25  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS.
+       (REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P.
+       (LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG.
+       (REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P.
+
+Tue 26-Sep-2000 00:16:22 BST  Neil Booth  <neilb@earthling.net>
+
+       * cpplex.c (parse_args): Don't set VOID_REST flag.
+       (CONTEXT_VARARGS): New flag.
+       (maybe_paste_with_next): Set context earlier in loop.  Use
+       it.  Do varargs test with CONTEXT_VARARGS flag.
+       (push_arg_context): Set CONTEXT_VARARGS flag if we're
+       pushing an argument context for a varargs argument.
+       * cpplib.h (VOID_REST): Delete.
+       * gcc.dg/cpp/vararg1.c: Add test case.
+
+2000-09-25  Branko Cibej  <branko.cibej@hermes.si>
+
+       * flags.h:  Declare warning flag warn_system_headers.
+       * toplev.c:  Define it.
+       (W_options): Add option -Wsystem-headers.
+       * diagnostic.c (count_error): Test warn_system_headers.
+       * invoke.texi:  Add description for -Wsystem-headers.
+       * cpplib.h (cpp_options): New member warn_system_headers.
+       * cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test
+       CPP_IN_SYSTEM_HEADER.
+       * cpplib.c (do_import, do_pragma_once): Likewise.
+       * cpperror.c (_cpp_begin_message): Test warn_system_headers
+       and CPP_IN_SYSTEM_HEADER.
+       * cppinit.c (handle_option): Recognize -Wsystem_headers.
+       (print_help): Describe -Wsystem_headers.
+       * cpplex.c (lex_line): Reorganize condition so that warnings
+       about C++ comments in system headers can be enabled. Remove
+       label do_line_comment.
+
+Mon 25-Sep-2000 23:38:27 BST  Neil Booth  <neilb@earthling.net>
+
+       * cpplex.c (save_comment): Only store the initial '/'
+       now.
+       (lex_token): Combine handling of the two comment types.
+       Pass everything but the initial '/' to save_comment.
+
+Mon 25-Sep-2000 23:31:45 BST  Neil Booth  <neilb@earthling.net>
+
+       * cpphash.h (_cpp_digraph_spellings, _cpp_process_directive,
+       _cpp_can_paste): New library-internal prototypes.
+       * cpplex.c (dump_param_spelling, output_line_command,
+       output_token, cpp_scan_buffer, cpp_scan_buffer_nooutput,
+       cpp_printf, cpp_output_list): Move to cppoutput.c.
+       (process_directive, can_paste, digraph_spellings): Add _cpp_ prefix.
+       * cppmacro.c (dump_macro_args, cpp_dump_definition) Move to
+       cppoutput.c.
+       * cppoutput.c (dump_macro_args, cpp_dump_definition, output_token,
+       dump_param_spelling, output_line_command, cpp_scan_buffer,
+       cpp_scan_buffer_nooutput, cpp_printf, cpp_output_list): Moved
+       from elsewhere.
+       * Makefile.in: Add cppoutput.c.
+       * po/POTFILES.in: Add cppoutput.c.
+
+2000-09-25  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64.c (ia64_print_operand): Define 'e' as 64-n.
+       * config/ia64/ia64.md (rotrsi3): Allow variable rotates; don't
+       split until after reload.
+       (rotlsi3, rotldi3): New.
+
+2000-09-25  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.c (output_last_position): Define.
+       (set_real_maximum_length): Tweek.
+       * diagnostic.h (output_last_position): Declare.
+
+2000-09-25  Kazu Hirata  <kazu@hxi.com>
+
+       * config/i386/i386.c: Fix formatting.
+
+2000-09-24  Alan Lehotsky  <alehotsky@cygnus.com>
+
+       * emit-rtl-c (gen_lowpart_common): Accept non-paradoxical SUBREG when
+       UNITS_PER_WORD is small.
+
+2000-09-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (format_char_info): Add flags2; update comments.
+       (print_char_table, scan_char_table, time_char_table): Split some
+       flags out into flags2.
+       (check_format_info): Use flags2 for those flags, for identifying
+       the initial character of a scanf scanset, and for identifying
+       printf formats where the '0' flag is ignored with precision.
+
+2000-09-25  Hans-Peter Nilsson  <hp@axis.com>
+
+       Changes below marked "here" add TABs on either or both sides,
+       covering start of line, up to any operand for all noted .*ASM.*_OP
+       definitions.  All callers changed.
+       * tm.texi: Make documented *_ASM.*_OP:s include spacing
+       (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, SHARED_SECTION_ASM_OP,
+       BSS_SECTION_ASM_OP, SHARED_BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
+       ASM_BYTE_OP, FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
+       ASM_STABS_OP, ASM_STABD_OP, ASM_STABN_OP).
+       Fix typos in description for LONG_LONG_TYPE_SIZE and
+       FINI_SECTION_ASM_OP.
+       * crtstuff.c (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Explain
+       why these defaults don't have leading spacing.
+       * dbxout.c (ASM_STABS_OP, ASM_STABN_OP): Here.
+       * dwarf2out.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+       UNALIGNED_DOUBLE_INT_ASM_OP, SECTION_ASM_OP, ASM_BYTE_OP): Here.
+       * dwarfout.c (FILE_ASM_OP, VERSION_ASM_OP,
+       UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, ASM_BYTE_OP,
+       PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Here.
+       * defaults.h (ASM_STABD_OP, EH_FRAME_SECTION_ASM_OP): Here.
+       * varasm.c (ASM_STABS_OP): Here.
+       * xcoffout.h (ASM_STABS_OP): Here.
+       * config/elfos.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
+       SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
+       INT_ASM_OP, ASCII_DATA_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP,
+       STRING_ASM_OP): Here.
+       * config/freebsd.h (IDENT_ASM_OP): Here.
+       * config/linux-aout.h (SET_ASM_OP): Here.
+       * config/linux.h (SET_ASM_OP): Here.
+       * config/lynx.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+       INT_ASM_OP): Here.
+       * config/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
+       * config/nextstep.h (EH_FRAME_SECTION_ASM_OP, ALIGN_ASM_OP): Here.
+       * config/openbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
+       * config/psos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+       INT_ASM_OP): Here.
+       * config/ptx4.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
+       SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
+       INT_ASM_OP, ASCII_DATA_ASM_OP, CONST_SECTION_ASM_OP,
+       CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
+       FINI_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP STRING_ASM_OP): Here.
+       * config/svr3.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+       CONST_SECTION_ASM_OP, ASM_BYTE_OP): Here.
+       * config/a29k/udi.h (INT_ASM_OP): Here.
+       * config/alpha/alpha-interix.h (CONST_SECTION_ASM_OP,
+       CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
+       SET_ASM_OP): Here.
+       * config/alpha/alpha.h (TEXT_SECTION_ASM_OP,
+       READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+       UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+       UNALIGNED_DOUBLE_INT_ASM_OP, ASM_STABS_OP, ASM_STABN_OP,
+       ASM_STABD_OP): Here.
+       * config/alpha/elf.h (IDENT_ASM_OP, SKIP_ASM_OP, ALIGN_ASM_OP,
+       COMMON_ASM_OP, INT_ASM_OP, ASCII_DATA_ASM_OP,
+       CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+       BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP,
+       INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, TYPE_ASM_OP,
+       SIZE_ASM_OP, STRING_ASM_OP): Here.
+       * config/alpha/vms.h (LINK_SECTION_ASM_OP,
+       READONLY_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP,
+       CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, COMMON_ASM_OP): Here.
+       * config/arc/arc.h (ASM_BYTE_OP, SET_ASM_OP): Here.
+       (PUSHSECTION_ASM_OP): Define this, not PUSHSECTION_FORMAT.
+       * config/arm/aof.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP):
+       Here.
+       * config/arm/aout.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+       BSS_SECTION_ASM_OP, SET_ASM_OP): Here.
+       * config/arm/coff.h (INT_ASM_OP): Here.
+       * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Here.
+       * config/arm/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): Here.
+       * config/arm/linux-elf.h (IDENT_ASM_OP, CONST_SECTION_ASM_OP,
+       INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Here.
+       * config/arm/unknown-elf.h (UNALIGNED_WORD_ASM_OP): Here.
+       * config/avr/avr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+       ASM_BYTE_OP, TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP,
+       STRING_ASM_OP): Here.  Update documentation copy in comments.
+       * config/c4x/c4x.h (ASM_STABS_OP, BSS_SECTION_ASM_OP): Here.
+       * config/clipper/clipper.h (TEXT_SECTION_ASM_OP,
+       DATA_SECTION_ASM_OP): Here.
+       * config/clipper/clix.h (BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP):
+       Here.
+       * config/convex/convex.h (TEXT_SECTION_ASM_OP,
+       DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
+       * config/d30v/d30v.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+       BSS_SECTION_ASM_OP): Here.
+       * config/fr30/fr30.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+       BSS_SECTION_ASM_OP): Here.
+       * config/fx80/fx80.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+       Here.
+       * config/gmicro/gmicro.h (TEXT_SECTION_ASM_OP,
+       DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
+       * config/h8300/h8300.h (ASM_WORD_OP): Here.
+       * config/i370/i370.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+       BSS_SECTION_ASM_OP): Here.
+       * config/i386/aix386.h (INIT_SECTION_ASM_OP): Here.
+       * config/i386/bsd.h (ASM_BYTE_OP): Here.
+       * config/i386/cygwin.h (SET_ASM_OP, INT_ASM_OP): Here.
+       * config/i386/dgux.h (CONST_SECTION_ASM_OP): Here.
+       * config/i386/djgpp.h (IDENT_ASM_OP, INT_ASM_OP, SET_ASM_OP):
+       Here.
+       * config/i386/freebsd-elf.h (SET_ASM_OP): Here.
+       * config/i386/freebsd.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP):
+       Here.
+       * config/i386/i386-coff.h (CTORS_SECTION_ASM_OP,
+       DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
+       * config/i386/i386-interix.h (STRING_ASM_OP, CONST_SECTION_ASM_OP,
+       CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
+       SET_ASM_OP): Here.
+       * config/i386/i386elf.h (BSS_SECTION_ASM_OP): Here.
+       * config/i386/netbsd.h (INT_ASM_OP): Here.
+       * config/i386/openbsd.h (INT_ASM_OP): Here.
+       * config/i386/osfrose.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP,
+       IDENT_ASM_OP): Here.
+       * config/i386/sco5.h (ALIGN_ASM_OP, ASCII_DATA_ASM_OP,
+       ASM_BYTE_OP, IDENT_ASM_OP, COMMON_ASM_OP, SET_ASM_OP,
+       LOCAL_ASM_OP, INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, STRING_ASM_OP,
+       SKIP_ASM_OP, GLOBAL_ASM_OP): Here.
+       * config/i386/seq-sysv3.h (SHARED_SECTION_ASM_OP,
+       SHARED_BSS_SECTION_ASM_OP): Here.
+       * config/i386/sequent.h (SHARED_SECTION_ASM_OP): Here.
+       * config/i386/sun386.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
+       DATA_SECTION_ASM_OP): Here.
+       * config/i386/svr3gas.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+       CONST_SECTION_ASM_OP): Here.
+       * config/i386/sysv3.h (INIT_SECTION_ASM_OP): Here.
+       * config/i386/unix.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+       BSS_SECTION_ASM_OP): Here.
+       * config/i860/bsd-gas.h (ASCII_DATA_ASM_OP): Here.
+       * config/i860/bsd.h (ASCII_DATA_ASM_OP): Here.
+       * config/i860/fx2800.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP,
+       BSS_ASM_OP): Here, but use trailing spaces.
+       * config/i860/i860.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
+       DATA_SECTION_ASM_OP): Here.
+       * config/i860/paragon.h (ASCII_DATA_ASM_OP, BSS_SECTION_ASM_OP):
+       Here.
+       * config/i860/sysv3.h (ASCII_DATA_ASM_OP, CTORS_SECTION_ASM_OP,
+       DTORS_SECTION_ASM_OP, TDESC_SECTION_ASM_OP): Here.
+       * config/i860/sysv4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+       TDESC_SECTION_ASM_OP): Here.
+       * config/i960/i960-coff.h (CTORS_SECTION_ASM_OP,
+       DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
+       * config/i960/i960.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+       Here.
+       * config/ia64/ia64.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+       BSS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
+       UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+       UNALIGNED_DOUBLE_INT_ASM_OP): Here.
+       * config/ia64/sysv4.h (ASM_BYTE_OP, STRING_ASM_OP, SKIP_ASM_OP,
+       COMMON_ASM_OP, ASCII_DATA_ASM_OP, INIT_SECTION_ASM_OP,
+       FINI_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+       SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Here.
+       * config/m32r/m32r.h (SCOMMON_ASM_OP): Here.
+       * config/m68hc11/m68hc11.h (GLOBAL_ASM_OP): Here.
+       * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
+       SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
+       SET_ASM_OP): Here.
+       * config/m68k/coff.h (BSS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
+       DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
+       * config/m68k/crds.h (BSS_SECTION_ASM_OP): Here.
+       * config/m68k/dpx2.h (ASM_BYTE_OP, GLOBAL_ASM_OP): Here.
+       * config/m68k/hp320.h (ASCII_DATA_ASM_OP, GLOBAL_ASM_OP): Here.
+       * config/m68k/linux.h (BSS_SECTION_ASM_OP): Here.
+       * config/m68k/lynx.h (BSS_SECTION_ASM_OP): Here.
+       * config/m68k/m68k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+       GLOBAL_ASM_OP): Here.
+       * config/m68k/m68kelf.h (SWBEG_ASM_OP, BSS_ASM_OP,
+       BSS_SECTION_ASM_OP): Here.
+       * config/m68k/m68kv4.h (BSS_ASM_OP): Here.
+       * config/m68k/mot3300.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+       ASCII_DATA_ASM_OP, SET_ASM_OP, CTORS_SECTION_ASM_OP,
+       DTORS_SECTION_ASM_OP, GLOBAL_ASM_OP, ASM_BYTE_OP, ALIGN_ASM_OP,
+       SKIP_ASM_OP): Here.
+       * config/m68k/newsgas.h (SET_ASM_OP): Here.
+       * config/m68k/rtemself.h (INIT_SECTION_ASM_OP,
+       FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
+       * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
+       SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
+       SET_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here,
+       but use trailing spaces.
+       * config/m68k/tower-as.h (TEXT_SECTION_ASM_OP,
+       DATA_SECTION_ASM_OP, GLOBAL_ASM_OP, INIT_SECTION_ASM_OP,
+       FINI_SECTION_ASM_OP, CONST_SECTION_ASM_OP, BSS_SECTION_ASM_OP):
+       Here.
+       * config/m88k/dgux.h (FINI_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
+       CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
+       * config/m88k/m88k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+       CONST_SECTION_ASM_OP, TDESC_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
+       DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+       IDENT_ASM_OP, FILE_ASM_OP, SECTION_ASM_OP, SET_ASM_OP,
+       GLOBAL_ASM_OP, ALIGN_ASM_OP, SKIP_ASM_OP, COMMON_ASM_OP,
+       BSS_ASM_OP, FLOAT_ASM_OP, DOUBLE_ASM_OP, INT_ASM_OP, SHORT_ASM_OP,
+       CHAR_ASM_OP, ASCII_DATA_ASM_OP, SBSS_ASM_OP, SCOMM_ASM_OP,
+       SDATA_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, INTERNAL_ASM_OP,
+       VERSION_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+       PUSHSECTION_ASM_OP, POPSECTION_ASM_OP, REQUIRES_88110_ASM_OP,
+       ASM_BYTE_OP): Here.
+       * config/m88k/openbsd.h (SET_ASM_OP): Here.
+       * config/m88k/sysv4.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+       CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
+       * config/mcore/mcore-elf.h (UNALIGNED_INT_ASM_OP,
+       UNALIGNED_SHORT_ASM_OP, CTORS_SECTION_ASM_OP,
+       DTORS_SECTION_ASM_OP): Here.
+       * config/mcore/mcore-pe.h (CTORS_SECTION_ASM_OP,
+       DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
+       * config/mips/elf.h (TYPE_ASM_OP, SIZE_ASM_OP,
+       BSS_SECTION_ASM_OP): Here.
+       * config/mips/elf64.h (TYPE_ASM_OP, SIZE_ASM_OP): Here.
+       * config/mips/iris5.h (ABICALLS_ASM_OP): Here.
+       * config/mips/iris6.h (TYPE_ASM_OP, SIZE_ASM_OP,
+       POPSECTION_ASM_OP, BSS_SECTION_ASM_OP, CONST_SECTION_ASM_OP_32,
+       CONST_SECTION_ASM_OP_64, CTORS_SECTION_ASM_OP,
+       DTORS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
+       * config/mips/mips.c (ABICALLS_ASM_OP): Here.
+       * config/mips/mips.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP):
+       Here.
+       * config/mips/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP):
+       Here.
+       * config/mips/osfrose.h (SET_ASM_OP): Here.
+       * config/mips/sni-svr4.h (ABICALLS_ASM_OP): Here.
+       * config/ns32k/encore.h (SHARED_SECTION_ASM_OP): Here.
+       * config/ns32k/merlin.h (SHARED_SECTION_ASM_OP): Here.
+       * config/ns32k/ns32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+       Here.
+       * config/ns32k/sequent.h (SHARED_SECTION_ASM_OP): Here.
+       * config/ns32k/tek6000.h (SHARED_SECTION_ASM_OP): Here.
+       * config/pa/pa-64.h (INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP): Here.
+       * config/pa/pa.h (ASM_STABS_OP, ASM_STABN_OP): Here.
+       * config/pj/pj.h (SET_ASM_OP, BSS_SECTION_ASM_OP): Here.
+       * config/pyr/pyr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+       Here.
+       * config/romp/romp.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+       Here.
+       * config/rs6000/rs6000.h (SET_ASM_OP): Here.
+       * config/rs6000/sol2.h (ASM_STABN_OP): Here.
+       * config/rs6000/sysv4.h (SKIP_ASM_OP, LOCAL_ASM_OP, LCOMM_ASM_OP):
+       Here.
+       * config/sh/sh.h (SET_ASM_OP, BSS_SECTION_ASM_OP,
+       UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here.
+       * config/sparc/linux.h (COMMON_ASM_OP): Here.
+       * config/sparc/linux64.h (COMMON_ASM_OP,
+       UNALIGNED_DOUBLE_INT_ASM_OP): Here.
+       * config/sparc/litecoff.h (BSS_SECTION_ASM_OP,
+       CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
+       * config/sparc/lynx.h (BSS_SECTION_ASM_OP): Here.
+       * config/sparc/pbd.h (ASM_INT_OP): Here.
+       * config/sparc/sp64-elf.h (UNALIGNED_LONGLONG_ASM_OP): Here.
+       * config/sparc/sparc.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
+       DATA_SECTION_ASM_OP, IDENT_ASM_OP): Here.
+       * config/sparc/sun4gas.h (UNALIGNED_DOUBLE_INT_ASM_OP,
+       UNALIGNED_INT_ASM_OP, UNALIGNED_SHORT_ASM_OP): Here.
+       * config/sparc/sysv4.h (STRING_ASM_OP, COMMON_ASM_OP, SKIP_ASM_OP,
+       UNALIGNED_DOUBLE_INT_ASM_OP, UNALIGNED_INT_ASM_OP,
+       UNALIGNED_SHORT_ASM_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP,
+       TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
+       CONST_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+       CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+       EH_FRAME_SECTION_ASM_OP): Here.
+       * config/sparc/vxsim.h (COMMON_ASM_OP): Here.
+       * config/spur/spur.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+       Here.
+       * config/tahoe/tahoe.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+       Here.
+       * config/v850/v850.h (SCOMMON_ASM_OP, ZCOMMON_ASM_OP,
+       TCOMMON_ASM_OP): Here.
+       * config/vax/vax.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+       Here.
+       * config/we32k/we32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+       ASM_BYTE_OP): Here.
+
+2000-09-25  Richard Henderson  <rth@cygnus.com>
+
+       * expmed.c (store_bit_field): Adjust last change to not consider
+       any word-sized field naturally aligned.
+
+2000-09-24  Richard Henderson  <rth@cygnus.com>
+
+       * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
+       TFmode unordered compares properly.  Revalidate integer compare
+       operands.
+       (alpha_emit_setcc): New.
+       (alpha_emit_conditional_move): Revalidate integer compare operands.
+       * config/alpha/alpha-protos.h: Update.
+       * config/alpha/alpha.md (cmpdi): Allow general operands.
+       (sne): Use alpha_emit_setcc.
+       (seq, slt, sle, sgt, sge, sltu, sleu, sgtu, sgeu): Likewise.
+       (sunordered, sordered): New.
+
+2000-09-24  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64-protos.h: Update.
+       * config/ia64/ia64.c (call_multiple_values_operation): Remove.
+       (ia64_expand_call): New.
+       (ia64_expand_prologue): Emit an alloc if we need extra input
        registers.
+       (ia64_expand_epilogue): New arg sibcall_p; don't emit the return
+       instruction if true.
+       (struct reg_flags): Add is_sibcall.
+       (rtx_needs_barrier): A sibcall does not use CFM et al.  Ignore USEs.
+       (emit_insn_group_barriers): Set flags.is_sibcall.  Remove hacks
+       for CODE_FOR_gr_spill_internal/CODE_FOR_gr_restore_internal.
+       * config/ia64/ia64.h (PREDICATE_CODES): Update.
+       * config/ia64/ia64.md (call): Use ia64_expand_call.
+       (call_value): Likewise.
+       (sibcall, sibcall_value): New.
+       (call patterns): Remove extra expanders; tidy.
+       (sibcall_epilogue): New.
+       (set_bsp): Remove the extra USE.  Put the operand inside the UNSPEC.
+
+2000-09-24  Richard Henderson  <rth@cygnus.com>
+
+       * emit-rtl.c (gen_lowpart_common): Use trunc_int_for_mode.
 
-       * t-decrose (collect): Use ALL_CFLAGS instead of CFLAGS, since this
-       gets the shared library flags in x-decrose.
+       * sibcall.c (skip_pic_restore): New.
+       (identify_call_return_value): Use it.
 
-Thu Nov  7 07:57:36 1991  Tom Wood  (wood at dg-rtp.dg.com)
+2000-09-24  Mark Mitchell  <mark@codesourcery.com>
 
-       * tm-m88k.h (MEMORY_MOVE_COST): Define.
-       (TARGET_88*): Fix.
+       * c-tree.texi: Moved here from cp/ir.texi.  Documented nested
+       functions.  Generalize to handle both C and C++.
+       * Makefile.in (c-tree.info): New target.
+       (info): Add c-tree.info.
+
+Sun Sep 24 09:15:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (store_field): If BITSIZE is negative, use size of type.
+       (expand_expr, case COMPONENT_EXPR): Likewise.
 
-Wed Nov  6 19:07:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Sun 24-Sep-2000 11:40:23 BST  Neil Booth  <NeilB@earthling.net>
 
-       * a29k.md (negsf2, negdf2): Add missing CLOBBER in 29050 case.
+       * cpplex.c: Update TODO comment.
+       * cpplib.c (do_error, do_warning): Merge common code of
+       do_error and do_warning into do_diagnostic.  Use it.
+       (do_diagnostic): New function.
+       * cpplib.h: Fix comment typo.
+
+2000-09-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (check_format_info): Warn for a wide character string
+       used as a non-wide format argument.
+
+2000-09-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * builtins.def (BUILT_IN_LLABS): Add.
+       * builtins.c (expand_builtin): Also abort on BUILT_IN_LLABS.
+       * c-common.c (c_common_nodes_builtins): Create builtin functions
+       __builtin_llabs, and plain llabs unless no_nonansi_builtins
+       outside of C99 mode.
+       (expand_tree_builtin): Handle BUILT_IN_LLABS.
+
+Sat 23-Sep-2000 22:39:18 BST  Neil Booth  <NeilB@earthling.net>
+
+       * cpphash.h (CPP_RESERVE, CPP_PUTS_Q, CPP_PUTS, CPP_PUTC_Q,
+       CPP_PUTC, DUMMY_TOKEN, NO_DUMMY_TOKEN): Delete.
+       * cpplex.c (_cpp_expand_token_space, _cpp_init_toklist,
+       _cpp_free_toklist): No need to worry about extra dummy token
+       at the start of token lists any more.
+       (trigraph_ok): Only warn outside comments.
+       (skip_block_comment): Set and clear lexing_comment.
+       (skip_line_comment): Take a cpp_reader not cpp_buffer.
+       Set and clear lexing_comment.
+       (parse_number): Handle leading '.' indicated by pfile->seen_dot.
+       (check_long_token): Delete.
+       (lex_percent, lex_dot): New subroutines of lex_token to
+       handle lexing of '.' and '%' without lookback.
+       (lex_token): Use lex_dot and lex_percent.
+       (lex_line): Don't check for LIST_OFFSET.
+       (_cpp_init_input_buffer): Update for new _cpp_init_toklist.
+       * cpplib.c (_cpp_parse_assertion): Similarly.
+       (cpp_push_buffer): Initialize extra_char.
+       * cpplib.h (LIST_OFFSET): Delete.
+       (struct cpp_buffer): New member extra_char.
+       (struct lexer_state): New members lexing_comment and seen_dot.
+
+2000-09-23  Jason Merrill  <jason@redhat.com>
+
+       * config/rs6000/x-aix41 (CLIB): Define here.
+       * config/rs6000/t-aix43: Not here.
+       * config/rs6000/t-aix41: Or here.  Remove.
+       * configure.in: Don't use it.
+
+2000-09-22  Jason Merrill  <jason@redhat.com>
+
+       * configure.in: Add test for HAVE_LD_DWARF_LINKONCE.
+       * toplev.c: Use it to initialize flag_eliminate_dwarf2dups.
+       * config.in: Regenerate.
+
+       * configure.in: Fix checks for assembler features when using a
+       one-tree assembler that has not yet been built.
+       Fix --disable-threads.
+
+2000-09-19  Geoff Keating  <geoffk@cygnus.com>
+
+       * stmt.c (expand_asm_operands): Allow # in constraints.
+
+2000-09-22  Jason Merrill  <jason@redhat.com>
+
+       * c-lex.c (skip_white_space): Just treat CRs as horizontal whitespace.
+
+       * dbxout.c (dbxout_symbol_name): Just use DECL_NAME for
+       function-local names.
 
-       * jump.c (jump_optimize): When looking for a conditional jump
-       skipping an unconditional jump, be sure the conditional jump is
-       not an unconditional jump.
+2000-09-22  Brad Lucier <lucier@math.purdue.edu>
+           Mark Mitchell  <mark@codesourcery.com>
 
-       * combine.c (try_combine): If we make an unconditional jump,
-       be sure it is followed by a BARRIER.
-       (subst, case SET): Convert (set (pc) (return)) to (return).
+       * toplev.c (warn_disabled_optimization): Declare new warning flag.
+       * flags.h (warn_disabled_optimization): Add it here.
+       * gcse.c (gcse_main): Add warning when disabled.
+       * invoke.texi: Document -Wdisabled-optimization.
 
-Wed Nov  6 13:41:55 1991  Tom Wood  (wood at dg-rtp.dg.com)
+2000-09-21  Jason Merrill  <jason@redhat.com>
 
-       * tm-m88kv3.h, xm-m88kv3.h: Renamed from *m88ksysv3*.
+       * dwarf2out.c (add_const_value_attribute): Multiply by length, not 4.
 
-Wed Nov  6 09:27:16 1991  Michael Meissner  (meissner at osf.org)
+       * dwarf2out.c (tree_add_const_value_attribute): New fn.
+       (gen_variable_die): Call it for non-definitions.
 
-       * tm-mips.h (MIPS_VERSION): Bump meissner version number to 3.2.
-       (TARGET_SWITCHES): Add -msoft-float and -mhard-float.
-       (GP_RETURN): Use GP_REG_FIRST as base of GP registers.
-       (FP_RETURN): Use FP_REG_FIRST as base of FP registers.  If
-       -msoft-float, make $2 be the return register.
-       (GP_ARG_FIRST, GP_ARG_LAST): Use GP_REG_FIRST as 1st GP reg.
-       (FP_ARG_FIRST, FP_ARG_LAST): Use FP_REG_FIRST as 1st FP reg.
+       * dwarf2out.c (die_struct): Add die_mark field.
+       (mark_dies, unmark_dies): New fns.
+       (clear_die_sizes): Remove.
+       (print_die): Check die_symbol rather than die_offset.
+       (build_abbrev_table, output_pubnames, output_aranges): Check
+       die_mark rather than die_offset.
+       (output_comp_unit): Move calc_die_sizes after build_abbrev_table.
+       Call mark_dies.
+
+Thu 21-Sep-2000 18:19:05 BST  Neil Booth  <NeilB@earthling.net>
 
-       * mips.md (ffssi2, ffssi2_internal): Fix ffs builtin so that it
-       doesn't clobber the input argument by turning it into a
-       define_expand, and using a parallel operation including the
-       necessary clobber's.
-       (abssi2, ffssi2, ffssi2_internal): Use the 'd' constraint which only
-       matches the integer registers, rather than 'r' which can match
-       floating point registers as well.
-
-       * tm-mips-news.h (CPP_SPEC): Add -Dnews7300, -Dsony_news, -Dmips,
-       and -Dhost_mips.
-
-Wed Nov  6 08:46:54 1991  Mark Eichin  (eichin at cygnus.com)
-
-       * cp-class.c (add_method): when adding a new constructor or
-       destructor, actually chain onto method_vec[0] rather than replacing
-       the list with the current entry.
-
-Wed Nov  6 07:04:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * expr.c (store_field): Handle case where we are storing into a BLKmode
-       field of an object that is in a register.
-       (expand_expr, case COMPONENT_REF): Handle case where we are extracting
-       a BLKmode field from an object in a register.
-
-Tue Nov  5 22:16:39 1991  Michael Meissner  (meissner at osf.org)
-
-       * tm-mips.h (target_flags): Delete second declaration.
-       (MASK_G0, MASK_G1, MASK_G2): Delete, since -G xx now works to set
-       the size of the small data/bss area cutoff.
-       (MASK_G012_USED, MASK_G012_NUSED): ditto.
-       (TARGET_GVALUE): ditto.
-       (TARGET_G012_USED): ditto.
-       (TARGET_SWITCHES): Delete -mGx, -mno-Gx switches.
-       (TARGET_DEFAULT): Set to 0 instead of MASK_G012_NUSED.
-
-       * tm-decrose.h (TARGET_DEFAULT): Eliminate MASK_G012_NUSED.
-
-       * out-mips.c (override_options): Remove support for -mGx and -mno-Gx
-       switches to set the cutoff size for small data/bss.
-
-       * mips.md (abssi2): Add new pattern.
-       (ffssi2): Add new pattern.
-
-Tue Nov  5 18:36:29 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * gcc.texinfo (MEMORY_MOVE_COST): Document new macro.
-       * regclass.c (MEMORY_MOVE_COST): Default it to 2.
-       (regclass, reg_class_record): Use MEMORY_MOVE_COST, not constant 2.
-       (regclass): Look at result of single_set instead of checking again if
-       pattern is a SET.
-       * tm-rs6000.h (MEMORY_MOVE_COST): Add definition.
-
-Tue Nov  5 17:01:05 1991  Ken Raeburn  (raeburn at cygnus.com)
-
-       * cp-pt.c (tsubst): For char_type_node, just build variant and
-       return it.
-       (tsubst, case FUNCTION_DECL): Walk methods more efficiently.
-
-       * cp-pt.c (overload_template_name): Push a binding level, to
-       separate template name binding from method parameters.  Check
-       identifier value slots for TYPE_DECLs, not RECORD_TYPEs.  Don't need
-       to do extra push of TYPE_DECL for template name.
-       (undo_template_name_overload): Pop it.  Don't need to explicitly
-       clear template name binding.
-
-       * cp-ptree.c (print_lang_decl): For FIELD_DECL, don't try to
-       print fields that go off the end of the lang_decl_flags structure.
-
-       * cp-pt.c (pop_template_decls): Don't explicitly clear out value
-       slots of identifier; let poplevel/poplevel_class do it.
-
-       * cp-pt.c: Use build_lang_decl insteaed of build_decl for
-       all TEMPLATE_DECL and TYPE_DECL nodes.
-
-       * cp-tree.h (make_anon_name): Declare it.
-
-       * cp-pt.c (unify): Deleted unreachable code.
-
-       * cp-decl.c (push_overloaded_decl): Fixed typo from merge.
-       (start_decl): Ditto.
-       (grokdeclarator, case CALL_EXPR): Remove debug_tree call
-       accidentally left in.  Handle constructor templates specially, like
-       destructor templates.  Removed some commented-out code.
-       (grokdeclarator, case SCOPE_REF): If the type is uninstantiated,
-       treat it like any other aggregate type code.
-
-       * cp-lex.c (identifier_typedecl_value): If no binding slot from
-       the identifier is the right type decl, use the type name if it is
-       non-null, even if the name doesn't match.
-       (build_lang_decl): If new decl node is TREE_PERMANENT, make sure the
-       lang-specific info gets allocated that way too; don't assume that
-       the current obstack is permanent.
-       (copy_decl_lang_specific): If decl is TREE_PERMANENT, assert that
-       the current obstack is permanent.
-
-       * cp-parse.y (template_def): Delete derivations that were
-       purportedly for constructors; they didn't work.
-       (notype_declarator): Deal with them here.
-       (template_instantiate_once): Copy decl node with permanent obstacks,
-       thereby clearing the chain pointer, before pushing it into top
-       level.
-       (structsp): Don't need to undo template name overload here.
-       (scoped_typename): Want TYPENAME with template type, not PTYPENAME.
-
-Tue Nov  5 13:46:06 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * sdbout.c (sdbout_init, sdbout_symbol): Don't reverse the
-       permanent types.  
-
-       * cccp.c (make_definition): Eliminate previous change associated
-       with pretty-printing strings passed to do_define.
-       (pass_thru_directive): Move pretty-printing here.
-
-Tue Nov  5 11:21:34 1991  Michael Meissner  (meissner at osf.org)
-
-       * tm-mips-news.h (ASM_SPEC, LINK_SPEC): Correctly pass -EB instead
-       of -EL, since the Sony News system is big endian not little endian.
-
-Tue Nov  5 09:54:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * tm-m88kv4.h, t-m88kv4, x-m88kv4: Renamed from *m88ksysv4*.
-
-Tue Nov  5 06:36:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * cse.c (simplify_relational_operation, unsigned comparisons): Don't
-       simplify unless mode of operand is a MODE_INT mode.
-
-       * Makefile.in (*CFLAGS): More clearly document the purposes of each
-       of the flags.  Add X_CFLAGS and T_CFLAGS for x-* and t-* to override.
-       * x-decrose, x-hp9k320g, x-i386isc, x-m88ksysv4, x-mips, x-tower:
-       Override X_CFLAGS instead of CFLAGS or INTERNAL_CFLAGS.
-       * x-vax: Likewise.
-       * x-sco: Don't include XCFLAGS in definition of CFLAGS.
-
-       * gstddef.h: Renamed from stddef.h.
-       * Makefile.in (USER_H, install-common-headers): Install gstddef.h as
-       stddef.h.
-
-Mon Nov  4 17:54:04 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * integrate.c (save_constants): If we are referencing a constant in
-       the constant pool in a different mode than its normal mode, make
-       a SUBREG so that we can record both modes.
-       (copy_for_inline, restore_constants): Handle these SUBREG's.
-       (copy_for_inline): Must copy a MEM if it's address contains an
-       ADDRESS (i.e., the address of a constant pool entry).
-
-       * expr.c (expand_expr, case PLUS_EXPR): If adding constant, FP, and
-       something else, add FP to the constant and then add the other operand.
-
-       * global-alloc.c (find_reg): If all_regs_p, use ALL_REGS, not
-       GENERAL_REGS.
-       * local-alloc.c (block_alloc): Likewise.
-
-       * genoutput.c (gen_expand): Record all the same information as
-       for a DEFINE_INSN.
-
-       * cse.c (simplify_binary_operation, case PLUS): Simplify expressions
-       like (a +/- b) - (a +/- c).
-       (simplify_binary_operation, case MULT): For X * (-1), try to simplify
-       the NEG before we make it.
-
-Mon Nov  4 16:29:01 1991  Mark Eichin  (eichin at cygnus.com)
-
-       * cp-pt.c (overload_template_name): use build_lang_decl so that
-       lang_specific gets initialized properly.
-
-       * cp-parse.y (LC): use make_lang_type to produce complete node,
-       not just make_node.
-
-       * cp-ptree.c (print_lang_type): return if TYPE_LANG_SPECIFIC is
-       null, since everything printed here is in lang_specific.
-
-Mon Nov  4 16:17:48 1991  James Van Artsdalen  (james at raid.dell.com)
-
-       * x-i386v4: New file.
-       * configure (i386-sysv4): Use it.
-
-Mon Nov  4 12:36:09 1991  Michael Meissner  (meissner at osf.org)
-
-       * gcc.texinfo (BRANCH_COST): Move so BRANCH_COST formats correctly.
-
-Mon Nov  4 08:03:44 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * x-m88kdgux, x-m88ksysv4: Don't set XCFLAGS.
-
-       * jump.c (jump_optimize):  Change "if (...) x = 0;" to use a
-       store-flag insn if jumps are expensive (BRANCH_COST).
-
-       * tm-m88k.h (BRANCH_COST): Branches are cheap on the m88100.
-       (OVERRIDE_OPTIONS): Make m88100 the default.
-       (STORE_FLAG_VALUE): Use -1.
-       (.ctors and .dtors sections): Change section flags.
-       * m88k.md (sxx, negate sxx): Use ext and extu.  Eliminate extendsxx.
-
-Mon Nov  4 07:19:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * romp.md (movdf, movdi): When splitting, ensure we put in a CLOBBER
-       for a scratch register, when needed.
-
-       * tm-a29k.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define to be 
-       compatible with those chosen by EPI.
-
-       * tm-rs6000.h (REG_ALLOC_ORDER): Put CR registers before integer regs.
-
-       * cse.c (simplify_relational_operation): Fix error in last change.
-
-Sun Nov  3 12:22:41 1991  Torbjorn Granlund  (tege at sics.se)
-
-       * longlong.h (m68020 count_leading_zeros): Fix typo in previous
+       * cppfiles.c (lookup_include_file): Rename to open_file.
+       Always create a splay tree value, even on syscall failures.
+       Negative entries indicated by fd == -2.
+       Re-open files closed in the meantime.
+       (_cpp_fake_include): Create a negative splay tree entry.
+       (find_include_file, cpp_read_file): Update for function name
        change.
+       * gcc.gd/cpp/mi4.c: Testcase.
 
-Sun Nov  3 09:25:39 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * cse.c (simplify_relational_operation, cases GEU, LTU, GTU, LEU):
-       Simplify comparisons that have known values such as (unsigned) x < 0.
-
-       * final.c (final_scan_insn): If we've just made a branch unconditional,
-       convert (set (pc) (return)) to (return).
-       Use const_true_rtx instead of calling gen_rtx to make it again.
-
-       * x-romp (CC): Pass -Hnocpp to hc so it will use builtin preprocessor.
-       (INTERNAL_CFLAGS): Don't define BSTRING here.
-       * xm-romp.h (alloca): Add definition to allow use of hc's builtin.
-       (BSTRING): Define here.
-
-       * reload1.c (spill_hard_reg): Correct typo in previous change; had
-       test backwards.
-
-       * function.c (instantiate_virtual_regs_1, case PLUS): If can't
-       replace operand with register, try to replace all copies of operand
-       with the register in case of MATCH_DUP.
-
-       * recog.c (validate_replace_rtx_1): Use rtx_equal_p to see if
-       things are equal.
-
-       * genconfig.c (max_recog_operands, max_dup_operands): Remove `_flag'
-       in name since these aren't flags.
-       (max_clobbers_per_insn): Likewise.
-       (main): Default to at least 10 operands (for asm) and 1 dup operand.
-
-Sun Nov  3 07:26:57 1991  Ron Guilmette  (rfg at ncd.com)
-
-       * Makefile.in (gnulib1.null): Use $(GCC_FLAGS) instead
-       of $(CCLIBFLAGS).
-       (gnulib1): Don't copy gnulib1.c into a temporary .c file before
-       compiling.  That messes up the source file names in the debug info,
-       which makes it harder to debug gnulib1 problems.
-
-       * Makefile.in (install-*): Force removal of previously installed files
-       before installing new ones (in case they got set to read-only somehow).
-
-       * Makefile.in (uninstall): Remove protoize.1 and unprotoize.1 man
-       page files.
-
-Sat Nov  2 22:42:06 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * out-a29k.c (output_epilog): Remove write_symbols from parameter list
-       of call to final_scan_insn.
-       * out-m88k.c (preserve_registers): Likewise.
-       * out-mips.c (function_epilogue): Likewise.
-       * out-sparc.c (output_function_epilogue, output_tail_call): Likewise.
-
-Sat Nov  2 22:02:45 1991  Ken Raeburn  (raeburn at cygnus.com)
-
-       * cp-search.c (push_class_decls): Added missing argument to
-       overload_template_name.
-
-       * cp-ptree.c (print_lang_decl): Don't print lang-specific fields
-       for FIELD_DECL, since it has only the shorter flags structure.
-
-       * cp-class.c (finish_struct_method): Fixed comment typo.
-
-       * cp-decl.c: Add some code for debugging binding level
-       manipulations, conditionalized on DEBUG_CP_BINDING_LEVELS.
-       (debug_bindings_indentation): New var, used to maintain indentation
-       to indicate which changes are on the behalf of other routines.
-       (push_binding_level): Print debugging messages to track binding
-       level changes and call/nesting sequences.
-       (pushlevel, poplevel): Ditto.
-       (pushlevel_class): Ditto.
-       (pop_binding_level): Ditto.  Also scribble over freed binding level,
-       and don't store it for re-use.
-       (poplevel_class): Ditto.
-       * cp-decl.h (debug_bindings_indentation): Declare it.
-       * cp-pt.c (push_template_decls, pop_template_decls): Added
-       debugging fprintf calls here too.
-
-Sat Nov  2 17:00:22 1991  Ron Guilmette  (rfg at ncd.com)
-
-       * cp-except.c (finish_exception_decl): Change `enum debugger' to
-       `enum debug_info_type'.
-       * final.c (final_start_function, final, final_end_function,
-       output_source_line): Delete the `write_symbols' parameter.
-       Instead use the global `write_symbols' declared in flags.h.
-       * sched.c (unlink_notes, schedule_block, schedule_insns): Compare
-       `write_symbols' with NO_DEBUG rather than with zero.
-       * toplev.c (rest_of_decl_compilation, rest_of_compilation): Don't
-       pass `write_symbols' to assemble_variable, final_start_function,
-       final, final_end_function.
-       * varasm.c (assemble_variable): Delete the `write_symbols' parameter.
-       Instead use the global`write_symbols' declared in flags.h
-
-Sat Nov  2 09:48:47 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * caller-save.c: Don't include reload.h; not used.
-       * Makefile.in (caller-save.o): Likewise.
-
-       * final.c (final_start_function, final_end_function, final): Change
-       enum debugger to enum debug info to finish previous change.
-       (final_scan_insn, output_source_line): Likewise.
-       * varasm.c (assemble_variable): Likewise.
-
-       * rtlanal.c (modified_between_p, find_last_value): New functions; not
-       yet used.
-       * rtl.h (find_last_value): Declare.
-
-       * cse.c (simplify_binary_operation): Remove comparison cases from
-       here; now in simplify_relational_operation.
-
-Fri Nov  1 19:04:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * rtl.h (REG_DEAD): More precisely describe when a REG_DEAD note
-       should be present.
-       * rtlanal.c (dead_or_set_regno_p): New function.
-       (dead_or_set_p): A value is dead or set only if each register in it
-       is dead or set.
-       * combine.c (reg_bitfield_target): New function.
-       (distribute_notes, case REG_DEAD): Place REG_DEAD note only if both
-       dead_or_set_p and reg_bitfield_target are false.
-       * flow.c (cc0_live): New variable; replaces following_insn_dead.
-       (propagate_block): Initialize cc0_live instead of following_insn_dead.
-       Track CC0's life just like other regs instead of using special
-       mechanism involving following_insn_dead.
-       Clear last_mem_set even when not final pass.
-       Don't call mark_used_regs on dead insns.
-       (insn_dead_p): Use cc0_live to see if a set of CC0 is dead.
-       Correctly test if set of multi-word value is needed; set if dead only
-       if none of the words are needed.
-       (libcall_dead_p): Allow CALL to be in any part of PARALLEL.
-       Use insn_dead_p to see if SET of return register is dead; old code
-       incorrectly tested multi-word registers.
-       (mark_set_1): Track whether all or only some words of a value are
-       needed; write partial REG_UNUSED note if only some words won't be
-       needed.
-       (mark_used_regs): Likewise for REG_DEAD notes.
-       Set cc0_live for a reference to CC0.
-       Don't write REG_DEAD note if register is already dead or set in INSN.
-       No longer check for unused SET_DEST since it won't be called for dead
-       insns; if a single SET's result was unneeded but the insn can't be
-       deleted, the source of the SET is live.
-       Clear last_mem_set even if not final pass.
-
-       * reload1.c (gen_input_reload): Handle REG+MEM the same as REG+INT.
-
-       * gcc.c (xmalloc, xrealloc): Use unsigned instead of size_t for `size'.
-
-       * cccp.c (bcopy, bzero, bcmp): No longer static.  Only declare at
-       front of file if we are going to define them later.
-
-Fri Nov  1 18:57:25 1991  Ron Guilmette  (rfg at ncd.com)
-
-       * cccp.c (timebuf): Declaration moved out of `special_symbol' and
-       made global (and "static") to get values of __DATE__ and __TIME__
-       to remain constant throughout compilation.
-       (debug_output): New variable.
-       (main): Accept -g3 option and set debug_output when seen.
-       (main): Moved initializations of `outbuf' and `fp' to before call
-       to `initialize_builtins'.
-       Pass fp and &output to initialize_builtins so that it can write out
-       artificial #define lines for builtin symbols.
-       Call `output_line_directive' before doing each make_define or
-       make_undef so that when `debug_output' is in effect, we'll
-       get #line 0 directives before each artificial #define or #undef.
-       (special_symbol): Initialization of `timebuf' deleted from here.
-       (initialize_builtins): Initialize timebuf here.
-       (pass_thru_directive): New function.
-       (do_define, do_undef): Use `pass_thru_directive' for "precompilation"
-       of header files.
-       Call `pass_thru_directive' when -g3 option used.
-       (initialize_builtins): Generate artificial #define directives (in the
-       output) to represent the values of all builtin symbols whose defs
-       can't change during compilation.
-       (make_undef): Added output buffer param so that make_undef could let
-       do_undef do output to stdout.
-       Call do_undef with a real output buffer.
-       (make_definition): Likewise.
-       Many minor changes to get strings passed to do_define to always look
-       like correctly formed #define directives.
-
-       * c-decl.c (store_parm_decls): Remove non-params from the list before
-       checking to see if the type of any element of the list is complete.
-       (pushlevel):  Fixed bug which caused scope of tagged types to be
-       incorrectly assigned to the outermost {} block of functions rather
-       than to the outermost binding contours of functions.
-       (pushtag):  Revised to clarify code used to find applicable
-       binding level for a tagname.
-       Set TYPE_CONTEXT of new tagged type so that dwarfout.c can tell
-       file-scope tagged types from non-file-scope tagged types.
-       Create a NULL-named TYPE_DECL node for each new tagged type
-       (even incomplete ones).
-       (finish_struct, finish_enum): Don't create NULL-named
-       TYPE_DECL nodes for complete tagged types.  (This is now done in
-       `pushtag' for *all* new tagged type declarations and definitions.)
-
-       * toplev.c (compile_file):  Adjust conditions under which
-       `dwarfout_file_scope_decl' is called during final traversal of
-       the chain of file-scope decls so that it is called also for
-       file-scope TYPE_DECLs.
-       (rest_of_decl_compilation):  Deleted call to `dwarfout_file_scope_decl'
-       for file-scope TYPE_DECLs; call `dwarfout_file_scope_decl' instead of
-       `dwarfout_file_scope_symbol'.
-
-       * dbxout.c, sdbout.c, flags.h, toplev.c:  Change DEBUG_LEVEL_* to
-       DINFO_LEVEL_* to prevent possible confusion about meaning.
-
-       * flags.h, toplev.c: (enum debug_info_type):  Renamed type from
-       `debugger' and cleaned up definition of type (including deletion
-       of useless EXTENDED_DBX_DEBUG code).
-       (use_gdb_dbx_extensions): Make declarations conditional on
-       DBX_DEBUGGING_INFO being defined.
-
-       * out-i860.c (output_fp_move_double, find_addr_reg):  Add return stmts
-       to avoid warnings when compiling with -Wreturn-type.
-       (output_delayed_branch):  Fix test for CONST_INT values which must be
-       loaded in two instructions (as two halves).
-       (function_epilogue):  Remove ASM_OUTPUT_EPILOGUE_SUFFIX.  (Superceeded
-       by ASM_DECLARE_FUNCTION_SIZE in varasm.c.)
-
-       * xm-i386.h (i386): Define in case the native host compiler doesn't.
-
-       * tm-svr4.h (SVR4): Define this rather than SVR4_target.
-       (ASM_FINAL_SPEC): Support the -pipe option.
-       (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_OBJECT_NAME): Allow easy
-       redefinition of the syntax for second operand of .type.
-       (ASM_DECLARE_FUNCTION_SIZE): Fix line continuations.
-
-Fri Nov  1 14:14:14 1991  Michael Meissner  (meissner at osf.org)
-
-       * out-mips.c (mips_asm_file_end): Generate correct code if the user
-       uses asm("name").  Patch from bothner@cygnus.com.
-
-       * mips-tfile.c (init_file initialization): Fix #ifdef
-       BYTES_BIG_ENDIAN to be #if BYTES_BIG_ENDIAN, to allow the DECstation
-       to work again.
-       (toplevel): Remove declarations of internal library functions,
-       _flsbuf, _filbuf.
-
-Thu Oct 31 14:59:11 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
-
-       * longlong.h (m68020 count_leading_zeros): Use %b for offset and
-       width syntax for bfffo instruction.
-
-Thu Oct 31 05:45:54 1991  Ken Raeburn  (raeburn@cygnus.com)
-
-       * cp-decl.c (PUSH_BINDING_LEVEL, POP_BINDING_LEVEL): Replaced
-       uses of macros with their expansions, and deleted the macros.
-
-Wed Oct 30 12:45:33 1991  Ron Guilmette  (rfg at ncd.com)
-
-        * dwarfout.c, dwarf.h, README.DWARF: Replacement files that bring
-       the Dwarf implementation up to that defined by draft 5 of the
-       UI/PLSIG Dwarf specification.
-
-Wed Oct 30 10:50:07 1991  Michael Meissner  (meissner at osf.org)
-
-       * objc-parse.y (yylex): Cast short types to int before shifting, to
-       avoid bogus warnings from the MIPS C compiler.
-
-       * cccp.c (fancy_abort): Make this global again, so that
-       -Dabort=fancy_abort will not cause a link error, because obstack.c
-       contains a reference to abort.
-
-Wed Oct 30 07:38:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * SYSCALLS.c (abort): Undefine first.
-
-       * xm-m88k.h (HOST_WORDS_BIG_ENDIAN): Define it.
-       * out-m88k.c (output_and): Choose "clr" last.
-
-Tue Oct 29 22:49:47 1991  Michael Meissner  (meissner at osf.org)
-
-       * tm-mips.h (num_refs): New global array.
-       (mips_count_memory_refs): New function decl.
-
-       * out-mips.h (num_refs): New global array to count number of 1, 2,
-       or 3 instruction data references with -mstats.
-       (mips_count_memory_refs): New function decl to determine whether a
-       data memory reference uses 1, 2, or 3 instructions.
-       (mips_move_1word, mips_move_2words): Call mips_count_memory_refs
-       as appropriate.
-       (function_epilogue): Print number of 1, 2, and 3 instruction
-       memory references if -mstats.
-
-       * mips.md (movsi_ulw, movsi_usw): Call mips_count_memory_refs if
-       needed.
-
-Tue Oct 29 05:14:27 1991  Ken Raeburn  (raeburn at cygnus.com)
-
-       * cp-parse.y (template_def): Don't pass bogus declspecs to
-       start_decl.
-
-       * cp-pt.c (tsubst, case FUNCTION_DECL): Build new argument list
-       from method template, instead of retaining the old one.
-
-Tue Oct 29 00:44:51 1991  Ken Raeburn  (raeburn at cygnus.com)
-
-       * cp-class.c (finish_struct): Skip type fields if they are
-       template names bound to their expansions.
-
-       * cp-decl.c (binding_levels_sane): Define only if PARANOID; use a
-       macro returning 1 otherwise.  Check class_binding_level stack for
-       consistency also.
-       (pushdecl): Verify that bindings pushed at global scope are in
-       permanent obstack storage.
-       (start_decl): While processing_template_decl, don't also need to
-       verify that the decl uses the template parameters.  For method
-       templates, construct proper method type for result.  TREE_EXTERNAL
-       flag for methods should be cleared if DECL_EXTERNAL is clear.
-       (grokdeclarator, case CALL_EXPR): Intercept destructor templates,
-       which have a different internal form, and convert them to a form
-       that can be recognized.
-
-       * cp-decl2.c (grokclassfn): Include length of class name when
-       creating assembler name for destructor; otherwise ambiguities
-       result.
+2000-09-21  Nick Clifton  <nickc@redhat.com>
 
-       * cp-lex.c (identifier_typedecl_value): New fn; scans bindings of
-       identifier for a given type decl; falls back to name of type.
-       * cp-tree.h (IDENTIFIER_TYPEDECL_VALUE): Call it.
+       * config/arm/t-arm-elf (MULTILIB_DIRNAMES): Enable multilibs for
+       ARM and THUMB modes.
 
-       * cp-method.c (fndecl_as_string): Print constructor_name of type
-       for constructor and destructor, not type name.
+       * config/mcore/mcore.c: Fix compile time warnings.
+       * config/mcore/mcore-protos.h: Fix compile time warnings.
 
-       * cp-parse.y (template_def): Don't output warning about missing
-       type and storage class, since this gets printed for destructor
-       templates.
-       (notype_declarator): Accept '~' PTYPENAME.
-       (scoped_typename): Want a PTYPENAME, not TYPENAME.  Build a
-       SCOPE_REF node instead of calling resolve_scope_to_name.
+2000-09-20  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
-       * cp-pt.c (instantiate_member_templates): New fn.  Instantiates
-       members associated with template for a given template class.
-       * cp-method.c (template_instantiate_once): Call it.
+       * configure.in: Correct test of gcc_cv_glibc.
+       * configure: Rebuilt.
+       * config.in: Rebuilt.
 
-       * cp-pt.c (end_template_decl): Catch destructor templates that
-       are being passed through without being converted to TEMPLATE_DECL
-       nodes; convert them now.  Copy argument list for function template
-       into permanent storage.
-       (lookup_template_class): Supply IDENTIFIER_TEMPLATE data for new
-       anonymous type name.
-       (tsubst, case FUNCTION_DECL): Improve method lookup code.
-       (tsubst): Use hash table and build_cplus_* functions for building
-       new nodes when possible, so equality tests are easier.  Extend
-       FUNCTION_TYPE case to handle METHOD_TYPE as well.
-       (instantiate_template): Don't do anything for error_mark_node.
-       (do_pending_expansions): Keep expansions not used in queue to check
-       again later.
+2000-09-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cp-tree.def: Fix up some comments relating to PT-related types.
+       * builtins.c (expand_builtin_fputs): Also expand when length!=1.
+       (expand_builtin): Handle BUILT_IN_FWRITE.
 
-       * tree.c (init_tree_codes): Now void, in agreement with decl
-       elsewhere.
+       * builtins.def (BUILT_IN_FWRITE): New entry.
 
-Mon Oct 28 22:07:44 1991  Jeffrey A Law  (law at b117.super.org)
+       * c-common.c (c_common_nodes_and_builtins): Declare __builtin_fwrite.
 
-       * output.h (current_function_uses_pic_offset_table): Declare here
-       so that out-*.c can see it.
+Wed Sep 20 15:39:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * tm-m68k.h (FINALIZE_PIC): New macro.
-       (PIC_OFFSET_TABLE_REGNUM): New macro.  Defines which address
-       register is used to hold the offset table for PIC.
-       (CONDITIONAL_REGISTER_USAGE): Make PIC_OFFSET_TABLE_REGNUM be
-       fixed when generating position independent code.
+       * gcc.c (modify_target): New variable and struct.
+       (process_command): Handle MODIFY_TARGET_NAME.
+       * tm.texi (MODIFY_TARGET_NAME): Add documentation for new macro.
+       * config/pa/pa.h (MODIFY_TARGET_NAME): New macro.
 
-       * out-m68k.c (finalize_pic): New function.  
-       (output_function_prologue): If generating position independent
-       code output assembler text to load the pic_offset_table register.
+       * c-decl.c (finish_decl): Add else's to avoid referencing
+       TYPE_DOMAIN of an ERROR_MARK.
 
-Mon Oct 28 10:02:36 1991  Michael Meissner  (meissner at osf.org)
+Wed Sep 20 21:44:31 2000  Denis Chertykov  <denisc@overta.ru>
 
-       * toplev.c (main): If -G is used, set g_switch_set to true, and set
-       g_switch_value to be the integer value of it's argument, for use in
-       the MIPS port to determine whether a static or global item goes into
-       the normal data area, or into the small data area.
+       * config/avr/avr.c (adjust_insn_length): Adjust lengths of
+       `reload_in*' insns.
 
-       * out-mips.c (g_switch_set, g_switch_value): Delete these global
-       variables, since toplev.c now defines them.
+2000-09-19  Marek Michalkiewicz  <marekm@linux.org.pl>
 
-       * tm-mips.h (EXTRA_INT_OPTIONS): Delete macro which is no longer
-       used in internal OSF patches to provide -G xx support.
-       (ASM_SPEC, CC1_SPEC, LINK_SPEC): Remove -G32, since the new -G
-       patches take care of it now.
+       * config/avr/avr.md (neghi2): Add alternative for input and output
+       operands in different registers, as in negsi2.
+       (*negsi2): Remove '*' from the name.  Use "movw" if available.
 
-       * tm-decrose.h (ASM_SPEC, LINK_SPEC): Remove -G32.
+2000-09-19  Jim Wilson  <wilson@cygnus.com>
 
-       * tm-decstatn.h (ASM_SPEC, LINK_SPEC): Remove -G32.
+       * config/ia64/crtbegin.asm (__dso_handle): Delete use of
+       HAVE_GAS_HIDDEN macro.
 
-       * tm-iris.h (ASM_SPEC, LINK_SPEC): Remove -G32.
+Tue 19-Sep-2000 22:38:57 BST  Neil Booth  <NeilB@earthling.net>
 
-       * tm-mips-bsd.h (LINK_SPEC): Remove -G32.
+       * cpplex.c (lex_line): Drop the EOF token for unknown
+       directives in assembler.
 
-       * tm-mips-news.h (ASM_SPEC, LINK_SPEC): Remove -G32.
+2000-09-19  David Edelsohn  <edelsohn@gnu.org>
 
-       * tm-mips-sysv.h (LINK_SPEC): Remove -G32.
+       * configure.in: Allow enable_threads_flag value of "aix".  Define
+       thread_file as "aix" for AIX 4.3 and above.
+       * configure: Regenerated.
 
-Mon Oct 28 07:11:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * gthr-aix.h: New file.
 
-       * combine.c (try_combine): Don't delete unused SETs if they have
-       side-effects.
+       * rs6000/t-aix43: Replace soft-float multilib with pthread.
+       Remove 403 processor multilib match.  Fix rios2 processor multilib
+       match.
 
-       * Makefile.in, t-i386sco: Had both LIMIT_H and LIMITS_H; latter
-       is correct.
+       * rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section
+       to return to appropriate csect.
 
-       * combine.c (subst): New argument `unique_copy'; if non-zero ensure
-       each copy of `from' replaced gets a unique copy of `to'.
-       Pass arg to recursive callers.
-       (try_combine): Pass new arg to subst.
+2000-09-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile.in (LANGUAGES): Use `objective-c' instead of `class-c'
-       to avoid confusion.
-
-       * gcc.c (xmalloc, xrealloc): Really make non-static.
-
-Mon Oct 28 00:21:56 1991  Michael Meissner  (meissner at osf.org)
-
-       * tm-mips.h (CC1_SPEC): Convert -gline into -g1.
-
-Sun Oct 27 17:15:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * reload1.c (spill_hard_reg): Rework code that relies on the fact that
-       reg_class_superclasses[i][0] == i, since it isn't true!
-
-Sun Oct 27 06:15:24 1991  Ron Guilmette  (rfg at ncd.com)
-
-       * configure: Always remove any files before we write them in case
-       the old copy was read-only.
-
-       * Makefile.in (manext): Now just extension without the period.
-       (mandir): Default to include manext.
-       (install-man): Adjust to new definition of manext.
-       (uninstall): Remove protoize.1 and unprotoize.1 from mandir.
-
-       * genemit.c (gen_exp): Write integer using %u instead of %d to
-       avoid warnings from some compilers when most negative int is written.
-
-       * cccp.c: Make variables not used outside this file static.
-       (main, line_to_error, xmalloc, xrealloc, xcalloc): Add missing return
-       statements (in unreachable paths).
-       (xmalloc, xrealloc, xcalloc, savestring): Make SIZE arg unsigned.
-       
-Sun Oct 27 06:14:45 1991  Jeffrey A Law  (law at b115.super.org)
-
-       * tm-m68k.h (SELECT_RTX_SECTION): New macro.  Used to force
-       symbolic objects in the constant pool into the read-write data
-       section when generating position independent code.
-
-       * recog.c (general_operand, immediate_operand, nonmemory_operand):
-       Use LEGITIMATE_PIC_OPERAND_P to reject constants which are not
-       valid when generating position independent code.
-
-       * reload.c (find_reloads): Do not win in 's', 'i', or 'g' cases
-       if the constant does not satisfy LEGITIMATE_PIC_OPERAND_P.
-
-       * tm-m68k.h (LEGITIMATE_PIC_OPERAND_P): New macro.
-
-       * out-m68k.c (symbolic_operand): New function. Copied from
-       tm-sparc.h. 
-
-       * gcc.texinfo: Document LEGITIMATE_PIC_OPERAND_P.
-
-Sat Oct 26 07:51:40 1991  Michael Meissner  (meissner at osf.org)
-
-       * mips.md (movsi_usw): Remove invalid '&' constraint on a memory
-       address.
-
-Sat Oct 26 07:16:15 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * flow.c (find_basic_blocks): Build label_value_list as list of
-       CODE_LABELs, not LABEL_REFs.
-
-       * fold-const.c (optimize_bit_field_compare): Call fold on result
-       of build1 call that converts integer to proper mode.
-
-       * rtl.h (unsigned_condition, signed_condition): Add definition;
-       functions were previously added to jump.c.
-       * combine.c (simplify_comparison): Use unsigned_condition to simplify
-       last change.
-
-Sat Oct 26 06:48:59 1991  Jeffrey A Law        (law at b115.super.org)
-
-       * tm-sun2.h, tm-sun3.h (ASM_SPEC): Pass "-k" to the assembler if
-       -fpic or -fPIC.
-
-Fri Oct 25 20:43:54 1991  Michael Meissner  (meissner at osf.org)
-
-       * tm-mips.h (CC1_SPEC): Remove special rules for -g0, -g1, etc., now
-       that GCC supports these directly.
-
-       * configure (dec-mips-osf): DECstation running OSF/rose uses
-       t-decrose, not t-mips.
-
-       * x-decrose (COFF_CC, COFF_CFLAGS, WARNINGS): Delete.
-       (libdir, bindir, mandir): Put GCC 2 in the /usr/ccs/gcc tree.
-
-       * x-mips (comment): Delete a comment about cross compilers that is
-       no longer true.
-
-       * t-decrose (coff-obstack.o): Delete rule that is no longer used.
-
-Fri Oct 25 18:46:51 1991  Mark Eichin  (eichin at cygnus.com)
-
-       * cp-dem.c (cp-demangle): added support for templates, static
-       data, and the new (correct) mangling for destructors.
-
-Fri Oct 25 16:18:18 1991  Mark Eichin  (eichin at tweedledumber.cygnus.com)
-
-        * cp-decl2.c: (grokclassfn): destructor names *should* contain
-        the length; otherwise, we can't tell the difference between a
-        destructor for a class whose name begins with 't' and a destructor
-        for an instance of a template class.
-
-Fri Oct 25 02:15:12 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * SYSCALLS.c, protoize.c: Changes from rfg.
-       waiting for real changelog entries from rfg.
-
-       * gcc.c (xmalloc, xrealloc): No longer static.
-
-Thu Oct 24 19:21:04 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * fold-const.c (optimize_bit_field_compare):
-       Use build1 rather than convert, to avoid warnings.
-
-       * final.c (output_source_line): Fix if-scope for DBX fmt.
-
-Thu Oct 24 13:29:34 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * gcc.c gen*.c: Don't make fancy_abort static.
-
-Thu Oct 24 12:07:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * combine.c (simplify_comparison): When narrowing a comparison
-       and removing ANDs, make it unsigned.
-
-Thu Oct 24 08:02:04 1991  Ken Raeburn  (raeburn at cygnus.com)
-
-       * cp-decl.c (binding_levels_sane): New function, tests that stack
-       of binding levels is consistent.  Argument provides extra
-       identification for call site, in case compiler optimizes too well.
-       If PARANOID is not set, does nothing.
-       (push_binding_level, pop_binding_level): Now functions, for easier
-       debugging.  Inlined under GNU C if not PARANOID.
-       (PUSH_BINDING_LEVEL, POP_BINDING_LEVEL): Invoke functions.
-       (push_to_top_level): Use type-shadowed slots to unwind
-       IDENTIFIER_TYPE_VALUE back to top level.
-       (start_decl): When processing a template decl, shouldn't need to
-       check uses_template_parms.  For methods, modify arg list to include
-       `this'.  Don't set context of template.  Use perm_tree_cons when
-       building members list for class template.
-       (grokdeclarator): Check "friend" flag before calling
-       globalize_nested_type.  Build a method type for a function that has
-       a context.
-
-       * cp-pt.c (end_template_decl): If template has non-null context,
-       chain it off of the containing class, rather than using pushdecl.
-       (instantiate_class_template): Instantiate all the member templates
-       hanging off the class template.  Also, simplify some code in the
-       case where setup_parse is 0.
-       (tsubst): Check for several common values that won't be modified by
-       substitutions.
-       (tsubst, case FUNCTION_DECL): Don't return type passed if it has a
-       non-null context that might need fixing.  Process that context while
-       building up the new decl node; use it to notify build_decl_overload
-       that we've got a method rather than a function.
-       (tsubst, case METHOD_TYPE): Handle like FUNCTION_TYPE; enhance that
-       case to handle TYPE_METHOD_BASETYPE when set.
-       (unify): Increment value pointed to by nsubsts, not the pointer
-       itself.
-       (do_pending_expansions): Method context is in DECL_CONTEXT, not
-       DECL_CLASS_CONTEXT.
-
-       * cp-lex.c (do_identifier): Don't try looking up fields in base
-       classes of UNINSTANTIATED_P_TYPE.
-
-       * cp-parse.y (primary): Call require_complete_type only for
-       CALL_EXPR nodes of types other than void.
-       (template_type): Don't call IDENTIFIER_TYPE_VALUE on
-       error_mark_node.
-
-       * cp-ptree.c (print_lang_decl): For UNINSTANTIATED_P_TYPE, show
-       template as well as parameters.
-
-       * cp-tree.h (DECL_TEMPLATE_*, UPT_*): New accessor macros for
-       TEMPLATE_DECL and UNINSTANTIATED_P_TYPE nodes.  All (most?) uses
-       except for node creation changed to use these.
-       * cp-tree.def: Updated comments for these node types.
-
-       * cp-pt.c (uses_template_parms): Handle ADDR_EXPR.
-       (end_template_decl): For function with non-null context, pop class
-       binding level.
-
-Thu Oct 24 06:57:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * a29k.md, romp.md, rs6000.md (movdi, movdf, movti): Handle case of
-       reg-reg copy with overlapping registers correctly.
-
-       * out-rs6000.c (ccr_bit, case NE): Fix typo in bit number.
-       (output_epilog): Must restore stack using backchain if alloca called.
-
-       * romp.md, rs6000.md (extendxxyy2, zero_extendxxyy2): Use DEFINE_EXPAND
-       to force operand to register; DEFINE_INSN allows memory (better cse).
-
-       * rs6000.md (ffssi2): New patterns.
-       (maskir): Add patterns to use maskir instructions.
-
-       * tm-a29kunix.h (TARGET_DEFAULT, CPP_SPEC): Default to 29050.
+       * builtins.c (is_valid_printf_arglist, expand_builtin_printf): New
+       functions.
+       (expand_builtin_fputs): Set `target' parameter for `expand_expr'.
+       (expand_builtin): Handle BUILT_IN_PUTCHAR, BUILT_IN_PUTS and
+       BUILT_IN_PRINTF.
 
-       * tm-rs6000.h (LINK_SPEC): Add -bnodelcsect.
-       (HARD_REGNO_MODE_OK): Delete kludge that didn't allow DImode in reg 31
-       and TImode in 29-31; the bug was fixed elsewhere.
+       * builtins.def (BUILT_IN_PUTCHAR, BUILT_IN_PUTS, BUILT_IN_PRINTF):
+       New entries.
 
-Wed Oct 23 17:48:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-common.c (init_function_format_info): Handle __builtin_printf.
+       Set `check_function_format_ptr'.
+       (c_common_nodes_and_builtins): Set `puts_ftype' and
+       `printf_ftype'.  Declare __builtin_putchar, __builtin_puts,
+       __builtin_printf and printf.
 
-       * combine.c (try_combine): If an insn doesn't match, check for case
-       where first SET's result isn't used; previously only checked second.
+       * tree.c, tree.h (check_function_format_ptr): Declare.
 
-       * combine.c (try_combine): When we substitute into a COMPARE, check
-       SELECT_CC_MODE to see if we should try to change the mode of the
-       COMPARE and its result.
+Tue 19-Sep-2000 18:26:57 BST  Neil Booth  <NeilB@earthling.net>
 
-Wed Oct 23 16:38:26 1991  Torbjorn Granlund  (tege at hal.gnu.ai.mit.edu)
+       * cppfiles.c (read_include_file): Take no special action for
+       zero-length files.
 
-       * gnulib2.c (__ashrdi3): Compute sign extension shift count from
-       machine word size instead of using 31.
+2000-09-19  Bernd Schmidt  <bernds@redhat.co.uk>
 
-Wed Oct 23 14:25:04 1991  Michael Meissner  (meissner at osf.org)
+       * final.c (insn_current_reference_address): Use INSN_SHUID of seq
+       rather than that of branch.
+       (shorten_branches): Don't increment insn_current_address twice.
 
-       * tm-mips.h (PREFERRED_DEBUGGING_TYPE): Unless otherwise defined,
-       set to SDB_DEBUG.
+       Undo most of the Wed Jan 27 23:39:53 1999 patch:
+       * loop.h (struct induction): Delete members derived, ix and last_use.
+       (struct loop_ivs): Delete members first_increment_giv and
+       last_increment_giv.
+       * loop.c (verify_dominator, find_life_end, cmp_recombine_givs_stats,
+       recombine_givs): Delete functions.
+       (find_and_verify_loops): Don't initialize cont_dominator.
+       (strength_reduce): Lose code to try to find bivs that can be
+       expressed as givs of another biv, and to convert biv increments
+       into givs.
+       Lose loop_scan_start variable, always use loop->scan_start.
+       Don't call recombine_givs.  Don't handle derived givs.
+       (record_giv): Don't initialize derived and last_use fields.
+       (biv_eliminiation_giv_has_0_offset): Lose code to handle derived
+       givs.
+       * unroll.c (derived_regs): Delete static variable.
+       (unroll_loop): Don't initialize it.
+       (copy_loop_body): Lose code to handle derived givs.
+       (find_splittable_givs): Don't check for givs made from biv
+       increments.
+       Don't set derived_regs.
 
-       * tm-decrose.h (PREFERRED_DEBUGGING_TYPE): Define to DBX_DEBUG.
+       Fix misapplied earlier patch:
+       * config/sh/sh.md (floatsisf_ie): Reenable.  Remove explicit reference
+       to fpul.
+       (floatsisf2): Generate floatsisf_ie by default.
+       (floatsisf_i4): Conditional on TARGET_SH4.
 
-       * out-mips.c (override_options): Don't override debugger choice now
-       that PREFERRED_DEBUGGING_TYPE is provided.
+       (floatsisf2, floatsidf2, extendsfdf2): Also use reg_no_subreg_operand
+       predicate for the expanders.
 
-Wed Oct 23 07:25:32 1991  Tom Wood  (wood at dg-rtp.dg.com)
+2000-09-19  Richard Henderson  <rth@cygnus.com>
 
-       * sdbout.c (sdbout_symbol/FUNCTION_DECL, sdbout_toplevel_data,
-       sdbout_end_epilogue): Use DECL_ASSEMBLER_NAME to avoid link-time
-       multiple definitions.
+       * config/i386/i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols
+       in addition to pentium and pentiumpro symbols.
+       (CPP_CPU_DEFAULT_SPEC): Likewise.
 
-Tue Oct 22 15:06:31 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-typeck.c (c_expand_asm_operands): Restore the output tree
+       after expanding.
 
-       * reload1.c (reload): For now, we must always have a frame pointer
-       if a function calls alloca and EXIT_IGNORE_STACK is non-zero.
+       * stmt.c (expand_expr_stmt): Only call warn_if_unused_value
+       if the tree has side effects.
+       (warn_if_unused_value): Do not warn about void constructs.
 
-       * cse.c (insert_regs): Don't make new quantity for the register in
-       a SUBREG.
-       (merge_equiv_classes): Don't invalidate the register inside a SUBREG.
-       (canon_hash, case SUBREG): Remove code to treat SUBREGs like REGs.
+       * c-decl.c (poplevel): Invoke warn_about_unused_variables.
 
-Tue Oct 22 10:25:29 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * unroll.c (copy_loop_body): Update LABEL_NUSES before
+       calling invert_jump.
 
-       * tm-m88kdgux.h (PREFERRED_DEBUGGING_TYPE): Use it.
-       * tm-m88k.h (OVERRIDE_OPTIONS): Don't override write_symbols.
+2000-09-18  Geoff Keating  <geoffk@cygnus.com>
+
+       * combine.c (can_combine_p): Don't substitute an ASM_OPERANDS
+       into anything.
+
+2000-09-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (c-common.o): Depend on diagnostic.h.
+
+       * c-common.c: Include diagnostic.h.
+       (tfaff): Delete.
+       (status_warning): New function.
+       (check_format_info, maybe_read_dollar_number, check_format_types,
+       finish_dollar_format_checking, check_function_format): Accept a
+       `status' parameter.  All callers changed.
+
+       * c-common.h (check_function_format): Accept a `status' parameter.
+
+       * c-typeck.c: Update call to `check_function_format'.
+
+2000-09-18  Richard Henderson  <rth@cygnus.com>
+
+       * c-decl.c (c_expand_body): Call mark_varargs before
+       expand_function_start.
+
+2000-09-18  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/eabi-cn.asm: Use /**/ to delimit comments, not #.
+       * config/rs6000/eabi-ci.asm: Likewise.
+
+2000-09-18  Richard Henderson  <rth@cygnus.com>
+
+       * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx
+       for BImode.
+
+2000-09-18  Jim Wilson  <wilson@cygnus.com>
+
+       * unroll.c (loop_iterations): Pass increment to extend_for_giv_value
+       before passing it to fold_rtx_mult_add.
+
+       * unroll.c (final_giv_value): Pass increment through
+       extend_value_for_giv before passing it to emit_iv_add_mult.
+
+       * function.c (fixup_var_refs_1, case ZERO_EXTRACT): If we have a
+       paradoxical subreg, then directly substitute the replacement and
+       return.
+
+Mon 18-Sep-2000 22:12:44 BST  Neil Booth  <NeilB@earthling.net>
+
+       * cpp.texi: Update documentation, including some clarifications,
+       the treatment of various newline combinations, and space between
+       backslash and newline.
+
+Mon Sep 18 21:00:47 2000  J"orn Rennecke <amylaar@redhat.co.uk>
+
+       * sdbout.c (PUT_SDB_DEF, PUT_SDB_TAG, PUT_SDB_EPILOGUE_END):
+       Replace ASM_OUTPUT_LABELREF with assemble_name.
+
+Mon Sep 18 20:26:50 2000  J"orn Rennecke <amylaar@redhat.co.uk>
+
+       * sh.c (addsubcosts): CONST is not cheap.
+       (find_barrier): For Sh1, take alignment after jumps into account.
+
+2000-09-15  Andrew Haley  <aph@redhat.com>
+
+       * toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to
+       remove all SETs of SUBREGs of hard registers.
+       * function.c (purge_hard_subreg_sets): New function.
+       (purge_single_hard_subreg_set): New function.
+       * rtl.h: (purge_hard_subreg_sets): New function.
+
+2000-09-18  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64-protos.h: Update.
+       * config/ia64/ia64.c (signed_inequality_operator): New.
+       (ia64_expand_compare): New.
+       (ia64_register_move_cost): Handle PR_REGS moves.
+       (ia64_secondary_reload_class): Require a GR when moving to a PR.
+       (struct reg_write_state): Add written_by_and/or.
+       (struct reg_flags): Add is_and/or.
+       (rws_update): Set them.
+       (rws_access_regno): Test them to allow parallel comparisons.
+       (rtx_needs_barrier): Recognize parallel comparisons.
+       (emit_insn_group_barriers): Set prev_insn after a call stop bit.
+       Call recog_memoized; ignore pred_rel_mutex.
+       (emit_predicate_relation_info): Don't call find_basic_blocks here.
+       (ia64_reorg): Do it here instead.
+       * config/ia64/ia64.h: s/CCmode/BImode/g
+       (MODES_TIEABLE_P): Don't tie BImode.
+       (PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs.
+       (CONST_COSTS): Pick sensible values for CONST_INT based on context.
+       (RTX_COSTS): Make multiply 4 insns.
+       (MEMORY_MOVE_COST): New.
+       (PREDICATE_CODES): Update.
+       * config/ia64/ia64.md: s/CCmode/BImode/g
+       (movcci, movbi): New.
+       (andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New.
+       (cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New.
+       (cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New.
+       (tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New.
+       (cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New.
+       (cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New.
+       (tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New.
+       (mulsi, muldi): Use xmpy not xma.
+       (cmpbi): New.
+       (movcc, movcc_internal): Remove.
+       (branch expanders): Use ia64_expand_compare.
+       (setcc expanders): Likewise.
+       (cmov insns): Use move_operand and ia64_move_ok.
+       (pred_rel_mutex): Use unspec not unspec_volatile.  Prevent the
+       scheduler from moving it past a use.
+       * config/ia64/build.hacks: Remove.
+
+Mon 18-Sep-2000 19:21:35 BST  Neil Booth  <NeilB@earthling.net>
+
+       * cpphash.h (HASHSTEP): Take character rather than pointer
+       to character.
+       (_cpp_check_directive, _cpp_check_linemarker): Update prototypes.
+
+       * cpphash.c (cpp_loookup): Update for new HASHSTEP.
+
+       * cpplex.c (auto_expand_name_space, trigraph_replace,
+       backslash_start, handle_newline, parse_name, INIT_TOKEN_STR,
+       IMMED_TOKEN, PREV_TOKEN_TYPE, PUSH_TOKEN, REVISE_TOKEN,
+       BACKUP_TOKEN, BACKUP_TRIGRAPH, MIGHT_BE_DIRECTIVE,
+       KNOWN_DIRECTIVE): Delete.
+
+       (handle_newline, check_long_token, skip_escaped_newlines,
+       unterminated): New functions.
+       (ACCEPT_CHAR, SAVE_STATE, RESTORE_STATE): New macros.
+
+       (parse_identifier): Was parse_name, new implementation.
+       (skip_line_comment, skip_block_comment, skip_whitespace,
+       parse_number, parse_string, trigraph_ok, save_comment,
+       adjust_column, _cpp_get_line): New implementations.
+
+       (lex_token): New function.  Lexes a token at a time, looking
+       forwards.  Contains most of the guts of the old lex_line.
+       (lex_line): New implementation, using lex_token to obtain
+       individual tokens.
+       (cpp_scan_buffer): Use the token's line, not the list's line.
+
+       * cpplib.c (_cpp_check_directive, _cpp_check_linemarker):
+        New implementations.
+       (do_assert): Don't bother setting the answer's list's line.
+       (cpp_push_buffer): Initialize new pfile and read_ahead members
+       of struct cpp_buffer.
+
+       * cpplib.h (cppchar_t): New typedef.
+       (struct cpp_buffer): read_ahead, pfile and col_adjust are
+       new members.
+       (struct lexer_state): New structure that determines the state
+       and behavior of the lexer.
+       (IN_DIRECTIVE, KNOWN_DIRECTIVE): New macros.
+       (struct cpp_reader): New member "state". Rename
+       multiline_string_line and multiline_string_column. Delete
+       col_adjust, in_lex_line members.
+       (CPP_BUF_COLUMN): Update.
+
+2000-09-18  Richard Henderson  <rth@cygnus.com>
+
+       * combine.c (simplify_comparison): Shift a NOT out of a single
+       bit test.
+
+       * combine.c (if_then_else_cond): Canonicalize BImode true to
+       STORE_FLAG_VALUE.
+       * explow.c (trunc_int_for_mode): Likewise.
+
+       * combine.c (combine_simplify_rtx): Use gen_unary to distribute
+       the NOT for De Morgan's rule.
+       * simplify-rtx.c (simplify_unary_operation): Simplify a BImode NOT
+       of a comparison to the reverse comparison.
+
+       * combine.c (try_combine): Allow split to create a single insn.
+
+       * machmode.def: Add BImode.  Add a column for bitsize.
+       * machmode.h (DEF_MACHMODE): Adjust for extra column.
+       (GET_MODE_BITSIZE): Use it.
+       * rtl.c (DEF_MACHMODE): Adjust for extra column.
+       (mode_bitsize): New.
+       (mode_mask_array): Use bitsize.
+       * combine.c (combine_simplify_rtx): Require inner and outer
+       modes to match on nonzero_bits optimizations.
+
+2000-09-18  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear
+       its entry in spill_reg_store.
+       * config/sh/lib1funcs.ams (movstr_i4 functions): Always compile in.
+       * sh.c (reg_no_subreg_operand): New function.
+       * sh-protos.h (reg_no_subreg_operand): Declare it.
+       * sh.h (PREDICATE_CODES): Add it.
+       * sh.md (floatsisf2_i4, floatsidf2_i, extendsfdf2_i4): Use it for
+       input operand that needs to be in fpul.
+       (fix_truncsfsi2, fix_truncsfsi2_i4): Use register_operand for output.
+       * sh.c (find_barrier): Take into account that machine_dependent_reorg
+       might add new insns.
+
+2000-09-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as
+       MAYBE_DEAD.
+       (sh_expand_epilogue): Take the PIC register into account when
+       computing the frame size.
+
+       * config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
+       * config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
+       LABEL_REFs with a PIC-safe unspec.
+
+2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (check_format_info): Properly save the argument
+       number and parameter for $ operand number formats in case width
+       and precision arguments are also used.  Allow printf width and
+       precision arguments to have operand numbers even if none was
+       specified for the main format, since this is OK for %*.*m.  Only
+       object to missing $ operand number if the format used requires an
+       argument.
 
-       * out-m88k.c (m88k_output_{prologue,epilogue}): Renamed.
+2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Tue Oct 22 00:51:48 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+       * c-common.c (format_char_info): Add 'W' flag to comment.
+       (print_char_table, scan_char_table): Use it.
+       (check_format_info): Use the 'W' flag to determine whether a
+       format argument is written into.
 
-       * c++: New shell script.
+2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * gcc.c (default_compilers): Treat .ii files as cpp'd C++.
+       * c-common.c (check_format_types): Reorganize and clean up,
+       checking earlier for ERROR_MARKs and making cur_type into its
+       TYPE_MAIN_VARIANT where convenient.
 
-       * varasm.c (make_function_rtl): Don't alter DECL_ASSEMBLER_NAME.
+2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * toplev.c (main): Use PREFERRED_DEBUGGING_TYPE if support
-       more than one format.
+       * gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
 
-Mon Oct 21 23:08:02 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+2000-09-18  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * optabs.c (emit_libcall_block): Set CONST_CALL_P for the call.
+
+       * i386-protos.h (ix86_init_builtins, ix86_expand_builtin): Declare.
+       * i386.c (struct builtin_description): New.
+       (bdesc_comi, bdesc_2arg, bdesc_1arg): New arrays.
+       (mmx_reg_operand): Declare MODE arg as unused.
+       (ix86_expand_sse_comi, ix86_expand_sse_compare, safe_vector_operand,
+       ix86_expand_unop1_builtin, ix86_expand_unop_builtin,
+       ix86_expand_binop_builtin, ix86_expand_store_builtin,
+       ix86_init_builtins, ix86_expand_builtin): New functions.
+       * i386.h (ix86_builtins): New enumeration.
+       (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): New macros.
+       * i386.md (attr length_immediate): 0 for mmx/sse types.
+       (attr prefix_0f): 1 for mmx/sse types.
+       (setcc_2): Remove "*" so we get gen_setcc_2.
+       (emms): Account for changed register numbering.  Set "memory" attr
+       to unknown.
+       (sfence): Set "memory" attr to unknown.
+
+2000-09-18  Andreas Jaeger  <aj@suse.de>
+
+       * configure.in: Define _GNU_SOURCE only when using the GNU C
+       Library.
+       * configure: Regenerated.
+       * config.in: Regenerated.
+
+2000-09-17  Mark Mitchell  <mark@codesourcery.com>
+
+       * cppinit.c (cpp_init): Don't use ANSI prototypes.
+       * flow.c (flow_dump_loop): Likewise.
+       (flow_loops_dump): Likewise.
+
+       * c-typeck.c (c_start_case): Fix typo.
+
+2000-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-decl.c (grokdeclarator): Don't give a warning about defaulting
+       to int for plain complex which defaults to complex double.  Do
+       warn about defaulting to complex double if pedantic.  Warn about
+       complex integer types if pedantic.  Warn about complex types if
+       pedantic and not in C99 mode.
+       * c-typeck.c (build_unary_op): If pedantic, warn about use of ~
+       for complex conjugation.
+
+2000-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * contrib.texi: Update my entry.
+
+Sun Sep 17 18:48:32 2000  Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr.md (mcu_enhanced): New attribute.
+       (mcu_mega): Likewise.
+       (extendhisi2): Use mcu_enhanced.
+       (zero_extendhisi2): Likewise.
+       (call_insn): Use mcu_enhanced and mcu_mega.
+       (call_value_insn): Likewise.
+       (*sbrx_branch): Use mcu_mega.
+       (*sbrx_and_branchsi): Likewise.
+       (*sbrx_and_branchhi): Likewise.
+       (*tablejump_lib): Likewise.
+
+Sun Sep 17 10:46:17 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * alias.c (true_dependence): Allow non-unchanging read to conflict
+       with unchanging write.
+
+       * expr.c (store_constructor_field): Accept ALIAS_SET arg.
+       (store_constructor): Pass alias_set to it.
+
+       * c-decl.c (grokdeclarator): Reorder tests to avoid looking at
+       TYPE_MAIN_VARIANT of ERROR_MARK.
+       * c-lex.c (readescape): Avoid using printf syntax we don't recognize.
+
+       * simplify-rtx.c (simplify_unary_operation): Add cases
+       FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.
+
+2000-09-17  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * expr.h (emit_library_call, emit_library_call_value): Delete
+       declarations.
+       * rtl.h (enum libcall_type): New.
+       (emit_library_call, emit_library_call_value): Change fn_type arg to
+       be of type enum libcall_type.
+       * calls.c: Likewise for the function definitions.  Several callers
+       throughout changed to use the new enumeration appropriately.
+       (emit_library_call_value_1): Likewise.  Put back code to make libcall
+       blocks of equal form, but only use it for the two new higher
+       enumeration values.
+
+2000-09-16  Mark Mitchell  <mark@codesourcery.com>
+
+       Convert the C front-end to use function-at-a-time mode.
+       * c-common.h: Include splay-tree.h.
+       (C_DECLARED_LABEL_FLAG): New macro.
+       (struct language_function): Add x_scope_stmt_stack and
+       x_function_name_declared_p.
+       (RECHAIN_STMTS): Move definition.
+       (lang_statement_code_p): Likewise.
+       (lang_expand_stmt): Likewise.
+       (lang_expand_decl_stmt): New variable.
+       (lang_expand_function_end): Likewise.
+       (current_scope_stmt_stack): New function.
+       (add_decl_stmt): Likewise.
+       (add_scope_stmt): Likewise.
+       (mark_stmt_tree): Likewise.
+       (struct c_lang_decl): New structure.
+       (DECL_SAVED_TREE): Define.
+       (c_mark_lang_decl): New function.
+       (c_expand_start_cond): Change prototype.
+       (c_finish_then): New function.
+       (c_finish_else): Likewise.
+       (current_function_name_declared): Remove.
+       (set_current_function_name_declared): Likewise.
+       (mark_c_language_function): Declare.
+       (case_compare): Likewise.
+       (c_add_case_label): Likewise.
+       (c_expand_expr): Likewise.
+       (c_safe_from_p): Likewise.
+       * c-common.c (lang_expand_function_end): New variable.
+       (struct if_elt): Add if_stmt.
+       (c_expand_start_cond): Add the if-statement to the statement-tree,
+       rather than generating RTL.
+       (c_finish_then): New function.
+       (c_expand_start_else): Don't generate RTL.
+       (c_finish_else): New function.
+       (c_expand_expr_stmt): Don't generate RTL.
+       (statement_code_p): Add SCOPE_STMT.
+       (case_compare): New function.
+       (c_add_case_label): Likewise.
+       (mark_stmt_tree): Likewise.
+       (c_mark_lang_decl): Likewise.
+       (mark_c_language_function): Likewise.
+       (c_expand_expr): Likewise.
+       (c_safe_from_p): Likewise.
+       * c-decl.c (c_stmt_tree): New variable
+       (c_scope_stmt_stack): Likewise.
+       (c_function_name_declared_p): Likewise.
+       (lang_expand_expr_stmt): Remove.
+       (poplevel): Don't call output_inline_function for nested
+       functions.
+       (pushdecl): Don't set DECL_CONTEXT for a local declaration of an
+       `extern' function.
+       (redeclaration_error_message): Change means of computing whether
+       or not a function is nested.
+       (lookup_label): Don't call label_rtx.
+       (init_decl_processing): Add more GC roots.
+       (start_decl): Add DECL_STMTs to the statement-tree, rather than
+       calling rest_of_decl_compilation.
+       (finish_decl): Don't call expand_decl.
+       (store_parm_decls): Begin the statement-tree, but don't generate
+       RTL.
+       (finish_function): Tie off the statement-tree.  Call c_expand_body
+       if appropriate.
+       (c_expand_body): New function.
+       (push_c_function_context): Save more information.
+       (pop_c_function_contxt): Likewise.
+       (copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
+       (lang_mark_tree): Mark it.
+       (current_stmt_tree): Adjust.
+       (current_scope_stmt_stack): New function.
+       (do_case): Remove.
+       (set_current_name_declared): Likewise.
+       (c_begin_compound_stmt): Define.
+       (c_expand_decl_stmt): Likewise.
+       * c-lang.c: Include rtl.h and expr.h.
+       (lang_init): Set more language-specific hooks.
+       * c-lex.c: Include expr.h.
+       * c-parse.in: Changes throughout to add statements to the
+       statement-tree, rather than generating RTL after every statement.
+       * c-semantics.c (lang_expand_decl_stmt): Define.
+       (add_decl_stmt): New function.
+       (add_scope_stmt): Likewise.
+       (finish_stmt_tree): Tweak.
+       (genrtl_expr_stmt): Likewise.
+       (genrtl_decl_stmt): Handle local labels, and call
+       lang_expand_decl_stmt if required.
+       (genrtl_for_stmt): Fix line-number handling.
+       (genrtl_case_label): Handle cleanups.
+       (genrtl_asm_stmt): Don't call combine_strings.
+       (genrtl_compound_stmt): Simplify.
+       (expand_stmt): Handle SCOPE_STMTs.
+       * c-tree.h (struct lang_decl): New structure.
+       (C_DECLARED_LABEL_FLAG): Remove.
+       (c_begin_compound_stmt): Declare.
+       (c_expand_decl_stmt): Likewise.
+       (c_expand_start_case): Rename to c_start_case.
+       (c_finish_case): New function.
+       * c-typeck.c (start_init): Tweak setting of
+       constructor_incremental.
+       (c_expand_asm_operands): Tweak error-handling.  Add to the
+       statement-tree.
+       (c_expand_return): Add to the statement-tree.
+       (c_expand_start_case): Rename to ...
+       (c_start_case): ... this.
+       (struct c_switch): New type.
+       (switch_stack): New variable.
+       (do_case): Simplify.
+       (c_finish_case): New function.
+       * dependence.c: Include expr.h.
+       (enum dependence_type): Change spelling of enumerals.
+       (check_node_dependence): Adjust.
+       * expr.h (lang_safe_from_p): Declare.
+       (safe_from_p): Likewise.
+       * expr.c (lang_safe_from_p): New variable.
+       (safe_from_p): Give it external linkage.  Use lang_safe_from_p.
+       * stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
+       * toplev.c (rest_of_decl_compilation): Robustify.
+       * tree.c (contains_placeholder_p): Likewise.
+       * Makefile.in: Update dependencies.
+       * objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
+       * objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
+       (objc_expand_function_end): New function.
+       (finish_method_def): Use it.
+       (init_objc): Initialize more language-specific hooks.
+       * objc/Make-lang.in: Update dependencies.
+
+2000-09-16  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * configure.in: Define macros that affect features before
+       testing for features.  Don't define _XOPEN_SOURCE.
+       * configure: Regenerated.
+       * config.in: Regenerated.
+
+Sat Sep 16 19:42:50 EDT 2000  John Wehle  (john@feith.com)
+
+       * rtlanal.c (rtx_varies_p): Volatile asms vary.
+       (rtx_unstable_p): Restructure code.  Volatile asms
+       are unstable.
+
+Sat Sep 16 14:35:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * function.h (no_debugging_symbols): New field.
+       * integrate.c (save_for_inline): Renamed from save_for_inline_nocopy.
+       Initialize no_debugging_symbols.
+       (output_inline_function): Save and restore write_symbols and set from
+       no_debugging_symbols.
+       * toplev.c (rest_of_compilation): Call save_for_inline.
+       * tree.h: Update comment.
+
+       * stor-layout.c (place_field): Don't do anything if field or
+       its type are ERROR_MARK.
+
+Sat Sep 16 19:14:00 2000  Laurynas Biveinis <lauras@softhome.net>
+
+       * cppfiles.c (purge_cache): Use munmap only if MMAP_THRESHOLD defined.
+       (read_include_file): Ensure inc->mmaped is initialized.
+
+2000-09-16  Richard Henderson  <rth@cygnus.com>
+
+       * cppiles.c (purge_cache): Use PTR not caddr_t.
+
+2000-09-16  Hans-Peter Nilsson  <hp@axis.com>
+
+       * gcc.c: In description for %{<S}, say the option removed is -S.
+       * invoke.texi (Spec Files): Ditto.
+
+2000-09-16  Andreas Jaeger  <aj@suse.de>
+
+       * configure.in: Always define _GNU_SOURCE to make interfaces
+       visible that were hidden by only defining _GNU_SOURCE.
+       * configure: Regenerated.
+
+Sat 16-Sep-2000 08:13:45 BST  Neil Booth  <NeilB@earthling.net>
+
+       * cpplex.c (push_macro_context): Set an argument's level after
+       calling parse_args.  We could loop infinitely otherwise.
+
+2000-09-15  Tom Tromey  <tromey@cygnus.com>
+
+       * configure, config.in: Rebuilt.
+       * configure.in: Check for iconv.h.  Define _XOPEN_SOURCE.
+
+2000-09-15  Greg McGary  <greg@mcgary.org>
+
+       * cppmacro.c (check_trad_stringification): Check token
+       text pointers against limit before dereferencing.
+
+2000-09-15  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (format_wanted_type): New structure.
+       (check_format_types): New function.
+       (check_format_info): Pass all checking of types of format
+       arguments, including width and precision arguments, to this new
+       function.
+
+2000-09-15  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * BUGS: Remove file.
+
+2000-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/alpha/alpha.c (override_options): ev6 cache latencies
+       from Richard Henderson.  Don't allow -mmemory-latency=L0.
+
+       * config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define.
+       (TARGET_OPTIONS): Add tune=.
+       (alpha_tune_string): Declare.
+       * config/alpha/alpha.c (override_options): Add cpu_table.
+       Use alpha_cpu_string first to set both alpha_cpu and target_flags
+       and then alpha_tune_string to set alpha_cpu only.
+       Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests.
+       * config/alpha/elf.h (ASM_FILE_START): Likewise.
+       * config/alpha/osf.h (ASM_FILE_START): Likewise.
+       * config/alpha/openbsd.h (ASM_FILE_START): Likewise.
+
+Fri Sep 15 19:45:55 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * i386-protos.h (no_comparison_operator, uno_comparison_operator):
+       Remove.
+       (ix86_comparison_operator, ix86_cc_mode): Declare
+       * i386.h (CCGC, CCGCO): New modes.
+       (SELECT_CC_MODE): Move offline to ....
+       * i386.c (ix86_cc_mode): .... here; use new modes.
+       (ix86_comparison_operator): New.
+       (fcmov_comparison_operator): Ensure proper mode.
+       (put_condition_mode): More sanity checking.
+       (ix86_match_ccmode): Handle new modes.
+       (ix86_expand_fp_compare): GEU requires CCmode.
+       (ix86_expand_strlensi_unroll_1): Use emit_cmp_and_jump_insn instead of
+       doing it by hand.
+       * i386.md (cmp?i_ccz_1): Remove
+       (cmp?i_ccno_1): Use ix86_match_ccmode.
+       (cmp?i_minus_1): New.
+       (cmpsi_1): New expander.
+       (cmpqi_ext_1): Use match_ccmode
+       (cmpqi_ext_3): New expander.
+       (cmpqi_ext_3_insn): Rename from cmpqi_ext_3.
+       (cmpqi_ext_4): Use match_ccmode.
+       (add?i_?): Use match_ccmode.
+       (add?i_6): New.
+       (test?i_ccz_1): Remove
+       (test?i_1): New.
+       (testsi_ccno_1, testqi_ccz_1, testqi_ext_ccno_0): New expander.
+       (testqi_ext_0): Use ix86_match_ccmode.
+       (*xorqi_cc_ext_1): Use ix86_match_ccmode.
+       (xorqi_cc_ext_1): New expander.
+       (shift patterns): Use CCGOCmode for all shifts except for sar.
+       (setcc_?, jcc_?, miv?icc_nic): Use ix86_comparison_operator.
+       (setcc_3, jcc_3, miv?icc_c): Remove.
 
-       * c-decl.c (grokdeclarator): Fix error message for long float.
+2000-09-15  Will Cohen  <wcohen@redhat.com>
 
-Mon Oct 21 16:55:31 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * dwarf2out.c (add_const_value_attribute): Changed array into a
+       xmalloced object, so it exists after function exit.
+       (free_AT): Added case for dw_val_class_float to free allocated
+       memory.
 
-       * optabs.c (add_equal_note): New function.
-       (expand_binop): Delete some obsolete, turned-off code.
-       Use GET_RTX_CLASS to see if operator is commutative.
-       Call add_equal_note if we make a multi-insn sequence; if it fails,
-       redo the operation without our target.
-       In multi-word cases, don't allow TARGET to be the same as an input.
-       (expand_unop): Allow operation to fail.
-       Call add_equal_note and allow failure, like in expand_binop.
-       In multi-word case, don't allow TARGET to be OP0.
-       (emit_unop_insn): Use add_equal_note; ignore its failure here.
+2000-09-15  Kazu Hirata  <kazu@hxi.com>
+
+       * config/i386/i386.md: Fix a comment typo.
+       * gcc.c: Fix formatting.
+
+2000-09-15  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * optabs.c (emit_libcall_block): If target is a user variable,
+       copy to a temporary first.
+       * expr.c (convert_move): When generating a libcall, make a libcall
+       block.
+       * calls.c (emit_library_call_value_1): Don't create a libcall
+       sequence here; our caller will in most cases do it.
 
-       * optabs.c (expand_float, expand_fix): In cases when we will jump,
-       ensure we call emit_queue before protect_from_queue.
-       Eliminate redundant calls to protect_from_queue and force_non_mem.
+       * sh.h (SECONDARY_INPUT_RELOAD_CLASS): Handle moving T, MACL or
+       MACH into FPUL.
+       (SECONDARY_OUTPUT_RELOAD_CLASS): Similar case.
+       * sh.md (reload_outsf): Generate recognizable patterns for
+       TARGET_SH3E.
+       (floatsisf2, floatsisf2_ie, floatsisf2_i4, fix_truncsfsi2,
+       fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i, fix_truncdfsi2,
+       fix_truncdfsi2_i, extendsfdf2, extendsfdf2_i4, truncdfsf2,
+       truncdfsf2_i4): Change not to use explicit references to fpul.
+       (floatsisf2_ie): Remove USE of fpscr.
+       (floatsisf2): Change default expansion to match this.
+       (fix_truncsfsi2_i4_2, fix_truncdfsi2_i4 & splitters): Comment out
+       unused patterns.
 
-       * reorg.c (steal_delay_list_from_target): Don't take an insn from
-       the fallthrough thread of an annulled branch insn.
+2000-09-15  Richard Henderson  <rth@cygnus.com>
 
-Mon Oct 21 16:55:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * expmed.c (store_bit_field): Consider naturally aligned
+       memory for direct reference.
 
-       * configure (m88k targets): Complete last change.
+2000-09-15  Richard Henderson  <rth@cygnus.com>
 
-Mon Oct 21 16:06:25 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+       * config/alpha/alpha.c (alpha_expand_unaligned_load): Force all
+       AND addresses into alias set 0.
+       (alpha_expand_unaligned_store): Likewise.
+       (alpha_expand_unaligned_load_words): Likewise.
+       (alpha_expand_unaligned_store_words): Likewise.
 
-       * integrate.c (copy_rtx_and_substitute): When making copy of frame,
-       round size to keep substituted frame pointer aligned.
-       (CEIL_ROUND): New macro.
+2000-09-15  Bernd Schmidt  <bernds@redhat.co.uk>
 
-Mon Oct 21 15:16:17 1991  Michael Meissner  (meissner at osf.org)
+       * config/sh/sh.h (CPP_SPEC): For -m4-nofpu, define __SH4_NOFPU__.
+       * config/sh/lib1funcs.asm (movstr_i4): Also compile if __SH4_NOFPU__
+       is defined.
+       * config/mips/mips.c (mips_va_arg): Args passed by reference have a
+       rsize of UNITS_PER_WORD.
 
-       * tm-mips.h (GP_REG_OR_PSEUDO_NONSTRICT_P): New macro for
-       REG_OK_FOR_{BASE,INDEX}_P in non strict mode.  Fix typos in the
-       previous change.
-       (GP_REG_OR_PSEUDO_P): Rename to GP_REG_OR_PSEUDO_STRICT_P.
-       (REG_OK_FOR_BASE_P): Use GP_REG_OR_PSEUDO_NONSTRICT_P if non strict.
-       (REG_OK_FOR_INDEX_P): Use GP_REG_OR_PSEUDO_NONSTRICT_P if non strict.
-       (GO_IF_LEGITIMATE_ADDRESS): Indicate if strict checking is being
-       used if -mdebugb tracing.
+Fri 15-Sep-2000 06:49:07 BST  Neil Booth  <NeilB@earthling.net>
 
-Mon Oct 21 15:08:15 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * cpplex.c (ON_REST_ARG): Correct the test.
+       (maybe_paste_with_next): Duplicate a token that fail pasting,
+       and clear its PASTE_LEFT flag, so that nested pasting attempts
+       do not occur.
 
-       * Makefile.in (*.o): Add insn-codes.h to all lists using expr.h.
-       (dwarfout.o): Add dwarf.h, reload.h, output.h, and insn-config.h.
+2000-09-14  Richard Henderson  <rth@cygnus.com>
 
-       * c-tree.h (TYPE_ACTUAL_ARG_TYPES): New macro for list of actual
-       types.
-       * c-decl.c (store_parm_decls): Compute TYPE_ACTUAL_ARG_TYPES if a
-       prototype is not present.  Delete old method.
-       (duplicate_decls): Provide better diagnostics if a prototype
-       follows a function definition.
+       * calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2.
+       * cse.c (rtx_cost): Likewise.
+       * optabls.c (expand_binop): Likewise.
+       (expand_twoval_binop, prepare_cmp_insn): Likewise.
+       * regclass.c (copy_cost): Likewise.
+       * reload1.c (reload_cse_move2add): Likewise.
 
-       * m88k.md (gen_divsi3): Delete REG_EQUAL workaround.
-       * t-m88k{,luna,sysv4}: Target makefile portion (from Mike Stump).
-       * x-m88k{,dgux,luna,sysv4}: Corresponding deletions.
-       * {tm,t,x}-m88ksysv4: Renamed from m88ksvr4.  Deleted xm-m88ksvr4.
-       * {tm,xm}-m88ksysv3: Renamed from v88r32.
-       * configure: Corresponding changes.
+2000-09-14  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-parse.in (reswords): Add _Complex.
 
-       * tm-m88k.h (ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Output to
-       .ctors/.dtors sections.
-       (TARGET_SWITCHES): Add -m88000, -m88100, and -m88110.  Replace
-       DG/UX MXDB options with SUBTARGET_SWITCHES macro.
-       * tm-m88kdgux.h (SUBTARGET_SWITCHES, ASM_SPEC, ASM_FIRST_LINE):
-       Put MXDB options here changing -mdwarf to -mstandard.
+2000-09-14  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
-Sun Oct 20 06:39:54 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * gcc.1: Delete documentation for -undef preprocessor option.
 
-       * combine.c (simplify_comparison, case PLUS): Only do simplification
-       for equality comparison due to overflow problems.
+2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+       STARTFILE_SPEC, ENDFILE_SPEC): Remove define.
+       * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
+       Remove undefine before config/elfos.h.
+       * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Comment out.
 
-       * gen*.c: Remove "void *" and uses of size_t added by recent change.
+2000-09-14  Kazu Hirata  <kazu@hxi.com>
+
+       * invoke.texi (H8/300 Options): Add -ms2600.
+       * config/h8300.c (h8300_init_once): Output an error when -ms2600
+       is used without -ms.
+       * config/h8300.h (TARGET_MAC): New.
+       (TARGET_SWITCHES): Add -ms2600 and -mno-s2600.
+       (CONDITIONA_REGISTER_USAGE): Disable the mac register on any
+       machine other than H8S/2600.
+       * config/h8300.md: Accept mac instructions on the H8S/2600 instead
+       of the H8S/2000.
 
-       * reload.c (find_reloads): If "&" given without any registers, 
-       turn off earlyclobber, in addition to giving error.
+2000-09-14  Alexandre Oliva  <aoliva@redhat.com>, Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * Makefile.in (STAGE_GCC): Deleted.
-       (STAGESTUFF): Add gcc (from STAGE_GCC) and gcc-cross.
+       * reload.c (find_reloads_address_1): Generate reloads for auto_inc
+       pseudos that refer to the original pseudos, not only to their
+       equivalent memory locations.
 
-Sun Oct 20 04:37:21 1991  Michael Tiemann  (tiemann at cygnus.com)
+Thu Sep 14 12:10:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * cp-decl.c (grokfndecl): Use DECL_NAME, not DECLARATOR at end of
-       function, since DECL_NAME may be different if it's an operator name.
+       * expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes
+       when making new MEM.
 
-       * cp-cvt.c (convert_pointer_to): Test if PARENT is TREE_VEC
-       before testing IS_AGGR_TYPE.
+       * Makefile.in (LN): Remove duplicate definition.
 
-Sun Oct 20 00:40:47 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+2000-09-12  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * gcc.c (link_command_spec): -collect converts to -c.
+       From Joern Rennecke:
+       * local-alloc.c (update_equiv_regs): If there is no REG_EQUAL note
+       on an insn and function_invariant_p returns nonzero for the source,
+       add a REG_EQUAL note.
 
-       * toplev.c (main): Support -gstabs and -gcoff.  Fix args to strncmp.
+Thu Sep 14 00:51:57 EDT 2000  John Wehle  (john@feith.com)
 
-Sat Oct 19 21:51:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * alias.c (memrefs_conflict_p): An ADDRESSOF doesn't
+       conflict with frame_pointer_rtx.
 
-       * reorg.c: Use const_true_rtx instead of const1_rtx.
-       (delete_scheduled_jump): Don't delete an insn that sets CC0 if it
-       has a side-effect.
-       (update_block): Add missing declaration for parameter WHERE.
-       (fill_slots_from_thread): Stop search if we find an insn that we
-       can't put into the delay slot unless we own the thread.
+2000-09-13  Kazu Hirata  <kazu@hxi.com>
 
-Sat Oct 19 17:30:23 1991  Michael Meissner  (meissner at osf.org)
+       * loop.c: Fix formatting.
+       * loop.h: Likewise.
 
-       * tm-mips.h (GP_REG_OR_PSEUDO_P): New macro to make sure a reg or
-       pseudo reg during reload will eventually be a GP register for use as
-       a base or index register.  This fixes a bug where a FP register
-       could be used as a base or index register in some cases after
-       convert from floating point to integer was done.
-       (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P): Use GP_REG_OR_PSEUDO_P.
-       (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): In the non strict version,
-       don't allow hard FP registers ever.
+2000-09-13  Richard Henderson  <rth@cygnus.com>
 
-Sat Oct 19 11:59:55 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+       * config/ia64/ia64.md (divsf3): New.
+       (divsf3_internal_lat, divsf3_internal_thr): New.
+       (divdf3, divdf3_internal_lat, divdf3_internal_thr): New.
+       (divtf3, divtf3_internal_lat, divtf3_internal_thr): New.
+       (adddf3_trunc, subdf3_trunc, muldf3_trunc): New.
+       (madddf4_trunc, msubdf4_trunc, nmuldf3_trunc): New.
+       (nmadddf4_alts, nmadddf4_trunc): New.
+       (addtf3_truncsf, addtf3_truncdf, subtf3_truncsf): New.
+       (subtf3_truncdf, multf3_truncsf, multf3_truncdf): New.
+       (multf3_truncsf_alts, multf3_truncdf_alts): New.
+       (maddtf4_truncsf, maddtf4_truncdf, maddtf4_alts_truncdf): New.
+       (msubtf4_truncsf, msubtf4_truncdf, nmultf3_truncsf): New.
+       (nmultf3_truncdf, nmaddtf4_truncsf, nmaddtf4_truncdf): New.
+       (nmaddtf4_truncdf_alts): New.
+       (recip_approx): Don't predicate.
 
-       * tm-sun3.h, tm-sparc.h (WORD_SWITCH_TAKES_ARG):
-       Check for Tdata as well as target.
+2000-09-13  Richard Henderson  <rth@cygnus.com>
 
-       * c-decl.c (grokdeclarator): Don't warn for array of incomplete elt.
+       * config/ia64/lib1funcs.asm (__divsf3): Protect fnorm.s with p6.
 
-       * expr.c (expand_expr): For INDIRECT_REF, don't set unchanging bit.
-       * c-typeck.c (build_indirect_ref): Do set TREE_UNCHANGING if nec.
+2000-09-13  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
 
-       * reload.c (find_reloads): Warning or error for misuse of `&'.
-       * toplev.c (warning_for_asm): New function.
+       * flags.h (flag_dump_rtl_in_asm): Declare.
+       * toplev.c (flag_dump_rtl_in_asm): Define.
+       (decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name
+       if -dP is specified.
+       * rtl.h (print_rtx_head): Declare.
+       * print-rtl.c (print_rtx_head): Define.
+       (print_rtx): Print the string pointed to by print_rtx_head
+       at beginning of each dump line.
+       (print_rtl): Likewise.
+       (print_rtl_single): Likewise.
+       * final.c (final_scan_insn): Dump the insn in the assembly
+       file for debugging.
+       * gcc.1: Document -dP option.
+       * invoke.texi (Debugging Options): Likewise.
 
-       * t-i386sco: New file.
-       * x-i386sco: Add -Di286 to CC, OLDCC.
-       (LIMIT_H): Moved to t-i386sco.
+2000-09-13  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
 
-Sat Oct 19 09:08:11 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * md.texi (Machine Constraints): Document the 68HC11 constraints.
+       * install.texi (Configurations): Document the 68HC11&68HC12 port.
+       * invoke.texi (Option Summary, M68hc1x Options): Document the options.
 
-       * gcc.c: Add missing extern declarations deleted by last change.
-       (xrealloc, xmalloc): Don't declare as void *; non-ANSI compilers
-       can't handle it.
+Tue Sep 12 13:51:13 2000  Denis Chertykov  <denisc@overta.ru>
 
-Sat Oct 19 08:26:13 1991  Ron Guilmette  (rfg at ncd.com)
+       * config/avr/avr.h (ASSEMBLER_DIALECT): New macro declared.
+       * config/avr/avr.md (*movstrqi_insn): Cleanup output template.
+       (*clrstrqi): Likewise.
+       (xorhi3,xorsi3,absqi2): Likewise.
+       (one_cmplhi2,one_cmplsi2): Likewise.
+       (addsi3): Two stupid constraint alternatives removed.
+       (extendhisi2): Use `movw' for enhanced avr cores.
+       (zero_extendhisi2): Likewise.
 
-       * tree.h: Fix spelling error in comment.
+Wed Sep 13 02:31:23 EDT 2000  John Wehle  (john@feith.com)
 
-       * tree.def, cp-parse.y: Change comments that refer to LET_STMT nodes to
-       refer to BLOCK nodes.
+       * alias.c (find_base_term): Use frame_pointer_rtx
+       when handling an ADDRESSOF.
 
-       * gcc.c, gen*.c: Declare as static objects that aren't referenced
-       outside the file they are in.
-       (xrealloc, xmalloc): Functions return char *, not int.
-       (main): Add missing returns (in unreachable code) to avoid warnings
-       when compiled with -Wreturn-type.
-       * gcc.c (pexecute): Likewise.
-       * genattrtab.c (operate_exp): Likewise.
+       * cse.c (canon_hash): Handle USE of BLKmode memory.
+       (cse_insn): Outgoing arguments for a libcall don't
+       affect any recorded expressions.
 
-Fri Oct 18 16:58:12 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
+2000-09-12  Tom Tromey  <tromey@cygnus.com>
 
-       * make-cc1.com: Finish changeover from cplus-* to cp-*.
+       * configure, config.in: Rebuilt.
+       * configure.in: Check for iconv, nl_langinfo, langinfo.h.
 
-Fri Oct 18 16:57:37 1991  Ron Guilmette  (rfg at ncd.com)
+2000-09-12  Jakub Jelinek  <jakub@redhat.com>
 
-       * tm-svr4.h: Delete lines duplicated due to transmission problems.
+       * c-lex.c (lex_string): Use charwidth to compute bytemask.
+       * expr.c (expand_expr): Don't optimize constant array references
+       initialized with wide string constants.
 
-Fri Oct 18 16:55:53 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-09-13  Michael Hayes  <mhayes@cygnus.com>
 
-       * jump.c (unsigned_condition, signed_condition): New functions.
+       * loop.c (note_set_pseudo_multiple_uses): Correct.
 
-       * configure (vax): Set tm_file to tm-vax.h so "configure vax-dec-bsd"
-       works.
+2000-09-12  Jim Wilson  <wilson@cygnus.com>
 
-       * combine.c (subst, case PLUS, MINUS): Remove some simplifications
-       from here.
-       * cse.c (simplify_binary_operation, case PLUS, MINUS): Put these
-       simplifications here.
-       Strip off CONST when looking for some simplifications.
-       Add code to simplify (a - (a - b)).
+       * ifcvt.c (noce_process_if_block): If A and B are the same, and no
+       else block, and X has side-effects, then fail.
 
-       * combine.c (expand_compound_operation): Correctly handle case where
-       we have a ZERO_EXTRACT that extends beyond the bounds of the object.
+2000-09-12  Greg McGary  <greg@mcgary.org>
 
-       * global-alloc.c (mark_elimination): No longer have FORBIDDEN_REGS as
-       argument.
-       * reload1.c (reload): Don't pass FORBIDDEN_REGS to mark_elimination.
+       * config/mips/mips-protos.h
+       (trap_cmp_op, mips_gen_conditional_trap): New func decls.
+       * config/mips/mips.h (ISA_HAS_COND_TRAP): New macro.
+       (PREDICATE_CODES): Add "trap_cmp_op".
+       * config/mips/mips.c
+       (trap_cmp_op, mips_gen_conditional_trap): New functions.
+       * config/mips/mips.md (trap, conditional_trap): New patterns.
 
-       * cse.c (simplify_{unary,binary,relational}_operation):  Complete
-       change that removes warnings from floating-point traps when constant
-       folding (some cases had been omitted).
+2000-09-12  Bernd Schmidt  <bernds@redhat.co.uk>
 
-Fri Oct 18 16:41:29 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       * stmt.c (expand_anon_union_decl): When creating new mem, copy the
-       RTX_UNCHANGING_P and MEM_IN_STRUCT_P bits from the old one.
+       * flow.c (try_pre_increment_1): Don't do anything to sets of the stack
+       pointer.
 
-       * sparc.md: Add new scc addx/subx patterns.
-
-Fri Oct 18 09:10:43 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cp-parse.y (stmts): Fix parsing rules to match C++ semantics
-       better (and hence give the compiler better error recovery).
+       * builtins.c (built_in_decls): New array.
+       (expand_builtin_fputs): New function.
+       (expand_builtin): Handle BUILT_IN_FPUTC and BUILT_IN_FPUTS.
 
-Thu Oct 17 19:31:15 1991  Ken Raeburn  (raeburn at cygnus.com)
-
-        * cp-pt.c (tsubst): For NEGATE_EXPR, call build1, not build.
-        Handle NOP_EXPR likewise.
-        (unify, case TEMPLATE_CONST_PARM): Copy value to permanent obstack.
-
-        * cp-method.c (PARM_CAN_BE_ARRAY_TYPE): If not already defined,
-        define it to be 1.
-        (build_overload_name): Test to see if it's nonzero, rather than
-        whether it's defined; this permits compilation options to disable
-        it, but leave it enabled by default.  Add one to the array size,
-        since the value retrieved appears to be the maximum index, not the
-        true array size.
-
-Thu Oct 17 19:15:37 1991  Mark Eichin  (eichin at tweedledumber.cygnus.com)
-
-        * cp-pt.c (instantiate_class_template):  has an argument to
-        indicate whether to setup for parsing or not. (All existing cases
-        did a feed input, but if we are trying to set up intermediate nodes
-        while waiting for the parser to return to a template_instantiate
-        site we need to suppress the parsing part of it, which will get
-        redone later.)
-        (tsubst): under case UNINSTANTIATED_P_TYPE, actually instantiate any
-        class templates that are needed for function return values, and set
-        them up as pending templates to be run later.
-
-        * cp-parse.y (primary): since build_x_function_call doesn't
-        require a complete type any more in certain cases, we instantiate
-        any pending templates and then require_complete_type on the
-        remainder. 
-
-        * cp-typeck.c (build_function_call_real): added an argument to
-        optionally skip the require_complete_type... implicit template
-        instantiation has to be postponed, so we won't get a complete type
-        until the parser can grab it.
-
-        * cp-call.c (build_overload_call_real): added an argument do
-        allow choice of build_function_call_maybe or build_function_call
-        based on whether we thought we would require a complete type out of
-        build_function_call. 
-
-Wed Oct 16 09:06:57 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * c-decl.c (store_parm_decls): Fix and disable recording the arg
-       type list for the function indicating the number of arguments.
-       * c-typeck.c (self_promoting_args_p): Allow the arg type to be null.
-
-       * expmed.c (store_bit_field, extract_bit_field): Add checks for
-       MEM_IN_STRUCT_P if the structure reference is a MEM.
-
-Tue Oct 15 18:37:50 1991  Ken Raeburn  (raeburn at cygnus.com)
-
-        * cp-call.c (build_overload_call): If template match fails, still
-        set function field of candidate structure, and set bad_arg field to
-        new magic number -4 to indicate failed type unificiation.
-
-        * cp-class.c (add_method): Call make_function_rtl only if not
-        processing a template declaration.
-
-        * cp-tree.def: New node type, UNINSTANTIATED_P_TYPE, for
-        parameterized types that haven't had parameters filled in yet.
-        Looks like a type node.
-
-        * cp-decl.c (struct binding_level): New flag indicating any name
-        should be accepted when looked up at this level.  This is a kludge
-        to try to deal with methods of parameterized types.
-        (declare_uninstantiated_type_level): Set it.
-        (uninstantiated_type_level_p): Return it.
-        * cp-class.c (pushclass): If the "class" type is
-        UNINSTANTIATED_P_TYPE, flag it in the new binding level.
-
-        * cp-decl.c (push_overloaded_decl): New argument to indicate
-        whether the decl should be forgotten when the current level is
-        exited.  Callers changed.
-        (push_overloaded_decl_top_level): Ditto.
-        (dont_forget_overload): Deleted.
-        (push_overloaded_decl_1): New fn; like push_overloaded_decl, but
-        never forgets.  Intended only for use by auto_function macro.
-        (auto_function): Use it.
-
-        * cp-decl.c (print_binding_level): Print type-shadowed field at
-        each level.  Skip fields with no values.
-
-        * cp-decl.c (adjust_type_value): Use SET_IDENTIFIER_TYPE_VALUE,
-        not set_identifier_type_value.
-
-        * cp-decl.c (pushdecl): Undo Oct 4 back-out of previous change.
-        Set type value of name of passed decl, instead of name of type in
-        passed decl.
-        (pushdecl_top_level): Search type-shadowed fields of outer binding
-        levels, munging outermost one if found to cause it to "restore" the
-        new global value.
-
-        * cp-decl.c (push_overloaded_decl): Don't punt second or later
-        templates of a given name.
-
-        * cp-decl.c (start_decl): Template-handling code moved up, to
-        cope better with variable declarations.  Don't check for incomplete
-        type or constructor requirements when processing template.
-
-        * cp-decl2.c (build_push_scope): If passed error mark node, just
-        return it.
-        (constructor_name): Handle UNINSTANTIATED_P_TYPE.
-
-        * cp-lex.c (identifier_type): Don't return PTYPENAME for function
-        template name.
-
-        * cp-method.c (report_type_mismatch): New magic bad-arg value -4
-        indicates type unification failure.
-        (build_overload_name, case UNINSTANTIATED_P_TYPE): Handle like other
-        template-related types that shouldn't get visibility outside the
-        compiler.
-
-        * cp-parse.y (template_type): Use IDENTIFIER_TYPE_VALUE from
-        name, if expansion doesn't happen.
-        (tmpl.1, tmpl.2): Now type <ttype>.  Value is null or return value
-        from instantiate_class_template.
-        (template_instantiation): Always put copy of decl in global scope.
-        Use pushdecl_top_level instead of setting IDENTIFIER_GLOBAL_VALUE
-        slot.
-        (LC): If type has been or is being defined, push a new type with the
-        same name, to avoid conflict.
-        (try_for_typename): New type <itype>.  Value is non-zero iff type to
-        be pushed uses no template parms and isn't error_mark_node.
-        (scoped_id): Return error_mark_node for template parameter uses, and
-        leave error_mark_node alone.  Only pop class if try_for_typename
-        value is non-zero.
-        (scoped_typename): Ditto.
-
-        * cp-pt.c (end_template_decl): If template decl/class head arg is
-        null, punt.  For non-type templates that didn't come in as template
-        decls, clear public flag.  Such cases shouldn't arise any more; just
-        put in abort call for now until we're sure.  Comment out code for
-        forcibly removing temporary values of template type parms; Michael
-        broke the code and fixed the original problem.  Handle error case
-        where decl to be pushed might be null.
-        (coerce_template_parms): Handle arg list as TREE_VEC as well as
-        TREE_LIST.  If arg list uses template parms, return
-        UNINSTANTIATED_P_TYPE node.
-        (uses_template_parms, case UNINSTANTIATED_P_TYPE): Return 1.
-        (instantiate_class_template): Now returns tree -- error_mark_node or
-        NULL_TREE or class type; callers and decls changed.  Assign
-        TYPE_NAME field when building new RECORD_TYPE and TYPE_DECL nodes.
-        Don't need to do extra poplevel any more.
-        (tsubst): Handle UNINSTANTIATED_P_TYPE, MINUS_EXPR, PLUS_EXPR,
-        NEGATE_EXPR.
-        (undo_template_name_overload): Don't need to explicitly clear type
-        field any more.
-        (overload_template_name): Push a TYPE_DECL, instead of explicitly
-        setting type value field.
-        (end_template_instantiation): Don't need to pop a level any more.
-        (reinit_parse_for_template): Throw away saved block for null or
-        error template node.
-        (type_unification): Handle variadic functions, and functions with
-        default values for arguments.
-        (unify): Handle TREE_VEC and UNINSTANTIATED_P_TYPE.
-
-        * cp-ptree.c (print_lang_type): Handle UNINSTANTIATED_P_TYPE.
-
-        * cp-tree.h (push_overload_decl): Declare here, not in
-        cp-decl.c.
-        (TEMPLATE_TYPE_* macros): Delete unused (and now incorrect)
-        versions.
-
-Mon Oct 14 14:30:32 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       * integrate.c (expand_inline_function): Fix typo from last edit,
-       where TYPE_MODE was applied to an argument, not the type of an
-       argument.
+       * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTS): New members.
 
-       * cse.c (canon_hash, SUBREG case): Add cast which is needed by some
-       compilers.
-
-Mon Oct 14 07:59:50 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * c-common.c (c_common_nodes_and_builtins): Handle fputc/fputs.
 
-       * toplev.c (rest_of_compilation): Compute the function's name and
-       pass it to assemble_{start,end}_function.
-       * varasm.c (assemble_start_function): New parameter.
-       (assemble_end_function): New function for ASM_DECLARE_FUNCTION_SIZE.
-       * final.c, sdbout.c: Correct comments.
-       * tm-svr4.h, tm-sysv4.h (ASM_DECLARE_FUNCTION_SIZE): Add and use a
-       NAME parameter.
-       * tm-m88k.h (ASM_DECLARE_FUNCTION_SIZE): Override svr4 definition.
-       * out-m88k.c (output_prologue): Delete previous method.
+       * tree.h (built_in_decls): New array.
 
-       * m88k.md: Use trap_if.
-       (divsi3): Store into output operand only once to aviod problems
-       with REG_EQUAL note.
-       * out-m88k.c (output_call): Accomodate assembler range
-       restriction.
-       * tm-m88kdgux.h (AS_BUG_IMMEDIATE_LABEL): Specify the restriction.
-       (ASM_SPEC): Pass -KV3 to the assembler in some cases.
-       * tm-m88k.h (CONDITIONAL_REGISTER_USAGE): Mark the addressing base
-       register global.
+Tue Sep 12 08:53:57 2000  Jeffrey A Law  (law@cygnus.com)
 
-Sat Oct 12 00:30:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * convex.md: Use "+" instead of "=" for outputs wrapped in a
+       STRICT_LOW_PART.
+       * i370.md, i386.md, ns32k.md, sh.md, vax.md: Likewise.
 
-       * Makefile.in (.SUFFIXES): Rule added.
+2000-09-12  Kazu Hirata  <kazu@hxi.com>
 
-       * dbxout.c (dbxout_block): Handle debug_info_level.
-       * sdbout.c (sdbout_begin_block): Likewise.
-       * toplev.c (compile_file): Likewise, when calling init_emit_once.
-       * emit-rtl.c (init_emit_once): Cosmetic change.
-       * Makefile.in (sdbout.o): Include flags.h.
+       * haifa-sched.c: Fix formatting.
 
-       * configure: Default srcdir from dir in which configure is found.
+       * genattrtab.c: Fix formatting.
 
-       * i860.md (floatsidf2): Rewrite to be independant of host machine.
-       (divdf3, divsf3): New patterns.
+       * unroll.c: Fix formatting.
 
-       * tm-i860.h (ASM_DECLARE_FUNCTION_NAME): Macro deleted.
-       (ASM_OUTPUT_FUNCTION_PREFIX): Macro added.
+2000-09-12  Bruce Korb  <bkorb@gnu.org>
 
-       * stmt.c (pushcase, pushcase_range, expand_end_case):
-       Don't give "unreachable code" warning for a USE.
+       * fixinc/fixfixes.c: make a type for the fix procedure & use it,
+       remove obsolete code
+       * fixinc/fixincl.c: Use PARAMS, not _P_.  Add no-op default to switch.
+       * fixinc/fixincl.tpl: make non-exported arrays static scope
+       * fixinc/fixincl.x: regenerate
+       * fixinc/fixlib.h: Use PARAMS, not _P_
+       * fixinc/fixtests.c: make a type for the test proc & use it
+       * fixinc/server.h: Use PARAMS, not _P_
 
-       * tm-i386.h (HARD_REGNO_MODE_OK): Fp regs reject TFmode.
+2000-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Fri Oct 11 16:43:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * c-typeck.c (process_init_element): Avoid union init warnings on
+       floating point zero.  Don't crash on unions containing structs.
 
-       * cse.c (find_comparison_args): Reject VOIDmode to avoid invalid
-       shift.
+2000-09-12  Alexandre Oliva  <aoliva@redhat.com>
 
-Fri Oct 11 14:30:31 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+       * config/sh/sh.h (PREDICATE_CODES): Add CONST_DOUBLE to
+       general_movsrc_operand, and remove CONST_INT from
+       general_movdst_operand.
 
-       * c-typeck.c (function_types_compatible_p):
-       NULL as arg type matches self-promoting type.
-       (self_promoting_type_p): New function.
-       (common_type): NULL for arg in one fcn type means use arg from other.
-       * c-decl.c (store_parm_decls): Record arg type list for the fn,
-       just to indicate how many args there are.
+2000-09-12  Bernd Schmidt  <bernds@redhat.co.uk>
 
-       * i860.md, out-i860.c, tm-i860.h: Merge many changes by rfg.
-       * tm-i860bsd.h, xm-i860.h: Likewise.
-       * tm-i860v3.h, tm-i860v4.h: New files.
-       * xm-i860v3.h, xm-i860v4.h: New files.
-       * tm-i860v3g.h: Renamed from tm-i860g.h.
-       * configure (i860-sysv3*): Renamed from i860-sysv*.  New filenames.
-       (i860-sysv4*): New alternative.
+       * cse.c (approx_reg_cost): If SMALL_REGISTER_CLASSES, return INT_MAX
+       if a reference to non-fixed hardreg is seen.  Otherwise, count hard
+       regs with a higher cost.
+       (preferrable): Deal with cases where either cost or regcost is
+       MAX_COST.
+       (cse_insn): Use MAX_COST rather than 10000.  Always initialize
+       regcost values.
+       (COSTS_N_INSNS): Move definition...
+       * rtl.h: ...here.
+       (MAX_COST): New macro.
+       * loop.c (init_loop): Use COSTS_N_INSNS macro instead of hardcoded
+       constant.
 
-       * print-rtl.c: New file, split from rtl.c.
-       * Makefile.in (print-rtl.o): New target.
-       (OBJS): Add that target.
+2000-09-11  Mark Mitchell  <mark@codesourcery.com>
 
-       * toplev.c (DEFAULT_GDB_EXTENSIONS): Provide default definition.
-       (main): Use that for -g with dbx format.
-       Don't support -G.
-       * gcc.c (default_compilers): Get rid of -G.
+       * c-common.h (genrtl_clear_out_block): Remove.
+       * c-semantics.c (genrtl_clear_out_block): Remove.
+       (genrtl_while_stmt): Don't call it.
+       (genrtl_for_stmt): Likewise.
 
-Fri Oct 11 14:30:43 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+2000-09-11  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * stmt.c (expand_anon_union_decl): Correctly handle anonymous
-       unions, whether in memory or registers.
+       * cppfiles.c: Move all default-#defines to top of file.
+       (open_include_file): Replace by lookup_include_file.
+       (read_with_read, read_file): Merged into read_include_file.
+       (stack_include_file, purge_cache): New functions.
+       (close_cached_fd): Delete.
+       (lookup_include_file, read_include_file, _cpp_pop_file_buffer):
+       Cache the in-memory buffer, not the file descriptor.
 
-       These were written by Michael Tiemann.
-       The following changes net a 16% speedup compiling some
-       machine-generated CAD synthesis code.
-       * c-decl.c (field_decl_cmp): New function, use as comparison
-       function for qsort.
-       (finish_struct): If there are more than 15 fields, allocate a
-       LANG_TYPE for the FIELD_DECLs, and sort them according to
-       `field_decl_cmp'.
-       * c-tree.h (lang_type): Define a LANG_TYPE for RECORD_TYPEs.
-       * c-typeck.c (build_component_ref): If LANG_TYPE set, then use
-       binary search to find the field, otherwise use linear search as
-       before.
+       * cpphash.h (struct include_file): Add buffer, st, refcnt,
+       mapped fields.
+       (xcnew): New utility macro.
+       (DO_NOT_REREAD, NEVER_REREAD): Move up by struct include_file.
+       * cpplib.h (struct cpp_buffer): Remove mapped field.
 
-       * tree.h: Declare savealloc.
-       * c-common.c: Delete now unnecessary cast of savealloc result.
+2000-09-11  Zack Weinberg  <zack@wolery.cumb.org>
 
-Fri Oct 11 10:06:09 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * cpplex.c (parse_string): Accept backslash space newline as a
+       line continuation.
+       (lex_line): Likewise.
+       (_cpp_get_token): Remove hard limit on macro nesting.
 
-       * cse.c (simplify_binary_operation): Fix typo in last change.
-
-       * cp-*, gcc.texinfo, make-cc1.com, tree.c, undocumented: Change
-       cplus- to cp-.  Rename cplus-parse.y to cp-parse.y.
-
-Fri Oct 11 07:48:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * recog.c (find_single_use_1): Ignore appearances of DEST in
-       contexts where it is being set, not referenced.
-       (find_single_use): Use dead_or_set_p instead of looking for REG_DEAD
-       notes.
+2000-09-12  Philipp Thomas  <pthomas@suse.de>
 
-Fri Oct 11 07:29:33 1991  Ron Guilmette  (rfg at ncd.com)
+       * aclocal.m4 (AM_WITH_NLS): Don't force use of included gettext.
+       * configure: Rebuilt.
 
-       * c-parse.y, cp-lex.c, objc-parse.y (check_newline):    Use `pedwarn'
-       instead of `error' when we see an #ident if -pedantic.
-       * cccp.c (do_assert, do_unassert, check_assertion, do_sccs): Warn
-       if -pedantic.
+2000-09-13  Michael Hayes  <mhayes@cygnus.com>
 
-Thu Oct 10 18:30:28 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * flow.c (split_block): Fix update of registers live at
+       end of split block.
 
-       * gcc.c (default_compilers): Correctly handle new debugging
-       options, pass all -g* and -G* options.
+Tue Sep 12 01:51:38 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
-       * Makefile.in, c-decl.c, cp-decl.c, final.c, flags.h, gcc.1,
-       gcc.c, print-tree.c, toplev.c, tree.def, tree.h: Delete support
-       for obsolete GDB_DEBUG format, -gg option, symout.c, etc.
-       * gdbfiles.h, symseg.h, symout.c: Delete obsolete files.
+       * i386.md (add?i_3, add?i_5): New.
+       (add?i_4): Rename from add?i_3;  Fix compare pattern.
+       (sub?i_3, xor?i_3, ior?i_3): New.
 
-Thu Oct 10 17:56:16 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * genrecog.c (write_tree): Output code to clear insn_extract cache.
+       * genattrtab.c (write_attr_case): Gen call to extract_insn_cache
+       instead of extract_insn and extract_constrain_insn_cache instead of
+       extract_insn and constrain_operands.
+       * recog.c (extract_insn_cached, extract_constrain_insn_cached):
+       New functions.
+       (extract_insn): Clear which_alternative.
+       (constrain_operands): Set which_alternative to -1 when failed.
+       * recog.h (extract_constrain_insn_cached, extract_insn_cached):
+       Declare.
+
+2000-09-11  Matthew Hiller  <hiller@redhat.com>
+
+       * config/h8300/h8300.md (movstrictqi): Changed constraint modifier
+       on operand 0 to '+'.
+       (movstricthi): Likewise.
+
+2000-09-12  Michael Hayes  <mhayes@cygnus.com>
+
+       * loop.h (LOOP_IVS): New macro.
+       (REG_IV_TYPE, REG_IV_INFO): Add ivs argument.
+       (struct loop_ivs): New.
+       (struct loop_info): Add ivs field.
+       (reg_iv_type, reg_iv_info): Delete prototype.
+       (reg_biv_class, loop_iv_list): Likewise.
+       * loop.c (record_biv, find_life_end): Pass loop argument.
+       (reg_iv_type): Remove global array and use
+       field in loop_regs structure within loop_ivs structure.
+       (reg_iv_info, reg_biv_class, loop_iv_list): Likewise.
+       (first_increment_giv, last_increment_giv): Use entry in
+       loop_ivs structure.
+       (record_initial): Pass ivs pointer.
+       * unroll.c (copy_loop_body, remap_split_bivs): Add loop argument.
+
+2000-09-12  Michael Hayes  <mhayes@cygnus.com>
+
+       * loop.h (LOOP_REGS): New macro.
+       (struct loop_regs): New.
+       (struct loop_info): Add regs field.
+       * loop.c (set_in_loop): Remove global array and store
+       in loop_regs structure as part of loop_info structure.
+       (n_times_set, may_not_optimize): Likewise.
+       (reg_single_usage, moved_once): Likewise.
+       (count_one_set): Add regs argument.
+       (combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise.
+       (set_pseudo_multiple_uses): Pass regs pointer.
+
+2000-09-12  Michael Hayes  <mhayes@cygnus.com>
 
-       * expr.c (convert_move): When widening FROM to multi-word, ensure that
-       we only reference each piece of TO once so that emit_no_conflict_block
-       can be safely used.
+       * unroll.c (iteration_info): Subsume into loop_iterations.
+       * loop.h (loop_info): New field iv.
 
-       * toplev.c (float_signal): Re-enable the signal after we catch it.
+2000-09-12  Michael Hayes  <mhayes@cygnus.com>
 
-       * cse.c (simplify_binary_operation): Add missing fp error handler
-       setup in DFmode case.
+       * basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New.
+       (LOOP_EXITS_DOMS, LOOP_ALL): Likewise.
+       (flow_loops_update): New prototype.
+       (flow_loops_find): Add flags to prototype.
+       (struct loop): Add `pre_header_root' and `pre_header_trace' fields.
+       * flow.c (flow_loop_pre_header_scan): New.
+       (flow_loop_dump): Dump pre-header root and trace and exit dominators.
+       (flow_loop_free): Free pre-header root and trace and exit dominators.
+       (flow_loops_find): New argument flags.
+       (flow_loops_update): New function.
+       * toplev.c (rest_of_compilation): Add flag argument to flow_loops_find.
 
-       * combine.c (subst, case XOR): Fix typo in checking for
-       STORE_FLAG_VALUE equal to just the sign bit.
-       (simplify_comparison): Fix typo in computing maximum signed number in
-       a mode; also, use GET_MODE_MASK rather than trying to compute it.
+2000-09-12  Michael Hayes  <mhayes@cygnus.com>
 
-Thu Oct 10 17:52:44 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+       * basic-block.h (split_block, update_bb_for_insn): New prototypes.
+       * flow.c (split_block, update_bb_for_insn): New functions.
+
+2000-09-11  Richard Henderson  <rth@cygnus.com>
 
-       * c-decl.c (init_decl_processing): Turn off `alloca' for -ansi.
-       (c_decode_option): Handle -fbuiltin, -fno-builtin.
+       * cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
+
+2000-09-11  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare.
+       * config/ia64/ia64.c (fr_nonimmediate_operand): New.
+       (ia64_override_options): Prevent optimizing division for both
+       latency and throughput.
+       (rtx_needs_barrier): Handle frcpa.
+       * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): New.
+       (MASK_INLINE_DIV_THR, TARGET_INLINE_DIV_LAT): New.
+       (TARGET_INLINE_DIV_THR, TARGET_INLINE_DIV): New.
+       (TARGET_SWITCHES): Add -minline-divide-min-latency and
+       -minline-divide-max-throughput.
+       (PREDICATE_CODES): Update.
+       * config/ia64/ia64.md (extendsidi2): Remove * from f case.
+       (zero_extendsidi2): Likewise.  Fix typo in f case insn.
+       (extendsfdf2): Add cases for gr<->fr and fr<->mem.
+       (extendsftf2): Likewise.
+       (extenddftf2): Likewise.
+       (fix_trunctfdi2_alts): New.
+       (fixuns_trunctfdi2_alts): New.
+       (madd*4): Rename from madd*3.
+       (divsi3, modsi3, udivsi3, umodsi3): New.
+       (divsi3_internal): New.
+       (divdi3, moddi3, udivdi3, umoddi3): New.
+       (divdi3_internal_lat, divdi3_internal_thr): New.
+       (multf3_alts, maddtf4_alts, nmaddtf4_alts): New.
+       (recip_approx): New.
+
+2000-09-11  Alexandre Oliva  <aoliva@redhat.com>
+
+       * print-rtl.c (debug_call_placeholder_verbose): New variable.
+       (print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is
+       set.
+       * integrate.c (copy_rtx_and_substitute): Don't share
+       LEAF_REG_REMAPpable registers with the inlined function.  Don't
+       share the function value with calling sequences.
+
+2000-09-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-decl.c (do_case): Fix a typo.
+
+       * combine.c (simplify_if_then_else): Don't convert a == b ? b : a
+       to a if the comparison is floating mode and not -ffast-math.
+       * simplify-rtx.c (simplify_ternary_operation): Likewise.
+
+Mon Sep 11 20:07:48 2000  J"orn Rennecke <amylaar@redhat.co.uk>
+
+       * sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to
+       gen_ic_invalidate_line.
+
+2000-09-11  Philip Blundell  <pb@futuretv.com>
+
+       * config/arm/elf.h (SUBTARGET_CPP_SPEC): Don't define `arm_elf'.
+
+Mon Sep 11 10:48:41 2000  Ulrich Drepper <drepper@redhat.com>
+
+       * install.texi (LANGUAGES): Update to include new languages.
+       * INSTALL: Rebuilt.
+
+2000-09-11  DJ Delorie  <dj@redhat.com>
+
+       * gcc.c (main): Don't warn about unused -B prefixes
+       (unused_prefix_warnings): remove
+
+2000-09-11  Kazu Hirata  <kazu@hxi.com>
+
+       * final.c: Fix formatting.
+
+       * integrate.c: Fix formatting.
+
+2000-09-11  Geoff Keating  <geoffk@cygnus.com>
+
+       * alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry.
+
+2000-09-11  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * reload.c (regno_clobbered_p): Fix thinko in previous change.
+
+2000-09-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * gcc.1: Document 68hc11 specific options.
+
+2000-09-10  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define.
+       (TARGET_LONG_DOUBLE_128): Define.
+       (SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128.
+       (LONG_DOUBLE_TYPE_SIZE): Redefine.
+       (MAX_LONG_DOUBLE_TYPE_SIZE): Define.
+       (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition
+       of __LONG_DOUBLE_128__.
+       (CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128
+       passed.
+       (CPP_LONGDOUBLE_DEFAULT_SPEC): Define.
+       (CPP_SYSV_DEFAULT_SPEC): Define.
+       (SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default.
+       (INIT_TARGET_OPTABS): Define.
+
+       * config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h.
+       (RS6000_UITRUNC): Likewise.
+       (INIT_TARGET_OPTABS): New macro.
+       * config/rs6000/rs6000.c (rs6000_trunc_used): Delete.
+       (trunc_defined): Delete.
+       (output_prolog): Don't output .extern definitions for fp->int
+       conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it.
+       * config/rs6000/rs6000.h (rs6000_trunc_used): Delete.
+       (trunc_defined): Delete.
+       (RS6000_ITRUNC): Moved to aix.h.
+       (RS6000_UITRUNC): Likewise.
+       * config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would
+       only emit a libcall.
+       (fixuns_truncdfsi2): Delete.
+       (trunc_call): Delete.
+       (trunc_call_rtl): Delete.
 
-Thu Oct 10 17:42:03 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * caller-save.c (emit_mult_restore): Initialize MAYBE_TEMPREG.
+       * varasm.c (make_decl_rtl): Restore leading star on
+       DECL_ASSEMBLER_NAME set for decls with an asmspec.
 
-       * function.c (assign_parms): Set MEM_IN_STRUCT_P when creating a
-       MEM for a aggregate passed by reference.
-       * expr.c (expand_expr, INDIRECT_REF case): Set MEM_IN_STRUCT_P
-       when dereferencing an aggregate.
+2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * sched.c (sched_note_set): Add missing parens.
+       * c-pragma.c (handle_pragma_pack): Correct parsing logic so it
+       won't give a spurious error for '#pragma pack()'.  Simplify
+       control flow for readability.  'reset' action is not necessary.
 
-       * sparc.md: Delete unnecessary clobbers from all SCC patterns.
+2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * integrate.c (expand_inline_function): Correct handling of arguments
-       passed by invisible reference.
+       * defaults.h: Provide default definitions for: CHAR_TYPE_SIZE,
+       SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
+       LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE,
+       DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED.
 
-       * cse.c (canon_hash): Compute hash code for SUBREG same as we do
-       for REG.  Otherwise, SUBREG hash codes can change when qty_const
-       changes, which results in duplicate SUBREG entries, which can
-       cause a crash.
+       * cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c,
+       profile.c, sdbout.c, tradcif.y, tree.c:
+       Include defaults.h if not already included.
+       Don't define the above macros.
 
-Wed Oct  9 15:55:42 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * Makefile.in: Update dependencies.
 
-       * cccp.c (main): Update MAX_INCLUDE_LEN if GCC_EXEC_PREFIX gets into
-       the act.
+2000-09-10  Mark Mitchell  <mark@codesourcery.com>
 
-       * xm-a29k.h: Change copyright message back to GPL version 2.
-       * xm-a29k-ultra.h: Use GPL version 2 copyright.
+       * c-common.h (add_stmt): Change prototype.
+       (RECHAIN_STMTS): New macro.
+       (CASE_LABEL_DECL): Likewise.
+       (genrtl_case_label): Change prototype.
+       (c_expand_start_case): Remove prototype.
+       (build_case_label): Change prototype.
+       (decl_constant_value): Declare.
+       * c-common.c (check_case_value): Handle C++'s extensions to C
+       semantics.
+       * c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL
+       field.
+       * c-parse.in (stmt): Adjust handling of return statements and case
+       laels.
+       * c-semantics.c (add_stmt): Return the new statement.
+       (genrtl_return_stmt): Take the RETURN_STMT as input, not the
+       returned expression.  Directly generate RTL, rather than calling
+       c_expand_return.
+       (genrtl_switch_stmt): Don't call c_expand_start_case.
+       (build_case_label): Take the LABEL_DECL as input, too.
+       (genrtl_case_label): Just call add_case_node.
+       (expand_stmt): Adjust calls to genrtl_return_stmt and
+       genrtl_case_label.
+       * c-tree.h (c_expand_start_case): Declare.
+       * c-typeck.c (decl_constant_value): Give it external linkage.
+       (c_expand_return): Don't call expand_return or expand_null_return;
+       use genrtl_return_stmt instead.
+       * stmt.c (struct nesting): Remove num_ranges field.
+       (add_case_node): Give it external linkage.
+       (expand_start_case): Don't set num_ranges.
+       (expand_start_case_dummy): Don't clear it.
+       (pushcase): Rely on add_case_node to handle `default' labels.
+       (add_case_node): Handle `default' labels.
+       * tree.c (tree_int_cst_compare): New function.
+       * tree.h (tree_int_cst_compare): Declare.
+       (add_case_node): Likewise.
+
+2000-09-10  Richard Henderson  <rth@cygnus.com>
+
+       * c-parse.in: Revert last change.
+       (init_reswords): Do not enter disabled keywords into the ridpointers
+       table, modulo objc weirdness.
+       (_yylex): Return the canonical spelling for a keyword.
+
+2000-09-10  Philip Blundell  <philb@gnu.org>
+
+       * config/arm/arm.h (CPP_ISA_SPEC): Don't define `arm' or `thumb'.
+       * config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `__arm__'.
+
+Sun Sep 10 14:30:28 EDT 2000  John Wehle  (john@feith.com)
+
+       * alias.c (find_base_term): Handle ADDRESSOF.
+       (memrefs_conflict_p): An ADDRESSOF doesn't conflict.
+
+2000-09-10  Denis Chertykov  <denisc@overta.ru>
+
+       * genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while
+       outputting templates with many lines.
+
+2000-09-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD
+       to decide whether 64-bit support must be generated.
+
+2000-09-10  Richard Henderson  <rth@cygnus.com>
+
+       * c-parse.in (asm patterns): Fix volatile check.
+
+2000-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cppmacro.c (check_trad_stringification): New function.
+       (save_expansion): If -Wtraditional, warn about stringification of
+       macro arguments.
+
+2000-09-11  Michael Hayes  <mhayes@cygnus.com>
+
+       * loop.h (struct loop_mem_info): Move from loop.c
+       (struct loop_info): Add fields store_mems, mems, mems_idx,
+       mems_allocated, unknown_address_altered,
+       unknown_constant_address_altered, num_mem_sets, and
+       first_loop_store_insn.
+
+       * loop.c (loop_store_mems): Replace with field in loop_info struct.
+       (loop_mems, loop_mems_idx, loop_mems_allocated): Likewise.
+       (unknown_address_altered, unknown_constant_address_altered): Likewise.
+       (num_mem_sets): Likewise.
+       (replace_loop_mems, replace_loop_regs): New.
+       (struct loop_replace_args): New.
+       (load_mems): Use replace_loop_mems.
+       (try_copy_prop): Use replace_loop_regs.
+       (replace_loop_reg, replace_loop_mem): Use loop_replace_args structure.
+
+2000-09-09  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * configure.in: Recognize m6811-elf and m6812-elf.
+       * configure: Regenerate.
+
+2000-09-09  Geoff Keating  <geoffk@cygnus.com>
+
+       * recog.c (validate_replace_rtx_1): Correct MODE parameter in call
+       to operand_subword.
+
+2000-09-10  Michael Hayes  <mhayes@cygnus.com>
+
+       * loop.c (struct movables): New.
+       (num_movables): Move into struct movables.
+       (the_movables): Change type to struct movables.
+       (ignore_some_movables): Change struct movable arg to struct movables.
+       (force_movables, combine_movables, regs_match_p): Likewise.
+       (rtx_equal_for_loop_p, move_movables): Likewise.
+       (scan_loop): Change movables to be of type struct movables.
+       Replace last_movable with field in movables structure.
+
+2000-09-08  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS.
+       (init_pragma): Avoid warning if pfile happens to be unused.
+       * c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS.  Never
+       define init_pragma to nothing.  Always prototype
+       init_pragma.  Prototype dispatch_pragma if !USE_CPPLIB.
+
+       * c-lex.c (process_directive): Always call dispatch_pragma.
+       Initialize entering_c_header to 0.
+
+2000-09-08  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.md: New file, machine description for
+       68HC11 & 68HC12.
+       * config/m68hc11/m68hc11.h: New file, definitions for 68HC11 & 68HC12.
+       * config/m68hc11/m68hc11.c: New file, functions for 68HC11 & 68HC12.
+       * config/m68hc11/m68hc12.h: New file, definitions for 68HC12.
+       * config/m68hc11/m68hc11-protos.h: New file.
+       * config/m68hc11/m68hc11-crt0.S: New file, startup code.
+       * config/m68hc11/t-m68hc11-gas: New file, makefile fragment.
+       * config/m68hc11/xm-m68hc11.h: New file, target defs.
+       * config/m68hc11/larith.asm: New file, libgcc routines.
 
-       * reload1.c (reload): Put array size in cast, to prevent compiler
+2000-09-08  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * Makefile.in (DPBIT_FUNCS): Add _usi_to_df.
+       (FPBIT_FUNCS): Add _usi_to_sf.
+       * config/fp-bit.c (usi_to_float): New function.
+       * config/fp-bit.h (L_usi_to_sf, L_usi_to_df): Define.
+       (usi_to_float): Add appropriate #define.
+
+2000-09-08  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * i386-protos.h (sse_comparison_operator, mmx_reg_operand): Declare
+       new functions.
+       * i386.c (sse_comparison_operator, mmx_reg_operand): New functions.
+       * i386.md (attr "type"): Add sse and mmx types.
+       (attr "memory"): Handle them without a crash.
+       (movsi_1, movdi_2): Allow MMX regs.
+       (movdi splits): Don't split moves involving MMX regs.
+       (setcc_4): Remove '*' from pattern name so we get a gen_setcc4.
+       (movv4sf_internal, movv4si_internal, movv8qi_internal,
+       movv4hi_internal, movv2si_internal, movv8qi, movv4hi, movv2si,
+       movv4sf, movv4si, pushv4sf, pushv4si, pushv8qi, pushv4hi, pushv2si,
+       sse_movaps, sse_movups, sse_movmskps, mmx_pmovmskb, mmx_maskmovq,
+       sse_movntv4sf, sse_movntdi, sse_movhlps, sse_movlhps, sse_movhps,
+       sse_movlps, sse_loadss, sse_movss, sse_storess, sse_shufps,
+       addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, mulv4sf3, vmmulv4sf3,
+       divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2, rsqrtv4sf2, vmrsqrtv4sf2,
+       sqrtv4sf2, vmsqrtv4sf2, sse_andti3, sse_nandti3, sse_iorti3,
+       sse_xorti3, maskcmpv4sf3, maskncmpv4sf3, vmmaskcmpv4sf3,
+       vmmaskncmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
+       smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
+       cvttps2pi, cvtsi2ss, cvtss2si, cvttss2si, addv8qi3, addv4hi3,
+       addv2si3, ssaddv8qi3, ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3,
+       subv4hi3, subv2si3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
+       mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
+       mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, mmx_uavgv8qi3,
+       mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, mmx_pshufw,
+       eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, gtv2si3, umaxv8qi3,
+       smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, ashrv2si3, lshrv4hi3,
+       lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, mmx_ashldi3,
+       mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
+       mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
+       mmx_punpckldq, emms, sfence, ldmxcsr, prefetch, stmxcsr, sse_clrti,
+       mmx_clrdi): New patterns.
+
+2000-09-08  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c: Don't include tm.h directly.
+
+Fri Sep  8 14:34:56 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * recog.c (validate_replace_rtx_1): Fix confusion about equality
+       testing; simplify subregs of constants and nested subregs.
+
+2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg.
+
+2000-09-08  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * combine.c (combine_simplify_rtx): Try to simplify VEC_SELECT of a
+       VEC_CONCAT.
+       * rtl.texi (description of USE): Add note about possible pitfalls
+       with this rtx.
+       From Richard Henderson:
+       * reload1.c (choose_reload_regs): Compute need_mode properly.
+
+2000-09-07  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa.
+       (__modsi3, __umodsi3): Likewise.
+       (__udivsi3): Likewise.  Normalize the TFmode values.
+
+2000-09-07  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/sol-c0.c (_start): Declare `termfunc' parameter
+       with a prototype.
+       * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Use cast to suppress
        warning.
 
-       * dwarfout.c (type_attribute): Check for ERROR_MARK nodes.
-
-Wed Oct  9 13:59:22 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
-
-       * toplev.c (float_signal): Reenable handler.
-
-       * configure: Comment out various options not yet updated.
-
-       * cp-*.c, cp-*.h: Renamed from cplus-*.[ch].
-       * Makefile.in: Renaming here also.
-
-       * x-*: Renamed from make-*.
-       * Makefile.in (tmake_file, xmake_file): New vars.
-       (Makefile): Depend on them.
-       * configure: Replace host_make_var_file with host_xmake_file.
-       Handle tmake_file also, for target machine.
-       Form file names from x- and t-.
-       Rearrange use of temporary files during editing of Makefile.
-
-       * t-mips: Most of x-mips moved here.
-       * t-decrose: Likewise from x-decrose.
-
-       * xm-a29k-ult.h: Renamed from xm-a29k-ultra.h.
-
-       * Makefile. in (install-common): Don't handle `collect' specially.
-       It should be in EXTRA_PASSES if it is needed.
-
-       * cse.c (simplify_binary_expression): Use float handler for DF like SF.
-       Don't warn about traps; leave them for run time.
-
-       * tm-hp9k320.h (SIZE_TYPE): New definition.
-       Note: this affects tm-3b1.h by inheritance.  Not sure that's right.
-
-Wed Oct  9 12:15:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * rtl.def (TRAP_IF): Make TRAP into a conditional trap.
-       * rtl.h (TRAP_CONDITION): Define.
-       * rtlanal.c (reg_referenced_p may_trap_p): Deal with TRAP_IF properly.
-       (volatile_refs_p side_effects_p): Not currently true for TRAP_IF.
-
-Wed Oct  9 03:55:21 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
-
-       * make-mips (BISONFLAGS): Assignment deleted.
-
-       * real.h (REAL_VALUE_MINUS_ZERO): New macro.
-       * fold-const.c (target_minus_zero): New function.
-       * tm-sun2os4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_FLOAT_OPERAND):
-       (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_DOUBLE_OPERAND):
-       Use REAL_VALUE_ISINF, REAL_VALUE_MINUS_ZERO.
-
-Tue Oct  8 17:56:13 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
-
-       * c-decl.c (duplicate_decls): If redeclaring builtin as static,
-       replace the old decl.
-
-       * tm-seq386.h (HARD_REGNO_MODE_OK): Copy usual def into override def.
-
-       * tm-news.h (CPP_PREDEFINES): Get rid of invalid conditionals.
-       * tm-tower.h: Likewise.
-
-       * tm-gmicro.h (MODES_TIEABLE_P): Fix typo.
-
-       * ns32k.md (rotrsi3): Fix typo `NEGATE' for `NEG'.
-
-       * c-typeck.c (mark_addressable): Handle CONSTRUCTOR.
-       * expr.c (expand_expr): Handle addressable contructors.
-
-Tue Oct  8 14:42:56 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * expmed.c (lshift_value): Ensure the shift amount is in range.
-
-Mon Oct  7 20:45:35 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       * integrate.c (function_cannot_inline_p, save_for_inline_copying,
-       save_for_inline_nocopy, expand_inline_function,
-       output_inline_function): Use GET_RTX_CLASS.
-
-       * listing: Remove RCS Author and Log fields.
-
-       * cse.c (exp_equiv_p): Fix typos in comments/spacing.
-       * emit-rtl.c: Likewise.
-       * expmed.c (store_fixed_bit_field): Likewise.
-       * integrate.c (subst_constants): Likewise.
-
-       * longlong.h: Again fix same typo previously fixed Sept 5.
-
-Mon Oct  7 17:28:23 1991  Michael Meissner  (meissner at osf.org)
-
-       * xm-mips.h (MIPS): Define MIPS to 1 instead of nothing, so
-       mips-tfile will compile once again.
-
-Mon Oct  7 17:10:32 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
-
-       * cccp.c (main): Pedantically warn if no newline at end of file.
-       (finclude): Likewise.
-
-       * c-decl.c (grokdeclarator): funcdef_flag overrides parm level.
-
-Sun Oct  6 16:37:31 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
-
-       * sparc.md (peephole for lo-sum and load df): Use output_move_double.
-
-       * tree.h (DECL_BUILT_IN_NONANSI): New flag.
-       * c-decl.c (init_decl_processing): Set flag for `alloca'.
+Fri Sep  8 03:26:38 2000  J"orn Rennecke <amylaar@redhat.co.uk>
+
+       * sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): Remove.
+       (cmpeqdi_t): Add output pattern.
+       (cmpeqdi_t+1): Don't split when not optimizing.
+       Restore proper splitting operation.
+
+2000-09-07  Richard Henderson  <rth@cygnus.com>
+
+       * c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS,
+       do not call dispatch_pragma.
+
+2000-09-07  Jim Wilson  <wilson@cygnus.com>
+
+       * reload.c (push_reload): Use CLASS_CANNOT_CHANGE_MODE_P in addition
+       to CLASS_CANNOT_CHANGE_MODE.
+       * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE_P): True only if the
+       mode classes are different.
+
+2000-09-07  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplib.h (struct cpp_options): Add user_label_prefix member,
+       left out of commit which removed cppulp.c.
+
+2000-09-07  Richard Henderson  <rth@cygnus.com>
+
+       * bb-reorder.c (fixup_reorder_chain): Add jump in new block
+       after switch for CASE_DROPS_THROUGH.
+
+2000-09-07  Richard Henderson  <rth@cygnus.com>
+
+       * loop.c (strength_reduce): Call check_ext_dependant_givs.
+       Properly extend the biv initial value for the giv.
+       (record_biv): Zero ext_dependant.
+       (record_giv): New argument ext_val.  Update all callers.
+       (general_induction_var): Likewise.
+       (consec_sets_giv): Likewise.
+       (simplify_giv_expr): Likewise.  Fill in ext_val if we find
+       a sign-extend, zero-extend, or truncate.
+       (combine_givs_p): Make sure modes are compatible.
+       (check_ext_dependant_givs): New.
+       (extend_value_for_giv): New.
+       * loop.h (struct induction): Add ext_dependant.
+       * unroll.c (iteration_info): Extend the biv initial value for the giv.
+       (find_splittable_givs): Likewise.
+       (final_giv_value): Likewise.
+
+2000-09-07  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if
+       REGISTER_TARGET_PRAGMAS is defined.  Duplicate some
+       definitions from cpplib.h.
+       * cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has
+       already done it.
+       * tm.texi: Document HANDLE_PRAGMA as no longer supported.  Add
+       documentation for REGISTER_TARGET_PRAGMAS.
+
+       * c-lex.c: Include cpplib.h before c-pragma.h.  Define a
+       default-pragma callback to implement -Wunknown-pragmas if
+       USE_CPPLIB.
+       * c-parse.in: Move all includes to top of file.
+       * c-pragma.c: Include cpplib.h before c-pragma.h.  Include
+       tm_p.h.
+       (dispatch_pragma): Put the namespace in the -Wunknown-pragmas
+       warning.
+       (init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it.
 
-       * c-decl.c (duplicate_decls): Rearranged to reduce conditionals.
-       Allow redefining built-in functions as static even if new decl
-       is not a function.  Also allow if built-in is not ANSI.
+       * arm.h, arm-protos.h, arm.c,
+         c4x.h, c4x-protos.h, c4x.c,
+         h8300.h, h8300-protos.h, h8300.c,
+         i370.h, i370-protos.h, i370.c,
+         i960.h, i960-protos.h, i960.c,
+         sh.h, sh-protos.h, sh.c,
+         v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based
+       pragmata scheme to use REGISTER_TARGET_PRAGMAS instead.
+
+       * d30v.h: Don't mention HANDLE_PRAGMA in comment.  Add
+       multiple include guard.
+       * i370.md (untyped_call): Use GEN_CALL.
+       (umodsi3): Remove unused variable.
+       * sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA.
+       * v850.c (output_move_single, output_move_double): Constify
+       return value.
+       (print_operand): Constify a char *.
+       * v850.h (struct small_memory_info): Constify name member.
+
+2000-09-07  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300.h: Fix comment typos.
+       * config/h8300/h8300.md: Likewise.
+       * config/h8300/lib1funcs.asm: Likewise.
+
+Thu 07-Sep-2000 21:29:00 BST  Neil Booth  <NeilB@earthling.net>
+
+       * Makefile.in: Remove references to cppulp.{c,o}.
+       * cppinit.c (initialize_builtins, cpp_start_read,
+       cpp_handle_option): Update to use cpp_options structure.
+       * cppulp.c: Remove.
+
+2000-09-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (time_char_table): Allow %#b and %#h.
+
+2000-09-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+       * reorg.c (find_end_label): If the basic block reorder pass moves the
+       return insn to some other place try to locate it again and put our
+       end_of_function_label there.
+       * reorg.c (relax_delay_slots): Check if find_end_label created a
+       new label that invalidates the current optimazation.
+
+2000-09-07  Catherine Moore  <clm@redhat.com>
+
+       * unroll.c (unroll_loop): Check for unconditional jumps
+       to loop continuation.  Delete if n_iterations is 1.
+       (ujump_to_loop_cont): New routine.
+
+2000-09-07  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * rtl.c (class_narrowest_mode): Add entries for MODE_VECTOR_INT and
+       MODE_VECTOR_FLOAT.
+       * reload.c (regno_clobbered_p): Accept new arg, MODE, and use it
+       to handle multiword modes correctly.  All callers and the declaration
+       changed.
+
+2000-09-06  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-common.h (prep_stmt): Declare.
+       (lang_expand_stmt): Likewise.
+       * c-decl.c (lang_expand_stmt): Remove.
+       * c-semantics.c (lang_expand_stmt): Define.
+       (prep_stmt): New function.
+       (expand_stmt): Handle common statement types here.
+
+2000-09-07  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>, Alexandre Oliva  <aoliva@redhat.com>
+
+       * configure.in (sh-*-linux*): Added.
+       * configure: Rebuilt.
+       * config/sh/t-linux: New file.
+       * config/sh/sh.h (USERMODE_BIT): Define.
+       (TARGET_USERMODE): Likewise.
+       (TARGET_SWITCHES): New switches for the bits above.
+       (INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE.
+       * config/sh/linux.h: New file.
+       * config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with
+       underscore on linux.
+       (L_sdivsi3, L_udivsi3): Define for linux.
+       (L_ic_invalidate): Define.
+       * invoke.texi (SH Options): Document -musermode.
+
+2000-09-07  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function
+       CSE unless generating PIC.
+
+       * config/sh/sh.md (symPLT_label2reg): Force the initialization of
+       the PIC register.
+
+2000-09-06  H.J. Lu  (hjl@gnu.org)
+
+       * Makefile.in (clean_s1): Depend on stage_b.
+       (clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in
+       stage2. They are used for "make compare".
+
+2000-09-06  Mark Mitchell  <mark@codesourcery.com>
+
+       Move statement-tree facilities from C++ to C front-end.
+       * c-common.h (c_tree_index): Add CTI_VOID_ZERO.
+       (void_zero_node): New macro.
+       (struct stmt_tree_s): New type.
+       (stmt_tree): New typedef.
+       (struct language_function): New type.
+       (last_tree): New macro.
+       (last_expr_type): Likewise.
+       (walk_tree_fn): New typedef.
+       (current_stmt_tree): New function.
+       (begin_stmt_tree): Likewise.
+       (add_stmt): Likewise.
+       (finish_stmt_tree): Likewise.
+       (statement_code_p): Likewise.
+       (lang_statement_code_p): New variable.
+       (walk_stmt_tree): New function.
+       (STMT_IS_FULL_EXPR_P): New macro.
+       * c-common.c (lang_statement_code_p): New variable.
+       (c_common_nodes_and_builtins): Initialize void_zero_node.
+       (statement_code_p): New function.
+       (walk_stmt_tree): Likewise.
+       * c-decl.c (language_function): Rename to ...
+       (c_language_function): ... this.  Include language_function.
+       (push_c_function_context): Adjust accordingly.
+       (pop_c_function_context): Likewise.
+       (mark_c_function_context): Likewise.
+       (current_stmt_tree): Define.
+       * c-semantics.c (begin_stmt_tree): New function.
+       (add_stmt): Likewise.
+       (prune_unused_decls): Likewise.
+       (finish_stmt_tree): Likewise.
+
+2000-09-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+       * flow.c (insn_dead_p): Detect dead memory stores with auto increments.
+
+2000-09-06  Kazu Hirata  <kazu@hxi.com>
+
+       * calls.c: Fix formatting.
+
+2000-09-06  Graham Stott  <grahams@cygnus.co.uk>
+
+       * config/i386/i386.h (ADDRESS_COST): Fix typo.
+
+2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
+
+       Integrated preprocessor.
+
+       * Makefile.in: Remove all references to c-parse.gperf,
+       c-gperf.h, and c-parse.h.  Remove -d from yacc command line
+       generating c-parse.c.  Update dependencies.
+       * c-parse.gperf, c-gperf.h: Delete.
+
+       * c-common.c: Don't define parse_options, cpp_token, yy_cur,
+       yy_lim, or yy_get_token.  Don't define get_directive_line if
+       USE_CPPLIB.
+       * c-common.h: Add multiple include guard.  Define RID values
+       for every keyword in C, C++, and Objective-C.  Put all the
+       modifiers first.
+       (struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
+       * c-decl.c (c_decode_option): Handle -lang-objc here.
+       (print_lang_identifier): Handle C_IS_RESERVED_WORD case.
+       (grokdeclarator): Adjust for new RID scheme.
+       (extract_interface_info): New stub.
+       * c-lang.c: Don't declare yy_cur or parse_options.
+       (lang_init_options): Call cpp_init.  Don't call
+       cpp_options_init.
+       (lang_init): Don't call check_newline if USE_CPPLIB.
+
+       * c-lex.c: Don't include c-parse.h.  Do include timevar.h.
+       Elide lots of unnecessary code if USE_CPPLIB.  Delete code
+       rendered unnecessary by new architecture.  Move routines not
+       shared with C++ to c-parse.in.  Maintain a local idea of the
+       line number.    Handle C++ as well as C.
+       [USE_CPPLIB]: Declare and register callbacks for #ident and
+       for entering/leaving files.
+       (init_c_lex, c_lex): Are now the entry points to this file.
+       (check_newline): Break out directive handling to
+       process_directive.
+       (read_ucs, is_extended_char, utf8_extend_token): Moved here
+       from C++ front end.
+       (readescape, parse_float): Overhaul.
+       (lex_number, lex_string, lex_charconst): Break out of c_lex
+       (n'ee yylex).
+       (get_fileinfo, update_header_times, dump_one_header,
+       dump_time_statistics): New and/or moved here from C++.
+       Support per-file data needed by C++ and per-header timing
+       statistics (C++ only, at the moment).
+       * c-lex.h: Update prototypes.  Add multiple include guard.
+       * c-tree.h (struct lang_identifier): Add rid_code field.
+       (C_IS_RESERVED_WORD, C_RID_CODE): New.
+
+       * c-parse.in: Include c-pragma.h. Remove unnecesary calls to
+       reinit_parse_for_function and/or position_after_white_space.
+       (save_filename, save_lineno): Look ahead before saving.
+       (label -> identifier ':'): Save file and line before shifting ':'.
+       (reservedwords): No need to call get_identifier.
+       (init_parse, finish_parse, yyerror, yylex, yyprint,
+       make_pointer_declarator): Are now here for C/ObjC.
+       (rid_to_yy): Conversion table from RID constants to Yacc codes.
+
+       * c-pragma.c: Rewrite parsing logic to fit with cpplib's
+       #pragma registry.  Provide dummy implementation of that
+       interface if !USE_CPPLIB.
+       * c-pragma.h: Update to match.
+
+       * flags.h: Add multiple include guard.
+       (flag_detailed_statistics): Moved here from C++.
+       * toplev.c: Define flag_detailed_statistics.
+
+       * gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
+       #if USE_CPPLIB.
+       * timevar.def (TV_CPP, TV_LEX): New.
+       * timevar.h: Add multiple include guard.
+
+       * objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
+       #if USE_CPPLIB.
+       * objc/objc-act.c: Don't mention yy_cur or parse_options.
+       Initialize cpplib properly.  Force lineno to 0 after first
+       call to check_newline.  Don't handle -lang-objc here.
+       Move forget_protocol_qualifiers and remember_protocol_qualifiers here.
+
+2000-09-06  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md: Correct function unit definitions for cr_logical and
+       mtjmpr.
+       (sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER
+       and use portable method for >=0 and floating point >=.  Remove
+       associated matchers.
+
+2000-09-06  Mark Mitchell  <mark@codesourcery.com>
+
+       * extend.texi: Mark named return value extension as deprecated.
+
+2000-09-06  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/rs6000.c (rs6000_reverse_condition): Return
+       the result.
+
+2000-09-06  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * toplev.c (display_help): Fix thinko in documentation.
+
+       * diagnostic.h (output_buffer::indent_skip): New fields.
+       (output_indentation): New macro.
+
+       * diagnostic.c (output_indent): New function.
+       (output_set_prefix, clear_diagnostic_info): Use.
+       (output_emit_prefix): Predict future indentation.
+
+2000-09-06  DJ Delorie  <dj@redhat.com>
+
+       * Makefile.in (stage_*): add more dependencies to ensure parallel
+       builds build correctly
+
+2000-09-06  Manfred Hollstein  <manfredh@redhat.com>
+
+       * Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g,
+       not bootstrap-lean_f.
+
+2000-09-06  Andreas Schwab  <schwab@suse.de>
+
+       * mklibgcc.in: Emit rule for libgcc-stage-start.
+       * Makefile.in (stage1-start, stage2-start, stage3-start,
+       stage4-start): Don't handle libgcc here, use libgcc.mk instead.
+
+2000-09-06  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * local-alloc.c (local_alloc): Ignore CLASS_LIKELY_SPILLED.
+       (update_equiv_regs): Likewise, except for the mn10200 kludge.
+       (combine_regs): Likewise.
+
+       * Makefile.in (cse.o): Depend on $(BASIC_BLOCK_H).
+       * cse.c: Include "basic-block.h".
+       (struct table_elt): New field REGCOST.
+       (CHEAP_REG): Delete macro.
+       (COST): Return 0 for REGs.
+       (approx_reg_cost_1, approx_reg_cost, preferrable): New functions.
+       (notreg_cost): Return 0 for appropriate SUBREGs.
+       (COSTS_N_INSNS): Return N * 2.
+       (rtx_cost): Return 0 for REGs, and use cost of nested rtx for cheap
+       SUBREGs.
+       (CHEAPER): Use new function preferrable.
+       (insert): Initialize REGCOST member.
+       (find_best_addr): Use approx_reg_cost for estimation of register
+       usage.
+       (cse_insn): Likewise.
+       * loop.c (iv_add_mult_cost): New function.
+       (add_cost, shift_cost, mult_cost): Delete variables.
+       (init_loop): Don't initialize add_cost; reduce copy_cost by half.
+       (strength_reduce): Use iv_add_mult_cost instead of fixed add_cost.
+       Make code that detects autoinc opportunities slightly less optimistic.
+       (simplify_giv_expr): If expression contains other reg that is also a
+       giv, only increment benefit if this is the only use of that reg.
+       (consec_sets_giv): Take that change into account.
+       (combine_givs): Slightly more verbose output.
+
+       * i386.h (RTX_COSTS): For MULT, return true cost of multiplication,
+       not the cost of an equivalent shift.
+       * sh-protos.h (addsubcosts): Declare.
+       * sh.c (addsubcosts): New function.
+       * sh.h (CONST_COSTS): If CONST_OK_FOR_I, then return 0.
+       (RTX_COSTS): Tweak.  Use addsubcosts.
+       (ADDRESS_COST): Return higher cost for reg+reg addressing.
 
-       * out-sparc.c (output_move_double): Fix typo in test for using ldd.
+2000-09-06  Geoff Keating  <geoffk@cygnus.com>
 
-Sun Oct  6 12:56:19 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/rs6000/rs6000.c (validate_condition_mode): New function.
+       (branch_comparison_operator): Call validate_condition_mode to
+       abort rather than returning 0.
+       (branch_positive_comparison_operator): New function.
+       (scc_comparison_operator): Call validate_condition_mode to abort
+       rather than returning 0.
+       (ccr_bit): Call validate_condition_mode.  Update for
+       new branch scheme.
+       (print_operand): Delete %C modifier.  Update %E case
+       to use EQ bit not SO bit.
+       (rs6000_reverse_condition): New function.
+       (rs6000_generate_compare): New function.
+       (rs6000_emit_sCOND): New function.
+       (rs6000_emit_cbranch): New function.
+       (output_cbranch): The length of a long branch insn is
+       now only 8 bytes.  Add validate_condition_mode.  Use
+       rs6000_reverse_condition.  Remove cror generation.
 
-       * expr.c (expand_expr, case COND_EXPR): Rename var added in last
-       change; some C compilers don't like "optab optab;".
+       * config/rs6000/rs6000.h: Update comments.
+       (PREDICATE_CODES): Add new predicate.  Update codes used
+       by branch_comparison_operator and scc_comparison_operator.
+       * config/rs6000/rs6000-protos.h: Add prototypes for
+       new external functions.
+       * config/rs6000/rs6000.md: Add new scheduling parameters
+       for cr_logical instructions.  Change length of branch
+       instructions.
+       (bCOND patterns): Call rs6000_emit_cbranch.
+       (sCOND patterns): Call rs6000_emit_sCOND.
+       (branch patterns): Change lengths to 4.
+       (cr logical patterns): New.
 
-Sun Oct  6 09:26:55 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-09-06  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-method.c (build_overload_name): When walking up contexts, if
-       CONTEXT becomes a _TYPE node, point it at the _DECL node for the
-       type.
+       * config/i386/i386.md (call_pop): Fix test for setting
+       current_function_uses_pic_offset_table.
+       (call, call_value_pop, call_value): Likewise.
 
-       * cplus-decl2.c (grokclassfn): Paremeter COMPLAIN deleted.  No
-       longer performs sanity check by itself.
-       (check_classfn): New function.  Performs sanity check that
-       `grokclassfn' used to do.  All callers changed.
+2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * tree.h (struct tree_decl): Add new ignored_flag; delete
-       lang_flag_8 to make room.
-       (DECL_IGNORED_P): New macro.
-       (DECL_LANG_FLAG_8): Deleted.
-       * cplus-dbxout.c (dbxout_type): Use this macro instead of
-       ANON_AGGRNAME_P.
-       * cplus-decl.c (pushtag): Set DECL_IGNORED_P when appropriate.
-       * cplus-decl.c (duplicate_decls): Ensure DECL_IGNORED_P remains
-       consistent.
+       * timevar.c (timevar_add): Delete.
+       (timevar_get): Also count time since the selected timer was
+       last updated.  Do not examine the timevar stack if the
+       selected timer is standalone.
 
-       * cplus-decl.c (grokfndecl): If we have an overloaded operator, set
-       the DECL_NAME to something that dbxout.c can handle.
-       * cplus-method.c (hack_operator): Change this function to handle
-       this new behavior.
-       * cplus-init.c (do_friend): Ditto.
+2000-09-05  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
-Sat Oct  5 14:32:01 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+       * gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
 
-       * expmed.c (expand_mult): Avoid fetching memory more than once.
+2000-09-05  Jason Merrill  <jason@redhat.com>
 
-       * tm-ultrix.h (DOLLARS_IN_IDENTIFIERS): Define as 1.
+       * c-decl.c (finish_incomplete_decl): Don't call complete_array_type
+       for 'extern' arrays.
 
-       * expr.c (expand_builtin): Clarify error message for BUILT_IN_NEXT_ARG.
+2000-09-05  Richard Henderson  <rth@cygnus.com>
 
-Sat Oct  5 08:42:02 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium.
+       Eliminate final copy from non-trapping case.
+       (__divdf3, __divsf3): Likewise.
 
-       * cplus-decl.c (clear_anon_tags): New function.
-       (make_anon_name): Moved here from cplus-method.c.
-       * cplus-lex.c (check_for_missing_semicolon, note_list_got_semicolon):
-       call `clear_anon_tags' when done.
-       * cplus-dbxout.c (dbxout_type): No longer test ANON_AGGRNAME_P for
-       TYPE_NAMEs that are IDENTIFIER_NODES.  They no longer appear in GNU
-       C++.  Also, we can rely on the fact that there are no anon aggrnames
-       in tag lists.
+2000-09-05  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-decl.c (xref_tag): Set TREE_VEC_LENGTH (BINFOS) to the
-       number of basetypes that were actually accepted.
+       * config/ia64/ia64.md (mulhi3): Fix typo last change.
+       * config/ia64/lib1func.asm (__divdi3, __udivdi3, __umodsi3): Likewise.
 
-       * cplus-parse.y (datadef, fndef): Accept `extern "C"' as a storage
-       class specifier.
+2000-09-03  Donn Terry  <donn@interix.com>,  Laurynas Biveinis  <lauras@softhome.net>
 
-       * cplus-init.c (build_new): Handle allocating types whose TRUE_TYPEs
-       start off as ARRAY_TYPEs.
+       * Makefile.in: Restructure bootstrap stages to allow clean
+       restart after failure.
 
-       * cplus-typeck.c (build_unary_op): We don't need to wrap
-       CURRENT_CLASS_DECL in a NON_LVALUE_EXPR when taking the address of
-       C_C_D.
+2000-09-05  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-init.c (resolve_offset_ref): Fix error message for
-       non-static member references.  Also, don't crash if EXP is not a
-       TREE_LIST or an OFFSET_REF.
+       * config/ia64.md (movsi and movdi patterns): Allow moves from
+       8-bit constants to AR registers.
 
-       * cplus-expr.c (cplus_expand_expr): Handle OFFSET_REFs.
+2000-09-05  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-typeck.c (build_binary_op_nodefault): If PEDANTIC, don't
-       permit comparisons between pointers and integers.
+       * config/ia64/ia64.md (mulhi3): New.
 
-       * cplus-decl2.c (explicit_warn_return_type): New variable.
-       * cplus-decl.c (grokdeclarator): Test `explicit_warn_return_type'
-       instead of `warn_return_type'.
+2000-09-05  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-decl.c (grokdeclarator): Fix criterium for deciding whether
-       to turn a FUNCTION_TYPE declaration into a METHOD_TYPE declaration
-       based on FRIENDP and STATICP.
-       (implicitly_declare): If PEDANTIC, treat this as an error.
+       * config/ia64/ia64.h (INIT_TARGET_OPTABS): Remove.
+       * config/ia64/lib1funcs.asm (__divdi3): Update from Intel IA-64
+       Optimization Guide, minimum latency alternative.
+       (__moddi3, __udivdi3, __umoddi3): Likewise.
+       (__divsi3, __modsi3, __udivsi3, __umodsi3): Likewise.
 
-       * cplus-cvt.c (convert_to_integer): Make anachronisms errors if
-       PEDANTIC is nonzero.
+2000-09-05  Bruce Korb  <bkorb@gnu.org>
 
-       * cplus-typeck.c (convert_for_assignment): If PEDANTIC, don't let
-       void * convert to non-void* types.  Similarly, don't let const*
-       pointers be assigned to non-const* pointers.  Similarly for signed
-       vs. unsigned pointers.
-       (warn_for_assignment): Add new parameter SEVERE.
+       * fixinc/fixincl.c (load_file): always read header files
+       with sizes that are a multiple of the page size.
+       & use libiberty's getpagesize for determining that.
 
-       * cplus-decl.c (push_overloaded_decl): If PEDANTIC, give error when
-       functions overload variables.
+2000-09-05  Alexandre Oliva  <aoliva@redhat.com>
 
-       * cplus-decl2.c (grokfield): If PEDANTIC, don't let fields have
-       initializers (conditionalized on PEDANTIC).
-       * cplus-class.c (finish_struct): Set TYPE_GETS_{ASSIGNMENT,INIT_REF}
-       for UNION_TYPE.
+       * gcse.c (hash_string_1): Add prototype.
+       * cse.c (canon_hash_string): Likewise.
 
-Sat Oct  5 06:52:29 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-09-04  Craig Newell  <CraigN@ieee.org>
 
-       * expr.c (expand_expr, case COND_EXPR): Case for X ? A + 1 : A can
-       also handle MINUS_EXPR and BIT_*_EXPR.
+       * gcc.c: Undefine "__WCHAR_TYPE__" before redefining it.
 
-       * rtl.h (copy_rtx_if_shared): Declare here.
-       * emit-rtl.c (unshare_copies): Delete unused variable.
-       (copy_rtx_if_shared): No longer static.
-       (reset_used_flags): New function.
-       * combine.c (copy_substitutions): Deleted.
-       (try_combine): When making new insns, ensure that we do not have any
-       improper sharing by using copy_rtx_if_shared; no longer call
-       copy_substitutions.
+2000-09-04  Andreas Schwab  <schwab@suse.de>
 
-       * combine.c (try_combine): If an insn that is a PARALLEL of two sets
-       isn't recognized and the result of the second SET is unused, ignore it.
+       * Makefile.in (STAGESTUFF): Remove libgcc.
+       (stage1-start, stage2-start, stage3-start): Copy the contents of
+       the libgcc directory explicitly.
+       (mostlyclean): Clean libgcc.
 
-Fri Oct  4 15:25:33 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-09-04  Andrew Haley  <aph@redhat.com>
 
-       * cplus-decl.c (set_identifier_type_value): New function.  Change
-       all callers of macro SET_IDENTIFIER_TYPE_VALUE to call this function
-       instead.
+       * dwarf2out.c: (stack_adjust_offset): New prototype.
 
-       * cplus-decl.c (pushdecl): Back out Sep 26 change.  ??? This problem
-       really has to be solved in a more global fashion.
-       (struct binding_level): New field `type_shadowed' for typenames that
-       get shadowed.  All pop* routines that restore from shadowed lists
-       now restore IDENTIFIER_TYPE_VALUE from the `type_shadowed' field.
+Wed Jan  1 00:23:59 MET 1997  Jan Hubicka  <jh@suse.cz>
 
-Fri Oct  4 14:47:52 1991  Michael Meissner  (meissner at osf.org)
+       * combine.c (make_extraction): Fix rtx_cost comparison to
+       match the comment.
 
-       * sdbout.c (include of syms.h): Don't include <syms.h> on MIPS
-       systems, since the system does not provide the file, rather use
-       "gsyms.h".  This is a problem for Silicon Graphics, and the System V
-       varient on RISC-OS, both of which define the USG macro.  Patch from
-       jonathan@isor.vuw.ac.nz.
+Wed Jan  1 00:17:32 MET 1997  Jan Hubicka  <jh@suse.cz>
 
-Fri Oct  4 13:37:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * i386.md (pushsi2, pushhi2, pophi2, swapsf, swapdf,
+       umulsi3_highpart, smulsi3_highpart, testqi_ccno_1, xorqi_ext_1):
+       Add '*' to insn pattern name.
 
-       * stor-layout.c (get_best_mode): Add a volatilep parameter
-       indicating that the smallest mode is desired.
-       * expmed.c, fold-const.c: All callers changed.
-       (optimize_bit_field_compare): Initialize {l,r}volatilep now that
-       they are used.
+2000-09-04  Jakub Jelinek  <jakub@redhat.com>
 
-Thu Oct  3 22:08:45 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * cpplex.c (ON_REST_ARG): Check VAR_ARGS flag of current context,
+       use posn - 1 to index into tokens array.
+       (maybe_paste_with_next): Adjust caller.
 
-       * objc-actions.h (CLASS_SUPER_NAME): Change type.basetypes to
-       type.binfo so that it will compile.
+2000-09-03  Geoff Keating  <geoffk@cygnus.com>
 
-Thu Oct  3 06:46:38 1991  Niklas Hallqvist  (niklas at appli.se)
+       * invoke.texi: Document the -mvxworks option for rs6000 ELF.
 
-        * cplus-tree.h (PARANOID): Don't define if already defined.
-       ({SET,CLEAR}_CLASSTYPE_MARKED*): New macros needed to get through
-       C compilers who don't allow comma expressions as lvalues.
-       ({SET,CLEAR}_BINFO_*): Ditto.
+       * config/rs6000/rs6000.h: Update various comments about XER_REGNO.
+       (REGNO_REG_CLASS): Use symbolic register
+       names.
 
-       * cplus-init.c: Use new SET/CLEAR macros.
+2000-09-03  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (final_prescan_insn): If the form of a jump insn isn't
+       recognized, don't try to conditionally execute it.
+
+Sun Sep  3 13:10:56 2000  Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr.md ("*tablejump_lib"): New pattern.
+       (call_value_insn): Right length claculation.
+       (call_insn): Likewise.
+
+2000-09-02  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+       * config/avr/avr-protos.h, config/avr/avr.c (unique_section,
+       gas_output_limited_string, gas_output_ascii, output_movqi,
+       output_movhi, out_movqi_r_mr, out_movqi_mr_r, out_movhi_r_mr,
+       out_movhi_mr_r, out_movsi_r_mr, out_movsi_mr_r, output_movsisf,
+       out_tstsi, out_tsthi, ret_cond_branch, ashlqi3_out, ashlhi3_out,
+       ashlsi3_out, ashrqi3_out, ashrhi3_out, ashrsi3_out, lshrqi3_out,
+       lshrhi3_out, lshrsi3_out, output_reload_inhi, output_reload_insisf,
+       out_shift_with_cnt, ptrreg_to_str, cond_string, encode_section_info):
+       Add "const" as needed to remove warnings.
+
+       * config/avr/avr.c (avr_override_options, avr_init_once,
+       function_prologue, function_epilogue, frame_pointer_required_p,
+       class_likely_spilled_p, order_regs_for_local_alloc,
+       avr_address_cost, avr_ret_register): Use K&R style arguments.
+       (initial_elimination_offset, gas_output_limited_string):
+       Remove ATTRIBUTE_UNUSED from the used arguments.
+       (output_mov*, out_mov*_r_mr, out_mov*_mr_r, output_reload_insisf):
+       Use local variables src, dest, base to access operands[].
+       Rename reg_dest to reg_src if that's what it is.
+       (output_movhi, output_movsisf): Optimize loading 8-bit immediate
+       constants to LD_REGS if reg_was_0.
+       (output_reload_insisf): Change arg 3 to insn length and set it.
+       (out_movhi_r_mr, out_movhi_mr_r): Use in/out for more efficient
+       access to 16-bit I/O register pairs.
+       (avr_address_cost): Lower cost for the above case.
+       (out_tsthi): Use "or" (faster) instead of "sbiw" if the operand
+       may be clobbered, also for LD_REGS.
+       (adjust_insn_length): Correct insn length for iorhi3 and iorsi3
+       with a CONST_INT.
+
+       * config/avr/avr.h (PTRDIFF_TYPE): Make signed.
+
+       * config/avr/avr.md: Change all uses of the TEST_HARD_REG_CLASS
+       macro to test_hard_reg_class function.
+       (*movsi, *movsf): Change "cc" attribute from "clobber" to "none"
+       for loading immediate constants to LD_REGS.
+       (andsi3, cmphi, cmpsi): Add return statements to avoid warnings.
+
+
+Sat Sep  2 13:58:23 2000  Marek Michalkiewicz <marekm@linux.org.pl>
+
+       * config/avr/avr.md ("*negsi2"): substitute %@ to __zero_reg__
+       * config/avr/libgcc.S: Lost part of the previous patch.
+
+2000-08-31  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * gthr-dce.h (__gthread_objc_mutex_allocate): Create a pthread_mutex_t
+       object before calling pthread_mutex_init.
+
+2000-09-02  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/t-elf, config/sh/crt1.asm, config/sh/crti.asm,
+       config/sh/crtn.asm: New files.
+       * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Set.
+       (crt1.o, crti.o, crtn.o): New targets.
+       * configure.in [sh-*-elf*, sh-*-rtemself*] (tmake_file): Added
+       sh/t-elf.
+       * configure: Rebuilt.
+       * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+       STARTFILE_SPEC, ENDFILE_SPEC, CRT_CALL_STATIC_FUNCTION): Define.
+       * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
+       Undefine for config/elfos.h to redefine.
+       (STARTFILE_SPEC, ENDFILE_SPEC): Redefine after config/elfos.h.
+
+2000-09-02  Alexandre Oliva  <aoliva@redhat.com>, Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+       * config/sh/sh-protos.h (nonpic_symbol_mentioned_p,
+       legitimize_pic_address, output_pic_addr_const): Declare.
+       * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Fix PIC register.
+       (PREFERGOT_BIT, TARGET_PREFERGOT): Likewise.
+       (TARGET_SWITCHES): New switch -mprefergot.
+       (OVERRIDE_OPTIONS): Set flag_no_function_cse unless -mprefergot.
+       (PIC_OFFSET_TABLE_REGNUM): Define.
+       (GOT_SYMBOL_TABLE): Likewise.
+       (LEGITIMIZE_ADDRESS): Use legitimize_pic_address.
+       (ENCODE_SECTION_INFO): Define.
+       (FINALIZE_PIC): New macros.
+       (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST_P): New macro.
+       (ASM_OUTPUT_INT, ASM_OUTPUT_SHORT): Use output_pic_addr_const.
+       * config/sh/sh.c (print_operand_address): Use output_pic_addr_const.
+       (prepare_move_operands): Call emit_pic_move or
+       emit_pic_const_move if appropriate.
+       (output_far_jump): For PIC, use braf and output long offset.
+       (machine_dependent_reorg):
+       (sh_expand_prologue): Save and initialize the PIC register.
+       (sh_expand_epilogue): Restore it.
+       (initial_elimination_offset): Account for it.
+       (nonpic_symbol_mentioned_p): New function.
+       (legitimize_pic_address): Likewise.
+       (output_pic_addr_const): Likewise.
+       * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): New insns.
+       (call, call_value): Use them.
+       (GOTaddr2picreg, sym_label2reg, symGOT2reg, symGOTOFF2reg,
+       symPLT_label2reg): New expands.
+       * invoke.texi (SH Options): Document -mprefergot.
+
+2000-09-01  Alexandre Oliva  <aoliva@redhat.com>
+
+       * rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro.
+       * gcse.c (hash_string_1): New function.
+       (hash_expr_1) <ASM_OPERANDS>: Disregard filename and line number.
+       (expr_equiv_p) <ASM_OPERANDS>: Likewise.
+       * cse.c (rtx_cost): Don't increase the cost of ASM_OPERANDS.
+       (canon_hash_string): New function.
+       (canon_hash) <ASM_OPERANDS>: Disregard filename and line number.
+       (exp_equiv_p) <ASM_OPERANDS>: Likewise.
+       (fold_rtx): Use ASM_OPERANDS accessor macros.
+       * emit-rtl.c (copy_insn_1): Likewise.
+       * integrate.c (copy_rtx_and_substitute): Likewise.
+       * stmt.c (expand_asm_operands): Likewise.  Give an
+       ASM_OPERANDS rtx the mode of the output reg being set from it.
+
+2000-09-01  Fred Fish  <fnf@be.com>
+
+       * fix-header.c (write_rbrac): Add putc and getc to list of
+       functions to protect against prior definition as a macro.
+
+2000-09-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.h (enum c_tree_index): Add CTI_C_SIZE_TYPE.
+       (c_size_type_node): Define.
+       * c-decl.c (init_decl_processing): Initialize c_size_type_node.
+       * c-common.c (enum format_lengths, enum format_std_version,
+       format_length_info, format_type_detail, BADLEN, NOLENGTHS,
+       format_kind_info, printf_length_specs, scanf_length_specs, T89_I,
+       T99_I, T89_L, T99_LL, TEX_LL, T89_S, T89_UI, T99_UI, T89_UL,
+       T99_ULL, TEX_ULL, T89_US, T89_F, T99_F, T89_D, T99_D, T89_LD,
+       T99_LD, T89_C, T99_SC, T99_UC, T89_V, T94_W, TEX_W, T94_WI,
+       TEX_WI, T99_ST, T99_SST, T99_PD, T99_UPD, T99_IM, T99_UIM,
+       format_types): Define.
+       (format_char_info, print_char_table, scan_char_table,
+       time_char_table): Rearrange for new organization of information
+       about format length modifiers and standard versions.
+       (T_ST): Redefine to use c_size_type_node.
+       (check_format_info): Obtain information about length modifiers and
+       standard versions from tables.  Adjust warning message wordings.
+       Use the name from the user's program for `ll' and `hh' length
+       modifiers in warning messages.  Use more informative names for
+       wanted types where available (for wchar_t, wint_t, size_t, signed
+       size_t, ptrdiff_t, unsigned ptrdiff_t, intmax_t and uintmax_t).
+
+2000-09-01  Jim Wilson  <wilson@cygnus.com>
+
+       * calls.c (emit_call_1): Add REG_NORETURN note to call if ECF_NORETURN.
+       * combine.c (distribute_notes): Handle REG_NORETURN.
+       * rtl.c (reg_note_name): Add REG_NORETURN.
+       * rtl.h (enum reg_note): Likewise.
+
+       * config/ia64/ia64-protos.h (emit_safe_across_calls): Renamed from
+       ia64_file_start.
+       * config/ia64/ia64.c (emit_safe_across_calls): Likewise.
+       (rtx_needs_barrier): Handle unspec_volatile 8 and 9.
+       (emit_predicate_relation_info): Handle conditional calls with
+       REG_NORETURN.
+       * config/ia64/ia64.h (ASM_FILE_START): Call emit_safe_across_calls
+       instead of ia64_file_start.
+       * config/ia64/sysv4.h (ASM_FILE_START): Likewise.
+       * config/ia64/ia64.md (safe_across_calls_all,
+       save_across_calls_normal): New patterns.
+
+       * loop.c (check_final_value): Check for biv use before checking for
+       giv use.  Check for both biv and giv uses.  Always set last_giv_use
+       if there is a giv use.
+
+2000-09-01  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64.md (mulsi3): Use grfr_register_operand.
+       (madddi3): Likewise.
+       (maddsi3): New.
+
+Fri Sep  1 10:59:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (clear_storage): Don't use emit_move_insn unless
+       either BLKmode or proper size.
+       (store_constructor): Don't call clear_storage if REG of wrong size.
+
+       * flow.c (init_propagate_block_info): Don't mark frame dead at end
+       of function if returns wiht stack pointer depressed.
+
+2000-09-01  Andrew Haley  <aph@redhat.com>
+
+       * dwarf2out.c (stack_adjust_offset): New function.
+       (dwarf2out_stack_adjust): Break out stack adjust logic into
+       new stack_adjust_offset function.  Look inside parallels and
+       sequences for stack adjustments.
+
+2000-08-31  Jeff Law <law@cygnus.com>
+
+       * arm.md: Use no_new_pseudos to determine when it is safe
+       to create new pseudo registers.
+
+       * arm.c (legitimize_pic_address): Use no_new_pseudos to determine
+       when we can safely allocate new registers.
+
+2000-08-31  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * stmt.c (expand_asm_operands): Twiddle generating_concat_p
+       so that CONCATs are not generated for ASMs.
+       * emit-rtl.c (gen_reg_rtx): Don't generate CONCATs when
+       not generating_concat_p.
+       * function.c (pop_function_context_from): Reset
+       generating_concat_p.
+       (prepare_function_start): Likewise.
+       * rtl.c (generating_concat_p): Define.
+       * rtl.h (generating_concat_p): Declare.
+       * toplev.c (rest_of_compilation): No CONCATs after RTL generation.
+
+2000-08-22  Philipp Thomas  <pthomas@suse.de>
+           Masanobu Yuhara <yuhara@flab.fujitsu.co.jp>
+
+       * gmicro.h (TARGET_SWITCHES): Add descriptions and mark them
+       for translation.
+
+2000-08-30  Greg McGary  <greg@mcgary.org>
+
+       * Makefile.in (fixinc.sh): Pass CC, CFLAGS and LDFLAGS to mkfixinc.sh
+       * fixinc/Makefile.in (fixincl): Pass $(LDFLAGS) to $(CC).
+       * fixinc/mkfixinc.sh: Pass $CC, $CFLAGS and $LDFLAGS to $MAKE.
+
+2000-08-30  Greg McGary  <greg@mcgary.org>
+
+       * tree.h (struct tree_int_cst): Wrap low and high in a sub-struct.
+       (TREE_INT_CST_LOW, TREE_INT_CST_HIGH): Access through sub-struct.
+       (TREE_INT_CST): New macro.
+       * varasm.c (const_hash, compare_constant_1, record_constant_1):
+       Use new macro TREE_INT_CST.
+
+Wed 30-Aug-2000 23:18:59 BST  Neil Booth  <NeilB@earthling.net>
 
-       * cplus-search.c: Ditto.
-       
-       * cplus-decl.c: Ditto.
-       (lookup_tag): Accept *_DECLs as nodes in the context chain.
-       (lookup_nested_type): Accept FUNCTION_DECLs not only as head of
-       the context chain, but at any place in it.
+       * contrib.texi: Add self.
 
-Thu Oct  3 06:42:08 1991  Michael Meissner  (meissner at osf.org)
+2000-08-30  Alexandre Oliva  <aoliva@redhat.com>
 
-       * c-decl.c (c_decode_option): Add new switch -Wparentheses and
-       -Wnoparentheses to control whether GCC warns about adding extra ()'s
-       around a subexpression.  Make -Wparentheses default behavior.
-       (warn_parentheses): New global variable.
+       * config/sh/sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): New insns.
+       (cmpeqdi_t splitter): Use cmpeqsi_and_t instead of emitting jumps
+       and labels.
 
-       * c-tree.h (warn_parentheses): New variable.
+2000-08-30  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
-       * c-typeck.c (parser_build_binary_op): Check for warn_parentheses
-       before emitting warnings about adding ().
+       * fixinc/gnu-regex.c: Don't define `const'.
 
-Wed Oct  2 20:51:04 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+Tue Aug 29 22:09:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * gcc.texinfo: Correct documentation for CONSTANT_ADDRESS_P,
-       CONSTANT_P, and HIGH.
+       * expr.c (store_constructor): Allow variable bounds of array type.
+       (expand_expr): Don't blow up if type is ERROR_MARK.
+       * varasm.c (output_constructor): Don't access lower bound of array
+       type unless need it if index is supplied (so it can be a variable
+       if no index is supplied).
+       Use tree_low_cst; use HOST_WIDE_INT for sizes; change BITPOS to POS.
+       Other minor cleanups.
 
-Wed Oct  2 15:08:32 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-08-29  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
-       * cplus-class.c (modify_vtable_entries): Fix error in computing
-       offsets to use for virtual functions from virtual baseclasses.
-       * cplus-except.c (lookup_exception_type): Change local variable name
-       `binfo' to `link'.
-       * cplus-lex.c (yylex): Cast shorts to (long) when building longlong.
+       * Makefile.in: Revamp handling of cflags to allow different WARN_CFLAGS
+       for compilations in stage 1 and subsequent stages, respectively.
+       * configure.in (vax): Add compiler-dependent CFLAGS for stage 1.
+       * configure: Rebuilt.
+       * x-vax, x-vax-gcc: Deleted.
 
-Wed Oct  2 11:32:35 1991  Michael Meissner  (meissner at osf.org)
+2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * tm-encrose.h (new file): New configuration file for Encore
-       Multimax running OSF/1, and using the OSF/rose object formats.
+       * c-common.c (declare_function_name): Use func_id_node,
+       function_id_node, and pretty_function_id_node.  Do not make
+       __func__ visible at file scope.
+       * c-common.h (c_tree_index): Add CTI_FUNCTION_ID,
+       CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID.
+       (function_id_node, pretty_function_id_node, func_id_node): New
+       macros.
+       * c-decl.c (init_decl_processing): Initialize function_id_node,
+       pretty_function_id_node, and func_id_node.
+       (c_make_fname_decl): Correct comment.
+
+       * tree.h (struct tree_identifier): Constify pointer member.
+
+       * c-decl.c (pushdecl, implicit_decl_warning): Constify a char *.
+       * c-pragma.h (struct weak_syms): Constify name and value members.
+       (add_weak): Constify arguments.
+
+       * calls.c (special_function_p): Constify a char *.
+       (expand_call): Remove variable which is initialized and then
+       never used.
+       * dependence.c (struct def_use, struct induction, struct subscript):
+       Constify 'variable' member.
+       (get_low_bound, have_induction_variable): Constify char * argument.
+       (find_induction_variable): Add braces to avoid dangling else.
+       (classify_dependence): Constify char * arrays.
+       * profile.c (output_func_start_profiler): Constify a char *.
+       * stor-layout.c (finalize_record_size): Constify a char *.
+       * tree.c (is_attribute_p): Constify a char *.
+       * varasm.c (add_weak, remove_from_pending_weak_list): Constify argument.
+
+       * varasm.c (make_function_rtl, make_decl_rtl): Rearrange code
+       for comprehensibility.  Do not call get_identifier if we did
+       not change the DECL_ASSEMBLER_NAME of the decl.  Use alloca to
+       create temporary string constants, not ggc_alloc_string.  No
+       need to copy result of ASM_FORMAT_PRIVATE_NAME.  Use const
+       char * to hold IDENTIFIER_POINTERs.
+
+2000-08-29  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64.md (muldi3): Use grfr_register_operand
+       for the inputs.
+
+2000-08-29  Richard Henderson  <rth@cygnus.com>
+
+       * reload.c (push_secondary_reload): Allow class == reload_class
+       if we're using a reload_in/out pattern.
+
+       * config/ia64/ia64.md (reload_inti): Use a TImode scratch.  Use
+       the half that does not conflict with the reload register.
+       (reload_outti): Likewise.
+
+2000-08-29  Kazu Hirata  <kazu@hxi.com>
+
+       * reload.c: Fix formatting.
+
+       * stmt.c: Fix formatting.
+
+       * gcc.c: Fix formatting.
+
+2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * flags.h (time_report, mem_report): New global flags.
+       * toplev.c: Define time_report and mem_report.
+       (f_options): Add -ftime-report and -fmem-report.
+       (compile_file): Turn on time_report if quiet_flag is off.
+       Call ggc_print_statistics at very end if mem_report is on.
+       * timevar.c (TIMEVAR_ENABLE): Examine time_report, not quiet_flag.
+
+       * ggc-common.c (ggc_print_statistics): Rename to
+       ggc_print_common_statistics; all callers changed.  Scale
+       quantities above 10K to kilobytes and above 10M to megabytes.
+       * ggc-page.c (ggc_page_print_statistics): Rename to
+       ggc_print_statistics.  Report memory consumed by internal data
+       structures for each allocation bucket.  Scale quantities above
+       10K to kilobytes and above 10M to megabytes.
+       * ggc-simple.c: Prototype debug_ggc_tree to avoid warning.
+       Cast PTR_KEY(p) to unsigned long in fprintf call to avoid warning.
+       Define tally_leaves always.
+       (ggc_print_statistics): New function.
+       * ggc.h: Adjust for renamed functions.
+
+Wed Aug 30 00:11:42 2000  Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr.md ("*movsf","*movsi"): Pass NULL to
+       output_movsisf instead of which_alternative.
+
+       * config/avr/avr.c (output_reload_inhi): Check for NULL ponter.
+
+Tue Aug 29 22:29:58 2000  Denis Chertykov  <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl>
+
+       * config/avr/avr-protos.h: (avr_output_ascii) Removed.
+       (avr_progmem_p): New prototype.
+       (output_movsisf): Prototype declaration changed.
+       (output_movqi): New prototype.
+       (output_movhi): New prototype.
+       (call_insn_operand): Likewise.
+       (final_prescan_insn): Likewise.
+       (avr_simplify_comparision_p): Likewise.
+       (avr_normalize_condition): Likewise.
+       (compare_eq_p): Likewise.
+       (out_shift_with_cnt): Likewise.
+       (const_int_pow2_p): Likewise.
+       (output_reload_inhi): Prototype declaration changed.
+
+       * config/avr/avr.c: (debug_hard_reg_set): Prototype declared.
+       (ldi_reg_rtx): New. rtx for r31.
+       (avr_init_stack): Initialize as "__stack".
+       (function_prologue): Use it.
+       Replace all TARGET_ENHANCED with AVR_ENHANCED.
+       (avr_mcu_name): Initialize as "avr2".
+       (avr_enhanced_p, avr_mega_p): New variables.
+       (mcu_types, avr_override_options): Handle all known MCU types.
+       Also handle avr1 (only preprocess, assemble and link).
+       (print_operand): Using of `%K' in output template removed.
+       (out_movqi_r_mr): Optimized.
+       (out_movhi_r_mr): Likewise.
+       (output_movqi): New function.
+       (output_movhi): Likewise.
+       (out_movsi_r_mr): Optimized.
+       (output_movsisf): Compute insn length for `adjust_insn_length'
+       (out_movqi_mr_r): Optimized.
+       (out_movhi_mr_r): Optimized.
+       (adjust_insn_length): Use output_movsisf, output_movqi,
+       output_movhi for insn length adjusting.
+       (reg_unused_after): Use dead_or_set_p.
+       (preferred_reload_class): Now haven't any restriction.
+       (reg_was_0): New function.
+       (io_address_p): Likewise.
+       (const_int_pow2_p): Likewise.
+       (output_reload_inhi): Likewise.
+       (output_reload_insisf): Likewise.
+
+       * config/avr/avr.h (MULTILIB_DEFAULTS): Define.
+       (LIB_SPEC): Use -lc for all supported devices.
+       (LIBGCC_SPEC): Use -lgcc for all supported devices.
+       (AVR_MEGA): Define as avr_mega_p.
+       (AVR_ENHANCED): New, define as avr_enhanced_p.
+       (TARGET_SWITCHES): Remove -menhanced, now handled by -mmcu=...
+       (CPP_SPEC, LINK_SPEC): Handle all known MCU types.
+       (CRT_BINUTILS_SPECS): Handle all known MCU types.
+       Rename gcrt1-*.o to make file names unique on 8.3 filesystems.
+       (EXTRA_SPECS): Add CPP_AVR[1-5]_SPEC.
+       (ASM_SPEC): Pass -mmcu=... to the assembler.
+       Change all -DAVR_* to -D__AVR_*__.
+       (INIT_TARGET_OPTABS), config/avr/libgcc.S:
+       Rename library functions to start with two underscores.
+       (ASM_OUTPUT_COMMON): Outputs `.comm VAR,VAR-SIZE,1' to avoid
+       alignment.
+       (ASM_WEAKEN_LABEL): Declared for __attribute__((weak)).
+       (SUPPORTS_WEAK): Likewise.
+       (LDI_REG_REGNO): New. Register r31 will be used as temporary
+       register for loading constants to r0-r14.
+
+       * config/avr/avr.md: Replace all TARGET_ENHANCED with
+       AVR_ENHANCED.
+       (*mov_r_sp): Removed. Handled by output_movhi.
+       (*mov_sp_r): Likewise.
+       (*mov_sp_r_no_interrupts): Likewise
+       (*mov_sp_r_tiny): Likewise.
+       (*movqi): Use output_movqi.
+       (*reload_inqi): New.
+       (*movhi): Use output_movhi.
+       (*reload_inhi): New.
+       (*negsi2): Optimized.
+       (*negsf2): Likewise.
+       Added peepholes (define_peephole2) for loading constants to r0-r14
+       and for using `cpse' command.
+
+       * config/avr/libgcc.S: Rename library functions to start with two
+       underscores.
+       Add support for enhanced core.
+       (_moqhi3): Fix typo, now _modqi3.
+       (__divsi_raw): Use __zero_reg__ as loop counter, smaller by 1 word.
+       (__prologue_saves__): Remove test for stack adjust by 0.
+       (__tablejump__): New.
+
+       * config/avr/t-avr: Build libgcc2 with -mcall-prologues.
+       Add multilib support.
+
+Tue Aug 29 15:17:54 EDT 2000  John Wehle  (john@feith.com)
+
+       * loop.c (prescan_loop): Don't check unknown_address_altered
+       when deciding if insert_loop_mem is safe.  Add BLKmode MEMs
+       to loop_store_mems as necessary.
+       (loop_invariant_p): Don't check unknown_address_altered
+       or unknown_constant_address_altered.
+
+2000-08-29  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns.
+
+2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpperror.c (print_file_and_line): If line is (unsigned int)-1,
+       print just the filename.
+       * cpplex.c (_cpp_run_directive): Add additional argument, the
+       name to give the synthetic buffer.  This defaults to
+       translated "<command line>".
+       * cpplib.c (cpp_define, cpp_undef, cpp_assert, cpp_unassert):
+       Adjust to match.
+       (_cpp_define_builtin): New function.
+       * cppinit.c (initialize_builtins): Use _cpp_define_builtin.
+       * cpphash.h: Update prototypes.
+
+       * tradcpp.c (main): Process -D and -U simultaneously, in the
+       order they appeared on the command line.
+
+2000-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-decl.c (define_label): Call warning_with_file_and_line and
+       error_with_file_and_line instead of plain warning or error.
+
+       * c-parse.in (label): Use save_filename/save_lineno to ensure
+       correct values for calls to define_label.
+
+2000-08-29  Mark Mitchell  <mark@codesourcery.com>
+
+       * calls.c (expand_call): Don't create a VAR_DECL just to throw it
+       away.
+       * expr.c (expand_expr, case TARGET_EXPR): Don't call
+       mark_addressable.
+       * tree.h (get_file_function_name): Remove two duplicate
+       declarations.
+
+2000-08-28  Kazu Hirata  <kazu@hxi.com>
+
+       * tree.c: Fix formatting.
+
+       * xcoffout.c: Fix formatting.
+
+2000-08-28  Jason Merrill  <jason@redhat.com>
+
+       * dwarf2out.c (attr_checksum): Also ignore DW_AT_producer.
+
+2000-08-28  Daniel Berlin  <dberlin@redhat.com>
+
+       * dwarf2out.c (dwarf2out_finish): Don't bother calling
+       break_out_includes if it won't do anything.
+
+2000-08-28  Richard Henderson  <rth@cygnus.com>
+
+       * reload.c (push_secondary_reload): Revert 2000-08-16 change.
+       (find_reloads): Likewise.
+       * config/alpha/alpha.md (reload_inqi): Revert 2000-08-11 change.
+       (reload_inhi): Likewise.
+
+2000-08-28  Richard Henderson  <rth@cygnus.com>
+
+       * config/i386/i386.c: Don't error on EXTRA_CONSTRAINT defined.
+       (call_insn_operand): Don't expect a surrounding mem.
+       (constant_call_address_operand): Likewise.
+       * config/i386/i386.h (PREDICATE_CODES): Update.
+       * config/i386/i386.md (call patterns): Move the match_operand
+       for the call destination inside the mem.
+
+2000-08-28  Richard Henderson  <rth@cygnus.com>
+
+       * local-alloc.c (requires_inout): Don't use reserved range for
+       EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER.
+       * recog.c (asm_operand_ok): Likewise.
+       (preprocess_constraints, constrain_operands): Likewise.
+       * regclass.c (record_reg_classes): Likewise.
+       * reload.c (find_reloads): Likewise.
+       * reload1.c (maybe_fix_stack_asms): Likewise.
+       (reload_cse_simplify_operands): Likewise.
+       * stmt.c (expand_asm_operands): Likewise.
+
+       * md.texi: Update constraints documentation.
+       * tm.texi (EXTRA_CONSTRAINT): Update.
+
+2000-08-28  Daniel Berlin  <dberlin@redhat.com>
+
+       * dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__".
+       (print_die): If we don't know the offset of the
+       target die, try the symbol.  Add a trailing newline.
+       (reverse_all_dies): New fn.
+       (dwarf2out_finish): Call it.
+       (break_out_includes): Reorganize for clarity.
+       (add_sibling_attributes): Don't call reverse_die_lists.
+       (output_comp_unit): Rename from output_comdat_comp_unit.  Use for
+       primary CU, too.
+       * flags.h: Add flag_eliminate_dwarf2_dups.
+       * toplev.c (f_options): Support -feliminate-dwarf2-dups.
+
+2000-08-28  Jason Merrill  <jason@redhat.com>
 
-Wed Oct  2 08:33:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * tree.h (TYPE_UID): Add this field to TYPE nodes.
-       * tree.c (make_node): Initialize it.
-       * dwarfout.c (TYPE_NAME_FMT): Use TYPE_UID rather than TREE_UID.
-       (equate_type_number_to_die_number): Discard type qualifiers.
-       (output_typedef_die): Don't use equate_type_number_to_die_number.
-
-Wed Oct  2 08:04:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * cse.c (cse_process_notes): Fix typo; missing arg in return.
-
-Wed Oct  2 06:56:13 1991  Ron Guilmette  (rfg at ncd.com)
-
-        * Makefile.in (ENQUIRE_CFLAGS): Remove duplicate use of GCC_CFLAGS.
-
-       * Makefile.in (cplus-tab.c): Adjust number of expected conflicts.
-
-       * Makefile.in (mostlyclean): Remove collect and collect2.
-   
-       * tm-svr4.h: Add new file; prototype for System V, Release 4.
-
-Tue Oct  1 23:00:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * reload.c (find_reloads_address): Fix error in previous change;
-       clean up REG case so it is easier to read.
-
-Tue Oct  1 14:05:46 1991  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cplus-decl.c (finish_{decl,function}): Use new function
-       `note_debug_info_needed' instead of setting CLASSTYPE_ASM_WRITTEN.
-       * cplus-search.c (note_debug_info_needed): New function.
-       Recursively set CLASSTYPE_ASM_WRITTEN in a hierarchy when called.
-
-       * cplus-class.c (finish_struct): If DECL_NAME of the BASE_FNDECL is
-       NULL_TREE, we know we're looking at a virtual destructor.
-
-Tue Oct  1 09:47:25 1991  Michael Meissner  (meissner at osf.org)
-
-       * tm-mips.h (OPTIMIZATION_OPTIONS): Enable scheduling insns now for
-       -O2 optimization.
-
-       * Makefile.in (STAGESTUFF): Add $(EXTRA_PASSES), to allow moving any
-       extra passes into the stage[1234] directories, and to remove the
-       extra stuff when doing make clean.
-
-Tue Oct  1 08:35:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * dwarfout.c (FUNC_END_LABEL_FMT, TYPE_NAME_FMT): Undo this change.
-
-       * c-decl.c (grokdeclarator): When making an unsigned bitfield
-       type from a typedef, preserve the size.  A typedef of an
-       explicitly signed typedef is explicitly signed.
-
-Mon Sep 30 22:51:07 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       * out-sparc.c: Fix misc typos and indentation problems.
-       Delete all unnecessary extern declarations.
-       Include "recog.h".
-       Consistently use Pmode instead of SImode for addresses.
-       Use macros defined in tm-sparc.h instead of magic numbers.
-       (reg_or_0_operand): Accept CONST_DOUBLE zero.
-       (symbolic_operand): Accept CONST_DOUBLE.
-       (move_operand): Accept arith_double_operand ('H'), SMALL_INT
-       ('I'), and sethi operands ('K').
-       (move_pic_label): Renamed from move_reg_or_immed_operand.  If
-       flag_pic is true, accept a LABEL_REF, otherwise fail.
-       (arith_double_operand): Accept SMALL_INT ('I') CONST_INTs.  Correct
-       computation of when a CONST_DOUBLE is a SMALL_INT ('H').
-       (eligible_for_epilogue_delay): Accept arith_double_operands.
-       (emit_move_sequence): Handle arith_double_operands.  Handle
-       loading of labels for pic, need to add a clobber of %o7 (reg 15).
-       (find_addr_reg): Don't return FRAME_POINTER_REGNUM.  It is not
-       safe to play around with the frame pointer.
-       (hard_regno_mode_ok): Change from short to int array.
-       (output_pic_sequence, output_pic_sequence_2, fp_zero_hook): Delete
-       long obsolete routines.
-       (print_operand): Delete support for obsolete 'S' and 'H' cases.
-       (output_double_int): New function.  Outputs assembler code for 64
-       bit (DImode) values.
-
-       * sparc.md: Fix misc typos and indentation problems.
-       Delete unnecessary (set_attr "type" "binary") lines.
-       Consistently use %a1 in sethi and ori output templates.
-       Consistently use Pmode not SImode for addresses.
-       Consistently use the same predicate for both operand 1 and
-       operand 2 in commutative patterns.  Don't use same predicate in
-       non-commutative patterns.
-       Consistently use \; to separate multiple instuctions.
-       Change "r%" to "%r".
-       (define_attr length): Handle arith_double_operand predicate.
-       (movsi): Combine two movsi patterns into one, except for loading
-       of pic labels.  New pattern to load pic labels, which clobbers %o7.
-       (movhi): Combine two movhi patterns into one.
-       (movqi): Combine two movqi patterns into one.
-       (movdi): Discourage the Q/f constraint option so that DImode
-       variables won't end up in floating pointer registers.
-       (floatsisf2, floatsidf2): Delete patterns accepting a const_int
-       operand.  These should never be matched.  In remaining patterns,
-       accept nonimmediate_operand instead of general_operand.
-       (adddi3, subdi3, anddi3, iordi3, xordi3, xnordi3, one_cmpldi2):
-       Accept arith_double_operand predicates and "HI" constraints.
-       (last peephole): Reg 0 should be CCmode not SImode.
-
-       * tm-sparc.h: Fix misc typos.
-       (WORDS_BIG_ENDIAN): Indicate why it must be true.
-       (hard_regno_mode_ok): Change from short to int array.
-       (CONST_DOUBLE_OK_FOR_LETTER_P): Add new 'H' constraint, for DImode
-       constants that can fit in an immediate field.
-       (CONSTANT_ADDRESS_P): Accept any CONSTANT_P, including
-       CONST_DOUBLEs.
-       (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs if match 'H'
-       constaint.
-       (RTX_COSTS): Define cost for FLOAT to be more expensive than
-       CONST_DOUBLEs, so that cse will prefer the latter.
-       (ASM_OUTPUT_DOUBLE_INT): New macro to output DImode constants.
-
-       * sched.c (schedule_block): When calculating register lifetime
-       info, handle CLOBBERs and USEs.  The code that adds REG_DEAD notes
-       already handles them.
-       (update_n_sets): New function, subroutine of update_links.
-       Given a SET or CLOBBER, updates reg_n_sets as appropriate,
-       depending on whether this is in a deleted or a new insn.
-       (update_links): Call update_n_sets to subtract info for split
-       insn, and add info for insns resulting from the split.
-
-Mon Sep 30 19:06:50 1991  Michael Meissner  (meissner at osf.org)
-
-       * ecoff-cmp (TMP): Fix typo, from jonathan@isor.vuw.ac.nz.
-
-       * mips-tfile.c (toplevel): Don't declare _flsbuf under Silicon
-       Graphics, from jonathan@isor.vuw.ac.nz.
-
-Mon Sep 30 15:54:02 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * cse.c (cse_process_notes): New function.
-       (cse_basic_block): Call it for each insn.
-       (count_reg_usage): Count usage in a REG_EQUAL note.
-       (delete_dead_from_cse): Call count_reg_usage with insn, not pattern.
-       * loop.c (scan_loop): Replace a register used in a REG_EQUAL note.
-       (find_single_use_in_loop): Two uses in single insn doesn't disqualify.
-       Allow argument to be REG_NOTES.
-       (count_loop_regs_set): Call find_single_us_in_loop on REG_NOTES.
-
-Mon Sep 30 15:47:03 1991  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cplus-call.c (ideal_candidate): Return 0 if the top two candidates
-       have identical rankings but incompatible types.
-
-       * cplus-lex.c (cons_up_default_function): Set DECL_NAME (FN) to
-       NULL_TREE in order to mark the function as being generated by the
-       compiler.
-       * cplus-init.c (emit_base_init): Change to use this interface.
-       * cplus-decl.c (duplicate_decls, redeclaration_error_message): Ditto.
-       (store_parm_decls): Ditto.
-       * cplus-decl2.c (grokclassfn): Ditto.
-       * cplus-dbxout.c (dbxout_type_methods): Ditto.
-       * cplus-class.c (finish_struct_methods): Ditto.
-       * cplus-method.c (fndecl_as_string): Ditto.
-       * cplus-search.c (lookup_fnfields_1): Ditto.
-       (compute_visibility): Ditto.
-       * cplus-typekc.c (build_function_call): Ditto.
-       * cplus-tree.c (lang_printable_name): Ditto.  Also use
-       DECL_ASSEMBLER_NAME instead of DECL_NAME in DESTRUCTOR_NAME_P test.
-       * calls.c (expand_call): Change also needed here.
-
-Mon Sep 30 15:31:53 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
-
-       * dbxout.c: Include <param.h> before config.h, because it may define
-       MIN and MAX.
-
-       * fold-const.c (const_binop): Delete incorrect short cut for
-       (0 - const).
-
-       * expr.c (do_tablejump): Pass GET_MODE (index) instead of Pmode to
-       emit_cmp_insn, because the latter fails when integers and pointers
-       are different sizes.
-
-       * combine.c (subst): When checking to see if associating helps
-       simplify rtl, make sure we pass the constant operand if any as the
-       second one if this is a commutative operation.
-
-       * cccp.c (rescan): Save obufp_before_macroname as an offset from
-       the start of op->buf instead of as a pointer into the middle, in
-       case op->buf gets realloced.
-
-Mon Sep 30 14:07:20 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * dwarfout.c (FUNC_END_LABEL_FMT, TYPE_NAME_FMT): TREE_UID is
-       unique only if the node is TREE_PERMANENT.  Augment the spelling
-       of labels using TREE_UID with the TREE_UID of the current function.
-
-       Changes from Ron Guilmette:
-       * dwarfout.c (output_symbol): Deal with formal parameters with an
-       incomplete tagged type.
-       (output_bound_representation):  Fix for arrays with dynamic bounds.
-
-       Changes from Jim Wilson:
-       * dwarfout.c: Define strrchr to rindex for non USG systems.
-       Use DECL_BIT_FIELD_TYPE not DECL_BIT_FIELD to test for bitfields.
+       * dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags.
+       * dwarf2out.c: #include "md5.h".
+       (DIE_LABEL_PREFIX): New macro.
+       (dw_val_struct): Add 'external' flag to val_die_ref.
+       (add_AT_die_ref, AT_ref): Adjust.
+       (AT_ref_external, set_AT_ref_external): New fns.
+       (build_abbrev_table): Call set_AT_ref_external.
+       (value_format): Call AT_ref_external.
+       (die_struct): Add die_symbol field.
+       (new_die): Clear it.
+       (dwarf_tag_name): Handle BINCL/EINCL.
+       (dwarf2out_start_source_file): Add BINCL DIE.
+       (dwarf2out_end_source_file): Add EINCL DIE.
+       (push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns.
+       (loc_checksum, attr_checksum, die_checksum): New fns.
+       (is_type_die, is_comdat_die, is_symbol_die): New fns.
+       (compute_section_prefix, assign_symbol_names): New fns.
+       (gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns.
+       (output_die): Call output_die_symbol and AT_ref_external.
+       (output_comdat_comp_unit): New fn, split out from...
+       (dwarf2out_finish): ...here.  Also call add_sibling_attributes for
+       secondary CUs.
+       (output_pubnames, output_aranges): Abort if we see entries from
+       secondary CUs.
+       * toplev.h: Declare file_name_nondirectory.
+       * toplev.c (file_name_nondirectory): New fn, moved from C++ frontend.
+       (rest_of_type_compilation): Call dwarf2out_decl if at toplevel.
+       (debug_start_source_file): Call dwarf2out_start_source_file
+       regardless of debug verbosity.
+       (debug_end_source_file): Similarly.
+       * tree.h: Declare clean_symbol_name.
+       * tree.c (clean_symbol_name): Split out from...
+       (get_file_function_name_long): ...here.
 
-Sun Sep 29 16:29:08 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * dwarf2out.c (new_loc_descr): Use calloc.
+       (splice_child_die): Remove the die from the right parent.
+       (gen_struct_or_union_die): Don't add AT_name to a specification DIE.
 
-       * reload.h (indirect_symref_ok): New variable.
-       * reload.c (find_reloads_address): Remove shadowing decls of `tem'.
-       Only allow certain forms addresses as indirect; check
-       indirect_symref_ok to see if (mem (symbol_ref ...)) is a valid
-       address; if not that form or simple, not valid indirect address.
-       * reload1.c (indirect_symref_ok): Define here.
-       (init_reload): Initialize vars used to determine which addrs are valid.
-       (reload): Don't do it here.
-       Update comment to relect what `alter_regs' currently does.
+Mon Aug 28 19:02:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * tree.h (struct tree_decl): Add new from_inline_flag; delete
-       lang_flag_9 to make room.
-       (DECL_FROM_INLINE): New macro.
-       (DECL_LANG_FLAG_9): Deleted.
-       * c-decl.c, cplus-decl.c (pushdecl): Use DECL_FROM_INLINE instead of
-       TREE_INLINE where appropriate.
-       * cplus-decl.c (finish_decl): Likewise.
-       * integrate.c (integrate_parm_decls, integrate_decl_tree): Set
-       DECL_FROM_INLINE instead of TREE_INLINE.
-       * print-tree (print_node): Print DECL_FROM_INLINE.
-       Delete reference to DECL_LANG_FLAG_9.
+       * toplev.c (decode_g_option): Don't give warning for unknown -g
+       option; return 0 instead.
+       (main): If -g option is not recognized by front end or
+       language-independent code, give warning.
 
-Sun Sep 29 12:49:47 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-08-28  Greg McGary  <greg@mcgary.org>
 
-       * c-decl.c, c-typeck.c, cplus-decl.c, toplev.c:
-       Set/test TREE_ADDRESSABLE of DECL_ASSEMBLER_NAME, not DECL_NAME for
-       function decls.
+       * config/i386/i386-protos.h (ix86_expand_compare): Add extern decl.
+       * config/i386/i386.c (ix86_expand_compare): Remove `static'.
+       * config/i386/i386.md (trap, conditional_trap): New insn & expand.
 
-       * cplus-class.c: Export `current_lang_stack' and
-       `current_lang_base'.
-       cplus-decl.c (push_overloaded_decl): Allow redeclaration of a
-       function that was previously given a linkage specification at
-       top-level (i.e., not in an explicit linkage arena).
+2000-08-27  Greg McGary  <greg@mcgary.org>
 
-       * cplus-typeck.c (convert_arguments): Strip the `&' from an
-       overloaded function passed as an argument into an ellipses.
+       * cpplex.c (parse_string): Don't look for backslash
+       before first char in `namebuf'.
+       * loop.c (strength_reduce): Skip NOTEs.
 
-Sat Sep 28 15:37:26 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-08-27  Jason Merrill  <jason@redhat.com>
 
-       * cplus-typeck.c (build_x_binary_op): We have to special-case the
-       failure of MEMBER_REF to be overloaded as an operator.
+       * c-decl.c (duplicate_decls): Don't set TREE_STATIC or clear
+       DECL_EXTERNAL on a local extern.  Don't set DECL_IGNORED_P or
+       TREE_ASM_WRITTEN, either.
+       (finish_decl): Adjust.
 
-Sat Sep 28 10:44:36 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+2000-08-28  Philipp Thomas  <pthomas@suse.de>
 
-       * reload1.c (reload): If we find at some point that we need
-       caller-saves, disable elimination of the frame pointer.
+       * ABOUT-GCC-NLS: Remove gettext patches from Paul Eggert as
+       they have been incorporated into the gettext CVS. Change the text to
+       reflect the current status of NLS. Add instructions for accessing
+       the gettext CVS and add the patch from Martin v. Loewis.
 
-       * reload.c (subst_reloads): Re-enable code to prevent making
-       a SUBREG inside a SUBREG.
+2000-08-27  Geoff Keating  <geoffk@cygnus.com>
 
-Sat Sep 28 00:40:51 1991  Ken Raeburn  (raeburn@cygnus.com)
+       * config/rs6000/rs6000.md (movdi_internal64+5): Make SUBREG-safe
+       by using gen_lowpart_common.
+       (movdi_internal64+6): Likewise.
 
-       * cplus-pt.c (do_pending_expansions): Adjust "DECIDE" macro to avoid
-       compiler warning from Sun cc.
+2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
 
-Fri Sep 27 17:30:39 1991  Per Bothner  (bothner at cygnus.com)
+       * tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION):
+       Document.
 
-       * configure[.in]: Move most of the target_vendor switch
-       entries (e.g. next, sun, sony) from the m88k architecture to m68k,
-       where they belong.
+       * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register
+       numbers to the ranges used by GDB.
 
-Fri Sep 27 16:21:04 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-08-25  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-search.c (recursive_bounded_basetype_p): Add new parameter
-       UPDATE_CHAIN so that function now behaves as comment prescribes.
-       * cplus-search.c (compute_visibility): Fix error in conversion of
-       data structures from list-based to binfo-based nodes.
+       * config/ia64/ia64.h (struct machine_function): Add n_varargs.
+       * config/ia64/ia64.c (ia64_compute_frame_size): Use it.
+       (ia64_expand_prologue): Likewise.
+       (ia64_setup_incoming_varargs): Set it.  Properly skip the current
+       argument for stdargs.
 
-Fri Sep 27 07:05:57 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+2000-08-25  Jason Merrill  <jason@redhat.com>
 
-       * c-decl.c (pushdecl): Fix typo: TREE_EXTERNAL misspelled.
+       * integrate.c (expand_inline_function): Pull out the original decl.
 
-Thu Sep 26 17:36:14 1991  Michael Meissner  (meissner at osf.org)
+2000-08-25  Jim Wilson  <wilson@cygnus.com>
 
-       * tm-mips.h (ASM_FINAL_SPEC): Handle gcc -c -o foo bar.c.
+       * cse.c (cse_insn): Don't pass label subtraction to force_const_mem.
 
-       * tm-decrose.h (ASM_FINAL_SPEC): Handle gcc -c -o foo bar.c.
+       * function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl.
 
-       * make-decrose (cplus-lex rule): Remove hacks in compiling
-       cplus-lex, since bug in 1.39 inlining was fixed to allow us to
-       compile the module normally.
+2000-08-25  Greg McGary  <greg@mcgary.org>
 
-Thu Sep 26 11:53:49 1991  Ken Raeburn  (raeburn@cygnus.com)
+       * flow.c (dump_edge_info): Use ARRAY_SIZE.
+       * config/alpha/alpha.c (alpha_expand_block_move): Likewise.
 
-       * cplus-tree.h (TEMPLATE_TYPE_*): Use slower versions that uses tree
-       structures more properly, so accessor macros don't lose.
+2000-08-25  Richard Earnshaw  <rearnsha@arm.com>
 
-       * cplus-pt.c (end_template_parm_list): For type parameters, make the
-       new decl be the name of the "type".
+       * arm.h (STRUCT_VALUE): Define to 0, not NULL.
 
-       * Makefile.in (cplus-tab.{c,h}): There are now 30 s/r conflicts.
+Fri Aug 25 12:52:49 EDT 2000  John Wehle  (john@feith.com)
 
-       * cplus-class.c (resolves_to_fixed_type_p, case CALL_EXPR): Deleted
-       duplicate code.
+       * i386.c (ix86_find_base_term): New.
+       * i386-protos.h (ix86_find_base_term): Prototype.
+       * i386.h (FIND_BASE_TERM): Define.
+       * alias.c (find_base_term): Use it.
+       * tm.texi (FIND_BASE_TERM): Document it.
 
-       * cplus-decl.c (poplevel): Deleted duplicate code saving info on
-       accesses to external via non-global decls.
-       (pushdecl): For typedef of unnamed type, don't store new name for
-       type if not at global binding scope.  Also, don't need to test for
-       TYPE_DECL when previous conditional guarantees it.
-       (start_decl): Clear TREE_PUBLIC flag of templates.
-       (finish_decl): For variables in static storage with constructors,
-       force it into data section (out of common storage) only if the name
-       is externally visible.
+       * alias.c (true_dependence, write_dependence_p): Unchanging
+       memory can't conflict with non-unchanging memory.
 
-       * cplus-gc.c (type_needs_gc_entry): If the type has no base types,
-       don't check to see whether they need gc entries.
+       * alias.c (memrefs_conflict_p): A BLKmode reference
+       to a symbol (or CONST_INT address) always conflicts
+       with a reference to another symbol.
 
-       * cplus-parse.y (yyprint): Handle SCSPEC and AGGR.
+2000-08-25  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * cplus-pt.c (end_template_decl): Clear IDENTIFIER_TYPE_VALUE slots
-       for type parameters, then call adjust_type_value.
-       (instantiate_class_template): Do nothing if classname is
-       error_mark_node.
-       (mangle_class_name_for_template): Make buf a static array, since
-       its address gets returned.
+       * c-common.c (time_char_table): Don't allow width and flags with
+       "z" format.
 
-       * reload1.c (reload): Provide array size in cast, to avoid compiler
-       warnings.
+2000-08-25  Jakub Jelinek  <jakub@redhat.com>
 
-       From Niklas Hallqvist:
-       * cplus-tree.h (struct template_info): Added new field "aggr", which
-       will be class_type_node or struct_type_node for class or struct
-       templates.
-       * cplus-parse.y (template_def): Pass current_aggr to
-       end_template_decl.
-       (template_instantiation): Use aggr field.
-       * cplus-pt.c (end_template_decl): Argument IS_CLASS is now a tree,
-       used to set the aggr field.
-       (overload_template_name): Use aggr field.
-
-       Suggested by John Carr:
-       * cplus-dbxout.c (dbxout_tags): Don't omit argument to
-       dbxout_finish_symbol.
-       (dbxout_continue): Omit declaration and definition if
-       DBX_CONTIN_LENGTH is not greater than zero, like its calls.
-       (print_int_cst_octal): Ditto, based on defined(WINNING_GDB).
-       * cplus-decl.c (GNU_end_scope): Never used; deleted.
-       (pushdecl): Vars nglobals, len are used only in code under "#if 0";
-       comment out decls as well.
-       * cplus-gc.c (expand_gc_prologue_and_epilogue): Variable "head" was
-       unused; deleted.
-       * cplus-init.c (expand_aggr_vbase_init_1): All args are type tree.
-       (expand_vec_init): Don't return without a value when "initializer
-       ends prematurely".
-       * cplus-method.c (build_overload_nested_name): Pass all necessary
-       arguments in recursive call.
-       * cplus-search.c (pop_type_level): Cast argument to pop_stack_level
-       to proper type.
-       (push_memoized_context): Ditto for push_type_level.
-       (my_copy_node): Unused; deleted.
-       (lookup_fnfields): Add missing arg to get_binfo.
-       (lookup_field): Ditto.
-
-       From Niklas Hallqvist:
-       * cplus-decl.c (push_to_top_level): Handle case of function with
-       unnamed parms.
-       (pop_from_top_level): Ditto.
-
-Thu Sep 26 07:46:08 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
-
-       * loop.c (scan_loop): Don't eliminate register that is set by 
-       consecutive insns.
-
-Wed Sep 25 18:53:52 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
-
-       * c-decl.c (pushdecl): Suppress warnings about mismatch of
-       extern decl when it comes from inlining a function.
-
-       * emit-rtl.c (set_new_first_and_last_label_number): New function.
-       (max_label_num): Use last_label_num if valid.
-       * integrate.c (output_inline_function): Call set_new_...
-
-Wed Sep 25 18:37:36 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
-
-       * flow.c (find_auto_inc): Set BLOCK_NUM of new insns emitted while
-       making an auto-inc.
-
-       * Makefile.in (getopt*.o): Each file depends on its .c file and on
-       the compiler executable files.
-
-Wed Sep 25 18:18:46 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
-
-       * toplev.c (debug_info_level): New variable.
-       * flags.h (debug_info_level, enum debug_info_level): New declarations.
-       * toplev.c (main): Rewrite handling of -g* and -G* options.
-       Now -G indicates use of GDB extensions.  -g0 removed.
-
-Tue Sep 24 03:20:07 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
-
-       * alloca.c: Test __STDC__, not X3J11.
-       Do nothing if alloca is defined as a macro.
-
-Tue Sep 24 09:15:17 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
-
-       * global-alloc.c (eliminable_regset): New variable.
-       (global_alloc): Compute it and use to turn off conflicts.
-       Refine computation of no_global_alloc_regs when ELIMINABLE_REGS is
-       defined.
-       (mark_elimination): Don't do anything with allocnos and don't do
-       any allocation.
-
-       * reload1.c (eliminate_regs_in_insn): Try to re-recognize insn if
-       we replaced a (set X (plus Y Z)).
-
-Tue Sep 24 06:34:04 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
-
-       * cplus-tree.c (virtual_member): Change TREE_VALUE accessor macro to
-       BINFO_TYPE.
-       * tree.h (BINFO_TYPE): New name for BINFO_VALUE.
-       * All cplus-* files: Changed to reflect new name.
+       * config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
+       way as LT and LTU when the second operand has 0 in low word.
 
-Mon Sep 23 12:56:11 1991  Michael Meissner  (meissner at osf.org)
+2000-08-26  Michael Hayes  <mhayes@cygnus.com>
 
-       * tm-mips.h (ASM_SPEC): Fix typo, and close {}'s properly.
+       * basic-block.h (struct loop): Rename `exits' field to
+       `exit_edges'.  Add `entry_edges' and `num_entries' fields.
 
-Mon Sep 23 10:30:51 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find.
+       (flow_loop_entry_edges_find): Add.
+       (flow_edge_list_print): Rename from flow_exits_print.
+       (flow_loops_find): Call flow_loop_entry_edges_find.
+       (flow_loop_dump): Dump entry_edges list.
+       (flow_loops_free): Free entry_edges.
 
-       * cplus-tree.c (propagate_assoc_offsets): Keep relative offsets of
-       child_child correct when copying children.
+2000-08-26  Michael Hayes  <mhayes@cygnus.com>
 
-       * cplus-class.c Use `BINFO_VALUE' instead of `TREE_VALUE' when
-       accessing the type value of a binfo node.
-       * cplus-decl.c (finish_function): Ditto.
-       * cplus-init.c (build_vbase_delete): Ditto.
+       * loop.c (loop_dump_aux, debug_loop): New functions.
+       (LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros.
 
-Mon Sep 23 06:11:56 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+       * flow.c (flow_loops_dump): Add callback parameter.
+       (flow_loop_dump): Add callback parameter and call it.  Move
+       loop note debugging code to loop_dump_aux.
 
-       * flow.c (reg_n_refs): Use int, not short.  Short can overflow
-       if we have very deep loop nesting.
-       (allocate_for_life_analysis): Allocate reg_n_refs as int.
-       * regs.h (reg_n_refs): Now int.
-       * sched.c: Delete duplicate definitions of objects defined in regs.h.
-
-       * combine.c (try_combine): Correctly check for independent insns
-       in a PARALLEL.
-
-       * combine.c (distribute_note, case REG_DEAD): If we discover a register
-       is never used, see if we can delete the insn that set it.
-
-Sun Sep 22 19:24:52 1991  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cplus-type2.c (build_functional_cast): Don't forget a valid
-       function call if we found one (and nothing more).
-
-Sun Sep 22 07:48:18 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
-
-       * rtlanal.c (rtx_varies_p, case REG): Correct typo; sense of comparison
-       was backwards.
-
-       * global-alloc.c (mark_elimination): Don't use HARD_REG_SET macros
-       to access basic_block_live_at_start.
-
-       * reload1.c (set_label_offsets): New function.
-       (offsets_known_at, offsets_at): New variables.
-       (reload): Allocate and initialize them.
-       Set each label in FORCED_LABELS to be at initial offsets.
-       Call set_label_offset on all insns that might involve labels.
-       Use GET_RTX_CLASS when appropriate.
-       (eliminate_regs, mark_not_eliminable): Ignore sets of FP when looking
-       for sets of a "to" register.
-       (eliminate_regs_in_insn): No longer suppress elimination for any
-       pair not at its initial offet at a jump.
-       
-       * combine.c (distribute_links): Correctly find the place to put a
-       link.  Handle the case when we eliminate all uses of something that
-       we used to use; in that case, we must seach forward.
-       No longer need I3, I2, or ALL_ADJACENT arguments.
-       (try_combine): Change calls to distribute_links.
-
-       * reload.c (find_equiv_reg): Use GET_RTX_CLASS when appropriate.
-       If GOAL is a MEM whose address varies, check whether registers
-       that are SET appear in the address rather than assuming they do.
-       Ensure REG_INC note is a REG; ignore it if not.
-
-       * rtlanal.c (rtx_varies_p): Rework to use switch statement.
-       Check for {frame,arg}_pointer_rtx, not just register number.
-       (rtx_addr_can_trap_p): New function.
-       (may_trap_p): Use rtx_addr_can_trap_p instead of rtx_varies_p.
-       * genattrtab.c: Define {frame,arg,stack}_pointer_rtx for rtlanal.c.
+       * basic-block.h (flow_loop_dump): Add callback parameter
+       (flow_loops_dump): Likewise.
 
-       * combine.c (make_extraction): Make a ZERO_EXTRACT for something with
-       pos == 0 if it will be placed in a SET_DEST.
+       * toplev.c (rest_of_compilation): Add NULL callback function pointer
+       to call to flow_loops_dump.
 
-       * expmed.c (expand_shift): Rotate case was missing return statement.
-       extzv case had wrong arg to delete_insns_since.
-       Remove unneeded calls to delete_insns_since.
-       Allow BITS_BIG_ENDIAN to vary at run-time.
-       Use variable TEMP in a consistent manner.
-       Other miscellaneous changes and cleanups were made.
+2000-08-26  Michael Hayes  <mhayes@cygnus.com>
 
-       * flow.c (max_uid_for_flow): New variable.
-       (flow_analysis): Compute maximum uid into max_uid_for_flow; if
-       we might have auto-inc, leave some space.
-       (find_auto_inc): Verify that the uid's of the insns we make are
-       within the allocated space of our per-insn tables.
-       Use get_insns instead of gen_sequence.
+       * loop.c (count_loop_regs_set): Replace start and end arguments
+       with loop argument.  All callers udated.
 
-       * global-alloc.c (retry_global_alloc): When we allocate a register,
-       update regno_reg_rtx and mark the allocated register live.
-       (mark_elimination): New function.
-       * reload1.c (reload): Call mark_elimination for every elimination
-       we have been able to do.
-       (spill_hard_reg): No longer need to call mark_home_live.
+2000-08-26  Michael Hayes  <mhayes@cygnus.com>
 
-Sun Sep 22 02:07:55 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+       * loop.c (constant_high_bytes): Delete.
 
-       * fixincludes: Redirect cmp output to /dev/null; don't close it.
+2000-08-26  Michael Hayes  <mhayes@cygnus.com>
 
-       * varasm.c (assemble_function): Handle ASM_OUTPUT_FUNCTION_PREFIX.
+       * loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT
+       and NOTE_INSN_LOOP_VTOP to...
+       (find_and_verify_loops) ...here.
 
-       * final.c (final_scan_insn): No need to goto text section
-       for label on jump table.  We're normally in the text section.
+Fri Aug 25 04:21:13 2000  Alexandre Oliva  <aoliva@redhat.com>
 
-Sat Sep 21 14:59:32 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+       * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default.
+       (fini_dummy, init_dummy): Use it.
 
-       * make-cc1.com:  Fix typo in code that decides if bison needs to be
-       run.  Also, display a message when building the compiler that informs
-       the user about the need to update the assembler.
+Fri 25-Aug-2000 08:03:27 BST  Neil Booth  <NeilB@earthling.net>
+
+       * cpplex.c (is_macro_disabled): Caller has already checked
+       that we're not a preprocessed file.
+
+2000-08-24  Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o.
+       (c-iterate.o): Remove target.
+       * gcc/c-common.h (enum rid): Remove RID_ITERATOR.
+       * gcc/c-decl.c (init_decl_processing): Remove call to init_iterators.
+       (finish_decl): Don't handle iterators.
+       (grokdeclarator): Likewise.
+       * gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords.
+       * gcc/c-gperf.h: Regenerated.
+       * gcc/c-iterate.c: Removed.
+       * gcc/c-lex.c (init_lex): Don't handle iterators.
+       * gcc/c-parse.in (primary): Remove pop_iterator_stack call.
+       (compstmt_primary_start): Remove push_iterator_stack call.
+       (stmt): Don't allow iterator statements.  Replace iterator_expand
+       with expand_expr_stmt.
+       (all_iter_stmt): Remove.
+       (all_iter_stmt_simple): Likewise.
+       (all_iter_stmt_with_decl): Likewise.
+       * gcc/c-tree.h (ITERATOR_P): Remove.
+       (ITERATOR_BOUND_P): Likewise.
+       (init_iterators): Remove declaration.
+       (iterator_expand): Likewise.
+       (iterator_for_loop_start): Likewise.
+       (iterator_for_loop_end): Likewise.
+       (iterator_for_loop_record): Likewise.
+       (push_iterator_stack): Likewise.
+       (pop_iterator_stack): Likewise.
+       * gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P.
+       (readonly_warning): Likewise.
+       * gcc/tree.h (ITERATOR_BOUND_P): Don't mention it.
+
+2000-08-24  Jim Wilson  <wilson@cygnus.com>
+
+       * c-common.c (decl_attributes, case A_ALIGN): Revert last change.
+       Copy type in a TYPE_DECL, just like pushdecl does.
+
+2000-08-24  Richard Henderson  <rth@cygnus.com>
+
+       * toplev.c (main): Enable flag_reorder_blocks at -O2.
+
+2000-08-24  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're
+       asked for one page, allocate GGC_QUIRE_SIZE of them and put
+       the extras on the free list.
+       (release_pages): Clean up.
+       (ggc_set_mark): Don't adjust G.allocated here...
+       (sweep_pages): ... do it here.
+
+2000-08-24  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cppfiles.c (read_include_file): Rearrange initializations.
+
+2000-08-24  Richard Henderson  <rth@cygnus.com>
+
+       * stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X.
+
+       * config/ia64/ia64-protos.h: Update.
+       * config/ia64/ia64.c (gr_register_operand): New.
+       (fr_register_operand, grfr_register_operand): New.
+       (gr_nonimmediate_operand, grfr_nonimmediate_operand): New.
+       (grfr_reg_or_8bit_operand): New.
+       (gr_reg_or_0_operand): Rename from reg_or_0_operand and
+       use gr_register_operand.
+       (gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise.
+       (gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise.
+       (gr_reg_or_8bit_and_adjusted_operand): Likewise.
+       (gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise.
+       (fr_reg_or_fp01_operand): Likewise.
+       (not_postinc_memory_operand): New.
+       (ia64_split_timode): Remove unused variables.
+       (rtx_needs_barrier): Check arguments to cmpxchg.
+       (builtin_description): Remove.
+       (bdesc_2argsi, bdesc_2argdi): Remove.
+       (ia64_init_builtins): Declare all builtins directly.
+       (ia64_expand_fetch_and_op): Rewrite to be called from
+       ia64_expand_builtin directly.  Use expand_binop and co.
+       (ia64_expand_op_and_fetch): Likewise.
+       (ia64_expand_compare_and_swap): Likewise.
+       (ia64_expand_binop_builtin): Remove.
+       (ia64_expand_lock_test_and_set): New.
+       (ia64_expand_lock_release): New.
+       (ia64_expand_builtin): Use them.
+       * config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New.
+       (EXTRA_CONSTRAINT): Use it.
+       (PREDICATE_CODES): Update.
+       * config/ia64/ia64.md (*): Use gr_register_operand and co.
+       (mf): Indicate that we set memory as well as use it.
+       (fetchadd_acq_si): Show memory being modified as well.
+       (fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise.
+       (val_compare_and_swap_si, val_compare_and_swap_di): Remove.
+       (lock_test_and_set_si, lock_test_and_set_di): Remove.
+       (fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove.
+       (fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove.
+       (fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove.
+       (fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove.
+       (add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove.
+       (and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove.
+       (add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove.
+       (and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove.
+       * config/ia64/ia64intrin.h (*): Cast result to the appropriate
+       return type.  Pretty print definitions.
+
+2000-08-24  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if
+       we have a SYMBOL_REF with SYMBOL_REF_FLAG set.
+
+2000-08-24  Jason Merrill  <jason@redhat.com>
+
+       * dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref,
+       AT_loc, AT_addr, AT_lbl): Abort on unsuitable input.
+       (get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag,
+       get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails.
+
+2000-08-24  Greg McGary  <greg@mcgary.org>
+
+       * optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab,
+       and extendtab within their proper array boundaries.
+       * emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds
+       for the entire array.
+
+       * config/arm/arm.c (arm_override_options): Use ARRAY_SIZE.
+       * config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise.
+       * config/avr/avr.c (order_regs_for_local_alloc): Likewise.
+       * config/fr30/fr30.c (fr30_print_operand): Likewise.
+       * config/i386/dgux.c (output_options): Likewise.
+       * config/i386/dgux.h (ASM_FILE_START): Likewise.
+       * config/m88k/m88k.c (output_options): Likewise.
+       * config/m88k/m88k.h (ASM_FILE_START): Likewise.
+       * config/mcore/mcore.c (mcore_output_inline_const_forced,
+       layout_mcore_frame, handle_structs_in_regs): Likewise.
+       * config/mips/mips.c (output_block_move): Likewise.
+       * config/rs6000/rs6000.c (rs6000_override_options,
+       rs6000_file_start): Likewise.
+       * config/sparc/sparc.c (sparc_add_gc_roots): Likewise.
+       * fixinc/fixfixes.c (FIX_TABLE_CT): Likewise.
+       * fixinc/fixtests.c (TEST_TABLE_CT): Likewise.
+       * builtins.c (expand_builtin_setjmp): Likewise.
+       * expr.c (safe_from_p): Likewise.
+       * flow.c (life_analysis): Likewise.
+       * fold-const.c (size_int_type_wide): Likewise.
+       * gcc.c (translate_options, init_spec, set_spec, main): Likewise.
+       * genattrtab.c (make_length_attrs): Likewise.
+       * genopinit.c (gen_insn): Likewise.
+       * genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise.
+       * global.c (global_alloc): Likewise.
+       * local-alloc.c (find_free_reg): Likewise.
+       * mips-tdump.c (print_symbol): Likewise.
+       * mips-tfile.c (parse_def, parse_input): Likewise.
+       * reload1.c (NUM_ELIMINABLE_REGS): Likewise.
+       * stmt.c (expand_nl_goto_receiver): Likewise.
+       * stor-layout.c (set_sizetype): Likewise.
+       * varasm.c (decode_reg_name): Likewise.
+       * toplev.c (decode_f_option, decode_W_option,
+       set_target_switch, print_switch_values): Likewise.
+       (NUM_ELEM): Remove macro.
+       (display_help, main): s/NUM_ELEM/ARRAY_SIZE/
+
+2000-08-24  Greg McGary  <greg@mcgary.org>
+
+       * tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'.
+       (MAIN_NAME_P, main_identifier_node): New macros.
+       * c-common.c (c_common_nodes_and_builtins): Init main_identifier_node.
+       * c-decl.c (start_decl, grokdeclarator, start_function,
+       store_parm_decls, finish_function): Use MAIN_NAME_P.
+       * config/avr/avr.c (function_prologue, function_epilogue): Likewise.
+       * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
+       * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
+       * config/pdp11/pdp11.c (output_function_prologue): Likewise.
+
+2000-08-24  Greg McGary  <greg@mcgary.org>
+
+       * cppfiles.c (actual_directory): Don't write beyond `dir'
+       when it contains "".
+       * real.c (asctoeg): Stay within bounds of etens[][].
+
+2000-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * dependence.c (dependence_string, direction_string,
+       dump_one_node, dump_node_dependence): Hide unused identifiers.
+       (get_low_bound, normalize_coefficients): Match definition to
+       static prototype.
+       (get_one_coefficient): Initialize variables `value0_is_idx' and
+       `value1_is_idx'.
+       (ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED.
+       (ziv_test): Delete variable `idx', use parameter `sub' instead.
+       (direction_merge): Avoid automatic aggregate initialization.
+       (have_dependence_p): Use `src' not `dest' to set `src_idx'.
+       Initialize variables `dest_idx' and `src_idx'.
+       (end_dependence_analysis): Avoid C89 style function definition.
+
+2000-08-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (time_char_table): Don't allow width with %F.
+       (check_format_info): Don't allow "Z" length with scanf.
+
+2000-08-24  Gabriel Dos Reis  <gdr@codesourcery.com>
 
-Sat Sep 21 17:23:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * diagnostic.c (finish_diagnostic): Define.
+       (output_do_printf): Use wrap_text instead of output_add_string.
+       (default_print_error_function): Avoid embedded '\n'.
 
-       * loop.c (struct movable): Add field DEPENDENCIES.
-       (scan_loop): Remove mechanism based on REG_TO_FORCE and
-       MOVABLE_TO_FORCE.  Replace with use of new field.
-       Optionally allocate and initialize reg_single_usage and pass it to
-       count_loop_regs_set.
-       If an invariant register is used exactly once and this is a loop
-       that has a CALL_INSN, try to substitute the definition of the register
-       into its use.
-       (record_excess_regs): Fix typo in sense of checking in NOT_IN_THIS;
-       only check pseudo-regs.
-       (libcall_other_reg): Always return the list of registers used,
-       no matter how many there are.
-       (combine_movable): Only combine two movables if they have the same
-       dependencies.
-       (move_movables): Can only move something if its dependencies have
-       already been moved.
-       (find_single_use_in_loop): New function.
-       (count_loop_regs_set): Delete code that prevents moving a reg that
-       is used as a function address.
-       Call find_single_use_in_loop when required.
-
-Sat Sep 21 16:28:34 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
-
-       * c-typeck.c (build_unary_op):
-       Handle const and volatile lvalues correctly in ADDR_EXPR.
-
-       * output.h (current_function_contains_functions):
-       Just declare it, don't define it.
-
-       * cse.c (exp_equiv_p): New arg EQUAL_VALUES.  All callers changed.
-
-Sat Sep 21 12:59:15 1991  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cplus-parse.y (object_star): New rule.
-       (POINTSAT_STAR): New token.
-       * cplus-lex.c (init_lex): Define entry for MEMBER_REF.
-       GNU C++ now overloads `operator->*' according to ARM semantics.  It
-       no longer attempts to implement operator->* as two distinct
-       operations.
-
-Fri Sep 20 18:08:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-        * combine.c (subst): Don't replace a CC0 or a PC in a SET_DEST if
-        FROM is the same thing.
-       * combine.c (simplify_shift_const): Compute SHIFT_MODE at start of
-       loop and use its width, rather than width of RESULT_MODE, when checking
-       shift count.
+       * diagnostic.h (flush_diagnostic_buffer): Declare.
 
-Fri Sep 20 10:55:55 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-08-23  Alexandre Oliva  <aoliva@redhat.com>
 
-       * cplus-pt.c (uses_template_parms): Handle COMPONENT_REF case.
+       * dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'.
+
+2000-08-23  Hans-Peter Nilsson  <hp@axis.com>
+
+       * Makefile.in (GCC_PASSES): Add specs.
+
+2000-08-23  Jim Wilson  <wilson@cygnus.com>
+
+       * frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New.
+       * config/ia64/frame-ia64.c (__get_personality): Return zero if neither
+       EHANDLER nor UHANDLER bit is set.
+       (__get_except_table): Likewise.
+
+2000-08-23  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/lib1funcs.asm: Replace upper case condition codes
+       with lower case versions.
+
+       * config/arm/arm.h (STRUCT_VALUE): Define.
+       (STRUCT_VALUE_REGNUM): Delete.
 
-Fri Sep 20 00:27:43 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+2000-08-23  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * c-typeck.c (build_modify_expr): When assigning to a cast,
-       convert value first to the type being cast to.
-       (build_unary_expr): Disallow adress of a cast.
+       * cpphash.h (IN_I): New flag for directive table.
+       * cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and
+       #pragma with IN_I.
+       (_cpp_check_directive): If -fpreprocessed, execute directives
+       marked with IN_I.  Issue no warnings in this case.
+       * cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed.
 
-       * explow.c (allocate_dynamic_stack_space):
-       Handle SETJMP_VIA_SAVE_AREA before rounding to STACK_BOUNDARY.
+2000-08-23  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Thu Sep 19 21:13:17 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+       * c-common.c (print_char_table): Allow 'I' flag with %d, %i and
+       %u.
+       (check_format_info): Support printf 'I' flag; warn about it with
+       -pedantic.
 
-       * Makefile.in (dist, gcc-*.tar, gcc-*.tar.Z): New targets.
+2000-08-23  Richard Earnshaw  (rearnsha@arm.com)
 
-       * jump.c (jump_optimize): In handling `if (...) x = a; else x = b;',
-       don't crash if scan reaches start of insns.
+       * arm.c (arm_expand_prologue): Ensure that the stack-adjustment
+       barrier can't be ignored by the alias analysis code.
 
-       * Makefile.in (protoize): Link with getopt.o and getopt1.o.
-       (unprotoize): Likewise.
-       (protoize.o): Depend on getopt.h.  Pass -D options for include dirs.
-       (unprotoize.o): Likewise.
-       (getopt.o, getopt1.o): New targets.
+2000-08-12  Eli Zaretskii  <eliz@is.elta.co.il>
 
-       * protoize.c: Major rewrite by RFG and RMS.
+       * fixinc/inclhack.def (sysv68_string): Fix the Sed script so it
+       works inside fixincl.
 
-Thu Sep 19 09:58:25 1991  Tom Wood  (wood at dg-rtp.dg.com)
+Wed Aug 23 04:55:48 2000  Alexandre Oliva  <aoliva@redhat.com>
 
-       Changes from Ron Guilmette:
-       * dwarfout.c: Keep track of next_block_number correctly.
-       * final.c (final_scan_insn): Don't invoke dwarfout_{begin,end}_block
-       for the outermost block of a function.
+       * simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to
+       simplify_relational_operation() unless both operands are of
+       VOIDmode.
+       * cse.c (fold_rtx): Likewise.
 
-Thu Sep 19 06:16:34 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Aug 22 23:53:27 EDT 2000  John Wehle  (john@feith.com)
 
-       * reload.c (copy_replacements): New function.
-       * optabs.c (gen_move_insn): Don't call gen_lowpart while reloading
-       is in progress; it calls change_address, which wants to make pseudos.
+       * rtlanal.c (rtx_unstable_p): The pic register is stable
+       (within one function) and the actual rtx should be used
+       when checking the registers.
+       (rtx_addr_can_trap_p): Pic memory addresses can't trap.
 
-       * combine.c (subst, case SET): Fix typo in last change.
+       * alias.c (true_dependence, write_dependence_p): Fix
+       bug in previous patch.
 
-       * combine.c (distribute_notes): When searching back for a place that
-       uses a register marked REG_DEAD, check for set and reference separately
-       since reg_overlap_mentioned_p doesn't check SET_DEST.
+       * i386.c (ix86_GOT_alias_set): New.
+       (legitimize_pic_address): Use it.
 
-       * combine.c (simplify_shift_const): Correct handling of shift counts
-       that become out-of-range.
+       * rtlanal.c (rtx_unstable_p): An unchanging MEM is
+       only stable if its address is stable.
+       (rtx_varies_p): An unchanging MEM can't vary if
+       its address doesn't vary.
 
-       * combine.c (expand_field_assignment): Don't allow sharing the RTL
-       for the inner object.
+2000-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * combine.c (can_combine_p, try_combine, record_value_for_reg): Use 
-       reg_overlap_mentioned_p instead in reg_mentioned_p in most places.
-       (distribute_notes, distribute_links): Likewise.
-       (combinable_i3pat): New function, from try_combine.
-       (try_combine): Default I1DEST and I1SRC to zero.
-       New var I1_FEEDS_I3.
-       Delete code to validate I3's pattern from here; call combinable_i3pat
-       instead.
-       If a substitution returns a (clobber (const_int 0)), stop immediately.
-       Don't abort if substitution made new regs; just don't do combine.
-       (subst): If IN_DEST, don't replace a matching object.
-       Don't look at a REG as a SET_DEST.
-       If substitution inside a PARALLEL fails, give up immediately.
-       Return (clobber (const_int 0)) even for a SET whose operand fails.
-       (subst, case SET): Correctly test for low-order SUBREG.
-       Don't use gen_lowpart_for_combine; make SUBREG explicitly since it
-       can't handle modes larger than a word.
-
-       * combine.c (subst, case NOT): Code for (not (ashiftx ..)) was too
-       general; only handle (not (ashift 1 X)).
-       (subst, case NEG): Handle (neg (ashift ...)).
-       (merge_outer_ops): Support NEG.
-       (simplify_shift_const, case NEG): Handle (ashift (neg ...)).
-
-       * cse.c (simplify_binary_operation, case ROTATE, ROTATERT):
-       Rotating all one bits is just all ones.
-
-Thu Sep 19 01:08:14 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
-
-       * cplus-parse.h, cplus-decl.h: Remove trailing comma after the last
-       enum value in enum declarations.
-
-       * cplus-type2.c (digest_init): Set TREE_PURPOSE of union initializer
-       when initializing a union by the first field.
-
-       * cplus-method.c (fndecl_as_string): Test whether DECL_CLASS_CONTEXT
-       is NULL before using it.
-       (dump_aggr_type): New function.  Print aggr type's context when
-       appropriate.
-       (dump_type{_prefix}): Use `dump_aggr_type' to print ENUMERAL_TYPE,
-       UNION_TYPE, and STRUCT_TYPE types.
+       * c-parse.in (unop +): Restrict -Wtraditional warnings to user code.
 
-       * cplus-decl.c (start_decl): Don't use DECL_CLASS_CONTEXT if DECL
-       has no DECL_LANG_SPECIFIC.
+2000-08-22  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
-Wed Sep 18 21:46:32 1991  Michael Meissner  (meissner at osf.org)
+       * vax.h (ASM_SPEC): Pass `-J' to assembler.
+       * x-vax-gcc: New file for bootstrapping with gcc.
+       * x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'.
+       * configure.in: Use x-vax-gcc with gcc.
+       * configure: Rebuilt.
 
-       * mips-tfile.c (cur_proc_value): New static to remember the starting
-       location of the current function.
-       (add_procedure): Save current procedure location.
-       (parse_begin, parse_bend): Subtract cur_proc_value from location.
-       (parse_bend): Correct error messages.
-       The above changes are from bothner@cygnus.com.
+Tue Aug 22 21:21:05 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-       * tm-mips.h (ASM_FINAL_SPEC): Use -mno-mips-tfile to suppress
-       invoking mips-tfile, instead of using -g0.  If -save-temps, preserve
-       the original .o file before mips-tfile is called.  Pass the correct
-       name for the assembler file.
-       (MASK_MIPS_TFILE): New mask for -mmips-tfile, -mno-mips-tfile, set
-       to 0, since that switch is handled entirely in ASM_FINAL_SPEC.
-       (TARGET_FLAGS): Add -mmips-tfile, -mno-mips-tfile switches.
-       (MUST_SAVE_REGISTER): Allow $30 to be saved, even if not being used
-       as the frame pointer.
+       * toplev.c (rest_of_compilation): Rebuild label notes after
+       post-reload splitting pass if new labels have been created.
 
-       * tm-decrose.h (ASM_FINAL_SPEC): Use -mno-mips-tfile to suppress
-       invoking mips-tfile, instead of using -g0.  If -save-temps, preserve
-       the original .o file before mips-tfile is called.  Pass the correct
-       name for the assembler file.
+2000-08-22  Gabriel Dos Reis  <gdr@codesourcery.com>
 
-Wed Sep 18 18:54:15 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * diagnostic.h (output_buffer_state): New macro.
+       * diagnostic.c (diagnostic_for_decl, sorry,
+       default_print_error_function, output_do_verbatim,
+       report_diagnostic, report_problematic_module): Use it.
+       (wrap_text): Tweak.
+       (output_format): Use wrap_text instead of maybe_wrap_text.
 
-       * cplus-*.c: Use DECL_CLASS_CONTEXT to figure out where a (static or
-       non-static) member function is declared, rather than trying to
-       divine the info from TYPE_METHOD_BASETYPE of the function's type.
+2000-08-22  Nick Clifton  <nickc@redhat.com>
 
-Wed Sep 18 15:38:52 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro.
+       Common code for ARM divide and modulus functions.
+       (THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of
+       ARM_DIV_MOD_BODY.
+       (FUNC_END): New macro: Common code at the end of the division and
+       modulo functions.
+       (THUMB_FUNCTION_START): New macro:  Common code at the start of
+       Thumb functions.
+       (__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros.
 
-       * c-decl.c (grokdeclarator): Error if nested function is extern.
+Tue Aug 22 20:34:52 2000  Kaz Kojima <kkojima@rr.iij4u.or.jp>
 
-Wed Sep 18 02:41:08 1991  Per Bothner  (bothner at cygnus.com)
+       * config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing.
 
-       * cplus-typeck.c (convert_arguments):  Don't crash if the
-       formal parameter type is unknown (type==NULL) and the
-       actual is a function.  Do the default instead.
+       * config/sh/sh.c (prepare_scc_operands): Apply force_reg to
+       sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
+       const0_rtx.
 
-Tue Sep 17 22:33:30 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-08-22  Nick Clifton  <nickc@redhat.com>
 
-       * c-typeck.c (check_format):
-       No warning if types match except for signedness.
+       * config/arm/lib1funcs.asm (__umodsi3): Before performing any
+       restorative additions, test for bottom bits of IP being set,
+       rather than relying upon the RORs not matching.
+       (__modsi3): Ditto.
 
-Tue Sep 17 10:56:46 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+2000-08-22  David Edelsohn  <edelsohn@gnu.org>
 
-       * cplus-decl.c (pushtag): When creating a TYPE_DECL that's in class
-       scope, allocate the space needed for DECL_CLASS_CONTEXT.
+       * aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or
+       text_section() as appropriate instead of emitting text csect
+       pseudo-op directly.
+       (TEXT_SECTION_ASM_OP): Only require default 32-bit alignment.
+       (UNIQUE_SECTION): Define macro.
+       (ASM_OUTPUT_SECTION_NAME): Define macro.
+       * rs6000.c (rs6000_override_options): Disable -ffunction-sections
+       on AIX if debugging and -fdata-sections always.
 
-       * cplus-search.c (get_abstract_virtuals): If the BASE is not on the
-       main spine, look at the virtuals that come from the most derived
-       class that has BASE on its main spine.
-       * cplus-tree.h (VF_*): New macros for dealing with VFIELDS.
+2000-08-22  Steven King  <sxking@uswest.net>
 
-Mon Aug 16 12:09:32 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+       * config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double
+       machinery.
+       (LDBL_MAX): Same here.
 
-       * make.com: Fix typo.
+2000-08-22  Richard Henderson  <rth@cygnus.com>
 
-Tue Sep 17 15:13:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * flow.c (tidy_fallthru_edge): Update b->end properly.
 
-       * c-common.c (shorten_compare): Always compute args with side effects.
+2000-08-22  Stan Cox  <scox@redhat.com>
 
-       * varasm.c (decode_addr_const): Use SYMBOL_REF unchanged in 1st switch.
+       * Makefile.in (OBJS): Add dependence.o.
+       * dependence.c: New file.
 
-       * varasm.c (output_addressed_constants):  Handle a CONSTRUCTOR in
-       an ADDR_EXPR correctly.
-       
-       * cccp.c (rescan): For unterm string, mention lineno of first newline.
+2000-08-22  Alexandre Oliva  <aoliva@redhat.com>, John David Anglin  <dave.anglin@nrc.ca>
 
-       * fold-const.c (fold): Call optimize_bit_field_compare in constant case
-       even if not optimizing.
+       * calls.c (check_sibcall_argument_overlap_1): Adjust for
+       ARGS_GROW_DOWNWARD.
+       (check_sibcall_argument_overlap): Likewise.
 
-       * c-decl.c (finish_function): Don't clear DECL_INITIAL if nested.
-       (pop_c_function_context): Do it here instead.
+2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
 
-Tue Sep 17 11:30:32 1991  Michael Meissner  (meissner at osf.org)
+       * invoke.texi (SH Options): Document -m4-nofpu,
+       -m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
+       -mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
 
-       * collect-osf.c (scan_prog_file): Recognize alternate forms for the
-       constructor and destructor names.
+2000-08-22  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * osf-main.c (_entry): Provide an alternative function (_entry) to
-       start up the static constructors/destructors.
+       * c-common.c (check_format_info): Give the 'some locales' warning
+       for strftime %Ey rather than the unconditional 'only last 2 digits
+       of year' one.
 
-Mon Sep 16 05:35:21 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-08-22  Richard Henderson  <rth@cygnus.com>
 
-       * combine.c (simplify_shift_const): Correct errors involving modes
-       to use for shift.
+       * alias.c (init_alias_analysis): Do not register
+       struct_value_incoming_rtx or static_chain_rtx as pointing
+       to stack memory.
 
-Sun Sep 15 19:13:58 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Aug 22 01:44:43 2000  Jeffrey A Law  (law@cygnus.com)
 
-       * reload1.c (reload_as_needed): Remove code that deletes insns that
-       create equivalences.
-       (reload): Put it here so it is executed even if reload_as_needed
-       isn't called.
+       * protoize.c (munge_compile_params): Fix typo and formatting buglets.
 
-Sun Sep 15 17:13:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-08-22  Gabriel Dos Reis  <gdr@codesourcery.com>
 
-       * Makefile.in (GNULIB2_CFLAGS): Include GCC_CFLAGS.
-       (ENQUIRE_CFLAGS): Likewise (in place of plain CFLAGS).
+       * diagnostic.h (report_problematic_module): Declare.
+       * diagnostic.c (report_problematic_module): New function.
+       (report_error_function): Tweak.
 
-       * genattrtab.c (main): Don't index by id->insn_code if negative.
+Tue Aug 22 02:31:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * genrecog.c (write_tree_1): Avoid pos[depth-1] if depth is 0.
+       * stmt.c (expand_goto_internal, fixup_gotos): Only check
+       TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
 
-Sun Sep 15 15:19:16 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+2000-08-21  Richard Henderson  <rth@cygnus.com>
 
-       * make.com: Modify to allow direct submission to a batch queue.
-       Also, add instructions to build GNU C++ as well as GNU CC.
+       * flow.c (calculate_global_regs_live): Mark frame pointer live
+       everywhere before reload.
 
-       * cccp.c (hack_vms_include_specification): If [000000] is present in
-       (implying a physical device or a rooted logical) try to open it.
-       If the open fails, then remove the [000000] (making the name suitable
-       for use with a non-rooted logical name) and return that.
+2000-08-21  Jim Wilson  <wilson@cygnus.com>
 
-Sun Sep 15 15:12:41 1991  Michael Meissner  (meissner at osf.org)
+       * real.c (ereal_from_int, ereal_from_uint, significand_size): Handle
+       INTEL_EXTENDED_IEEE_FORMAT.
+       (toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support.  Unconditionally
+       clear last two bytes of output FP value.
 
-       * make-mips (Makefile): Remove rule building Makefile, since
-       Makefile.in now has one.
+2000-08-21  Graham Stott  <grahams@cygnus.co.uk>
 
-       * make-decrose (Makefile): Remove rule building Makefile, since
-       Makefile.in now has one.
+       * config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL.
 
-Sun Sep 15 14:12:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-08-21  Jakub Jelinek  <jakub@redhat.com>
 
-       * Makeflags (SYSCALLS.c.X): Use CPPFLAGS and INCLUDES.
+       * unroll.c (loop_find_equiv_value): If ret is modified between
+       insn and loop_start, ret might not be equivalent to reg.
 
-Sun Sep 15 12:03:35 1991  Michael Tiemann  (tiemann at cygnus.com)
+2000-08-21  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * cplus-decl.c (poplevel): Match change made to c-decl.c on Oct 3,
-       1989.
-
-Sun Sep 15 06:52:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-common.c (init_dollar_format_checking,
+       maybe_read_dollar_number, finish_dollar_format_checking): New
+       functions.
+       (dollar_arguments_used, dollar_arguments_count,
+       dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned):
+       New variables.
+       (check_format_info): Support $ formats for scanf and printf width
+       and precision.  Always increment format_chars to advance past the
+       '*' of precision, not just when the format parameters are
+       available to check.
 
-       * caller-save.c (save_call_clobbered_regs): Deaden registers mentioned
-       in REG_UNUSED notes.
-       (clear_reg_live): Verify that note refers to a REG.
-       (choose_hard_reg_mode): Rewrite to not use specific modes and to
-       handle the case where separate CCmode registers exist.
+2000-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Sat Sep 14 13:03:29 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * mips.c (block_move_loop, expand_block_move,
+       function_arg_partial_nregs, save_restore_insns, function_prologue,
+       mips_expand_prologue, RA_MASK): Avoid using the `U' integer
+       constant suffix.
+       (function_arg_advance, function_arg): Match argument to format
+       specifier `%p'.
+
+2000-08-21  Nix  <nix@esperi.demon.co.uk>
+
+       * gcc.c (do_spec_1): Implement %j spec flag.
+       Remove dead comment.
+
+       * gcc.texi (The Configuration File): Document HOST_BIT_BUCKET.
+       * system.h (HOST_BIT_BUCKET): Default to "/dev/null".
+       * config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL".
+       * config/i386/xm-os2.h, config/winnt/winnt.h: Likewise.
+
+       * protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if
+       writable) instead of hardcoded value.
+
+       * toplev.c (compile_file): Output to a file even if -fsyntax-only.
+
+       * gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill
+       MKTEMP_EACH_FILE.
+
+       * gcc.c (cc1_options): Do not process -o or run the assembler if
+       -fsyntax-only.
+       * objc/lang-spec.h: Likewise.
+
+2000-08-21  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * fixinc/fixincl.c (fix_with_system): Pipe the output of
+       "external" fixes through `cat', to avoid truncating the input
+       file by redirection.
+
+2000-08-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.md (lea_general_1): Copy insn condition to split
+       condition.
+       (lea_general_2, lea_general_3): Likewise.
+
+2000-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional
+       warnings to user code.
+
+       * c-lex.c (readescape, yylex): Likewise.
+
+       * c-typeck.c (store_init_value, process_init_element): Likewise
+       (c_expand_start_case): Format.
+
+2000-08-18  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+       * mips/linux.h (LINK_SPEC): Use %(endian_spec).
+
+       * mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC
+       and linker_endian_spec to endian_spec.
+       (ENDIAN_SPEC): Add %{EB} and %{EL}.
+       (LINK_SPEC): Remove %{EB} and %{EL}.
+       (ASM_SPEC): Likewise.  Use %(endian_spec).
+
+2000-08-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-tree.h (flag_hosted): Move declaration from here...
+       * c-common.h (flag_hosted): ... to here.
+       (flag_noniso_default_format_attributes): New declaration.
+       * c-decl.c (flag_noniso_default_format_attributes): New variable.
+       (c_decode_option): Set it appropriately for options choosing
+       language standard variant.
+       * c-common.c (init_function_format_info): Only provide default
+       format attributes if flag_hosted.  Only provide the gettext
+       formats if flag_noniso_default_format_attributes.  Update
+       comments.
+       (check_format_info): Disable treatment of %a as a scanf flag in
+       C99 mode.
+
+2000-08-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (scan_char_table): Add 'w' to flags for all formats
+       except 'n'.
+       (check_format_info): Set 'wide' for scanf format widths.  Warn for
+       a zero scanf width.  Make the check for writing into a constant
+       object at the first level of indirection; at later levels, warn if
+       any type qualifiers are encountered.
+
+Mon Aug 21 07:41:12 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * reload.c (reload_inner_reg_of_subreg): New function broken out of
+       push_reload.
+       (push_reload): Use reload_inner_reg_of_subreg.
+       (combine_reloads): Do not combine reloads if the input reload
+       is a SUBREG in which the inner part will need reloading.
 
-       * all cplus-* files: Change {ASSOC,assoc} to {BINFO,binfo} where
-       appropriate.
-       cplus-tree.h, tree.h: Change name of CLASSTYPE_ASSOC to TYPE_BINFO.
-       Change names of CLASS_ASSOC_* to TYPE_BINFO_*.
-       all cplus-* files: FUNCTION_DECLs that are class methods now have
-       their DECL_VCONTEXT stored in the DECL_CONTEXT.
-       (lang_decl): The VCONTEXT field is now gone.
-       (lang_decl): _DECL nodes in class scope now record the class as a
-       context in the DECL_CLASS_CONTEXT field.
-       tree.h (TYPE_BINFO): Renamed TYPE_BASETYPES to this.
-       dbxout.c (dbxout_type): User of TYPE_BASETYPES changed.
-       (BINFO_{VALUE,OFFSET,VTABLE,VIRTUALS,BASETYPE{S}}): New macros
-       inherited from GNU C++.
-       (DECL_{VINDEX,FCONTEXT}): Ditto.
-       (TREE_VIA_{PUBLIC,VIRTUAL}): Ditto.
+       * global.c (global_alloc): Avoid passing dumpfile argument to
+       reload routines.
+       * toplev.c (rest_of_compilation): Likewise.
+       * reload.h (reload): Remove dumpfile argument.  Callers changed.
+       (debug_reload, debug_reload_to_stream): Move prototypes here.
+       * rtl.h  (reload): Remove dumpfile argument.
+       * reload.c (debug_reload): Remove prototype.
+       (debug_reload_to_stream): Likewise.
+       * reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file
+       instead.
 
-Sat Sep 14 09:14:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-08-21  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
 
-       * rtlanal.c (reg_set_p): Remove abort for MEM; reg_overlap_mentioned_p
-       now handles that case correctly.
-       REG is set if it is really a MEM and this is a CALL_INSN.
+       * diagnostic.c (context_as_prefix): Export.
+       (need_error_newline): Remove.
+       (lang_diagnostic_starter, lang_diagnostic_finalizer): New objects.
+       (error_module_changed, record_last_error_module,
+       error_function_changed, record_last_error_function): New functions.
+       (initialize_diagnostics): Default initialize
+       lang_diagnostic_starter, lang_diagnostic_finalizer.
+       (init_output_buffer): Tweak.
+       (file_name_as_prefix): New function.
+       (announce_function, default_print_error_function,
+       report_error_function, set_diagnostic_context): Tweak.
 
-Sat Sep 14 01:34:39 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+2000-08-21  Richard Earnshaw  <rearnsha@arm.com>
 
-       * configure (vax-ultrix*): New alternative.
+       * flow.c (init_propagate_block_info): Handle SUBREG in a jump
+       condition expression.
 
-       * reload1.c (choose_reload_regs): Always ignore cancelled reloads.
+2000-08-20  Richard Henderson  <rth@cygnus.com>
 
-       * real.h (atof): Alternate declaration on MIPS.
+       * flow.c (merge_blocks_nomove): Don't seek back past the bb note.
 
-Thu Sep 12 18:55:06 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
+2000-08-20  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * optabs.c (expand_binop): Fix carry propagation code for multiple
-       words.
+       * cppinit.c (cpp_init): Set global flag when called.
+       (cpp_reader_init): Bomb out if cpp_init hasn't been called.
 
-       * tm-*.h: Fix systematic typo in comment.
+Sun Aug 20 01:41:35 2000  Dennis Chernoivanov  <cdi@sparc.spb.su>
 
-Thu Sep 12 18:23:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * cpplex.c (cpp_scan_buffer): Move `output_line_command' just
+       before `process_directive' so that newlines won't be missed
+       for directives.
+       (cpp_printf): Increment `print->lineno' when newline is emitted.
 
-       * gvarargs.h, va-mips.h, va-sparc.h (_va___list): Was __va_list.
+       * cppmain.c (cb_ident): Likewise.
+       (cb_define): Likewise.
+       (cb_undef): Likewise.
+       (cb_include): Likewise.
+       (cb_def_pragma): Likewise.
+       (dump_macros_helper): Likewise.
 
-Thu Sep 12 12:53:36 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
+2000-08-20  Richard Henderson  <rth@cygnus.com>
 
-       * cpp.texinfo: (titlepage) use @title/@subtitle/@author
-       (copyright page) add note re future C manual; add 1991 to copyrights
-       (general) prepare for easy @smallbook formatting; clarification on
-       strings; less passive; add AMD29K predefined macros; update -d refs,
-       add -dM; add examples; add -pedantic-errors; add -MD, -MMD, -H; fix
-       minor typos.    
+       * config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc
+       assigned before a loop.
 
-Thu Sep 12 07:58:11 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
+       * config/ia64/ia64.md (ashlsi3): Zero extend the shift count.
+       (ashrsi3, lshrsi3): Likewise.
 
-       * m68k.md (umulsidi3, mulsidi3): New DEFINE_EXPANDs and DEFINE_INSN
-       recognizers.
+2000-08-20  Gabriel Dos Reis  <gdr@codesourcery.com>
 
-Wed Sep 11 22:11:17 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-lang.c: #include diagnostic.h
+       (c_tree_printer): New function.
+       (lang_init): Initialize lang_printer.
 
-       * a29k.md, romp.md: Update calling sequence to emit_no_conflict_block.
+       * Makefile.in (c-lang.o): Depends on diagnostic.h
 
-Wed Sep 11 21:06:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-08-20  Gabriel Dos Reis  <gdr@codesourcery.com>
 
-       * fold-const.c (const_binop): Fix last change for ceil and round.
+       * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic.
 
-       * gvarargs.h, va-mips.h, va-sparc.h (va_list): Now a macro again.
-       (__va_list): This is the typedef.
+       * diagnostic.c (default_diagnostic_starter,
+       default_diagnostic_finalizer): New functions.
+       (diagnostic_for_asm, diagnostic_for_decl): Tweak.
+       (pedwarn, pedwarn_with_file_and_line, error,
+       error_with_file_and_line, fatal, warning,
+       warning_with_file_and_line): Adjust call to report_diagnostic.
+       (report_diagnostic): Rework.
+       (set_diagnostic_context): New function.
 
-Wed Sep 11 16:52:20 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * diagnostic.h (struct diagnostic_context): New data structure.
+       (diagnostic_message, diagnostic_argument_list,
+       diagnostic_file_location, diagnostic_line_location,
+       diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer,
+       diagnostic_finalizer, diagnostic_auxiliary_data): New macros.
+       (set_diagnostic_context): Declare.
+       (report_diagnostic): Change prototype.
 
-       * c-typeck.c (build_binary_op_nodefault, RSHIFT_EXPR): Change
-       "shift count" warnings changed to errors back to warnings.
+Sun 20-Aug-2000 09:25:45 BST  Neil Booth  <NeilB@earthling.net>
 
-       * cse.c (canon_hash): Also do not record global_regs if
-       SMALL_REGISTER_CLASSES.  Makes the code match the comment.
+       * fix-header.c (main): Initialize cpplib.
 
-       * cexp.y (yylex): Add sprintf call to create error message,
-       because yyerror does not call *printf itself.
+2000-08-19  Michael Meissner  <meissner@redhat.com>
 
-       * gcc.c (default_compilers): Support new option -traditional-cpp,
-       which passes traditional to cpp, but not to cc1.
-       * gcc.texinfo: Document it.
+       * ifcvt.c (find_if_block): Do not assume that a THEN block has any
+       instructions in it before checking for indirect jumps.
 
-       * sched.c (INSN_LUID): New variable.  Give instructions logical
-       numbers, which can be used when sorting, to make the scheduling
-       algorithm more stable.
-       (sched_analyze): Initialize it.
-       (rank_for_schedule): Sort on it.
-       (schedule_insns): Alloca(te) it and (b)zero it.
-       (priority):  New priority algorithm.  Don't include latency of
-       current insn, and subtract one from total priority calculated.
-       Makes the scheduling algorithm more stable, and doesn't hurt
-       performance.
+       * ifcvt.c (find_if_block): Do not consider a THEN block that ends
+       in an indirect jump as a potential for conditional execution.
 
-       * sched.c (swap_sort): Must pass &insn to rank_for_schedule, not a
-       pointer into the array being sorted.
+       * d30v.h (d30v_init_expanders): Don't declare here.
+       * d30v-protos.h (d30v_init_expanders): Declare here with a valid
+       prototype.
 
-       * cplus-lex.c (do_identifier): Put function return type on
-       preceeding line.
+Sat 19-Aug-2000 21:11:45 BST  Neil Booth  <NeilB@earthling.net>
 
-Wed Sep 11 05:51:00 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * cpp.texi: Add @section for assertions.
 
-       * cplus-typeck.c (build_binary_op_nodefault): If OP0 or OP1 is a
-       zero pointer, canonicalize it to NULL_POINTER_NODE.
+Sat Aug 19 12:37:08 EDT 2000  John Wehle  (john@feith.com)
 
-       * expr.c (preexpand_calls): Don't preexpand calls inside a
-       WITH_CLEANUP_EXPR.  The gestalt of a WITH_CLEANUP_EXPRs must be
-       understood at the top level.
+       * loop.c (scan_loop): Use CONST_CALL_P instead of
+       checking for REG_LIBCALL / REG_RETVAL.
 
-       * cplus-tree.c (build_cplus_new): When building cleanup, make
-       the call to the cleanup nonvirtual.
+Sat Aug 19 09:18:47 2000  Jeffrey A Law  (law@cygnus.com)
 
-Tue Sep 10 20:28:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * reload1.c (reload_as_needed): Accept dumpfile argument,
+       pass it to emit_reload_insns.
+       (emit_reload_insns): Add new dumpfile argument.  If non-null
+       then dump the reloads for each insn into the dumpfile.
+       (reload): Pass dumpfile to reload_as_needed.
 
-       * fold-const.c (const_binop): Shortcut for dividing single-word
-       sizes
+       * invoke.texi: Clean up linux-gnu vs linux comments.
 
-       * Makefile.in (varasm.o): Depend on insn-codes.h.
+2000-08-19  Richard Henderson  <rth@cygnus.com>
 
-Tue Sep 10 19:29:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/ia64/ia64.c (reg_or_5bit_operand): New.
+       (ia64_depz_field_mask): New.
+       * config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New.
+       (PREDICATE_CODES): Update.
+       * config/ia64/ia64.md: Update commentary.
+       (depz_internal): New.
+       (ashlsi3): Implement directly.
+       (ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants.
+       (ashldi3): Use shladd.
+       * config/ia64/ia64-protos.h: Update.
 
-       * optabs.c (expand_binop): Try to open-code muldi3 if we have mulsi3
-       and mulsidi3.  Idea due to tege@sics.se.
+2000-08-18  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * cse.c (fold_rtx, case MEM): Don't call find_best_addr when insn == 0.
-       Pass 0 to recursive call that tries to fold the address.
+       * toplev.c (independent_decode_option): Always process -g.
+       Remove third argument, now unused.  Adjust caller to match.
 
-Tue Sep 10 18:16:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-08-18  Richard Henderson  <rth@cygnus.com>
 
-       * m68k.md (fix_trunc*):  Call CC_STATUS_INIT, since these patterns
-       do not leave the condition codes in the expected state.
+       * combine.c (make_compound_operation): Break after creating
+       the extraction.
 
-       * tm-ultrix.h (CPP_PREDEFINES): Add __vax.
+2000-08-18  Zack Weinberg  <zack@wolery.cumb.org>
 
-Tue Sep 10 04:12:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * cpplib.c (cpp_register_pragma_space): Just return if the
+       namespace is already registered.
 
-       * cplus-decl.c (finish_decl): Fix bug where the conversion from
-       WITH_CLEANUP_EXPR -> init/cleanup pair was not setting bits of
-       CURRENT_BINDING_LEVEL.
-       (init_decl_processing): Set FLAGS_THIS_IS_VARIABLE before calling
-       `init_exception_processing'.
+2000-08-18  Ray Essick <essick@ddna.labs.mot.com> & Nick Clifton  <nickc@redhat.com>
 
-Mon Sep  9 22:09:27 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * config/mcore/mcore.md (rotlsi3): Allow allow rotations by a
+       constant amount.  Do not generate ROTL instruction.
 
-       * cplus-tree.h (prev_class_type): Delete this bogus definition.
+Fri Aug 18 16:22:20 2000  Alexandre Oliva  <aoliva@redhat.com>
 
-       * cplus-class.c (instantiate_type): Don't complain about no static
-       member functions being found until we have been through all the
-       baselinks.
+       * config/sh/elf.h: Do not include sh/sh.h.
+       * config/sh/rtems.h: Likewise.
+       * config/sh/rtemself.h: Do not include sh/elf.h.
+       * configure.in: Get them included with `tm_file's.
+       * configure: Rebuilt.
 
-       * cplus-dbxout.c (dbxout_type_methods): Don't write symbol
-       information about methods that were generated by the compiler.
-       (??? Is this really the right thing to do?)
+       * config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify.
+       * config/sh/sh.c (fpscr_set_from_mem): Use them.
 
-       * cplus-decl2.c (lang_decode_option): Turn on warn_uninitialized if
-       -Wall is the argument.
+Fri Aug 18 14:23:18 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-Mon Sep  9 19:05:01 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * stor-layout.c (compute_record_type): Don't use mode of single
+       field as mode of record if not integer mode of same type.
 
-       * gcc.c (default_compilers): For .S files, pass -traditional not
-       -ftraditional to cpp.
+       * regmove.c (perhaps_ends_bb_p): New function.
+       (optimize_reg_copy_1, optimize_reg_copy_2): Call it.
+       (optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise.
+       (fixup_match_1): Likewise.
+       (fixup_match_1, combine_stack_adjustments_for_block): Add casts to
+       avoid signed/unsigned warnings.
 
-Mon Sep  9 15:01:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * function.c (fixup_var_refs_1, case MEM): Update CODE after
+       updating X.
 
-       * fold-const.c (optimize_bit_field_compare): Distinguish NE from EQ.
+Fri 18-Aug-2000 18:33:45 BST  Neil Booth  <NeilB@earthling.net>
 
-       * explow.c (allocate_dynamic_stack_space):
-       Handle SETJMP_VIA_SAVE_AREA by allocating extra space.
+       * cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS.
+       (_cpp_trigraph_map): Declaration moved from cpplex.c
 
-       * cplus-parse.y (empty_parms): Change inline to __inline.
+       * cppinit.c: Define _cpp_trigraph_map.  Use UCHAR_MAX + 1
+       instead of 256.  Use consistent test for designated initializers.
+       (cpp_init): Initialize trigraph_map.
+       (initialize_standard_includes, parse_option):  Use memcmp
+       instead of strncmp.
 
-Mon Sep  9 15:16:24 1991  Torbjorn Granlund  (tege at zevs)
+       * cpplex.c (init_trigraph_map): Remove.
+       (trigraph_ok, trigraph_replace, lex_line): Refer to
+       _cpp_trigraph_map.
 
-       * longlong.h (m68000 umul_ppmm): Clobber one register less by
-       slightly rearranging the code.
+       * cpplib.c (str_match, WARNING, ERROR, ICE): Delete.
+       (do_unassert): Remove unused "next" local.
 
-Sun Sep  8 16:47:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype.
 
-       * cccp.c (main, fatal): Delete the deps output file if error.
-       (deps_file): New variable.
+2000-08-18  Emmanuel Marty  <emarty@suntech.fr>
 
-       * expr.c (convert_move): Update call to emit_no_conflict_block.
+       * arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return
+       insn.
 
-       * expmed.c (CEIL): New macro.
+2000-08-17  Richard Henderson  <rth@cygnus.com>
 
-       * optabs.c (expand_binop): Don't do add by words for more than 2 words.
+       * config/ia64/ia64.c (spill_restore_mem): Handle emitting
+       the first insn in a sequence.
 
-       * c-typeck.c (build_modify_expr): Test TREE_READONLY of lhs.
+Thu Aug 17 22:40:05 EDT 2000  John Wehle  (john@feith.com)
 
-Sun Sep  8 01:17:47 1991  Torbjorn Granlund  (tege at zevs)
+       * alias.c (true_dependence, write_dependence_p): A read
+       involving a label_ref or the constant pool doesn't create
+       a dependency.
 
-       * sparc.md (sgtu, sleu): Test for SUBREG as well as REG.
+       * rtl.h (unchanging): Improve documentation.
 
-Sun Sep  8 07:04:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-08-17  Rodney Brown  <RodneyBrown@mynd.com>
 
-       * optabs.c (emit_no_conflict_block, emit_libcall_block): Rework to
-       accept a list of insns rather than a SEQUENCE.
-       (expand_binop, expand_unop, expand_float, expand_fix): Change calls to
-       above functions.
-       * emit-rtl.c (add_insn): No longer static.
-       * calls.c (expand_call): Change call to emit_libcall_block.
+       * cse.c (insert_regs): Remove unused `regno'.
 
-       * cse.c (fold_rtx): Fix typo with parens in associative operation case.
+2000-08-17  Neil Booth  <NeilB@earthling.net>
 
-Sat Sep  7 21:49:46 1991  Jim Wilson  (wilson at cygint.cygnus.com)
+       * (cppinit.c) merge_include_chains: Use remove_dup_dir,
+       remove_dup_dirs.  If qtail == brack, remove brack not
+       qtail.
+       (remove_dup_dir, remove_dup_dirs): New functions.
 
-       * expmed.c (store_bit_field): In the code handling bitfields
-       larger than the word size: set fieldmode to size large enough
-       to hold bitfield; new variable orig_bitsize; don't let
-       bit_offset calculation for WORDS_BIG_ENDIAN hosts go negative.
-       (extract_bit_field): Likewise.
-       (store_split_bit_field): For second word, strip of SUBREG if any
-       before calling operand_subword.  Offset for second word if in
-       memory is the next UNITS_PER_WORD aligned address.
-       (extract_split_bit_field): Likewise.
+2000-08-17  Neil Booth  <NeilB@earthling.net>
 
-       * expr.c (emit_move_insn): When emitting multiple move insns in
-       the loop, remember last insn emitted so that it can be returned.
+       * cppinit.c (cpp_cleanup): Free include dir chains.
+       * cpplib.c (do_undef): Let _cpp_free_definition make the node void.
+       (do_unassert): Free the assert with _cpp_free_definition.
+       * cppmacro.c (_cpp_free_definition): Free memory allocated for
+       assertions.  Make the node a T_VOID node.
 
-       * tree.c (enum tree_node_kind): Add new entry vec_kind to
-       represent TREE_VECs.
-       (tree_node_kind_names): Add name "vecs" for it.
-       (make_node): Handle TREE_VECs in the 'x' case.
-       (make_tree_vec): Use vec_kind instead of x_kind.        
+2000-08-17  Neil Booth  <NeilB@earthling.net>
 
-Sat Sep  7 16:25:50 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * cppinit.c (path_include, append_include_chain):
+       Remove 2nd parameter (struct cpp_pending *).
+       (path_include, initialize_standard_includes, cpp_handle_option):
+       Update callers appropriately.
+       (cpp_handle_option): Use pend.
 
-       * cplus-call.c (ideal_candidate): Prefer non-const member functions
-       to const member functions when there is a choice.
-       * cplus-tree.c (propagate_assoc_offsets): Moved here from
-       cplus-class.c
-       (copy_nonvirtual_children): Deleted.
+2000-08-17  Neil Booth  <NeilB@earthling.net>
 
-       * cplus-class.c, cplus-tree.c (layout_{v}basetypes,
-       propagate_assoc_offsets, finish_base_struct): New offset
-       computation/hierarchy implementation.  Now the lattice contains
-       vbasetypes with zero-based offsets (and children from these types
-       assume they are zero-based).  The CLASSTYPE_VBASETYPE list contains
-       vbasetypes with hierarchy-dependent offsets (and children from these
-       types have hierarchy-dependent offsets).  Note that now, virtual
-       baseclasses are fully shared in the hierarchy.  The still are not
-       shared at all in the CLASSTYPE_VBASETYPE list.
-       * cplus-decl.c (xref_tag): Share vbasetypes in the lattice.
-       * cplus-tree.h (lang_type): Add CLASSTYPE_VASSOC field so we can
-       share virtual basetypes in inheritance lattices.
+       * cppinit.c (sort_options): Remove, put functionality in
+       cpp_init.
+       (cpp_init): New.
+       (initialize_builtins): Free memory.
+       (cpp_start_read): Move init_IStable to cpp_init.
 
-Sat Sep  7 13:07:12 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * cpplib.h (cpp_init): New prototype.
+       * cppmain.c (main): Call cpp_init.
 
-       * c-parse.y (cast_expr): Supply OFWHAT arg to digest_init.
-       * c-typeck.c (error_init, pedwarn_init): New functions.
-       (digest_init, process_init_constructor): Use them.
+Thu Aug 17 13:20:32 EDT 2000  John Wehle  (john@feith.com)
 
-       * out-m68k.c (output_function_prologue):  Add a negative constant
-       to sp rather than adding a positive one, since this is faster.
+       * rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
+       (rtx_unstable_p, rtx_varies_p): Process vectors.
 
-       * out-m68k.c (output_function_prologue, output_function_epilogue):
-       Use word sized immediates when possible.
+2000-08-16  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
-       * Makefile.in (install-dir): Don't die if can't create mandir.
-       (install-man): Don't put . in front of manext.
-       (manext): Add . to the value.
-       (mandir): Don't use manext.
+       * config/sh/lib1funcs.asm (GLOBAL): Define.  Use for all
+       references to GLOBAL symbols.  Use LOCAL where appropriate.
 
-       * genextract.c (main): Don't use __builtin_memcpy in GCC 1.
+2000-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Fri Sep  6 19:29:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld.  Always
+       use t-aix41 when host == target.
 
-       * caller-save.c (emit_mult_save, emit_mult_restore): Copy constant to
-       TEMPREG and add integer, instead of the opposite order, which might
-       not work on some machines.
+2000-08-16  Richard Henderson  <rth@cygnus.com>
 
-       * fold-const.c (fold): Ensure we always return an object of the
-       desired type.
+       * reload.c (push_secondary_reload): Revert last change.
+       If we use a reload_in/out pattern, make the when the same
+       as the primary reload.
+       (find_reloads): Likewise.
 
-       * reload1.c (reload, reload_as_needed): reload_in_progress must be
-       set during caller-save processing.
+2000-08-16  Manfred Hollstein  <manfredh@redhat.com>
 
-Fri Sep  6 18:36:55 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * configure.in (libstdcxx-v3): Fix test.
+       * configure: Regenerate.
 
-       * out-sparc.c (leaf_reg_{remap,backmap}): Define mapping for
-       %o7/%i7, since user-defined registers might reference these.
-       (legitimize_pic_address): Set CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE
-       if ORIG is a LABEL_REF.  For CONST_INT case, don't call force_reg
-       during reload, use REG if available otherwise abort.
+Wed Aug 16 08:10:32 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-Fri Sep  6 17:16:05 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * calls.c (calls_function_1, expand_call): Only test
+       TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
+       * function.c (thread_prologue_and_epilogue_insns): Likewise.
 
-       * configure: Default $cpu_type properly.
+2000-08-16  Richard Henderson  <rth@cygnus.com>
 
-Fri Sep  6 05:50:58 1991  Ken Raeburn  (raeburn at watch.com)
+       * combine.c (simplify_shift_const): Revert previous two
+       changes.  If SHIFT_COUNT_TRUNCATED, crop the shift count
+       before the main loop.
 
-       * genextract.c: Generate one large function with a switch, instead
-       of a table of small functions to call.  Use __builtin_memcpy under
-       GNU C.
+2000-08-15  Richard Henderson  <rth@cygnus.com>
 
-       * genoutput.c: For "@" constructs, now generates a lookup table per
-       insn, instead of a switch.
+       * combine.c (simplify_shift_const): Bound shift count when
+       combining shifts.
 
-Fri Sep  6 15:40:54 1991  Tom Wood  (wood at dg-rtp.dg.com)
+Tue Aug 15 17:33:05 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * cccp.c (skip_if_group): Deal with invalid directives the same
-       way handle_directive does.
+       * calls.c (ECF_SP_DEPRESSED): New macro.
+       (calls_function_1): Treat calling sp-depressed function as alloca.
+       (emit_call_1): Don't adjust SP if calling sp-depressed function.
+       (expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
+       If sp-depressed, ensure block saves and restores SP.
+       * fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
+       for INTEGER_TYPE.
+       * function.c (keep_stack_depressed): New function.
+       (thread_prologue_and_epilogue_insns): Call it.
+       * print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
+       to print DECL_OFFSET_ALIGN.
+       Print no-force-blk and transparent-union flags properly.
+       * stmt.c (expand_goto_internal): Don't restore stack if last block
+       and function returns with sp depressed.
+       (fixup_gotos): Likewise.
+       (save_stack_pointer): New function, from code in expand_decl.
+       (expand_decl): Call new function.
+       * tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
+       (TYPE_RETURNS_STACK_DEPRESSED): New macro.
+       (save_stack_pointer): New declaration.
+
+       * diagnostic.c (fatal_function): New variable.
+       (set_fatal_function): New function.
+       (fatal): Call it.
+       * diagnostic.h (set_fatal_function): New declaration.
+
+2000-08-15  William Cohen  <wcohen@redhat.com>
+
+       * config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined.
+       (PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info.
+       (DWARF2_ASM_LINE_DEBUG_INFO): Defined.
+
+2000-08-15  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (mark_used_reg): Set reg_cond_reg appropriately.
+
+2000-08-15  Richard Earnshaw <rearnsha@arm.com>
+
+       * arm.c (arm_function_ok_for_sibcall): New function.
+       * arm.h (FUNCTION_OK_FOR_SIBCALL): Define.
+       * arm.md (call expanders): Don't check here for calls that can't
+       be sibling calls.
+
+2000-08-15  Richard Earnshaw <rearnsha@arm.com>
+
+       * arm.md (splits generating cond_exec): Disable.
+
+2000-08-15  Richard Earnshaw <rearnsha@arm.com>
+
+       * arm/linux-elf.h (text_section): Delete declaration.
+
+2000-08-15  Richard Earnshaw <rearnsha@arm.com>
+
+       ARM support for unordered FP operations.
+       * arm-protos.h (arm_comparison_operator): Declare.
+       * arm.c (arm_comparison_operator): New function.
+       (arm_select_cc_mode): Add unordered comparison codes.
+       (get_arm_condition_code): Likewise.
+       (arm_final_prescan_insn): Can't handle unordered jumps that can't
+       be done in one insn.
+       * arm.h (PREDICATE_CODES): Add arm_comparison_operator.
+       * arm.md (all uses of comparison_operator): Replace with
+       arm_comparison_operator.
+       (bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New
+       expands.
+       (arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New
+       patterns.
+
+Tue Aug 15 00:36:36 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
+
+       * gthr-posix.h: Conditionally include <sched.h>; include
+       <config.h> from libobjc/.
+
+2000-08-14  Richard Henderson  <rth@cygnus.com>
+
+       * config/i386/i386.c (legitimize_pic_address): Use Pmode
+       for all CONSTs.
+
+2000-08-14  Richard Henderson  <rth@cygnus.com>
+
+       * configure.in (ia64-*): Set float_format for i386 long double.
+
+       * real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT
+       as we would for i386 XFmode.
+       (PUT_REAL): Likewise.
+       (endian, ereal_atof, real_value_truncate): Likewise.
+       (ereal_isneg, toe64, etens, make_nan): Likewise.
+       * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise.
+
+       * config/ia64/ia64-protos.h: Update.
+       * config/ia64/ia64.c (general_tfmode_operand): New.
+       (destination_tfmode_operand): New.
+       (tfreg_or_fp01_operand): New.
+       (ia64_split_timode): New.
+       (spill_tfmode_operand): New.
+       (ia64_expand_prologue): Use TFmode not XFmode.
+       (ia64_expand_epilogue): Likewise.
+       (ia64_function_arg): Likewise.
+       (ia64_function_arg_advance): Likewise.
+       (ia64_return_in_memory): Likewise.
+       (ia64_function_value): Likewise.
+       (ia64_print_operand): Likewise.
+       (ia64_register_move_cost): Set GR<->FR to 5.
+       (ia64_secondary_reload_class): Get GR for TImode memory op.
+       * config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove.
+       (ROUND_TYPE_ALIGN): Remove.
+       (LONG_DOUBLE_TYPE_SIZE): Set to 128.
+       (INTEL_EXTENDED_IEEE_FORMAT): Define.
+       (HARD_REGNO_NREGS): Use TFmode, not XFmode.
+       (HARD_REGNO_MODE_OK): Likewise.  Disallow TImode in FRs.
+       (MODES_TIEABLE_P): Use TFmode, not XFmode.
+       (CLASS_MAX_NREGS): Likewise.
+       (ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks.
+       (PREDICATE_CODES): Update.
+       * config/ia64/ia64.md (movti): New.
+       (movti_internal): Use a clobber for memory alternatives.
+       (reload_inti, reload_outti): New.
+       (movsfcc_astep): Predicate properly.
+       (movdfcc_astep): Likewise.
+       (movxf): Remove.
+       (movtf): New.
+       (extendsftf2, extenddftf2): New.
+       (trunctfsf2, trunctfdf2): New.
+       (floatditf2, fix_trunctfdi2): New.
+       (floatunsditf2, fixuns_trunctfdi2): New.
+       (addtf3, subtf3, multf3, abstf2): New.
+       (negtf2, nabstf2, mintf3, maxtf3): New.
+       (maddtf3, msubtf3, nmultf3, nmaddtf3): New.
+       (cmptf): New.
+       (fr_spill): Use TFmode, not XFmode.
+       (fr_restore): Likewise.
+       * config/ia64/lib1funcs.asm (__divtf3): New.
+       * config/ia64/t-ia64 (LIB1ASMFUNCS): Add it.
 
-Fri Sep  6 16:37:04 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+2000-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cse.c (fold_rtx): Avoid empty body in an if-statement.
+
+       * doloop.c (doloop_iterations_max, doloop_modify): Avoid using the
+       `U' integer constant suffix.
+
+       * dwarf2out.c (add_subscript_info): Avoid empty body in an
+       else-statement.
+
+       * sparc/sol2.h (__enable_execute_stack): Prototype.
+
+2000-08-14  David Edelsohn  <edelsohn@gnu.org>
+
+       * collect2.c: Remove use of AIX import file.
+
+       * longlong.h: Test ARCH_PWR not ARCH_POWER.
+
+       * rs6000.c (print_operand, case 'E'): Add else.
+
+2000-08-14  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64.md (movdi): Delay calling ia64_expand_load_address.
+       (movdi_symbolic): New.
+
+2000-08-14  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
+       to GNU as.  For Intel as, pass -M const_gp and -M no_plabel.
+       * config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
+       to GNU as.
+
+2000-08-14  Richard Henderson  <rth@cygnus.com>
+
+       * expr.c (emit_group_load): Don't force constants into registers.
+       Special case source already in the correct mode.
+
+2000-08-14  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
+       * fixinc/inclhack.def: Likewise.
+       * fixinc/mkfixinc.sh: Likewise.
+       * configure: Regenerate.
+       * fixinc/fixincl.x: Regenerate.
+       * install.texi: Document equivalence of linux and linux-gnu.
+
+Mon Aug 14 18:51:44 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * cse.c (insert_regs): Also in REG case: When finding an invalid
+       value, and we make a new quantity, make sure that it won't be
+       mistaken by for a valid one by mention_regs.
+
+2000-08-13  Ralf Gütlein <ralf.guetlein@aranea.de>
+
+       * h8300.md: Remove obsolete peepholes.
+
+2000-08-13  Kazu Hirata  <kazu@hxi.com>
+
+       * invoke.texi (H8/300 Options): Fix typos.
+       * config/h8300.c: Fix formatting.
+       * config/h8300.h: Fix comment typos.
+       (OVERRIDE_OPTIONS): Fix formatting.
 
-       * tm-sparc.h (RTX_COSTS): Define costs for MULT and various divides.
+       * function.c: Fix formatting.
 
-       * loop.c (move_movables): Call `gen_lowpart_common' instead of
-       building SUBREG manually.
+       * cse.c: Fix formatting.
 
-       * local-alloc.c (block_alloc): When convert scratch to a reg, must
-       set regs_ever_live for all hard registers used by the new reg, not
-       just the first.
+2000-08-13  Geoff Keating  <geoffk@cygnus.com>
 
-Fri Sep  6 07:15:44 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
+       * flow.c (attempt_auto_inc): Remove unused variable `bb'.
+       (attempt_auto_inc): Suppress parentheses warning.
+       * function.c (put_reg_into_stack): Remove unused variable `unsigned_p'.
+       * loop.c (load_mems): Remove `u' suffix in two places.
+       * config/rs6000/rs6000.c: Remove unnecessary `u' suffixes from
+       hex constants.
+       * config/rs6000/rs6000.h: Likewise.
+       * config/rs6000/sol-c0.c: Prototype some functions.  Remove the
+       __eabi dummy routine.
+       * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Remove unused
+       variable `buf_ptr'.
 
-       * gnulib2.c (__negdi2): Change it to work like __subdi3.
-       * gnulib2.c (_udivmoddi4): Make faster special case for CPUs with
-       a udiv_qrnnd that can handle unnormalized (i.e. with less than
-       LONG_TYPE_SIZE significant bit) divisors.
+       * config/rs6000/rs6000.c (rs6000_select_section): Rewrite to
+       not put stuff in .sdata unnecessarily.
+       (rs6000_unique_section): New function.
+       * config/rs6000/rs6000-protos.h: Add rs6000_unique_section.
+       * config/rs6000/sysv4.h (UNIQUE_SECTION): Define.
 
-       * gnulib2.c (__muldi3): Cast operands to unsigned.
+       * c-typeck.c (build_array_ref): Don't complain about non-lvalue
+       arrays in C99.  Don't try to look at DECL_REGISTER of a
+       COMPONENT_REF.  Don't complain twice about the same error.
 
-       * gnulib2.c (__Xcmpdi): Use `long' for all variables for
-       consistency.
+       * fixinc/inclhack.def (aix_pthread): New fix.
+       (aix_sysmachine): New fix.
+       * fixinc/fixincl.x: Regenerate.
 
-       * gnulib2.c (__udivmoddi4): New function with code from __udivdi3,
-       extended to give remaider.
-       * gnulib2.c (__divdi3, __moddi3, __udivdi3, __umoddi3): Use
-       __udivmoddi4.
-       * gnulib2.c: (__moddi3): Result sign is only dependent on U, not V.
+       * expr.c (expand_expr): Call convert_modes when turning a large
+       multiply into a small one.
 
-Fri Sep  6 05:44:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-08-12  Geoff Keating  <geoffk@cygnus.com>
 
-       * cse.c (cse_insn): Accept new arg IN_LIBCALL_BLOCK.
-       If in libcall block, don't record destinations in hash table.
-       Remove explicit use of SFmode and DFmode when checking -ffloat-store.
-       (cse_basic_block): Pass new arg to cse_insn to indicate when we
-       are processing an insn surrounded with REG_LIBCALL/REG_RETVAL notes.
+       * tree.h (DECL_OFFSET_ALIGN): Make the off_align field of
+       the tree structure an exponent rather than an explicit alignment
+       so it doesn't overflow.
+       (SET_DECL_OFFSET_ALIGN): New macro.
+       * stor-layout.c (place_union_field): Use SET_DECL_OFFSET_ALIGN
+       rather than DECL_OFFSET_ALIGN.
+       (place_field): Likewise.
+       * expmed.c (store_bit_field): Abort on align==0 to avoid
+       antisocial machine behavior.
 
-       * optabs.c (emit_libcall_block): New function.
-       (expand_binop, expand_unop): Remove kludge of referencing library
-       function SYMBOL_REF before libcall block.
-       Use emit_libcall_block.
-       (expand_float, expand_fix): Rework library calls to use
-       emit_libcall_block.
-       * calls.c (struct arg_data): Add new field, initial_value.
-       (expand_call): Don't make libcall block for calls that return
-       aggregates.
-       Remove kludge of referencing function SYMBOL_REF outside of block.
-       For constant calls, save RTL for arg in args[i].initial_value and
-       start a sequence.
-       When making REG_EQUAL note, use INITIAL_VALUE instead of VALUE.
-       Use emit_libcall_block for constant calls.
-       * expr.h (emit_libcall_block): Define it.
+2000-08-12  Richard Henderson  <rth@cygnus.com>
 
-Fri Sep  6 15:58:52 1991  Torbjorn Granlund  (tege at zevs)
+       * sibcall.c (uses_addressof): Accept both addressof and
+       current_function_internal_arg_pointer inside a mem.
+       (optimize_sibling_and_tail_recursive_call): Fail tail recursion
+       if current_function_uses_addressof.
+       * stmt.c (expand_return): Kill tail recursion and HAVE_return
+       optimizations.
 
-       * longlong.h (68020, i386): Don't define machine-dependent
-         __umulsidi3 (so the default definition is used).
-       * longlong.h (all machines): Cast all operands, sources and
-         destinations, to `unsigned long int'.
-       * longlong.h: Add gmicro support.
+2000-08-11  Richard Henderson  <rth@cygnus.com>
 
-Fri Sep  6 01:42:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/ia64/ia64.md (addsi3): Remove expander.
+       (subsi3, mulsi3, negsi2, one_cmplsi2): Likewise.
+       (*addsi3_shladd): New.
 
-       * jump.c (jump_optimize): Delete duplicate line number notes.
+2000-08-11  Richard Henderson  <rth@cygnus.com>
 
-Thu Sep  5 19:23:24 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/ia64/ia64.c (do_spill): Pass cfa offset to move expander.
+       (do_restore): Likewise.
+       (gen_movdi_x, gen_fr_spill_x, gen_fr_restore_x): New.
+       (ia64_expand_prologue, ia64_expand_epilogue): Use them.
+       (rtx_needs_barrier): Track actual bit manipulation for
+       ar.unat moves, gr_spill, and gr_restore.
+       (emit_insn_group_barriers): Special case gr_spill/gr_restore.
+       (process_set): Don't handle varargs spills.
+       * config/ia64/ia64.md (gr_spill): Accept cfa offset.  Emit
+       .mem.offset here instead of in process_set.
+       (gr_restore): Likewise.
 
-       * configure (romp): Fix typo in name of xm_file.
+2000-08-11  Richard Henderson  <rth@cygnus.com>
 
-       * rtlanal.c (dead_or_set_p): If INSN has a CLOBBER for X, X is
-       dead.
+       * config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode.
 
-       * gnulib1.c (cmpdf2, cmpsf2): Delete unused functions.
-       * gnulib2.c (anddi3, iordi3, xordi3, one_cmpldi2, adddi3, subdi3):
-       Likewise.
-       * optabs.c (emit_cmp_insn): Clean up code now that integer and
-       float comparisons are done differently.
-       (init_optabs): Remove references to unused functions listed above.
-       * Makefile.in (LIB1FUNCS, LIB2FUNCS): Likewise.
+2000-08-11  Mark Elbrecht  <snowball3@bigfoot.com>
 
-Thu Sep  5 18:32:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * gcc.texi (The Configuration File): Document
+       COLLECT2_HOST_INITIALIZATION, GCC_DRIVER_HOST_INITIALIZATION, and
+       UPDATE_PATH_HOST_CANONICALIZATION.
 
-       * m68k.md (zero_extend*): Don't allow memory-memory due to aliasing.
+2000-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * expr.c (do_jump): Don't lose if only 1 insn precedes new jump.
+       * c-parse.in (cast_expr): Avoid -Wstrict-prototype warnings for
+       unprototyped function pointer casts on integer constants.
 
-       * sparc.md (ashldi3): Fix dumb bug detecting constant 1.
+2000-08-11 Laurynas Biveinis <lauras@softhome.net>
 
-       * out-sparc.c (output_move_double): Use split_double for constant.
-       Properly decrement addreg1.
+       * fixproto: Recognize DOS paths with drive letters as absolute paths.
 
-Thu Sep  5 15:20:25 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+2000-08-11  Nathan Sidwell  <nathan@codesourcery.com>
 
-       * out-sparc.c: Include expr.h and delete extern declarations.
+       * extend.texi (Volatiles): Fix typos.
 
-       * rtlanal.c (rtx_equal_p): Correct typo in comment or spacing.
-       * reload1.c (reload): Likewise.
-       * protoize.c: Likewise.
-       * longlong.h: Likewise.
-       * local-alloc.c (block_alloc): Likewise.
-       * jump.c: Likewise.
+2000-08-11  Kazu Hirata  <kazu@hxi.com>
 
-       * unroll.c (iteration_info): Don't calculate loop iterations based
-       on a giv iterator, since the current code often gives the wrong
-       result.  This case is rare, so it does not seem worth handling at all.
+       * flow.c: Fix formatting.
 
-       * sched.c (schedule_insns): When the only sched pass is after
-       reload, must clear unused_insn_list and unused_expr_list then,
-       instead of during the nonexistant pass before reload.
+2000-08-11  Richard Henderson  <rth@cygnus.com>
 
-       * sched.c (schedule_block): When calculating estimated IPC, avoid
-       divide by zero.
+       * reload.c (push_secondary_reload): When invoking a reload_{in,out}
+       pattern, always allocate a tertiary scratch register.
 
-       * sparc.md: Correct two define_splits for seq/sne patterns of the
-       form `x + (i == 0)', and add a missing `addx' pattern used by
-       these define_splits.
+       * config/alpha/alpha.md (reload_inqi): Use a DImode scratch.
+       (reload_inhi): Likewise.
 
-       * toplev.c (fatal_insn_not_found): Correct typo in error message.
-       (main): Include "gsdb" and "gdbx" in warning message when -g is not
-       supported.
+2000-08-11  Richard Henderson  <rth@cygnus.com>
 
-       * expr.h (enum expand_modifier): Delete last vestige of
-       EXPAND_INTO_STACK.
+       * function.c (put_reg_into_stack): Allow type to be NULL.
+       (schedule_fixup_var_refs): Likewise.
+       (gen_mem_addressof): Allow decl to be NULL.
+       (put_addressof_into_stack): Likewise.
 
-Thu Sep  5 13:50:21 1991  John Gilmore  (gnu at cygint.cygnus.com)
+       * flow.c (merge_blocks_nomove): Be more careful about
+       locating the beginning of block A.
 
-       * c-typeck.c (digest_init, process_init_constructor): Include the
-       variable name, member name, and/or array indices in error messages.
-       This makes it tolerable to debug large data structure initializers.
-       Reword some messages to work with the name and/or function call
-       argument included.  New arg OFWHAT.  All callers changed except
-       one digest_init call in each of c-parse.y and objc-parse.y.
-       (warn_for_assignment): Reduce to a single message argument,
-       automatically handling formatting for function call arguments.
-       All callers changed.
-       (convert_for_assignment): If ERRTYPE is a null string, this is
-       parameter passing for a function, so output different error messages.
-       (convert_arguments): Pass null string to convert_for_assignment to
-       indicate parameter passing.
+       * combine.c (simplify_shift_const): Obey SHIFT_COUNT_TRUNCATED.
 
-Thu Sep  5 13:44:19 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+Thu Aug 10 22:47:09 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
 
-       * sched.c: Correct typos in comments.
-       (sched_note_set): Don't try to calculate live info for global
-       register variables.
-       (attach_deaths): Don't add REG_DEAD notes for global register
-       variables.
+       * configure.in:
+       * configure:
+       * gthr-posix.h:
+       * config.in: Reverted the check for <sched.h>.
 
-       * tm-sparc.h (SELECT_SECTION): Can't put a variable in text section
-       if flag_pic and RELOC are both true, same test that varasm.c does.
+2000-08-10  Chris Demetriou  <cgd@sibyte.com>
 
-Thu Sep  5 13:15:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * mips/elf.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME): New
+       macros define the name of CTOR and DTOR sections.
+       (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
+       DTOR_LIST_END): Change to use attributes to specify
+       sections.
+       * mips/elf64.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME,
+       (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
+       DTOR_LIST_END): Same as in mips/elf.h.
 
-       * rtlanal.c (reg_referenced_p): Handle USE and CALL.
-       Use switch instead of if-then-else.
+2000-08-10  Drew Moseley  <dmoseley@redhat.com>
 
-Thu Sep  5 08:03:58 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * config/mn10300/mn10300.h: Added no-crt0 option for explicitly
+       disabling just crt0.o.
 
-       * cplus-class.c (propagate_assoc_offsets): Don't fail to
-       propagate the offset to the rightmost basetype.
+2000-08-10  Richard Earnshaw <rearnshaw@arm.com> & Nick Clifton  <nickc@cygnus.com>
 
-       * cplus-decl.c (xref_tag): Allocate nodes for basetype info on
-       permanent obstack, not temporary obstack.
+       * arm.h (CPP_SPEC): Use sub-spec cpp_interwork.
+       (CPP_INTERWORK_SPEC, CPP_INTERWORK_DEFAULT_SPEC): New sub-specs.
+       (EXTRA_SPECS): Add them.
+       * arm/lib1funcs.asm: Support builds for interworking.
+       Use macros to eliminate duplicated pieces of code.
 
-Wed Sep  4 18:53:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-08-10  Kazu Hirata  <kazu@hxi.com>
 
-       * fixincludes : Change `m68k' to `__m68k__' in all #if's.
+       * h8300.c (expand_a_rotate): New.
+       (emit_a_rotate): Likewise.
+       (h8300_adjust_insn_length): Add support for the rotate insns.
+       * h8300.md (rotlqi3): New.
+       (*rotlqi3_1): Likewise.
+       (rotlhi3): Likewise.
+       (*rotlhi3_1): Likewise.
+       (rotlhi3): Likewise.
+       (*rotlhi3_1): Likewise.
+       * h8300-proto.h: Add prototypes for expand_a_rotate and
+       emit_a_rotate.
 
-       * Makefile.in (ALLOCA_FLAGS): Add -Demacs.
-       (ALLOCA_FINISH): Put option before input file name.
-       (alloca.o): Supply $(INCLUDES).
+       * h8300.c: Fix comment typos.
+       (dosize): Declare the variable amount as unsigned.
+       (get_shift_alg): Fix a comparison between signed and unsigned.
+       (emit_a_shift): Likewise.
+       (h8300_adjust_insn_length): Simplify the code.
 
-       * Makefile.in (GCC_CFLAGS): New parameter.
-       (protoize, protoize.o, unprotoize, unprotoize.o): Use GCC_CFLAGS.
-       (enquire, enquire.o, collect2, collect2.o, SYSCALLS.c.X): Likewise.
+       * c-decl.c: Fix formatting.
 
-Wed Sep  4 18:13:56 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * combine.c (make_extraction): When picking up low-order part,
-       ensure that we don't create a non-aligned object if alignment
-       is required.
+       * c-lex.c (parse_float, yylex): For -Wtraditional, issue a
+       warning about non-traditional numeric constant suffixes.
 
-       * expr.c (emit_push_insn): Ensure we only call force_const_mem on a
-       constant.
-       
-       * config.subr: Set `os' to be the last `-' and everything following it.
-       `romp' is the basic machine name for the rtpc.
-       `aos' is IBM's name for BSD.
-       * configure: Default `cpu_type' to the first field before an
-       optional `-'.
-       Add a29k, a29k-ultra, romp, and rs6000.
-       * xm-a29k-ultra.h: New file.
+       * cppexp.c (parse_number): Likewise.
 
-Wed Sep  4 15:46:50 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * invoke.texi: (-Wtraditional): Document new behavior.
 
-       Changes from Ron Guilmette:
-       * dwarfout.c (output_symbol): Move tests for omitting declarations
-       to dwarfout_file_scope_symbol.  No need for `local' parameter.
-       Use TREE_PUBLIC and TREE_EXTERNAL to determine whether a variable
-       or function is global.
-       (finalizing, dwarfout_file_scope_delayed_symbol): Delete.
-       
-       * toplev.c (compile_file): Delete use of dwarfout_file_scope_symbol
-       for initialized VAR_DECLs.  All global declarations are passed to
-       dwarfout_file_scope_symbol (except function definitions and types).
+Thu Aug 10 00:11:04 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
 
-       (compile_file, rest_of_decl_compilation): Attribute time in
-       {dbxout,sdbout,dwarfout} functions to symout_time.
+       * gthr-posix.h: Include auto-host.h. Conditionally include
+       <sched.h>.
+       * configure.in: Check for the <sched.h> header file.
+       * config.in: Added define for HAVE_SCHED_H.
 
-       * varasm.c (assemble_variable): Check and update TREE_ASM_WRITTEN
-       for a global register variable.
-       Delete use of dwarfout_file_scope_symbol for VAR_DECLs. 
+2000-08-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Tue Sep  3 23:34:57 1991  Torbjorn Granlund  (tege at zevs)
+       * c-typeck.c (process_init_element): For -Wtraditional, warn about
+       initialization of unions.
 
-       * sparc.md (ashldi3 expander & recognizer): Make shift count have
-       SImode.  Used to have DImode.
+       * invoke.texi (-Wtraditional): Document new behavior.
+
+2000-08-09  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * configure.in (--enable-c-cpplib): Uncomment.  Use AC_DEFINE
+       instead of extra_c_flags.
+       (--enable-c-mbchar): Use AC_DEFINE instead of extra_c_flags.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
+       * cpperror.c (cpp_type2name): New function.
+       * cpplex.c (lex_line): If we issued an error for an invalid
+       preprocessing directive, discard that logical line.
+       * cpplib.c (do_line): Call a hook function if the current file
+       is renamed by #line.
+       (do_ident): Pass the contents of the string, not the entire
+       token, to the callback function.
+       * cpplib.h (CPP_LAST_PUNCTUATOR): New #define.
+       (cb.rename_file): New hook function.
+       (cb.ident): Adjust prototype.
+       (cpp_type2name): Prototype.
+       * cppmacro.c (dump_macro_args): Correct precedence lossage.
+
+       * cppmain.c (cb_ident): Update for changed interface.
+       (cb_rename_file): New function.
+       (main): Set rename callback.
+
+2000-08-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       * caller-save.c (mark_referenced_regs): Mark partially-overwritten
+       multi-word registers.
+
+2000-08-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (combine_strings, check_format_info): Refer to ISO C
+       or ISO C89 instead of ANSI C.
+       * c-decl.c (grokdeclarator, xref_tag, finish_struct,
+       build_enumerator, do_case): Likewise.
+       * c-lex.c (parse_float, yylex): Likewise.
+       * c-parse.in: Likewise.
+       * c-typeck.c (common_type, build_array_ref, build_binary_op,
+       build_unary_op, pedantic_lvalue_warning, build_conditional_expr,
+       build_c_cast, convert_for_assignment, set_init_index,
+       set_init_label, c_expand_start_case): Likewise.
+       * toplev.c (documented_lang_options, display_help): Likewise.
+
+2000-08-08  Kazu Hirata  <kazu@hxi.com>
+
+       * h8300.c: Fix formatting.
+       * h8300.h: Likewise.
+       * h8300.md: Likewise.
+       (movsi_h8300hs): Fix formatting of the resulting assembly code.
+
+       * reload1.c: Fix formatting.
+
+2000-08-08  Rodney Brown  <RodneyBrown@mynd.com>
+
+       * alpha/alpha.c (alpha_emit_xfloating_libcall):
+       Use GEN_CALL_VALUE define.
+       * alpha/alpha.md (untyped_call): Use GEN_CALL define.
+       * clipper/clipper.md (untyped_call): Likewise.
+       * dsp16xx/dsp16xx.md (untyped_call): Likewise.
+       * fx80/fx80.md (untyped_call): Likewise.
+       * mips/mips.md (untyped_call): Likewise.
+       * ns32k/ns32k.md (untyped_call): Likewise.
+       * pa/pa.md (untyped_call): Likewise.
+       * romp/romp.md (untyped_call): Likewise.
+       * sparc/sparc.md (untyped_call): Likewise.
+
+2000-08-08  Jason Eckhardt  <jle@cygnus.com>
+
+       * config/i860/i860.c (singlemove_string): Do not generate assembler
+       pseudo instructions that must be expanded (that is, with signed
+       constants larger than 16 bits).
+
+2000-08-08  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (life_analysis): Only turn off PROP_LOG_LINKS and
+       PROP_AUTOINC at -O0.  Don't collect alias info at -O0.
+       (init_propagate_block_info): Don't kill memory stores at -O0.
+       (mark_set_1, mark_used_regs): Likewise.
+
+2000-08-08  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.c (optimization_options): Decorate 'level' as
+       ATTRIBUTE_UNUSED.
+       (mask64_operand): Remove sign-extend thinko.
+       (rldic_operand): New function.
+       (load_multiple_operation): regno's are unsigned ints.
+       (store_multiple_operation): Likewise.
+       (lmw_operation): Likewise.
+       (stmw_operation): Likewise.
+       (includes_lshift_p): shift_mask is unsigned int.
+       (includes_lshift64_p): New function.
+       (addrs_ok_for_quad_peep): unsigned int reg1.
+       (print_operand): Consistently add "else" after
+       output_operand_lossage().
+       (print_operand, case 'b'): Fold in case 'W'.
+       (print_operand, case 'W'): Print rldic MB value.
+       (output_epilogue): Update Objective-C language string.
+       (output_toc): unsigned HOST_WIDE_INT low, compare unsigned.
+       * rs6000.h (PREDICATE_CODES): Add rldic_operand.
+       * rs6000.md (ashldi3): Add rldic instruction.
+       (iordi3, xordi3): Remove redundant "else if CONST_DOUBLE".
+       (cmpsi_internal2, cmpdi_interal2): Use 'b' output template
+       modifier.
+
+2000-08-08  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64-protos.h: Remove duplicates.  Update
+       for massive code rearrangements.
+       * config/ia64/ia64.c (ia64_arpfs_regno): Remove.
+       (ia64_rp_regno, ia64_fp_regno, ia64_input_regs): Remove.
+       (ia64_local_regs, ia64_need_regstk): Remove.
+       (ar_ccv_reg_operand): New.
+       (ia64_gp_save_reg): New.
+       (struct ia64_frame_info): Combine most of the size elements;
+       add new gr save elements.
+       (find_gr_spill): New.
+       (next_scratch_gr_reg): New.
+       (mark_reg_gr_used_mask): New.
+       (ia64_compute_frame_size): Rewrite.  Allocate special AR regs
+       to GR backing store regs when possible.
+       (ia64_initial_elimination_offset): New.
+       (ia64_rap_fp_offset): Remove.
+       (save_restore_insns): Remove.
+       (setup_spill_pointers): New.
+       (finish_spill_pointers): New.
+       (spill_restore_mem): New.
+       (do_spill, do_restore): New.
+       (ia64_expand_prologue): Rewrite to use them.
+       (ia64_expand_epilogue): Likewise.
+       (ia64_direct_return): Update for current_frame_info changes.
+       (ia64_function_prologue): Simplify .prologue emission.  Emit
+       .spill when needed.
+       (ia64_setup_incoming_varargs): Don't ever emit rtl.
+       (ia64_dbx_register_number): New.
+       (ia64_initialize_trampoline): New.
+       (ia64_secondary_reload_class): Request GR_REGS for integer
+       arithmetic destined for FR_REGS.
+       (ia64_init_machine_status): Don't reset return_address_pointer_rtx.
+       (ia64_mark_machine_status): Mark ia64_gp_save.
+       (rws_access_regno): Rename from rws_access_reg; don't treat
+       predicates specially.
+       (rws_access_reg): New.  Update all callers.
+       (rtx_needs_barrier): Remove dead unspecs.
+       (ia64_epilogue_uses): Mark ar.pfs and ar.unat live on exit.
+       (ia64_encode_section_info): Silence signed/unsigned warnings.
+       (spill_offset, sp_offset, spill_offset_emitted): Remove.
+       (tmp_reg, tmp_saved): Remove.
+       (process_set): Rewrite to expect complicated bits via
+       REG_FRAME_RELATED_EXPR.
+       (ia64_expand_fetch_and_op): Use emit_move_insn; be explicit
+       in the use of ar.ccv; never set RTX_UNCHANGING_P.
+       (ia64_expand_op_and_fetch): Likewise.
+       (ia64_expand_compare_and_swap): Likewise.
+       (ia64_expand_builtin): Likewise.
+       * config/ia64/ia64.h (AR_UNAT_REGNUM): New.
+       (FIRST_PSEUDO_REGISTER): Update.
+       (AR_M_REGNO_P): Update.
+       (FIXED_REGS): Don't mark three local registers as used.
+       (EXTRA_CC_MODES): New.
+       (SELECT_CC_MODE): New.
+       (HARD_REGNO_NREGS): Allow DImode in p0; handle CCImode.
+       (HARD_REGNO_MODE_OK): Disallow CCImode from non-predicates.
+       (FRAME_GROWS_DOWNWARD): Unset.
+       (STARTING_FRAME_OFFSET): Zero.
+       (ELIMINABLE_REGS): Eliminate from the soft to hard frame pointer.
+       (INITIAL_ELIMINATION_OFFSET): Defer to out of line function.
+       (HARD_FRAME_POINTER_REGNUM): New.
+       (CAN_DEBUG_WITHOUT_FP): Define.
+       (TRAMPOLINE_TEMPLATE): Remove.
+       (TRAMPOLINE_SIZE): Lower to 32.
+       (TRAMPOLINE_ALIGNMENT): Lower to 64.
+       (INITIALIZE_TRAMPOLINE): Defer to out of line function.
+       (PREDICATE_CODES): Update.
+       (struct machine_function): Add ia64_gp_save.
+       * config/ia64/ia64.md: Purge unused unspecs.
+       (movsi patterns): Allow moves to/from AR_M_REGS.
+       (movdi patterns): Allow moves to/from p0.
+       (call patterns): Move most setjmp hackery to ia64_gp_save_reg.
+       (gr_spill, gr_restore): Indicate ar.unat read/written.
+       (nonlocal_goto): Don't pass old frame_pointer.
+       (nonlocal_goto_receiver): Remove.
+       (exception_receiver): New.
+       (builtin_setjmp_setup): New.
+       (builtin_setjmp_receiver): New.
+       * config/ia64/lib1funcs.asm (__ia64_save_stack_nonlocal): Bundle.
+       (__ia64_nonlocal_goto): Bundle.  Don't kill r7.
+       (__ia64_restore_stack_nonlocal): Likewise.
+       (__ia64_trampoline): New.
+       * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Defer to out of line
+       function.
+       * config/ia64/t-ia64 (LIB1ASMFUNCS): Add __trampoline.
+
+2000-08-08  Richard Henderson  <rth@cygnus.com>
+
+       * frame.h (ia64_frame_state): Add my_psp.
+       * libgcc2.c (ia64_throw_helper): Add throw_sp argument.
+       (__throw): Pass it in.  Don't clobber r7.
+       * config/ia64/frame-ia64.c (init_ia64_reg_loc): Mark inline.
+       (execute_one_ia64_descriptor) [mem_stack_v]: Sets psp.when
+       and nothing to do with sp.
+       (normalize_reg_loc): Use frame->my_psp.
+       (frame_translate): Handle frame-pointer-less functions.  Set
+       spill_base correctly, in absence of being told.
+       (__build_ia64_frame_state): New sp argument.  Fill in frame->my_sp.
+       (__ia64_backtrace_helper): New sp argument.  Use
+       builtin_return_address instead of label addresses.
+       (print_record) [mem_stack_v]: No size member.
+
+2000-08-08  Richard Henderson  <rth@cygnus.com>
+
+       * regclass.c (choose_hard_reg_mode): Iterate over all CC modes.
+
+2000-08-08  Richard Henderson  <rth@cygnus.com>
+
+       * tm.texi (LOCAL_REGNO): Document.
+       * flow.c (LOCAL_REGNO, EPILOGUE_USES): Provide default.
+       (mark_regs_live_at_end): Don't mark LOCAL_REGNO registers.
+       * reload1.c (reload): Likewise when considering nonlocal labels.
+
+       * config/ia64/ia64.h (LOCAL_REGNO): New.
+       * config/sparc/sparc.h (LOCAL_REGNO): New.
+
+2000-08-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-lex.c (yylex): Don't allow integer suffixes 'LUL', 'Ll', 'lL'.
+
+2000-08-07  Nick Clifton  <nickc@redhat.com>
+
+       * config/mips/mips.c: Fix compile time warning messages.
+       * config/mips/mips-protos.h: Add prototype for equality_op.
+
+       * mn10300.h (TARGET_SWITCHES): Document `-mam33'.
+
+2000-08-07  Graham Stott  <grahams@cygnus.co.uk>
+
+       * mn10300.md: Use nonimmediate_operand instead of general_operand
+       on output operands.
+
+       * mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads.
+
+2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
+
+       * sh.h (EXTRA_CONSTRAINT_Q): Adjust to GNU Coding Standards.
+       * sh.c (expand_block_move): Break long lines.
+       (expand_ashiftrt, fpscr_set_from_mem): Likewise.
+       * sh.md (mulsi3): Likewise.
+       (movdi): Adjust spacing.
+
+2000-08-07  Richard Henderson  <rth@cygnus.com>
+
+       * expmed.c (store_bit_field): Don't require MEM_IN_STRUCT_P.
+       * expr.c (emit_group_store): Don't set it.
+
+2000-08-07  Kazu Hirata  <kazu@hxi.com>
+
+       * invoke.texi (Options for Debugging Your Program or GCC): Remove
+       duplicate entries for 'w' and 'z'.
 
-       * expmed.c (emit_store_flag): Declare arg UNSIGNEDP.
+       * flow.c: Fix a comment typo.
 
-       * vax.md (adddi3): Make operands 2 and 3 commutative.
+Sun Aug  6 23:47:35 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
 
-       * sparc.md (subtract constant then return): Peephole deleted.
+       * c-parse.in: Changed the language string for Objective-C to "GNU
+       Objective-C".
 
-Tue Sep  3 22:23:52 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+Sun Aug  6 11:54:03 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
 
-       * Makefile.in (mostlyclean, clean, realclean): Some files were missing.
+       * gthr-posix.h: Integrated Chris Ball's <cball@fmco.com> changes
+       to improve the Posix thread support for Objective-C.
 
-       * gvarargs.h (va_list): Make it typedef, not macro.
-       * va-mips.h, va-pyr.h: Likewise.
+2000-08-06  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Tue Sep  3 22:07:04 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * c-common.h (enum c_tree_index): Add CTI_SIGNED_SIZE_TYPE and
+       CTI_UNSIGNED_PTRDIFF_TYPE.
+       (signed_size_type_node): Define.
+       (unsigned_ptrdiff_type_node): Define.
+       * c-decl.c (init_decl_processing): Create the
+       signed_size_type_node and unsigned_ptrdiff_type_node types.
+       * c-common.c (T_SC): Define.
+       (T_SST): Define.
+       (T_UPD): Define.
+       (print_char_table): Use T_SST for %zd, %zi, %zn.  Use T_UPD for
+       %to, %tu, %tx, %tX.  Allow %hhn (T_SC).  Add "c" to the flags for
+       %s and %p.
+       (scan_char_table): Use T_SC for %hhd, %hhi, %hhn.  Use T_SST for
+       %zd, %zi, %zn.  Use T_UPD for %to, %tu, %tx, %tX.  Add "c" to the
+       flags for %c, %s and %[.
+       (check_format_info): Only allow leniency for signedness of targets
+       of character pointers (when pedantic) for formats flagged with
+       "c", so for strings but not for %hh formats.  When pedantic, don't
+       allow character pointers to substitute for void pointers if a
+       second level of indirection is present.
 
-       * cplus-init.c (build_vec_delete): Fix off-by-one error for arrays
-       of length 1.
+2000-08-06  Kazu Hirata  <kazu@hxi.com>
 
-Tue Sep  3 19:30:45 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * invoke.texi (Options for Debugging Your Program or GCC): Update
+       the names of dump files.
 
-       * combine.c (try_combine): Don't pass a STRICT_LOW_PART to
-       reg_overlap_mentioned_p.
+       * h8300.c (dosize): Rearrange code for conciseness.
+       (split_adds_subs): Likewise.
 
-       * cse.c (fold_rtx): If INSN is zero, copy X before we change 
-       anything inside it.
-       When looking for associative operation, pass zero as missing arg to
-       recursive call.
-       (find_comparison_args): Add zero for missing arg to fold_rtx calls.
+       * loop.c: Fix formatting.
 
-       * reload.c (find_reloads): Correct code that prevents replacing
-       a SET_DEST with a constant so that it correctly looks for an
-       operand being a SET_DEST.
+       * dwarf2out.c: Fix formatting.
 
-Tue Sep  3 19:17:34 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+       * tm.texi (FUNCTION_ARG_PARTIAL_NREGS): Fix a typo.
 
-       * out-i386.c (split_di): Call split_double for CONSTANT_P.
-       (fix_op): Delete.
-       (float_op): Don't examine the mode of the FLOAT operand.
-       (output_float_compare): Don't make new %ax RTX: use scratch
-       operand from insn.
+       * expr.c: Fix formatting.
 
-       * i386.md (float mode tstM,cmpM,fixuns_truncMN2,fix_truncMN2): Use
-       match_scratch.
-       (float mode tstM,fixuns_truncMN2,fix_truncMN2): Don't gen temp RTX:
-       use scratch operand.
-       (fix_truncMN2,floatMN2): Split pattern into a separate DFmode and
-       SFmode patterns so that operands[1] has a mode.
-       (sCOND patterns): Don't set cc_status to previous status.
-       (cmpstrsi): Don't explicitly reference reg 2.
+2000-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Tue Sep  3 16:28:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * rs6000.c (rs6000_maybe_dead): Prototype.
 
-       * optabs.c (expand_binop): Fix carry calculation.
+2000-08-06  Richard Henderson  <rth@cygnus.com>
 
-       * varasm.c (decode_addr_const): Given a LABEL_DECL, Make a LABEL_REF.
-       (const_hash): Handle a LABEL_REF.
-       * expr.c (expand_expr): Use FUNCTION_MODE for memref to a LABEL_REF.
+       * stmt.c (expand_goto): Do virtual_stack_vars_rtx replacement for
+       HAVE_nonlocal_goto as well.
+       * config/i960/i960.md (nonlocal_goto): Don't do it here.
+       * config/pj/pj.md (nonlocal_goto): Likewise.
 
-       * configure: Fix typo in last change.
+2000-08-07  Michael Hayes  <mhayes@cygnus.com>
 
-       * cccp.c (handle_directive): Normally no error for line with `###'.
+       * loop.c (try_swap_copy_prop): New function.
+       (load_mems): Rename copies to load_copies and add new regset
+       store_copies.  Check for sets of shadow registers and mark
+       in store_copies.   Call try_swap_copy_prop for registers
+       marked in store_copies.
 
-Tue Sep  3 10:53:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
+Sun Aug  6 00:54:42 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
 
-       * out-m88k.c, tm-m88k.h: Delete remnants of the fancy abort.
-       * tm-m88kdgux.h: No longer identify as version DG-*.
-       * m88k files: Update copyright dates.
+       * objc/objc-act.c: New command line option -fconstant-string-class
+       to allow specifying a user defined constant string class,
+       different from NXConstantString.
 
-Tue Sep  3 03:18:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * toplev.c: Moved the Objective-C specific options to
+       objc/lang-options.h.
 
-       * expr.c (expand_expr): Get rid of EXPAND_INTO_STACK.
+       * objc/lang-options.h: Moved the Objective-C specific options from
+       toplev.c. Added -fconstant-string-class.
 
-Mon Sep  2 14:07:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-08-05  Chris Demetriou  <cgd@sibyte.com>
 
-       * gcc.c (do_spec_1): In %X, terminate the arg after each option.
+       * mips/elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
+       DTOR_LIST_BEGIN, DTOR_LIST_END): change type of
+       __CTOR_LIST__ from func_ptr array to just func_ptr, to
+       avoid extra alignment imposed on arrays.
+       * mips/elf64.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
+       DTOR_LIST_BEGIN, DTOR_LIST_END): Likewise.
+
+       * mips.h: Clean up comments and spacing near MASKs.
+       (TARGET_UNIX_ASM): Delete.
+       (MASK_MIPS16, MASK_NO_CHECK_ZERO_DIV, MASK_CHECK_RANGE_DIV,
+       MASK_UNINIT_CONST_IN_RODATA): Change values to make mask
+       values contiguous.
+
+2000-08-05  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (print_char_table): Add entries for the X/Open '
+       format flag (print decimals with locale's thousands grouping
+       character).  Make %C expect wint_t.
+       (check_format_info): If pedantic, warn when the %n$ operand
+       number form is used.  Allow for the ' flag; warn about it if
+       pedantic.
+
+2000-08-05  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * i386.h (FUNCTION_OK_FOR_SIBCALL):  Not OK if DECL's return
+       type is a float mode, cfun->decl's return type is not, and
+       TARGET_FLOAT_RETURNS_IN_80387.
+
+2000-08-04  Andreas Schwab  <schwab@suse.de>
+
+       * cppmain.c (cb_def_pragma): Skip the first two tokens from the
+       token list, which are always `#' and `pragma'.
+
+2000-08-04  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * tree.c (tree_expr_nonnegative_p): Move to...
+       * fold-const.c: ... here.  Also handle BIND_EXPR and RTL_EXPR.
+       (rtl_expr_nonnegative_p): New.
+       * tree.h: Add prototype for rtl_expr_nonnegative_p.
+
+       * real.h (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH, CONST_DOUBLE_MEM,
+       CONST_DOUBLE_CHAIN: Move to...
+       * rtl.h: ...here.  Use XCINT/XCEXP.
+
+       * Makefile.in: Remove toplev.o from OBJS.  Add rule to make
+       libbackend.a; add libbackend.a to STAGESTUFF.  Add BACKEND
+       variable.  Use BACKEND when linking cc1, not OBJS.  Add BACKEND
+       to VOL_FILES.
+
+       * objc/Make-lang.in (cc1obj): Link with $(BACKEND).
+
+2000-08-05  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+       * config/c4x/c4x.md (return_indirect_internal): New.
+       * config/c4x/c4x.c (c4x_expand_epilogue): Use it.
+
+2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (time_char_table): Mark up formats added in C99 and
+       make other corrections.  %D and %g were added in C99.  %Og is an
+       extension.  %EX is permitted.  %R, %T, %n, %r, %t were added in
+       C99.  %e was added in C99.  %Oj is an extension.  %G and %z are in
+       C99 rather than GNU extensions, but %OG and %Oz are extensions.
+       %h was added in C99.  %C was added in C99.  %OY and %OC are
+       extensions.  Add the C99 format %F.
+       (check_format_info): If pedantic and not in C99 mode, warn for C99
+       formats, %E and %O.
+
+Fri Aug  4 23:01:58 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * function.c (schedule_fixup_var_refs): New function, broken out
+       of put_reg_into_stack.
+       (put_reg_into_stack): Use it.
+       (put_var_into_stack): In CONCAT case, fixup up references for
+       components only after fixing up references to the whole concat.
+
+2000-08-04  Rodney Brown  <RodneyBrown@pmsc.com>
+
+       * alias.c (mark_constant_function): Use INSN_P.
+       (init_alias_analysis): Likewise.
+       * combine.c (combine_instructions): Use INSN_P.
+       (can_combine_p): Likewise.
+       (try_combine): Likewise.
+       (distribute_notes): Likewise.
+       (distribute_links): Likewise.
+       * cse.c (cse_around_loop): Use INSN_P.
+       (invalidate_skipped_block): Likewise.
+       (cse_set_around_loop): Likewise.
+       (cse_end_of_basic_block): Likewise.
+       (delete_trivially_dead_insns): Likewise.
+       * emit-rtl.c (unshare_all_rtl_again): Use INSN_P.
+       (unshare_all_rtl_1): Likewise.
+       (next_cc0_user): Likewise.
+       (try_split make_insn_raw): Likewise.
+       (remove_unnecessary_notes): Likewise.
+       * final.c (shorten_branches): Use INSN_P.
+       (leaf_renumber_regs): Likewise.
+       (leaf_renumber_regs_insn): Likewise.
+       * flow.c (find_label_refs): Use INSN_P.
+       (verify_wide_reg): Likewise.
+       (notice_stack_pointer_modification): Likewise.
+       (count_or_remove_death_notes): Likewise.
+       (verify_flow_info): Likewise.
+       (clear_log_links): Likewise.
+       * function.c (fixup_var_refs_insns): Use INSN_P.
+       (compute_insns_for_mem): Likewise.
+       * gcse.c (alloc_gcse_mem): Use INSN_P.
+       (compute_sets): Likewise.
+       (compute_hash_table): Likewise.
+       (classic_gcse): Likewise.
+       (cprop): Likewise.
+       (insert_insn_end_bb): Likewise.
+       (delete_null_pointer_checks_1): Likewise.
+       * global.c (expand_preferences): Use INSN_P.
+       (build_insn_chain): Likewise.
+       * graph.c (node_data): Use INSN_P.
+       * haifa-sched.c (priority): Use INSN_P.
+       (rm_line_notes): Likewise.
+       (rm_other_notes): Likewise.
+       (find_insn_reg_weight): Likewise.
+       (init_target_units): Likewise.
+       (schedule_block): Likewise.
+       (compute_block_forward_dependences): Likewise.
+       (debug_dependencies): Likewise.
+       (set_priorities): Likewise.
+       * integrate.c (function_cannot_inline_p): Use INSN_P.
+       (save_parm_insns): Likewise.
+       (copy_insn_list): Likewise.
+       * jump.c (mark_all_labels): Use INSN_P.
+       (never_reached_warning): Likewise.
+       * lcm.c (optimize_mode_switching): Use INSN_P.
+       * local-alloc.c (validate_equiv_mem): Use INSN_P.
+       (memref_used_between_p): Likewise.
+       (update_equiv_regs): Likewise.
+       (block_alloc): Likewise.
+       (no_conflict_p): Likewise.
+       * loop.c (scan_loop): Use INSN_P.
+       (find_and_verify_loops): Likewise.
+       (count_loop_regs_set): Likewise.
+       (loop_reg_used_before_p): Likewise.
+       (strength_reduce): Likewise.
+       (recombine_givs): Likewise.
+       (check_dbra_loop): Likewise.
+       (load_mems): Likewise.
+       (try_copy_prop): Likewise.
+       * print-rtl.c (print_rtx): Use INSN_P.
+       * recog.c (find_single_use): Use INSN_P.
+       * reg-stack.c (stack_regs_mentioned): Use INSN_P.
+       (next_flags_user): Likewise.
+       (swap_rtx_condition): Likewise.
+       * regmove.c (mark_flags_life_zones): Use INSN_P.
+       (optimize_reg_copy_1): Likewise.
+       (optimize_reg_copy_2): Likewise.
+       (optimize_reg_copy_3): Likewise.
+       (reg_is_remote_constant_p): Likewise.
+       (fixup_match_2): Likewise.
+       (regmove_optimize): Likewise.
+       (fixup_match_1): Likewise.
+       * regrename.c (build_def_use): Use INSN_P.
+       (replace_reg_in_block): Likewise.
+       (consider_use): Likewise.
+       * reload.c (find_equiv_reg): Use INSN_P.
+       * reload1.c (reload): Use INSN_P.
+       (maybe_fix_stack_asms): Likewise.
+       (calculate_needs_all_insns): Likewise.
+       (reload_as_needed): Likewise.
+       (emit_output_reload_insns): Likewise.
+       (delete_address_reloads_1): Likewise.
+       (reload_cse_regs_1): Likewise.
+       (reload_combine): Likewise.
+       (reload_cse_move2add): Likewise.
+       * reorg.c (redundant_insn): Use INSN_P.
+       (dbr_schedule): Likewise.
+       * resource.c (find_dead_or_set_registers): Use INSN_P.
+       (mark_target_live_regs): Likewise.
+       * rtlanal.c (reg_used_between_p): Use INSN_P.
+       (reg_referenced_between_p): Likewise.
+       (reg_set_between_p): Likewise.
+       (reg_set_p): Likewise.
+       (single_set): Likewise.
+       (multiple_sets): Likewise.
+       (find_last_value): Likewise.
+       (reg_set_last): Likewise.
+       (find_reg_note): Likewise.
+       (find_regno_note): Likewise.
+       * sibcall.c (sequence_uses_addressof): Use INSN_P.
+       * simplify-rtx.c (cselib_process_insn): Use INSN_P.
+       * ssa.c (find_evaluations): Use INSN_P.
+       (rename_block): Likewise.
+       (rename_equivalent_regs): Likewise.
+       * unroll.c (loop_find_equiv_value): Use INSN_P.
+       (set_dominates_use): Likewise.
+       * varasm.c (mark_constant_pool): Use INSN_P.
+       (mark_constants): Likewise.
+       * config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P.
+       (alphaev4_next_group): Likewise.
+       (alphaev5_next_group): Likewise.
+       * config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P.
+       (c4x_rptb_rpts_p): Likewise.
+       * config/mips/mips.c (mips16_optimize_gp): Use INSN_P.
+       * config/rs6000/rs6000.c (uses_TOC): Use INSN_P.
+       (rs6000_adjust_priority): Likewise.
+       * config/sh/sh.c (sh_loop_align): Use INSN_P.
+       (machine_dependent_reorg): Likewise.
+       (split_branches): Likewise.
+       * config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P.
+
+Fri Aug  4 11:43:49 2000  John Wehle  (john@feith.com)
+
+       * combine.c (recog_for_combine): Remove the old notes
+       prior to attempting to recognize the new pattern.
+       (distribute_notes): Ignore REG_NONNEG notes.
+
+2000-08-04  Chandrakala Chavva  <cchavva@redhat.com>
+
+       * varasm.c (output_constructor): Add .align 0 for packed vars.
+
+2000-08-04  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * configure.in: Use default thread_file even when enable_threads is
+       yes or dce because hpux10.20 pa port uses MULTILIB implementation.
+       * configure: Rebuilt.
+
+       * gthr-dce.h (__gthread_objc_condition_allocate): Fix typo.
+
+2000-08-04  Donn Terry (donnte@microsoft.com)
+
+       * prefix.c (translate_name): Don't strip trailing DIR_SEPARATOR.
+
+2000-08-04  Mark Elbrecht  <snowball3@bigfoot.com>
+
+       * i386/x-djgpp: Delete code that conditionally modifies target_alias.
+       Delete code that conditionally modifies 'version'.
+       Delete X_CPPFLAGS. Add comment for SYSTEM_HEADER_DIR.
+       * i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): New macro.
+       * gcc.c (main): Use it.
+       * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): New macro.
+       * prefix.c (update_path): Use it.
+       * i386/djgpp.h (STANDARD_INCLUDE_DIR): Define.
+       (MD_EXEC_PREFIX): Set to '/dev/env/DJDIR/bin/'.
+       (ASM_OUTPUT_SECTION_NAME): Add code attribute to sections containing
+       code.
+       (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Default to true.
+       (SUBTARGET_SWITCHES): Adjust.
+       (WCHAR_UNSIGNED, WCHAR_TYPE_SIZE, WCHAR_TYPE): Undefine before
+       defining.
+       (WINT_TYPE, SIZE_TYPE, PTRDIFF_TYPE): Define.
+
+2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.h (flag_isoc94): Declare.
+       * c-decl.c (flag_isoc94): Define.
+       (c_decode_option): Set flag_isoc94 as appropriate.
+       * c-common.c (T_PD, T_IM, T_UIM): Define.
+       (format_char_info): Add tlen and jlen.
+       (print_char_table): Add entries for %t and %j.  Allow %zn.  Allow
+       %F.  Allow %lf.
+       (scan_char_table): Add entries for %t and %j.  Allow %F.  Allow
+       %l[.
+       (time_char_table): Add NULL entries for %t and %j.
+       (check_format_info): Allow for %t and %j.  Warn for %F if pedantic
+       and not C99.  Warn for %lc, %ls and %l[ if pedantic and not C94.
+       Warn for printf %lf if pedantic and not C99.  Don't warn for empty
+       precision.  Allow precision argument to be unsigned int.  If
+       pedantic, warn for %p passed an argument not a pointer to possibly
+       qualified void or a possibly qualified character type, and for
+       pointer targets of the wrong sign, except for character pointers.
+
+2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * ginclude/stddef.h: Don't declare wint_t unless __need_wint_t.
+       * c-common.h (enum c_tree_index): Add CTI_WINT_TYPE.
+       (wint_type_node): Define.
+       * c-decl.c (WINT_TYPE): Define.
+       (init_decl_processing): Create the wint_type_node type.
+       * c-common.c (T_WI): Define.
+       (print_char_table): Use T_WI for %lc format.
+
+2000-08-04  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/:  Verified that the MSDOS patch does not break
+       the UNIX functionality and applied the next three patches
+       from July:
+
+2000-07-28  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * fixinc/fixfixes.c (main) [__MSDOS__]: Avoid overwriting the
+       output file with the temporary one by appending ".X" to generate
+       the temporary fuile's name.  If the output file already has an
+       extension, replace it with ".X".
+
+       * fixinc/fixincl.c (fix_with_system) [__MSDOS__]: Use $ORIGDIR,
+       not $DESTDIR, to find applyfix.  Use sprintf instead of snprintf;
+       reallocate the command buffer while copying the command-line
+       argument.  Redirect the output directly to the temporary file,
+       instead of going through another temporary file.
+       (process): Close the temporary file before unlinking it.
+       (machine_matches) [__MSDOS__]: If the machine doesn't match, set
+       the FD_SKIP_TEST flag.  Pay attention to the FD_MACH_IFNOT flag.
+       (run_compiles): Pass p_fixd argument to machine_matches, as it
+       expects.
+
+       * fixinc/fixincl.sh: Export ORIGDIR.  If $DJDIR is set in the
+       environment, assume there are no symlinks in the include
+       directory.  When cleaning up the DONE files, look for them
+       case-insensitively.  Don't try to remove symlinks if they aren't
+       there.
 
-       * config.subr: If argument contains `local', always accept it.
-       * configure: If machine type contains `local',
-       construct file names from that machine type name.
+       * fixinc/fixlib.c (make_raw_shell_str): Accept new argument smax;
+       all callers changed.  Declare pz "const char *", to avoid compiler
+       warnings.
 
-       * configure: Make config.status a shellscript to redo the configure.
-       No need now to change / to - when storing $(target) in Makefile.
-       Store $(host_make_var_file) in Makefile also.
-       Set host_make_var_file to ../Makefile.in after creating Makefile
-       if no make-... file actually exists for this host.
-       * Makefile.in (host_make_var_file): Dummy definition to be filled in.
-       (Makefile): New rule to rerun `configure'
+       * fixinc/fixlib.h (ENV_TABLE): Get ORIGDIR from the environment.
+       Change prototype of make_raw_shell_str.
 
-       * tm-sysv4.h (ASM_DECLARE_FUNCTION_SIZE): New macro.
+2000-07-27  Eli Zaretskii  <eliz@is.elta.co.il>
 
-       * tm-mips.h, tm-m88k.h (abort): Macro definition deleted.  It is
-       not right for any machines description to specify use of fancy_abort.
+       * fixinc/fixincl.c [__MSDOS__]: Don't include "server.h".
+       (initialize) [__MSDOS__]: Use tempnam.
+       (initialize): Don't use SIGPIPE if it is not defined.
 
-       * protoize.c [v.4]: Include fcntl.h.
-       (execvp): Correct type for second arg.
-       (compile_params): Remove `const'; that loses when calling execvp.
+       * fixinc/fixfixes.c (main) [__MSDOS__]: freopen for stdout should
+       return stdout.
 
-       * cccp.c (directive_table): Typo in entry for do_ident.
+2000-07-25  Bruce Korb  <bkorb@gnu.org>
 
-       * xm-m68k.h (alloca): Define macro with arg.
+       * fixinc/fix*.[ch]: substantially reworked to make it possible
+       to run this program without using fork(2) or pipe(2) (i.e. in
+       a DOS environment).
 
-       * emit-rtl.c (reorder_insns_with_line_notes):  New function.
-       (find_line_note, emit_line_note_after):  New functions.
+2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * jump.c (jump_optimize):  When moving else clause before test,
-       only move the insn as far as needed, and use new function
-       reorder_insns_with_line_notes.
+       * cppdefault.h (WINT_TYPE): Define.
+       * cppinit.c (builtin_array): Define __WINT_TYPE__.
+       * tradcpp.c (initialize_builtins): Define __WINT_TYPE__.
+       * tm.texi (NO_BUILTIN_WINT_TYPE, WINT_TYPE): Document.
 
-Mon Sep  2 03:30:35 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+Fri Aug  4 06:53:46 2000  Clinton Popetz  <cpopetz@cygnus.com>
 
-       * Makefile.in (collect2): Compile with gcc.
+       * (mips_legitimate_address_p): Don't allow register+offset
+       if the offset is large and negative, and we are compiling
+       for 64 bit registers.
 
-Sun Sep 1 9:03:46 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+2000-08-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
 
-       Define two macros to eliminate the need for a seperate collect pass.
+       * gencodes.c (main): Define CODE_FOR_nothing as the last possible
+       insn_code_number + 1.
 
-       * tm-vms.h (ASSEMBLE_OUTPUT_CONSTRUCTOR): Define.
-       (ASSEMBLE_OUTPUT_DESTRUCTOR): Define.
+2000-08-04  Kazu Hirata  <kazu@hxi.com>
 
-Sun Sep  1 08:14:22 1991  Michael Meissner  (meissner at osf.org)
+       * h8300.c (function_prologue): Rearrange code for conciseness.
+       (function_epilogue): Likewise.
+       * h8300.h (OK_FOR_U): Fix formatting.
 
-       * collect-osf.c (main): Print version number if -v.  Also ignore all
-       arguments beginning with -c rather than just '-c'.
+       * cse.c: Fix a comment typo. Fix formatting.
 
-       * make-decrose (collect): Add version.o to link.
+2000-08-03  Richard Henderson  <rth@cygnus.com>
 
-Sat Aug 31 17:03:23 1991  Michael Meissner  (meissner at osf.org)
+       * config/i386/i386.md (return_indirect_internal): New.
+       * config/i386/i386.c (ix86_expand_epilogue): Use it.
 
-       * cplus-input.c (inline macro definition): If inline is already
-       defined, don't redefine it.
+2000-08-03  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * collect-osf.c (main): Look for gld and gas instead of ld and as,
-       so collect-osf can be installed as ld.  Use a default path of
-       /usr/ccs/gcc to find the linker and assember.  Ignore the -c switch,
-       which GCC uses to say that collect is needed.
+       * cpplex.c (parse_name): Might have to glue a CPP_OTHER token
+       before the name.
+       (lex_line): Glue @ onto the beginning of identifiers and
+       string constants, in Objective-C mode.
+       (output_token, spell_token): Handle CPP_OSTRING.
+       (can_paste, maybe_paste_with_next): Handle pasting @ onto the
+       beginning of a NAME or a STRING, in objc mode.
 
-       * osf-main.c (__finis): Don't call descructors already called if one
-       of the destructors calls exit (which in turn calls __finis).
+       * cpplib.c (get_define_node): Do not permit identifiers that
+       begin with @ to be #defined.
+       * cppmacro.c (CAN_PASTE_AFTER): Add CPP_OTHER.
+       * cpplib.h (TTYPE_TABLE): Add CPP_OSTRING.
 
-       * tm-mips.h (DBX_REGISTER_NUMBER): Use mips_dbx_regno to map
-       register number to debug register number.
-       (GP_DBX_FIRST, FP_DBX_FIRST): New macros, giving the first debug
-       register numbers for gp registers and fp registers.
+       * c-lang.c, objc/objc-act.c (build_objc_string): Delete.
+       * c-tree.h (build_objc_string): Delete prototype.
+       * objc/objc-tree.def: Delete OBJC_STRING_CST.
+       * c-lex.c (yylex): Use build_string for all three kinds of strings.
 
-       * out-mips.c (mips_dbx_regno): New global array to map GCC register
-       number to debug register number, to fix problem with OSF/1 stabs
-       using 38 for the first fp registers, rather than 32.
-       (override_options): Set up OSF/1 SIGINFO signal handler to notmake
-       the interruptable system calls read, write, and wait not return
-       error condition.  Also initialize mips_dbx_regno.
+       * c-parse.in, objc/objc-act.c: Update commentary.
 
-       * make-decrose (CFLAGS): Add $(MSTATS) variable to set -mstats.
-       (CFLAGS_NODEBUG): Like CFLAGS, except no debugging or inlining.
-       (DEB_OPT): Define in terms of DEBUG, OPT, and PROFILE.
-       (cplus-lex rule): Build cplus-lex with no debug or inlinings.
+2000-08-03  Mark Mitchell  <mark@codesourcery.com>
 
-Sat Aug 31 12:52:17 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * extend.texi: Fix typo in last change.
 
-       * cccp.c (handle_directive): Be more fussy detecting `# LINE' case.
+       * extend.texi: Add commentary on statement-expressions and their
+       interactions with C++.
 
-       * cccp.c (directive_table): Pass through and ignore #ident.
-       (do_ident): New function.
-       (skip_if_group): Error if unrecognized directive seen.
+2000-08-03  Nick Clifton  <nickc@cygnus.com>
 
-       * jump.c (jump_optimize): In converting  x=a; if (...) x=b;  to
-       store flag, insert all the new code in just one line.
+       * dwarf2.h (DW_LANG_Java): Change value to 0x000b.
+       * dwarf.h (LANG_JAVA): Change value to 0x000b.
 
-       * gcc.c (do_spec_1): Use xmalloc to make linker_options the first time.
+2000-08-03  Anthony Green  <green@cygnus.com>
 
-       * expr.c (expand_expr): Make EXPAND_SUM and EXPAND_INITIALIZER
-       imply EXPAND_CONST_ADDRESS in all cases.
+       * dwarf2out.c (gen_compile_unit_die): Add java language support.
+       (add_bound_info): Check for java language.
+       (is_java): New function.
+       * dwarfout.c (output_compile_unit_die): Ditto.
+       * dwarf.h (dwarf_source_language): Add java source language type.
+       * dwarf2.h (dwarf_source_language): Ditto.
 
-       * c-decl.c (c_decode_option): -Wall sets warn_uninitialized.
-       * flags.h (warn_uninitialized): Declared.
-       * toplev.c (warn_uninitialized): No longer static.
+Thu Aug  3 20:32:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
-       * cccp.c (main): Make no assumptions about include_defaults
-       in calculation of max_include_len.  Add fudge space if VMS.
+       * reg-stack.c (subst_stack_regs_pat):  Use replace_reg to swap
+       operands.
 
-       * reload.c (find_reloads_toplev): New arg IS_SET_DEST.
-       Don't replace reg with constant in destination of a SET.
-       (find_reloads): Pass that arg.  Also don't replace here.
+       * i386.c (ix86_expand_branch): Mode of comparison in
+       IF_THEN_ELSE is VOIDmode.
 
-       * cplus-xref.c: Finish installing changes from Youngdale.
+Thu Aug  3 10:05:53 2000  Akiko Matsushita <matusita@sra.co.jp>
 
-Sat Aug 31 09:02:25 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * gengenrtl.c, rtl.c: Avoid #elif.
 
-       * cplus-decl2.c (finish_file): Call varasm routines to assemble ctor
-       and dtor lists.
+2000-08-03  Michael Poole  <poole@troilus.org>
 
-       * cplus-dbxout.c (dbxout_type_methods): Fix error in printing symbol
-       info for classes that only define a destructor.
+       * tm.texi (Register Classes): Clarify order of sub-initializers
+       in REG_CLASS_CONTENTS.
 
-Sat Aug 31 08:32:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Aug  3 15:53:03 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-       * cse.c (cse_end_of_basic_block): Correctly handle the case of a basic
-       block where a conditional branch out of the block becomes unconditional
-       and a conditional branch to the end of the block becomes a noop.
+       From SAITOH Masanobu:
+       * sh.h (ASM_OUTPUT_REG_PUSH): Fix syntax.
 
-       * combine.c (try_combine): In case where we have a PARALLEL
-       involving a load and sign extend, use reg_overlap_mentioned_p
-       instead of reg_mentioned_p.
-       If we have a PARALLEL of two independent SETs, try to split them
-       up into separate insns.
+2000-08-03  David Billinghurst  <David.Billinghurst@riotinto.com.au>
 
-       * combine.c (move_deaths): Instead of placing the REG_DEAD notes
-       on TO_INSN, add them to a list whose address is given as an
-       operand.
-       (distribute_notes): Allow for the case when the death of an object
-       is between I2 and I3.
-       Set reg_last_death to corrspond to the location of the REG_DEAD
-       note being placed.
-       (try_combine): Call move_deaths in new way and pass returned list
-       to distribute_notes if it is non-empty.
+       * config/i386/cygwin.h: Remove -remap from CPP_SPEC since this option
+       is not supported by tradcpp and isn't actually needed for cygwin.
 
-       * local-alloc.c (requires_inout_p): Don't have cases for '[Q-U]' unless
-       EXTRA_CONSTRAINT is defined..
+2000-08-03  Kazu Hirata  <kazu@hxi.com>
 
-       * local-alloc (block_alloc): Don't allocate SCRATCH on machines with
-       SMALL_REGISTER_CLASSES defined.
+       * h8300.c: Fix a comment typo.
+       * h8300.h (OK_FOR_U): Accept a 32-bit constant address on H8S.
 
-       * regclass.c (reg_class_record): Add missing case for 'V'.
+       * jump.c: Fix formatting.
 
-Fri Aug 30 04:42:19 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+       * toplev.c: Fix formatting.
 
-       * tm-i386.h (OUTPUT_JUMP): Use cc_prev_status.
+Thu Aug  3 01:05:32 2000  Jeffrey A Law  (law@cygnus.com)
 
-Fri Aug 30 17:08:52 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+       * flow.c (find_auto_inc): Verify that we've got a REG before
+       peeking at its regno.  Fail, don't abort if we can't find
+       the increment of the desired register.
 
-       * xm-vms.h (LOCATE_START_OF_FILE_NAME): Remove.
-       (FILE_NAME_NONDIRECTORY): Fix typo.
-       (XREF_FILE_NAME): Use FILE_NAME_NONDIRECTORY instead of
-       LOCATE_START_OF_FILE_NAME, and omit the leading underscore in the
-       generated file name.
-       (FILE_NAME_ABSOLUTE_P): Define to use hook in cplus-xref.c.
-       (FILE_NAME_JOINER): Define to use hook in cplus-xref.c.
+       * pa.md (shadd height reduction patterns/splitters): Remove.
 
-       * cplus-xref.c: Fix bug in default definition of FILE_NAME_ABSOLUTE_P.
-       (GNU_xref_open): Fix bug - wrong argument to XREF_FILE_NAME.
-       (FILE_NAME_JOINER): New macro.
-       (GNU_xref_file): Use it.
+2000-08-02  Jim Wilson  <wilson@cygnus.com>
 
-Fri Aug 30 17:30:15 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/ia64/ia64-protos.h (flag_ssa): Declare.
+       * config/ia64/ia64.md (movti_internal, movti_internal+1): New.
 
-       * cplus-xref.c: Reinstall Aug 25 changes discarded by Tiemann.
+2000-08-02  Mark Mitchell  <mark@codesourcery.com>
 
-       * expr.c (expand_expr): New modifier option EXPAND_INITIALIZER.
-       * varasm.c (output_constant): Use that.
-       * jump.c (forced_labels): New var records labels not to delete.
-       (jump_optimize): Don't delete those labels.
-       * flow.c (find_basic_blocks): Any computed goto goes to those labels.
-       * varasm.c (decode_addr_const): Deal with LABEL_DECL.
+       * dce.c: Remove all uses of assert.
+       * dwarf2out.c: Likewise.
+       * dwarfout.c: Likewise.
+       * ssa.c: Likewise.
 
-Fri Aug 30 15:41:03 1991  Michael Meissner  (meissner at osf.org)
+2000-08-02  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * mips.md (copyleft): Use separate copyright years.
-       (mov*): Use nonimmediate_operand instead of general_operand.
+       * gcc.h (lang_specific_driver): Constify second argument.
+       * gcc.c (translate_options, process_command, main): Likewise.
+       Constify variables to match.  Cast second argument to
+       pexecute.
 
-       * tm-mips.h (copyleft): Use separate copyright years.
+       * cppspec.c, gccspec.c: Adjust type of second argument to
+       lang_specific_driver, and update code as necessary.
 
-       * xm-mips.h (copyleft): Use separate copyright years.
+2000-08-02  Jakub Jelinek  <jakub@redhat.com>
 
-       * xm-umips.h (copyleft): Use separate copyright years.
+       * loop.c (scan_loop): Ensure update_end label does not
+       go away until reg_scan_update is run.
 
-Fri Aug 30 08:47:30 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+2000-08-02  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * cplus-typeck.c (build_x_*): Try first calling `build_opfncall'
-       with FLAGS==0.  If that succeeds, check protection.
-       (build_conditional_expr): `fold' does not preserve the type of it's
-       expressions, which is a problem for C++ when trying to keep ints and
-       enums distinct.
+       * c-common.h: Prototype min_precision and c_build_qualified_type here...
+       * c-tree.h: ... not here.
+       * errors.h: Prototype fancy_abort.
 
-       * cplus-decl.c (lookup_name): When there is a choice between seeing
-       a name as a type and seeing as a decl, call `arbitrate_lookup' to
-       make the decision.
-       * cplus-lex.c (arbitrate_lookup): New function.  Uses minute amounts
-       of syntactic context to decide whether to see a name as a type or
-       something else.
+       * emit-rtl.c (gen_lowpart_common): Move variable 'c' into
+       HOST_BITS_PER_WIDE_INT == 64 ifdef block.
+       * regrename.c (regrename_optimize): Make control flow explicit.
+       (replace_reg_in_block): Initialize reg_use to 0.
 
-Fri Aug 30 07:40:49 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * i386.c (legitimate_address_p): Rename error label to
+       report_error to avoid namespace clash.
 
-       * jump.c (delete_jump): When checking REG_DEAD notes, make sure they
-       have a legal value.
+2000-08-02  Kazu Hirata  <kazu@hxi.com>
 
-Fri Aug 30 00:57:05 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+       * fold-const.c: Fix formatting.
 
-       * local-alloc.c (alloc_qty_for_scratch): Treat Q - U as reg class if
-       EXTRA_CONSTRAINT is not defined.
-       * regclass.c (reg_class_record): Likewise.
+Wed Aug  2 16:26:15 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
-Thu Aug 29 21:39:07 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * i386.c (legitimate_address_p): Accept other bases than
+       pic_offset_table_rtx for GOTOFF constructs.
 
-       * c-typeck.c (build_binary_op_nodefault): Fix last change.
+Wed Aug  2 15:59:34 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
-Thu Aug 29 19:11:05 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * i386.md (shift to lea splitter): Use const_int_operand.
 
-       * recog.c (general_operand, const_double_operand): Similar to
-       immediate_operand, don't accept a VOIDmode operand if the
-       caller wants floating.
-       * out-pyr.c (nonindexed_operand): Likewise.
+2000-08-02  Zack Weinberg  <zack@wolery.cumb.org>
 
-Thu Aug 29 09:53:27 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+       * cppexp.c, cppinit.c, cpplex.c, cpplib.c, cppmacro.c,
+       cppspec.c: Do not use 'legal' or 'illegal' in error messages
+       and comments.
+
+       * cppmain.c (cb_define, cb_undef): Don't generate any output
+       if not done_initializing.
+       * cpplex.c (maybe_paste_with_next): When the token after a ##
+       is an omitted rest argument, only delete the token before it
+       if that token is a comma.  Do not warn about bogus token
+       pastes for , ## rest_arg.
+
+       * cpp.texi: Update.
+       * cpp.1: Regenerate.
+
+2000-08-02  Fred Fish  <fnf@be.com>
+
+       * config/i386/beos-elf.h (STARTFILE_SPEC): Add i386-mcount.o
+       when user gives -p option.  Add init_term_dyn.o for BeOS 5.0
+       and later.
+
+       * config/i386/beos-elf.h (INCLUDE_DEFAULTS): Add additional
+       Be directories to search path.
+
+       Remove support for __declspec(dllimport) and __declspec(dllexport).
+       This is leftover cruft from the earlier BeOS gcc port when BeOS
+       used Microsoft's PE object file format.
+       * configure.in (i*86-*-beoself): Remove extra_objs=winnt.o.
+       * config/i386/t-beos (winnt.o): Remove Makefile frag.
+       * config/i386/beos-elf.h (TARGET_NOP_FUN_DLLIMPORT): Remove.
+       (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+       (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+       (MERGE_MACHINE_DECL_ATTRIBUTES): Remove.
+       (REDO_SECTION_INFO_P): Remove.
+       (ASM_EXPORT_DECL): Remove.
+       (ASM_DECLARE_FUNCTION_NAME): Remove.
+       (ASM_DECLARE_OBJECT_NAME): Remove.
+       (ASM_OUTPUT_ALIGNED_COMMON): Remove.
+       (ASM_OUTPUT_ALIGNED_DECL_COMMON): Remove.
+       (ASM_OUTPUT_ALIGNED_LOCAL): Remove.
+       (STRIP_NAME_ENCODING): Remove.
+
+       Remove support for obsolete version of BeOS that is no longer
+       supported by Be.
+       * configure.in (i*86-*-beospe*): Remove.
+       * config/i386/beos-pe.h: Remove.
+
+2000-08-01  Jeffrey Oldham  <oldham@codesourcery.com>
+           Mark Mitchell <mark@codesourcery.com>
+
+       * Makefile.in (OBJS): Added dce.o.
+       (ssa.o): Updated target to include ssa.h.
+       (flow.o): Likewise.
+       (toplev.o): Likewise.
+       (dce.o): Created target.
+       * basic-block.h: Added comments.
+       (INVALID_BLOCK): Added definition.
+       (connect_infinite_loops_to_exit): Added declaration.
+       Moved SSA declarations to ssa.h.
+       * flow.c: Added inclusion of ssa.h.
+       (struct depth_first_search_dsS, depth_first_search_ds):
+       Added definitions.
+       (compute_immediate_postdominators): Added definition.
+       (connect_infinite_loops_to_exit): Likewise.
+       (flow_dfs_compute_reverse_init): Likewise.
+       (flow_dfs_compute_reverse_add_bb): Likewise.
+       (flow_dfs_compute_reverse_execute): Likewise.
+       (flow_dfs_compute_reverse_finish): Likewise.
+       * rtl.h (rtx/in_struct): Added use to determine insn necessity.
+       (LABEL_P): Added definition.
+       (JUMP_P): Likewise.
+       (NOTE_P): Likewise.
+       (BARRIER_P): Likewise.
+       (JUMP_TABLE_DATA_P): Likewise.
+       (INSN_DEAD_CODE_P): Likewise.
+       * ssa.c: Replaced inclusions with ssa.h inclusion.
+       (CONVERT_HARD_REGISTER_TO_SSA_P): Moved to ssa.h.
+       (rename_registers): Removed unnecessary variables.
+       * ssa.h: Created by moving declarations from ssa.c and
+       basic-block.h.
+       * timevar.def: Defined TV_DEAD_CODE_ELIM.
+       * toplev.c: Added ssa.h inclusion.
+       (dump_file_index): Added DFI_dce.
+       (dump_file): Added "dce" entry.
+       Defined flag_ssa.
+       (f_options): Added dce entry.
+       * invoke.texi: Document -fdce.  Emphasize experimental status of
+       -fssa.
+       * dce.c: New file.
+
+2000-08-01  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpperror.c (v_message): Split into _cpp_begin_message and
+       v_message macro.  All callers updated.
+       (_cpp_begin_message): Do inhibit_errors/inhibit_warnings
+       checks here.
+
+       * cppfiles.c (cpp_syshdr_flags): New function.
+       (read_include_file): Don't call cpp_output_tokens.  Call
+       enter_file hook.
+       * cppinit.c (dump_macros_helper): Moved to cppmain.c.
+       (cpp_reader_init): Don't initialize token_buffer.  Call
+       _cpp_init_internal_pragmas.
+       (cpp_cleanup): Don't clear token_buffer.
+       (cpp_start_read): Don't worry about output from -D processing.
+       Don't call cpp_output_tokens.
+       (cpp_finish): Don't dump macros here.  Don't call
+       cpp_output_tokens.
+       * cppmacro.c (_cpp_dump_definition): Rename
+       cpp_dump_definition.  Write directly to a FILE *.
+       (dump_funlike_macro): Delete.
+       (dump_macro_args): New.
+
+       * cpplex.c (TOKEN_LEN): Convert to inline function.
+       (_cpp_grow_token_buffer, safe_fwrite, cpp_output_tokens,
+       cpp_scan_line, _cpp_dump_list): Delete.
+       (cpp_printf, cpp_output_list): New.
+       (output_line_command): Don't worry about entering or leaving files.
+       (cpp_scan_buffer): Just output each token as we hit it.
+       (process_directive): Don't call cpp_output_tokens.
+       (_cpp_glue_header_name): Don't use token_buffer.
+       (output_token, dump_param_spelling): Write directly to a FILE *.
+
+       * cpplib.c (pass_thru_directive, dump_macro_name,
+       pragma_dispatch, do_pragma_gcc): Delete.
+       (do_define, do_undef, parse_include, do_line, do_ident, do_pragma,
+       do_pragma_poison, cpp_pop_buffer): Call the appropriate hook
+       functions.
+       (do_error, do_warning, pragma_dependency): Call
+       _cpp_begin_message, then cpp_output_list.
+       (cpp_register_pragma, cpp_register_pragma_space,
+       _cpp_init_internal_pragmas): New.
+       (do_pragma): Walk the pragmas table here.
+       (do_pragma_once, do_pragma_poison, do_pragma_system_header,
+       do_pragma_dependency): Return void.
+       (do_pragma_implementation): Moved to cppmain.c.
 
-       * cplus-tree.h ({SET,CLEAR}_ASSOC_*): New macros needed because not
-       all C compilers support conditional expressions as lvalues.
-       (lang_type): Change type of MEMOIZED_TABLE_ENTRY and SEARCH_SLOT
-       from `void *' to `char *', to make braindead compilers at less of a
-       disadvantage.
+       * cpplib.h: Update prototypes.
+        (struct cpp_reader): Remove printer, token_buffer,
+       token_buffer_size, and limit.  Add struct cb, and pragmas.
+       (struct cpp_printer): Remove last_id and written.
+       (CPP_WRITTEN, CPP_PWRITTEN, CPP_SET_WRITTEN,
+       CPP_ADJUST_WRITTEN): Delete.
+       * cpphash.h: Update prototypes.
+       (ufputs): New wrapper.
 
-Thu Aug 29 08:07:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * cppmain.c (cb_define, cb_undef, cb_include, cb_ident,
+       cb_enter_file, cb_leave_file, cb_def_pragma): New functions.
+       (main): Set up callbacks.  Register #pragma implementation.
+       Dump macros from here.
 
-       * m88k.md (define_function_unit): Update latencies.
+2000-08-01  Geoff Keating  <geoffk@cygnus.com>
 
-       * out-m88k.c (output_function_profiler): Correct offsets for
-       register saves.
-       * tm-m88ksvr4.h (FUNCTION_PROFILER): Use the name _mcount and do
-       register saves.
+       * rtl.h (enum reg_note): Add REG_MAYBE_DEAD.
+       * rtl.c (reg_note_name): Add REG_MAYBE_DEAD.
+       * flow.c (propagate_one_insn): Allow deletion of prologue/epilogue
+       insns if they have a REG_MAYBE_DEAD note attached.
+       * config/rs6000/rs6000.c (rs6000_maybe_dead): New function.
+       (rs6000_emit_load_toc_table): TOC loads may go dead.
 
-       * tm-m88k.h (ASM_DWARF_POP_SECTION): Specify "previous".
+2000-08-01  Jim Wilson  <wilson@cygnus.com>
 
-       Changes from Ron Guilmette:
-       * dwarfout.c (lookup_filename): Only increment valid_ft_entries
-       once when adding a filename to the table.
-       (output_symbol): Do output DIEs for a global VAR_DECL definition.
+       * config/ia64/ia64.c (ia64_function_arg): Fix last change.  Verify
+       type exists before using it.  Use number of words as alignment
+       otherwise.
+       (ia64_function_arg_partial_nregs, ia64_function_arg_advance,
+       ia64_va_arg): Propagate ia64_function_args changes here.
 
-Thu Aug 29 06:15:32 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
+2000-08-01  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-type2.c (build_functional_cast): If we have a valid value in
-       `expr_as_conversion' return that before returning error_mark_node.
+       * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Care for null DECL.
+       * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
 
-       * cplus-init.c (expand_recursive_init): Fix typo is testing
-       TYPE_USES_VIRTUAL_BASECLASSES.
+2000-08-01  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-Wed Aug 28 23:12:35 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       From Joern Rennecke:
+       * sh.h (CPP_SPEC, TARGET_SWITCHES): Add m4-nofpu.
+       * sh.md (udivsi3, divsi3): Don't use libcalls that use the FPU
+       unless TARGET_SH3E is set.
+       * t-sh (MULTILIB_MATCHES): Add m2=m4-nofpu.
+
+       * sh.md (ashlsi3_d, ashlsi3_k): Remove, replace with
+       (ashlsi3_std): New pattern.
+       (ashlsi3 expander): Use it for TARGET_SH3.
+       * sh.c (gen_ashift): Use it instead of ashlsi3_k.
+
+Tue Aug  1 12:34:21 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * loop.c (canonicalize_condition):  Use destination, not source to
+       determine SET's mode.
+
+2000-07-31  Mark Mitchell  <mark@codesourcery.com>
+
+       * flow.c (clear_log_links): Fix typo.
+
+Mon Jul 31 22:19:24 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * loop.c (check_dbra_loop): Make change from July 17, 2000 work
+       on targets which need more than one insn for a compare/cbranch
+       operation.
+
+2000-07-31  Jim Wilson  <wilson@cygnus.com>
+
+       * config/ia64/ia64.c (ia64_function_arg): Use alignment not size
+       when computing offset.
+
+Mon Jul 31 20:35:50 2000  Denis Chertykov  <denisc@overta.ru>
+
+       * genpeep.c (main): Handle DEFINE_PEEPHOLE2.
+
+2000-07-31  Geoff Keating  <geoffk@cygnus.com>
+
+       * flow.c (clear_log_links): Nuke global_live_at_start and
+       global_live_at_end data, since if the log_links stuff is invalid
+       so is global_live_at_*.
+
+2000-07-31  Richard Henderson  <rth@cygnus.com>
+
+       * tm.texi (Addressing Modes): Clarify PRE/POST_MODIFY descriptions.
+
+2000-07-31  Jakub Jelinek  <jakub@redhat.com>
+
+       * cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0.
+       (_cpp_get_token): Don't macro expand a just pasted token if it
+       was pasted at no_expand_level.
+
+2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cppmacro.c (find_param, count_params, save_expansion):
+       Permit 'defined' as a macro parameter name.
+
+2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and
+       xcpp to cpp throughout.
+       (native): Remove unnecessary dependency on cpp.
+
+       * gcc.c (trad_capable_cpp, C specs): Rename cpp to cpp,
+       tradcpp to tradcpp0.
+       (.i spec): Add missing output-file spec to cc1 command line.
+       * objc/lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.
+
+2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * c-decl.c (mesg_implicit_function_declaration): Init to -1.
+       (implicit_decl_warning): New function.
+       (implicitly_declare): Use it.
+       * c-typeck.c (build_external_ref): Use implicit_decl_warning
+       to complain about implicit decls of builtins.
+
+       * c-lang.c (lang_init): Set mesg_implicit_function_declaration
+       based on pedantic && flag_isoc99, if not already set.
+       * c-tree.h: Declare mesg_implicit_function_declaration.
+       Prototype implicit_decl_warning.
+
+2000-07-30  Jeffrey D. Oldham  <oldham@codesourcery.com>
+
+       * Makefile.in (ssa.o): Updated header files in dependences.
+       * basic-block.h: Added compute_immediate_postdominators declaration.
+       * config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Added
+       definition.
+       * flow.c (compute_immediate_dominators): Updated comment.
+       (compute_immediate_postdominators): Added definition.
+       * rtl.h (HARD_REGISTER_P): Added definition.
+       * ssa.c: Include additional header files.
+       (assert): Added definition.
+       (ssa_rename_to_lookup): Added to reimplement ssa_rename_to to
+       include select hard registers.
+       (ssa_rename_to_insert): Likewise.
+       (ssa_rename_from_initialize): Likewise.
+       (ssa_rename_from_lookup): Likewise.
+       (original_register): Likewise.
+       (ssa_rename_from_insert): Added to reimplement ssa_rename_from to
+       include select hard reigsters.
+       (ssa_rename_from_traverse): Likewise.
+       (ssa_rename_from_free): Likewise.
+       (ssa_rename_from_print): Likewise.
+       (ssa_rename_from_print_1): Likewise.
+       (ssa_rename_from_hash_function): Likewise.
+       (ssa_rename_from_equal): Likewise.
+       (ssa_rename_from_delete): Likewise.
+       (simplify_to_immediate_dominators): Removed in favor of
+       flow.c:compute_immediate_dominators.
+       (find_evaluations_1): Modified to work with hard registers.
+       (insert_phi_node): Likewise.
+       (insert_phi_nodes): Likewise.
+       (struct rename_set_data): Updated prev_reg comment.
+       (create_delayed_rename): Modified to work with hard registers.
+       (RENAME_NO_RTX): Updated comment.
+       (apply_delayed_renames): Modified to work with hard registers.
+       (rename_insn_1): Likewise and added handling of CLOBBER rtls.
+       (rename_block): Updated to use revised ssa_rename_to interface.
+       (rename_registers): Updated to use revised ssa_rename_to and
+       ssa_rename_from interface.
+       (convert_to_ssa): Revised to use compute_immediate_dominators and
+       deal with hard registers.
+       (make_regs_equivalent_over_bad_edges): Modified to work with hard
+       registers.  Added check for illegal unification of hard register.
+       (make_equivalent_phi_alternatives_equivalent): Modified to work
+       with hard registers.
+       (compute_conservative_reg_partition): Likewise.
+       (coalesce_if_unconflicting): Modified to work with hard registers
+       and check for conflicting hard registers.
+       (mark_phi_and_copy_regs): Revised loop to work only on pseudo
+       registers.
+       (rename_equivalent_regs_in_insn): Modified to work with hard
+       registers.
+       (record_canonical_element_1): Added definition.
+       (check_hard_regs_in_partition): Added definition.
+       (convert_from_ssa): Added data structure deallocation and check
+       for illegal hard register unification.
+       (conflict_hard_regs_p): Added definition.
+       * toplev.c (rest_of_compilation): Added comment.
 
-       * c-typeck.c (build_binary_op_nodefault): For shift and rotate ops,
-       if traditional, use the common type of the operands.
+2000-07-31  Anthony Green  <green@redhat.com>
 
-Wed Aug 28 07:31:33 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * config/ia64/crtbegin.asm (__EH_FRAME_BEGIN__): Align correctly.
 
-       * dwarfout.c, dwarf.h, README.DWARF: Replacement files from Ron
-       Guilmette that bring the dwarf implementation up to that defined by
-       draft 4 of the dwarf specification (dated 7/31/91).
+2000-07-31  Jason McMullan  <jmcmullan@linuxcare.com>
 
-Wed Aug 28 06:24:30 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * builtins.c (expand_builtin_apply): Don't defer pop during
+       argument setup.
 
-       * all *.md files except a29k.md and romp.md: Don't allow CONST_INT
-       as operand for RTL operations that need a mode to be well-defined,
-       e.g., SIGN_EXTEND, ZERO_EXTEND, TRUNCATE, FLOAT.  Similarly, don't
-       allow CONST_INT as first operand of a COMPARE.
+2000-07-31 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
 
-       * machmode.h (MIN, MAX): Undefine these before our definition.
+       * calls.c (combine_pending_stack_adjustment_and_call): Only use
+       preferred_unit_stack_boundary when it is > 1.
 
-Tue Aug 27 21:33:04 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+2000-07-31  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * version.c: Now 1.95.
+       * c-common.c (init_function_format_info): Add C99 format functions
+       in C99 mode.
 
-Tue Aug 27 18:05:25 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * c-decl.c (get_parm_info): Don't treat 'const void', 'volatile
+       void' or 'register void' as being the special case of 'void' alone
+       in a parameter list.
 
-       * reload1.c (possible_group_p): Use earliest class that needs a group.
+       * c-typeck.c (build_c_cast): Change -Wcast-qual pedwarn for
+       discarding qualifiers into a plain warning.
 
-       * gcc.c (do_spec_1): Handle %x and %X.
-       (link_command_spec): Use %X.  If given -collect, pass -c.
-       (default_compilers c++): Use %x to pass -c to linker.
+2000-07-31  Kazu Hirata  <kazu@hxi.com>
 
-       * cse.c (find_comparison_code): Don't call fold_rtx,
-       because we don't know which insn to pass for its second argument.
+       * combine.c: Fix formatting.
 
-       * cse.c (fold_rtx): Don't fold what we get from lookup_as_function.
+       * h8300.md: Fix formatting.
 
-Tue Aug 27 17:46:59 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * local-alloc.c: Fix formatting.
 
-       * cse.c (rtx_cost): A USE is free; it is likely being used as a marker.
+       * h8300.c (get_shift_alg): Remove the variable alg.
+       (emit_a_shift): Rearrange code to improve readability.
+
+       * h8300.md (movsi_h8300hs): Rearrange code to improve readability.
+
+       * h8300.h (MODES_TIEABLE_P): Accept a combination of QImode and
+       HImode on all architectures and a combination of HImode and SImode
+       on H8/300H and H8S.
+
+       * h8300.c (split_adds_subs): Rearrange code for conciseness.
+
+Mon Jul 31 12:27:55 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs
+       in my last checkin.
+
+Mon Jul 31 10:41:01 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
-       * cse.c (cse_insn): If we decided not to make a reg-reg copy between 
-       equivalent regs into a no-op, see if there is an equivalent constant
-       that is cheaper than the register we decided to use.
+       * recog.c (extract_insn): Set operand_mode according to
+       operand if match_operand is VOIDmode.
+
+Mon Jul 31 10:36:38 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * recog.c (validate_replace_rtx_1): Do not abort for (nil) expression.
 
-       * cse.c (cse_insn): Fix arg in insert_regs call when making a
-       secondary equivalence due to a SUBREG; we are not modifying the
-       register.
+2000-07-31  Geoff Keating  <geoffk@cygnus.com>
+
+       * c-parse.in (extdefs): Call ggc_collect between external
+       definitions.
 
-       * cse.c (delete_dead_from_cse): Treat a SET that copies a register
-       to itself as if it were setting a dead register.
+2000-07-30  Michael Hayes  <mhayes@cygnus.com>
+           Richard Henderson  <rth@cygnus.com>
 
-       * cse.c (find_comparison_args): Call fold_rtx on the args that we
-       are about to return.
-       (fold_rtx, case SUBREG): Copy code from equiv_constant that looks up
-       a SUBREG in the hash table.
-       If our our folded operand is equivalent to a constant, use that when
-       seeing if we can get a part of a constant.
-       (fold_rtx): Don't short-circuit recursive call for an operand that
-       is a SUBREG; add comment in REG case that we are doing equiv_constant.
-       When looking for associative operation, call fold_rtx on potential
-       constant as well as equiv_constant.
-       (equiv_constant): Just look up a constant quantity for a register;
-       fold_rtx will do the SUBREG operations.
+       * Makefile.in (OBJS): Add doloop.o.
+       * doloop.c: New file.
 
-       * fold-const.c ({neg,mul,lshift,rshift,lrotate,rrotate}_double):
-       No longer static.
-       * cse.c (simplify_{unary,binary}_operation): Fold some DImode
-       operations.
+       * final.c (insn_current_reference_address): Return 0 before final.
+       * flags.h (flag_branch_on_count_reg): Fix typos in commentary.
+       * jump.c (any_uncondjump_p): Likewise.
+       * loop.c (indirect_jump_in_function): Make static.
+       (strength_reduce): Call doloop_optimize.
+       (insert_bct, instrument_loop_bct): Remove.
+       * loop.h (doloop_optimize): Prototype.
+       * recog.c (split_all_insns): Split all INSN_P.
+       * toplev.c (flag_branch_on_count_reg): Default on.
 
-       * fold-const.c (fold, case EQ_EXPR, NE_EXPR, ...): Add code to handle
-       cases where we are comparing the result of a comparison.
+       * config/c4x/c4x.c (c4x_optimization_options): Don't set
+       flag_branch_on_count_reg.
+       * config/i386/i386.c (override_options): Likewise.
+       * config/rs6000/rs6000.c (optimization_options): Likewise.
 
-Tue Aug 27 14:35:59 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/i386/i386.md (decrement_and_branch_on_count): Remove.
+       (doloop_end): New.
+       (dbra_ge): Remove, as well as all it's splitters.
 
-       * flow.c (mark_used_regs): Set regs_ever_live for all hard regs.
-       Warning: this might break FUNCTION_PROLOGUE and FUNCTION_EPILOGUE
-       in some ports.  But I've checked all the installed ones.
-       * tm-gmicro.h (FUNCTION_PROLOGUE):
-       Clear bit for fp reg if used as such.
-       * tm-mips.h (MUST_SAVE_REGISTER): Only frame_pointer_needed affects fp.
+       * config/rs6000/rs6000.md (decrement_and_branch_on_count): Remove.
+       (doloop_end): New.
 
-       * c-decl.c (store_parm_decls): No error if arglist contains type tag.
+       * config/ia64/ia64-protos.h (ar_lc_reg_operand): Declare.
+       (ia64_register_move_cost): Declare.
+       * config/ia64/ia64.c (ar_lc_reg_operand): New.
+       (struct ia64_frame_info): Add ar_size.
+       (ia64_compute_frame_size): Set it.
+       (save_restore_insns): Save and restore ar.lc.
+       (ia64_register_move_cost): New, moved from header file.  Handle
+       application registers.
+       (REG_AR_PFS, REG_AR_EC): Remove.  Replace with AR_*_REGNUM numbers.
+       (emit_insn_group_barriers): Special case doloop_end_internal.
+       (ia64_epilogue_uses): Mark ar.lc live at end.
+       * config/ia64/ia64.h (AR_CCV_REGNUM, AR_LC_REGNUM): New registers.
+       (AR_EC_REGNUM, AR_PFS_REGNUM): New registers.
+       (FIRST_PSEUDO_REGISTER): Make room.
+       (AR_M_REGNO_P, AR_I_REGNO_P, AR_REGNO_P): New.
+       (FIXED_REGISTERS, CALL_USED_REGISTERS): Update.
+       (REG_ALLOC_ORDER): Update.
+       (HARD_REGNO_MODE_OK): Update.
+       (REGISTER_NAMES): Update.
+       (enum reg_class): Add AR_M_REGS and AR_I_REGS.
+       (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
+       (REGNO_REG_CLASS): Update.
+       (LEGITIMATE_ADDRESS_DISP): Displacement range is 9 bits, not 10.
+       (REGISTER_MOVE_COST): Move out of line.
+       (PREDICATE_CODES): Update.
+       * config/ia64/ia64.md (movdi patterns): Handle ar register classes.
+       (addsi3_plus1_alt, adddi3_plus1_alt): New.
+       (shladd_elim splitter): Allow constants in the predicate.
+       (doloop_end, doloop_end_internal): New.
 
-       * optabs.c (expand_fix): Really call emit_cmp_insn right.
+2000-07-30  Richard Henderson  <rth@cygnus.com>
 
-       * floatlib.c: New file.
+       * genattrtab.c (struct insn_def): Add lineno member.
+       (struct insn_ent): Likewise.
+       (struct attr_desc): Likewise.
+       (struct delay_desc): Likewise.
+       (struct function_unit_op): Likewise.
+       (struct function_unit): Likewise.
+       (check_attr_value): Use message_with_line.
+       (check_defs): Likewise.
+       (expand_units): Likewise.
+       (check_attr_test): Take a lineno argument.
+       (gen_attr): Likewise.
+       (gen_insn): Likewise.
+       (gen_delay): Likewise.
+       (gen_unit): Likewise.
+       (main): Give it to them.
+       (convert_set_attr_alternative): Take an insn_def argument
+       instead of num_alt and insn_index.
+       (convert_set_attr): Likewise.
+       (write_test_expr): Protect INSN_ADDRESSES load
+       with INSN_ADDRESSES_SET_P.
 
-       * gnulib2.c (__clz_tab): Moved to _udivdi3.
+2000-07-30  Richard Henderson  <rth@cygnus.com>
 
-Tue Aug 27 06:44:12 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
+       * flow.c (init_propagate_block_info): Use pc_set.
 
-       * cplus-typeck.c (c_expand_return): Don't use the cleanup generated
-       by `build_functional_cast'.
+Sun Jul 30 20:58:34 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
-       * cplus-class.c (resolves_to_fixed_type_p): Handle WITH_CLEANUP_EXPR.
+       * i386.md (*lea_general_[123]) New insns and splits.
+       (addsi3 to lea splitter): Handle other modes too.
+       (shlsi3 to lea splitter): Likewise.
+       (addhi_1_lea, shlhi_1_lea): New patterns.
+       (addhi_1, shlhi_1): Conditionize by PARTIAL_REG_STALL.
+
+Sun Jul 30 20:51:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * recog.c (general_operand, nonimmediate_operand): Accept
+       any mode for VOIDmode CONSTANT_P operands.
+
+Sun Jul 30 20:42:21 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * gcse.c (try_replace_reg): Use validate_replace_rtx_subexp
+       instead of replace_rtx.
+       * recog.c (validate_replace_rtx_subexp): New function.
+       * recog.h (validate_replace_rtx_subexp): Declare.
+
+Sun Jul 30 20:38:26 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * combine.c (simplify_set, make_extraction, make_compound_operation
+       make_field_assignment): Use full mask instead of GET_MODE_MASK (mode)
+       as force_to_mode argument.
+
+Sun Jul 30 20:30:41 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * combine.c (if_then_else_cond): Be sure that mode fits in
+       HOST_WIDE_INT.
+
+Sun Jul 30 20:27:36 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * combine.c (record_promoted_value):  Allow bitsize of mode
+       to be equivalent to HOST_BITS_PER_WISE_INT.
+
+Sun Jul 30 20:25:21 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * function.c (assign_stack_local_1, assign_stack_temp_for_type):
+       Do not call gen_mode_alignment when mode is BLKmode.
+
+Sun Jul 30 20:21:54 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * loop.c (express_from_1): Fix call of simplify_gen_binary.
+
+Sun Jul 30 20:08:37 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * simplify-rtx.c (simplify_relational_operation): Verify that mode ==
+       VOIDmode implies both operands to be VOIDmode.
+       (simplify_ternary_operation): Compute properly the mode of comparison.
+       * combine.c (combine_simplify_rtx): Likewise.
+
+2000-07-25  Michael Hayes  <mph@paradise.net.nz>
+
+       * basic-block.h (struct loops): New field rc_order.
+       * flow.c (flow_loops_cfg_dump): Dump rc_order if computed.
+       (flow_loops_free): Free rc_order.
+       (flow_depth_first_order_compute): New parameter rc_order.
+       (flow_loops_find): Allocate rc_order and swap usage with
+       dfs_order.
+
+2000-07-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+          Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue.
+       (push_st, push_dp, pop_st, pop_dp, popqi_unspec): Likewise.
+       (nodb_call, return_from_epilogue): Likewise.
+       (return_from_interrupt_epilogue, prologue, epilogue): Likewise.
+       * config/c4x/c4x.c (c4x_expand_prologue, c4x_expand_eplilogue): Add.
+       * config/c4x/c4x-protos.h (c4x_interrupt_function_p): Add.
+       (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
+       (c4x_valid_type_attribute_p): Likewise.
+       * config/c4x/c4x.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
+       (FUNCTION_BLOCK_PROFILER_EXIT): Convert to emit RTL.
+
+2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant
+       and loadhi_big_constant if applicable.
+       * config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant): Tweak
+       and add new splitter.s
 
-Mon Aug 26 20:55:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * c-parse.y (yylex): Cast shorts[n] to long before shifting.
-       * fold-const.c (decode): Likewise.
+       * config/c4x/c4x.c (c4x_rptb_insert): Make more robust.
 
-       * Makefile.in (INSTALL_DATA): Renamed from INSTALL_FILE.
+2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * cse.c (canon_hash): Don't crash if subexpression is 0.
+       * config/c4x/c4x.h (ASM_FORMAT_PRIVATE_NAME): Output $ in label.
 
-       * cplus-lex.c (interface_strcmp): Put back variable s1.
+2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-Mon Aug 26 18:14:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/c4x/c4x.h (IS_XXX_REGNO): Rewrite to avoid unsigned warnings.
 
-       * function.c (instantiate_virtual_regs_1): Complete previous change;
-       had omitted arg on two returns.
+2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-Mon Aug 26 15:16:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/c4x/libgcc.S (divqf3): Improve accuracy.
 
-       * optabs.c (expand_float, expand_fix): Pass new arg to emit_cmp_insn.
+2000-07-27  Mark Mitchell  <mark@codesourcery.com>
 
-       * out-m68k.c (singlemove_string): Fix last change.
+       Put phi nodes after NOTE_INSN_BASIC_BLOCK.
+       * rtl.h (NOTE_INSN_BASIC_BLOCK_P): New macro.
+       * bb-reorder.c (get_next_bb_note): Use NOTE_INSN_BASIC_BLOCK_P.
+       (get_prev_bb_note): Likewise.
+       (remove_scope_notes): Likewise.
+       * flow.c (commit_one_edge_insertion): Likewise.
+       (merge_blocks_nomove): Likewise.
+       (verify_flow_info): Likewise.
+       * gcse.c (insert_insn_end_bb): Likewise.
+       * reg-stack.c (emit_swap_insn): Likewise.
+       * ssa.c (first_insn_after_basic_block_note): New function.
+       (insert_phi_node): Use it.
+       (rename_block): Likewise.
+       (eliminate_phi): Likewise.
+       (make_regs_equivalent_over_bad_edges): Likewise.
+       (make_equivalent_phi_alternatives_equivalent): Likewise.
+       (for_each_successor_phi): Likewise.
+       (convert_from_ssa): Modify phi-node deletion algorithm.
 
-Mon Aug 26 11:20:51 1991  Tom Wood  (wood at dg-rtp.dg.com)
+2000-07-29  Andreas Jaeger  <aj@suse.de>
 
-       * m88k.md (cmpsi insn): Don't provide an insn that compares two
-       constants.
+       * configure.in (mips*-*-linux*): Use mips*el to check for little
+       endian MIPS, add tmake_file.
 
-Mon Aug 26 08:34:48 1991  Michael Meissner  (meissner at osf.org)
+       * config/mips/linux.h (TARGET_VERSION): Use GNU/Linux.
+       (SUBTARGET_CPP_SPEC): Default MIPS_ISA is 1.
+       Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
 
-       * collect-osf.c (toplevel, read_file, end_file): Don't use mmap,
-       unless all defines needed are defined.
-       (various): If -debug turn on debugging code.  Change all occurances
-       of #ifdef DEBUG sections to if (debug).
-       (main, add_to_list): Correctly cast xcalloc calls.
-       (scan_prog_file): Correct xcalloc to allocate enough space
-       (scan_prog_file): If -debug, don't dump entire symbol table, just
-       dump the constructors and destructors.
+2000-07-28  Richard Henderson  <rth@cygnus.com>
 
-       * make-decrose (CFLAGS): Use DEB_OPT for default debug and optimize
-       options, use SHLIB for default shared library versions.
-       (DEB_OPT): Define to be -g -O2.
-       (SHLIB): Define to be -L${BUILD}/usr/ccs/lib, which forces static
-       libraries with both old and new 1.39 compilers.
-       (COFF_CFLAGS): Define to be -O2 -g0.
-       (collect): Add LIBDEPS dependency.
+       * config/ia64/ia64.c (ia64_print_operand): Fix typos.
+       Sign extend mode size before negating.
 
-Mon Aug 26 07:22:21 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-07-28  Richard Henderson  <rth@cygnus.com>
+
+       * emit-rtl.c (gen_lowpart_common): Add missing 'c' variable.
+
+2000-07-28  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.
+       (cse_insn): Likewise.
+       (addr_affects_sp_p): Likewise.
+       * expr.c (move_by_pieces): Likewise.
+       (clear_by_pieces): Likewise.
+       * gcse.c (oprs_unchanged_p): Likewise.
+       * haifa-sched.c (sched_analyze_2): Likewise.
+       * recog.c (offsettable_address_p): Likewise.
+       * regclass.c (record_address_regs): Likewise.
+       * reload.c (find_reusable_reload): Likewise.
+       (push_reload): Likewise.
+       (operands_match_p): Likewise.
+       (decompose): Likewise.
+       (find_reloads_address_1): Likewise.
+       (find_inc_amount): Likewise.
+       * reload1.c (elimination_effects): Likewise.
+       * resource.c (mark_set_resources): Likewise.
+       * flow.c (attempt_auto_inc): New function; mostly broken out
+       of find_auto_inc.
+       (find_auto_inc): Split into two functions and enhanced to
+       generate POST_MODIFY.
+       * rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment.
+       * rtl.h (count_all_occurrences):  Declare.
+       (HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not
+       defined.
+       * rtlanal.c (count_all_occurrences): New function.
+       * tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP,
+       HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document.
+
+       * config/ia64/ia64-protos.h (destination_operand): Declare.
+       * config/ia64/ia64.c (destination_operand): New function.
+       (ia64_print_operand): Handle POST_MODIFY.
+       (rtx_needs_barrier): Likewise.
+       * config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1.
+       (HAVE_POST_MODIFY_REG): Define to 1.
+       (MAX_REGS_PER_ADDRESS): Change to 2.
+       (GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too.
+       (LEGITIMATE_ADDRESS_REG): New helper macro.
+       (LEGITIMATE_ADDRESS_DISP): Likewise.
+       (PREDICATE_CODES): Add entry for destination_operand.
+       * config/ia64/ia64.md (all mov patterns): Use destination_operand
+       predicate for operand 0.
 
-       * machmode.h (MIN, MAX): Define here.
-       * c-decl.c, calls.c, cplus-class.c, cplus-decl.c, cplus-tree.c:
-       Don't define here.
-       * expr.c, fold-const.c, function.c, integrate.c, recog.c: Likewise.
-       * rtl.c, sdbout.c, stmt.c, stor-layout.c, varasm.c: Likewise.
-       * c-typek.c, combine.c, cse.c, emit-rtl.c, expmed.c, final.c:
-       Delete definitions of "min" and "max"; use MIN and MAX now defined
-       in machmode.h.
-       * genemit.c, regclass.c, reload.c, reload1.c: Likewise.
-       * cccp.c (MIN, MAX): Define instead of min and max for consistency.
+2000-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * tm-rs6000.h (HARD_REGNO_MODE_OK): Don't put DImode in reg 31;
-       similarly for TImode.
+       * dwarf2out.c: Indent #error directive.
 
-       * cse.c (cse_skip_to_next_block): Variable deleted.
-       (cse_insn): Don't set it anymore.
-       (cse_basic_block): Don't use cse_skip_to_next_block; instead, look
-       for unconditional jumps explicitly; correctly handle unconditional
-       jumps to the end of the basic block by extending the basic block in
-       that case.
+       * gbl-ctors.h: Fix typo in comment.
+       (__do_global_ctors): Prototype.
 
-       * reload1.c (alter_reg): Ensure that stack slot is always the correct
-       mode.
+       * gcse.c (record_one_set, pre_delete): Remove unused variables.
 
-Mon Aug 26 06:20:43 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * rs6000.c (rs6000_maybe_dead): Delete unused prototype.
+       (print_operand): Initialize variable `t'.
 
-       * cplus-type2.c (build_functional_cast): Treat constructor casts as
-       having cleanups in this function.
-       * cplus-decl.c (finish_decl): Use cleanups created by functinal
-       casts used as initializers.
+2000-07-27  Aldy Hernandez  <aldyh@redhat.com>
 
-       * cplus-init.c (expand_member_init): Call error with
-       IDENTIFIER_POINTER, not DECL_NAME, of NAME.
+       * config/arm/arm.md ("call_value"): removed constraints.
+       Constraints are ignored in expanders.
+       (*call_value_reg): split =rf into various constraints.
+       (*call_value_mem): same
+       (*call_value_symbol): same
+       (*sibcall_value_insn): same
 
-       * cplus-method.c (fndecl_as_string): Don't skip `in_charge'
-       parameter twice.
+2000-07-28  Philipp Thomas  <pthomas@suse.de>
+
+       * install.texi (--enable-nls): Change the description of the NLS
+       related configure options to match the current state.
+       (--with-included-gettext): Likewise.
+       (--enable-maintainer-mode): New description added.
+       * extend.texi (-fstrict-prototype): Add missing '.'.
 
-       * cplus-init.c (build_new): Delete code which short-circuited
-       multiple indirections in ABSDCL and made everything look like just a
-       single level of indirection.
+2000-07-27  Jim Wilson  <wilson@cygnus.com>
 
-       * cplus-typeck.c (warn_for_assignment): Now takes a FUNCTION_DECL
-       instead of an IDENTIFIER_NODE as an argument.  Also, print
-       reasonable message when ARGNUM < 0.
+       * dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if
+       DECL_INITIAL (decl) == NULL_TREE.
 
-       * cplus-typeck.c (type_unknown_p): If TREE_CODE (EXP) == TREE_LIST,
-       it's type is unknown.
+2000-07-27  Alexandre Oliva  <aoliva@redhat.com>
 
-       * cplus-typeck.c (commonparms): Don't insert default parmeter values
-       into existing arg lists.  Instead, unify them into new ones only.
+       * Makefile.in (INSN_ATTR_H): New macro.  Replace all dependencies
+       on insn-attr.h with it.
+       * genattr.c: Generate `#include "insn-addr.h"' if HAVE_ATTR_length.
+       * insn-addr.h: New header.
+       (insn_addresses_): Renamed from insn_addresses.
+       (INSN_ADDRESSES_DEFN, INSN_ADDRESSES, INSN_ADDRESSES_ALLOC,
+       INSN_ADDRESSES_FREE, INSN_ADDRESSES_SET_P, INSN_ADDRESSES_SIZE,
+       INSN_ADDRESSES_NEW): New macros.
+       * genattrtab.c (write_test_expr): Use new macros.
+       * final.c (insn_addresses, init_insn_lengths): Likewise.
+       (align_fuzz, shorten_branches): Likewise.
+       (final): Likewise.  Do not reject new insns if their addresses
+       have been added to INSN_ADDRESSES.
+       * config/arm/arm.c, config/avr/avr.c: Use new macros.
+       * config/h8300/h8300.c, config/i370/i370.c: Likewise.
+       * config/m88k/m88k.c, config/pa/pa.c, config/pa/pa.md: Likewise.
+       * config/sparc/sparc.c, config/sparc/sparc.md: Likewise.
+       * config/sh/sh.c: Likewise.
+       (output_branchy_insn): Use INSN_ADDRESSES_NEW.
 
-       * cplus-typeck.c (convert_for_{initialization,assignment}): Pass
-       FNDECL instead of function name.  Use `lang_printable_name' to pass
-       printable name to `warn_for_assignment'.
+       * Makefile.in (bootstrap): Move -BstageN/ back to the beginning.
 
-       * cplus-typeck.c (convert_arguments): Don't forcibly convert ptrs to
-       other things into ptrs to functions just to satisfy the conversion
-       of virtual functions.
+2000-07-27  Andrew Cagney  <cagney@b1.cygnus.com>
 
-Sun Aug 25 22:44:57 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * gcc.c (struct prefix_list): Add member priority.
+       (enum path_prefix_priority): Declare.
+       (add_prefix): Replace ``first'' with ``priority''.  Append new
+       entry but keep list in priority order.
+       (process_command): Update.  Pass PREFIX_PRIORITY_B_OPT or
+       PREFIX_PRIORITY_LAST to add_prefix.
+       (process_command): Move include kludge - foo/stageN - to before
+       foo/include.
 
-       * cplus-typeck.c (compparms): Deal with STRICT == 3.
-       * cplus-search.c (get_first_matching_virtual): Call `compparms' with
-       STRICT == 3.
+2000-07-27  Jason Merrill  <jason@redhat.com>
 
-       * cplus-lex.c (operator_name_string): Don't abort if we cannot find
-       a operator name for NAME.  Instead, return identifier for
-       <invalid operator>.
+       * dwarf2out.c (gen_typedef_die): Abort if we get identical
+       TREE_TYPE and DECL_ORIGINAL_TYPE on a typedef.
 
-Sun Aug 25 15:42:59 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-27  RodneyBrown  <RodneyBrown@pmsc.com>
 
-       * cplus-xref.c (FILE_NAME_ABSOLUTE_P): New macro.
-       (GNU_xref_file): Use it.
-       (open_xref_file): Use new macro XREF_FILE_NAME if defined.
-       * cplus-lex.c (FILE_NAME_NONDIRECTORY): New macro.
-       Used frequently instead of strrchr.
-       * xm-vms.h: Define those three macros.
-
-       * optabs.c (expand_binop): Use word mode for force_reg on op1 of shift.
-
-       * out-m68k.c (singlemove_string): Use moveq when appropriate.
-
-       * final.c (split_double): Handle all integer constants.
-       * out-m68k.c (output_move_double): Use split_double for all constants.
-       * ??? Most out-*.c need changing.
-
-       * c-decl.c (finish_enum): Make some local vars unsigned.
-       * c-common.c (type_for_size):
-       * c-convert.c (convert_to_integer): 
-       * tm-i860.h (ASM_OUTPUT_ASCII): 
-       * c-parse.y (yylex):
-       * expr.c (get_pointer_alignment):
-       * stor-layout.c (layout_union, layout_record):
-       * tree.c (get_unwidened, get_narrower):
+       * expr.h (get_alias_set, lang_get_alias_set): Delete prototypes.
+       * tree.h (get_alias_set, lang_get_alias_set): Prototype.
 
-       * expr.c (emit_library_call): Don't declare va_list as register.
-       * final.c (asm_fprintf): Likewise.
-       * tree.c (build, build_nt, build_parse_node): Likewise.
+2000-07-27  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * expr.c (do_jump_for_compare): Don't assume the compare survives
-       when the branch is emitted.
+       * c-decl.c (finish_function): Don't treat 'main' specially unless
+       flag_hosted.  In C99 mode, return 0 from 'main' unless
+       DEFAULT_MAIN_RETURN is otherwise defined.
 
-       * expr.c (convert_move): Fix typo in prev change.
+       * c-decl.c (store_parm_decls): In C99 mode, pedwarn for function
+       parameters defaulting to int in an old-style function definition.
 
-       * emit-rtl.c (fconst2_rtx, dconst2_rtx): New vars.
-       (init_emit_once): Initialize them.
+2000-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * expmed.c (extract_bit_field, store_bit_field):
-       For multi-word field, do words from least significant first.
+       * c-parse.in (string): For -Wtraditional, warn about string
+       concatenation only once per line.
 
-       (extract_split_bit_field): OP0 is only the first word of the
-       source, so if this is a SUBREG, must call operand_subword on
-       SUBREG_REG (OP0) instead of OP0.
+Thu Jul 27 09:25:17 2000  Akiko Matsushita  <matusita@sra.co.jp>
 
-       * varasm.c (output_constructor): Correctly output constants for
-       bitfields which are greater than HOST_BITS_PER_INT.  Use
-       TREE_INT_CST_HIGH for the high bits.
+       * pa/x-pa-hpux: Add -D_HIUX_SOURCE to FIXPROTO_DEFINES
+       for HI-UX/WE2 systems.
 
-       * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): New parameters.
-       (enquire, enquire.o): Use them.
+2000-07-24  Bruce Korb  <bkorb@gnu.org>
 
-       * tm-sysv4.h: New file, cut out from tm-m88k.h.
-       * tm-m88k.h: Include that.
+       * fixincl/fixfixes.c(emit_gnu_type): rewrote to *rely* on GCC
+       defining the __xxx_TYPE__ macros.
+       * fixincl/fixincl.tpl(gnu_type_map): now obsolete
+       * fixincl/fixlib.h: don't need to include "tm.h" anymore
+       * fixincl/inclhack.def(type_map): now obsolete
 
-       * vax.md (sltu, sgeu): New patterns.
+Thu Jul 27 11:54:17 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
-Sat Aug 24 11:19:43 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * cpp.texi: Append a trailing full-stop to xrefs where needed.
 
-       * cplus-init.c (build_offset_ref): Pass a TYPE_DECL node, not a
-       RECORD_TYPE node, to `build_component_type_expr'.
+2000-07-26  Dave Pitts  <dpitts@cozx.com>
 
-       * cplus-cvt.c (convert_to_integer): Warn about conversion from
-       integral type to enumeral type if FLAG_INT_ENUM_EQUIVALENCE is zero.
-       (convert_force): Set FLAG_INT_ENUM_EQUIVALENCE non-zero when calling
-       `convert'.
+       * i370.c: Remove LONGEXTERNAL ifdef from alias_number. Added hash
+       routine constants.
+       (mvs_hash_alias): New function.
+       (mvs_add_alias): Change argument spacing.
+       (mvs_need_alias): Change aliasing criteria. Added documentation.
+       (mvs_get_alias): Change to use hashed name. The hashed name prevents
+       CSECT name collisions.
+       (mvs_check_alias): Likewise.
+       (handle_pragma): Change documentation.
+       * i370.md (mulsi3, divsi3, udivsi3, modsi3, umodsi3): Changed gen_rtx
+       mode from SImode to DImode.
+       (iorhi3): Changed LTORG size for insn.
 
-       * cplus-typeck.c (build_x_*_op): Don't try using built-in operators
-       if user-defined ones are not accessible.
+Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
 
-       * cplus-init.c (expand_aggr_init_1): Use `expand_expr' to set the
-       DECL_RTL of the TARGET_EXPR.  This is a generalization of code that
-       used to require that EXP be some sort of _DECL.
+       * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
+       mem if the address is a mode_dependent_address_p.
 
-       * cplus-init.c (init_init_processing): Link global runtime functions
-       __builtin_new and __builtin_delete to their canonical operator
-       names (i.e., op$nw and op$dl).
+2000-07-26  Kazu Hirata  <kazu@hxi.com>
 
-       * cplus-lex.c (init_lex): Don't see `dynamic' as a reserved word if
-       SOS is not defined.
-       * cplus-decl2.c (flag_dynamic): Delete unused variable.
+       * h8300.c (print_operand): Print ":8" when the 'R' operand is
+       suitable for 8-bit absolute.
+       * h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): New.
+       (OK_FOR_U): Add a case for the 8-bit constant address on the
+       H8/300H.
 
-       * cplus-decl.c (define_case_label): Give error when case label cuts
-       into a binding contour with cleanups.
-       * stmt.c (last_cleanup_this_contour): Changed name from
-       `this_contour_has_cleanups_p'.  Now returns last cleanup, if there
-       was one.
-       * tree.h: Declare `last_cleanup_this_contour'.
+Wed Jul 26 19:26:21 2000  Hans-Peter Nilsson  <hp@axis.com>
 
-       * cplus-decl.c (grokdeclarator): Don't let member functions have
-       static linkage.
+       * varasm.c (assemble_variable) [! defined(ASM_OUTPUT_ALIGNED_COMMON)
+       && ! defined (ASM_OUTPUT_ALIGNED_BSS]): Also test
+       ! defined(ASM_OUTPUT_ALIGNED_DECL_COMMON) before complaining about
+       lack of implemented alignment.
 
-       * cplus-tree.c (layout_basetypes): Copy non-virtual basetypes of
-       virtual basetypes so that search routines can find ambiguities
-       arising in lattices where the same type appears as a non-virtual
-       basetype of different types in the lattice.
-       (copy_nonvirtual_children): Implement a recursive deep-copy of
-       nonvirtual types in an inheritance lattice.
+2000-07-26  Geoffrey Keating  <geoffk@cygnus.com>
 
-       * cplus-search.c (lookup_fnfields): Correctly catch case where there
-       are multiple functions in an MI lattice.
-       * cplus-call.c (ideal_candidate): If we find a requested function is
-       ambiguous in an MI lattice, set CP->EVIL to 1.
-       (build_method_call): If CP->EVIL is set on return from
-       `ideal_candidate', return error_mark_node.
+       * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETIC]: Handle
+       cross-compiling between 64-bit and 32-bit machines.
 
-       * cplus-decl.c (lookup_name): Prefer finding typenames to overloaded
-       functions where there's a collision.
-       (pushdecl): Don't override the declaration of global functions with
-       a TYPE_DECL that has the same name.  `lookup_name' now knows how to
-       find both.
-       (globalize_nested_type): Changed to look in IDENTIFIER_TYPE_VALUE
-       slot for global definitions that are not in IDENTIFIER_GLOBAL_VAL.
-       * cplus-type2.c (build_functional_cast): Deal with more ambiguities
-       and more cases where the syntactic form `NAME ( PARMS )' can have
-       meaning.
+2000-07-27  Richard Henderson  <rth@cygnus.com>
 
-Sat Aug 24 01:33:00 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/ia64/ia64.md (movqicc_astep, movqi_internal_astep): New.
+       (movhicc_astep, movhi_internal_astep): New.
+       (movsicc_astep, movsi_internal_astep): New.
+       (movdicc_astep, movdi_internal_astep): New.
+       (movsfcc_astep, movsf_internal_astep): New.
+       (movdfcc_astep, movdf_internal_astep): New.
+       (movxfcc_astep, movxf_internal_astep): New.
+       (cmovdi_internal_astep, cmovsi_internal_astep): New.
+       Unify the cmov[ds]i splitters.
 
-       * expr.c (convert_move): Make integer extension general.
+2000-07-27  Rodney Brown  <RodneyBrown@pmsc.com>
 
-       * optabs.c (init_extends, gen_extend_insn): Finish and turn on.
+       * real.c (asctoeg): Rename `error' label to unexpected_char_error
 
-       * reload1.c (possible_group_p): Insist on regs in needed class.
+2000-07-26  Nick Clifton  <nickc@cygnus.com>
 
-       * SYSCALLS.c (alloca): Declare arg as size_t.
+       * config/arm/vxarm.h (CPP_PREDEFINES): Remove definition of
+       __arm__.  Allow it to be defined by CPP_ISA_SPEC in arm.h
 
-       * expr.c (store_constructor): Handle union constructor.
+       * dwarf2out.c (dwarf2out_frame_debug_expr): Accept SEQUENCE as
+       well as PARALLEL blocks in FRAME_RELATED_EXPR notes.
 
-       * final.c (split_double): long long CONST_DOUBLE now has VOIDmode.
+2000-07-26  Alexandre Oliva  <aoliva@redhat.com>
 
-       * optabs.c (expand_binop): Fix carry propagation bugs.
-       Handle carry propagation for big-endian case.
+       * c-decl.c (finish_enum): Convert enumerations that fit in an
+       `int' to `int'.
+       (build_enumerator): In pedantic mode, cast to `int' those that
+       don't.
 
-Fri Aug 23 21:29:46 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+2000-07-25  Rodney Brown  <RodneyBrown@pmsc.com>
 
-       * cplus-decl.c (finish_decl): More PIC fixes.  Also, don't assign
-       any storage for static member variables except when they are being
-       defined.
+       * config/alpha/osf.h (SIZE_TYPE, PTRDIFF_TYPE): New.
 
-       * cplus-init.c (build_virtual_init): Change interface to take
-       MAIN_ASSOC instead of FOR_TYPE.
-       (expand_aggr_init_1): Ditto.
-       (expand_recursive_init_1): Ditto.
-       (expand_aggr_vbase_init{_1}): Change interface to take an assoc
-       instead of a type.
-       (expand_recursive_init): Ditto.
-
-       * cplus-pt.c (uses_template_parms): Handle PARM_DECL nodes.
-
-       * cplus-search.c (get_base_assoc): Use ASSOC_MARKED instead of
-       ASSOC_BASETYPE_MARKED to mark visited nodes.
-       (lookup_field, loopup_fnfields): Use ASSOC_FIELDS_MARKED instead of
-       ASSOC_VBASE_MARKED when searching.
-       ({bfs_,un,bfs_un}marked2p): Deleted, unused.
-       (dfs_{un}mark2): Deleted, unused.
-       (dfs_unmark12): Deleted, unused.
-       (build_vbase_vtables_init): Change interface to take MAIN_ASSOC
-       instead of FOR_TYPE.
-
-Fri Aug 23 18:31:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * expr.c (do_store_flag): Give up if can't directly compare args.
-
-Fri Aug 23 18:00:58 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * function.c (instantiate_virtual_regs_1): Add new arg and now returns
-       int instead of void.
-       All callers changed.
-
-       * expr.c (compare_constants): Deleted.
-       (compare_from_rtx): Use simplify_relational_operation instead of
-       compare_constants; abort is not needed since
-       simplify_relational_operation will return 0 if given VOIDmode.
-
-       * cse.c (fold_rtx): Correctly compute mode of operands being
-       compared.
-
-Fri Aug 23 17:16:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * stmt.c (expand_end_case):
-       Avoid special cases for modes when widening.
-       Realize __builtin_classify_type reduces to int constant.
-
-       * optabs.c (emit_cmp_insn): New arg, MODE.  All callers changed.
-       If both args are const_int, copy one to a reg.
-
-Fri Aug 23 15:54:21 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
-
-       * make-cc1.com: Fix bug where cplus-parse.y was always being passed
-       through bison, whether it needed it or not.
-
-Fri Aug 23 15:20:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * stmt.c (expand_end_case): Remove Aug 12 change.
-       Convert index to nominal_type for subtraction.
-
-Thu Aug 22 14:34:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * configure, config.gcc: Switch to all-dashes config names.
-
-       * gnulib2.c [U_udivdi3, L_muldi3]: Define __clz_tab for longlong.h.
-
-Thu Aug 22 00:28:29 1991  Torbjorn Granlund  (tege at zevs)
-
-       * longlong.h: Rename BITS_PER_LONG to LONG_TYPE_SIZE.
-       * longlong.h (__ibm032__): Define count_leading_zeros and umul_ppmm.
-       * longlong.h: Define UMUL_TIME and UDIV_TIME for some CPUs.
-       * longlong.h (__sparc__ umul_ppmm): Move two insn from end to the
-         nops.  (Saves two insn.)
-       * longlong.h (__sparc__ umul_ppmm): Rewrite in order to avoid
-         branch, and to permit input/output register overlap.
-       * longlong.h (__29k__): Remove duplicated udiv_qrnnd definition.
-       * longlong.h (__29k__ umul_ppmm): Split asm instructions into two
-         asm statements (gives better code if either the upper or lower
-         part of the product is unused.
-       * longlong.h: Mention UDIV_NEEDS_NORMALIZATION in description of
-         udiv_qrnnd.
-       * longlong.h (IBMR2): Add udiv_qrnnd.
-       * longlong.h (add_ssaaaa, sub_ddmmss [C default versions]): Make __x
-         `unsigned long int'.
-       * longlong.h: Add `int' after `unsigned' and `long' everywhere.
-       * longlong.h: Add ARM, i860 support.
-       * longlong.h (sparc umul_ppmm): Use __asm__, not asm.
-       * longlong.h (IBMR2 umul_ppmm): Refer to __m0 and __m1, not to m0
-         and m1 (overlap between output and input operands did not work).
-       * longlong.h: Add VAX, ROMP and HP-PA support.
-       * longlong.h: Sort the machine dependent code in alphabetical order
-         on the CPU name.
-       * longlong.h: Hack comments.
-       * longlong.h: Define BITS_PER_LONG to 32 if it's not already
-         defined.
-       * Define __BITS4 to BITS_PER_LONG / 4.
-       * Don't assume 32 bit word size in "count_leading_zeros" C macro.
-         Use __BITS4 and BITS_PER_LONG instead.
-       * longlong.h (68k): Define add_ssaaaa sub_ddmmss, and umul_ppmm
-         even for plain mc68000.
-       * longlong.h: Clean up comments.
-       * longlong.h: Don't use #elif.
-       * longlong.h: Use __asm__ instead of asm.
-       * longlong.h (sparc udiv_qrnnd): Make it to one string over several
-         lines.
-       * longlong.h: Preend __ll_ to B, highpart, and lowpart.
-       * longlong.h: Move array t in count_leading_zeros to gnulib2.c
-         Rename the array __clz_tab.
-       * longlong.h (umul_ppmm [C variant]): Make __ul...__vh
-         `unsigned int', and cast the multiplications.  This way
-         compilers more easily can choose cheaper multiplication
-         instructions.
+Tue Jul 25 23:08:33 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-Thu Aug 22 07:36:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * sh.md (cmpgtdi_t): Must be split.
+       (cmpgtdi_t+1): New splitter.
 
-       * rtl.h: Declare simplify_relational_operation.
+2000-07-25  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * out-m88k.c (output_file_start): Put the `gcc2_compiled.' symbol
-       in the data section.  Eliminates symbol translation problems with
-       debuggers.
+       * cpplib.c (_cpp_check_directive): Issue -Wtraditional
+       warnings for indented directives even if we are skipping.
 
-       Changes from Ron Guilmette:
-       * toplev.c (compile_file): Use dwarfout_finish when done.
-       * final.c (output_source_line): Use dwarfout_line.
-       * dwarfout.c (dwarfout_finish): Rename from dwarfout_finalize.
-       * tm-m88k.h (ASM_OUTPUT_DWARF_LINE, ASM_FILE_END): No need for
-       dwarf specific actions.
+2000-07-25  Nathan Sidwell  <nathan@codesourcery.com>
 
-Thu Aug 22 05:29:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * invoke.texi (strict-prototypes): Remove.
+       * extend.texi (Deprecated Features): Add strict-prototypes.
+       (Backwards Compatibility): New node.
 
-       * combine.c (can_combine_p): Don't combine if INSN has REG_RETVAL note.
-       (try_combine): Similarly, don't combine if I3 has REG_LIBCALL note.
+2000-07-25  Jakub Jelinek  <jakub@redhat.com>
 
-       * flow.c (propagate_block): Don't use variable PREV in
-       nested blocks that shadows PREV at function level.
-       If we handle this insn normally, arrange to scan any insns that
-       were inserted in front of it for making auto-inc addressing.
+       * config/i386/i386.md (andsi_1+1): Allow HImode.
+       (andsi_1+2): Require q_regs_operand.
 
-       * integrate.c (save_for_inline_copying): Clear CONST_DOUBLE
-       memory chain.
+2000-07-25  Jakub Jelinek  <jakub@redhat.com>
 
-       * toplev.c (fatal_insn_not_found): Now that it is called in final.c
-       when an insn doesn't match constraints, write different error
-       message in that case.
-       * genattrtab.c (write_attr_case): Call fatal_insn_not_found instead
-       of abort when constrain_operands fails.
+       * config/i386/i386.md (call_pop): Check operands[0],
+       not operands[1]. Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
+       (call): Likewise.
+       (call_value_pop): Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
+       (call_value): Likewise.
 
-Thu Aug 22 05:29:09 1991  Matthew Self  (mself at next.com)
+2000-07-25  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * rtl.c (add_dependence): Uses of RTX_UNCHANGING_P should now be
-       SCHED_GROUP_P.
+       * toplev.c (pipe_closed): Delete.
+       (crash_signal): New.  Generate ICE for a fatal signal.
+       (float_signal): Call crash_signal outside a float-handler
+       block, not abort.
+       (main): Install crash_signal as handler for core-dumping signals.
 
-Thu Aug 22 00:34:20 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-25  David Edelsohn  <edelsohn@gnu.org>
 
-       * recog.c (offsettable_address_p): Always pass QImode to addressp.
-
-Wed Aug 21 09:20:09 1991  Michael Meissner  (meissner at osf.org)
-
-       * tm-decrose.h (LINK_SPEC): Allow -pic-none, -glue, -noshrlib
-       switches.
-       (LIB_SPEC): Add -L/usr/ccs/lib to get new 1.1 linker to use static
-       libraries instead of shared libraries, since the shared library
-       support has not yet been added.
-
-Wed Aug 21 06:18:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * out-rs6000.c (print_operand, case 'Y', 'Z'): Fix typo in
-       auto-inc case.
-       * rs6000.md (movti): Add missing %U in memory cases.
-
-       * tm-rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Indexed addresses are not
-       valid for DImode and TImode.
-       * out-rs6000.c (indexed_mem_operand): Deleted.
-       (print_operand, case 'X'): Don't use indexed_mem_operand; check
-       ourselves instead.
-       * rs6000.md (movdi, movti): Don't check for indexed memory operands.
-
-Tue Aug 20 16:02:41 1991  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * sdbout.c (sdbout_parms): Handle parm passed in reg and living in
-       pseudo that was optimized away.
-
-Mon Aug 19 19:10:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * combine.c (simplify_comparision, case NEG): Can only convert
-       (-a) < C to a > C if C is zero.
-
-       * expmed.c (store_bit_field, extract_bit_field): Use WORD_MODE for
-       mode of BITS_PER_WORD to avoid conflict with other use of variable
-       named MODE.
-
-       * cse.c (cse_insn): Don't make a REG_EQUAL note whose contents
-       are a REG; the REG might have been eliminated.
+       * rs6000.c (print_operand, case 'T'): New case.
 
-       * reload1.c (reload_as_needed): Pass any CLOBBERs made when reloading
-       an insn to `forget_old_reloads_1'.
+       * rs6000.md (call_indirect_aix32): Convert to expander of
+       scheduled instructions.
+       (call_indirect_aix64): Likewise.
+       (call_value_indirect_aix{32,64}): Likewise.
+       (call, call_value): Invoke expanders for AIX.  Fall through to
+       matchers for SysV.
+       (call_indirect_nonlocal_aix{32,64}): New patterns (ctr and lr).
+       (call_value_indirect_nonlocal_aix{32,64}): New patterns.
+       (call_nonlocal_aix32): Remove CALL_LONG alternative.  Operand 1
+       only "g" constraint.
+       (call_nonlocal_aix64): Likewise.
+       (call_value_nonlocal_aix{32,64}): Likewise.
+       (call_nonlocal_sysv): New pattern for ctr, lr, and symbolic
+       operands.
+       (call_value_nonlocal_sysv): New pattern.
+       (indirect_jump{si,di}): Use new 'T' modifier.
+       (tablejump{si,di} matchers): Likewise.
+       (return_internal_{si,di}): Likewise.
+       (return_eh_{si,di}): Likewise.
 
-Mon Aug 19 12:47:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-24  Richard Henderson  <rth@cygnus.com>
 
-       * configure (m88k-luna): Rename alternative appropriately.
+       * config/ia64/ia64.c (ia64_print_operand): Handle "%,".
+       * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
+       * config/ia64/ia64.md (movdi_internal): Use it.
 
-       * cse.c (simplify_relational_operation): Split out from ..._binary_...
-       (fold_rtx): Use that function for relationsals.
-       (simplify_binary_operation): Don't allow relationals.
-       * combine.c (subst, gen_binary): Use simplify_relation_operation.
-       * integrate.c (subst_constants): Likewise.
-       * jump.c (jump_optimize): Likewise.
+2000-07-24  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * c-common.c (shorten_compare): Warn about unsigned >= 0.
+       * cppexp.c: Warn about unary + if -Wtraditional.
+       * cpplex.c (lex_line): Always set BOL on the first token of a line.
 
-Sun Aug 18 17:29:16 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+2000-07-24  Michael Meissner  <meissner@redhat.com>
 
-       * tm-vms.h (ASM_OUTPUT_EXTERNAL): Remove code to round the storage
-       size up to a multiple of 4 bytes.
-
-Sun Aug 18 15:35:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * dbxout.c (dbxout_parms):
-       Handle parm passed in reg and living in pseudo that was optimized away.
-
-       * function.c (init_function_start): Give decl_printable_name both args.
-
-       * expr.c (compare_from_rtx):
-       Don't change to unsigned if too wide for host int.
-       * cse.c (fold_rtx): Use mode_arg0 to simplify comparison ops.
-       Update mode_arg0 when we look at value of cc0.
-
-       * cse.c (cse_insn): Really don't record bitfield destinations
-       unless source is constant which fits.
-       But pre-truncate other constants.
-
-       * config.subr: Allow $os to be empty.
-
-       * function.c (lookup_static_chain): Check for 0 before inline function.
-
-       * config.subr (pc532, minix): New alternatives.
-
-       * configure (editing Makefile): Use cross-make.
-       * Makefile.in (install-cross): Change dep to install-gnulib.
-
-Sat Aug 17 17:18:05 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
-
-       * All cplus-* files: Change the representation of the C++
-       inheritance lattice for types.  There is no longer such a thing as a
-       classtype_variant.  Instead, types all have their own lattices
-       accessed via their CLASSTYPE_ASSOC field.
-
-       * cplus-tree.h (lang_type): Delete fields OFFSET,
-       MAIN_CLASS_VARIANT, NEXT_CLASS_VARIANT, VIA_PUB_OR_VIRT.
-       Rename field AS_ID_LIST to ID_AS_LIST, since it's a list.
-       (CLASSTYPE_AS_ID_LIST): Renamed to CLASSTYPE_ID_AS_LIST.
-       Add field ASSOC_AS_LIST, which is a TREE_LIST whose TREE_VALUE is
-       the assoc for the type.
-       (CLASSTYPE_VIA_*, SET_CLASSTYPE_VIAS): Deleted.
-       (CLASSTYPE_OFFSET*): Deleted.
-       (CLASSTYPE_N_BASECLASSES): Now uses type's assoc.  TYPE_BASETYPES
-       field is unused.  Next change will make TYPE_BASETYPES hold the
-       assoc field.
-       (CLASSTYPE_VBASE_SIZE): Use slot in TYPE_LANG_SPECIFIC instead of
-       sneaking it into the TREE_TYPE field of the basetypes.
-
-       (ASSOC_TYPE): Deleted.  Now use ASSOC_VALUE everywhere.
-       (ASSOC_{BASETYPE,BASETYPES}): New macros.  Both are operations on
-       assocs and return assocs.
-       (CLASS_ASSOC_BASETYPE): New macro.  This performs roughly the same
-       function that CLASSTYPE_BASECLASS used to, but it retains no assoc
-       info in the type it returns.
-       (ASSOC_NEXT_ASSOC): New macro used for traversing assoc chains built
-       up by search routines.
-       (ASSOC_VIA_{PUBLIC,VIRTUAL}): New macros for accessing inheritance
-       information.  CLASSTYPE_VIA_{PUBLIC,VIRTUAL} no longer used.
-       (ASSOC_CID): New macro.
-
-       (DECL_ANON_UNION_ELEM): Deleted.  Now anonymous union decls are
-       distinguished as FIELD_DECLs with NULL DECL_NAMEs and UNION_TYPE
-       types.
-
-       (DERIVED_FROM_P): New macro.  Change calls that testing inheritance
-       relationships (get_base_type and get_base_distance) to use this macro.
-
-       * cplus-type2.c (basetype_or_else): Change interface to use/return an
-       assoc instead of a type.  Change name to base_assoc_or_else.
-
-       * cplus-tree.c (build_classtype_variant): Deleted.
-       (copy_type_lang_specific): Deleted.
-       * all cplus-* files: Everything that used to use CLASSTYPE_OFFSET on
-       types now uses ASSOC_OFFSET on assocs.
-
-       * cplus-class.c (propagate_basetype_offsets): Change interface to use
-       assocs instead of types.  Change name to propagate_assoc_offsets.
-       * cplus-search.c (get_base_type): Ditto; name changed to
-       get_base_assoc.
-
-       * cplus-cvt.c (convert_pointer_to): Change interface to use an assoc
-       instead of a type.
-       (convert_pointer_to_vbase): Ditto.
-       * cplus-call.c (build_field_call): Ditto.
-       * cplus-class.c (get_vfield_offset): Ditto.
-       (build_method_call): Ditto.
-       (maybe_fixup_vptrs): Ditto.
-       * cplus-search.c (get_first_matching_virtual): Ditto.
-       (get_virtuals_named_this): Ditto.
-       (tree_needs_constructor_p): Ditto.
-       (get_virtual_destructor): Ditto.
-       (tree_has_any_destructor_p): Ditto.
-       (get_baselinks): Ditto.
-       (lookup_{field,fnfields}): Ditto.  Also, use ASSOC_VBASE_MARKED
-       instead of CLASSTYPE_MARKED2 to mark virtual basetypes that have
-       been visited.
-       (build_vbase_vtables_init): Ditto.
-       ({build,free}_mi_matrix): Ditto.
-       * cplus-init.c (expand_aggr_init_1): Ditto.
-       (expand_aggr_vbase_init_1): Ditto.
-       (build_virtual_init): Ditto.
-       * cplus-class.c (build_class_init_list): Rewritten to build list with
-       assoc entries instead of types.  Also, use new macro
-       ASSOC_BASEINIT_MARKED instead of CLASSTYPE_MARKED6.
-       (finish_base_struct): New argument ASSOCS is the list of assocs that
-       describe the basetypes of T.
-
-       * cplus-tree.c (make_lang_type): Always initialize
-       CLASSTYPE_VBASE_SIZE to integer_zero_node.  To test if a class has
-       virtual baseclasses, test CLASSTYPE_VBASECLASSES, not
-       CLASSTYPE_VBASE_SIZE.
-
-       * cplus-class.c (finish_struct): Rewritten to use assocs instead of
-       types where appropriate.
-
-       * cplus-search.c (get_base_distance): Change interface to use assocs
-       or types.  Also, PATH_PTR argument is now an assoc chain, not a
-       TREE_LIST.  Algorithm to find leftmost path is now more efficient.
-       (compute_visibility): Uses assoc chain instead of TREE_LIST of
-       types.
-       (recursive_bounded_basetype_p): New function.
-       (dfs_walk, dfs_* functions): Change to be called with assocs instead
-       of types.
-       (breadth_first_search, all bfs_*): Ditto.
-       cplus-tree.c (reverse_path): New function.  Like nreverse, but works
-       on assoc chains.
-
-       * cplus-class.c (build_vtable, prepare_fresh_vtable,
-       modify_vtable_{entries,entry},): Change interfaces to use assocs
-       instead of types.  Use macro ASSOC_VTABLE_PATH_MARKED on the assocs
-       instead of CLASSTYPE_MARKED3.  Use macro ASSOC_NEW_VTABLE_MARKED on
-       the assocs instead of CLASSTYPE_MARKED4.
-
-       * cplus-dbxout.c: Now needs to know more about assocs.  When assocs
-       are put in the TYPE_BASETYPEs field, it should not need to know
-       about lang_type.
-
-       * cplus-decl.c (xref_tag): Rewritten to build proper assoc lists.  No
-       longer builds basetype lists.
-       (finish_function): Make `flag_no_inline' really take effect.
-
-       * cplus-tree.c (make_assoc): Changed for new assoc structure.  The
-       fields in assocs are now: VALUE (pointer to TYPE that this assoc is
-       for), OFFSET (the byte offset of this basetype in the whole object),
-       VTABLE (the virtual function table that should be used to initialize
-       objects controlled by this assoc), VIRTUALS (the virtual functions
-       to use for initializing VTABLE), BASETYPES (a TREE_VEC of basetypes
-       that this assoc has, or NULL_TREE if none), NEXT_ASSOC (a temporary
-       slot used to point to the next assoc in an assoc chain),
-       VIA_{PUBLIC,VIRTUAL} bits saying whether this assoc is a basetype of
-       its parent via public or virtual inheritance.
-
-       * cplus-ptree.c (print_lang_type): Modified as necessary to cope with
-       new inheritance structure.
-
-       * cplus-search.c (get_base_type_1): This function was unused and
-       wrong.  Deleted.
-
-       * cplus-tree.c (layout_basetypes): Take new arg ASSOCS.  Layout the
-       basetypes my modifying the assocs, not the types.
-       (layout_vbasetypes): Ditto.
-
-       * all cplus-* files: Removed dead code, unused variables, and change
-       asserts where appropriate.
-
-       * all cplus-* files: DECL_VIRTUAL_P is no longer used as a truth test
-       for whether or not a function is virtual.  Use a test for non-NULL
-       DECL_VINDEX instead.
-
-Sat Aug 17 15:16:40 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * function.h (inline_function_decl): Declare it.
-       * integrate.c: Include function.h; don't declare var here.
-
-       * rtl.h (regno_reg_rtx): Declare it.
-
-       * stmt.c (expand_end_case):
-       When filling labelvec from case range, avoid overflow in i.
-
-Fri Aug 16 23:06:37 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * c-typeck.c (build_binary_op_nodefault):
-       Take out warning added by recent changes.
-
-Fri Aug 16 22:00:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * function.c (inline_function_decl): New var.
-       (lookup_static_chain): Decl is local if context is function being
-       inlined.
-       * integrate.c: Remove partially-completed previous change.
-       (expand_inline_function): Set inline_function_decl.
-
-Fri Aug 16 21:41:10 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
-
-       * a29k.md (insv,extv): Changed POS / SIZE to POS / 8, since high
-       order bit of BP selects half-word position for half-word ops.
-
-Fri Aug 16 18:52:35 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
-
-       * combine.c (distribute_links): Only put link on new insn if the
-       insn uses the register.  If first find an insn that sets the
-       register but does not otherwise use it, then drop the link.
-          
-       * combine.c (distribute_links): Strip off SUBREG, ZERO_EXTRACT,
-       etc. from the destination of the set before passing it to
-       reg_mentioned_p and reg_referenced_p.
-                 
-Sat Aug 16 17:02:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
-
-       * cplus-pt.c (uses_template_parms): Run loop over _EXPR nodes from
-       TREE_CODE_LENGTH-1 to 0, not from TREE_CODE_LENGTH.
-
-       * cplus-decl.c (grokfndecl): Change `==' to `=' in assignment to
-       `raises'
-       (finish_decl): If FLAG_PIC is nonzero, leave initialized data in
-       common space.
-
-Fri Aug 16 13:13:11 1991  James Van Artsdalen  (james at bigtex.cactus.org)
-
-       * reg-stack.c (current_function_returns_real): New variable.
-       (reg_to_stack): Set it.
-       (stack_reg_life_analysis): Use it.
-       (emit_pop_insn): Return the new insn.
-       (convert_regs): Pop any stack regs live at the end of the last basic
-       block.
+       * d30v.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Delete references to
+       unsupported macro.
 
-Fri Aug 16 16:16:45 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+2000-07-24  Nick Clifton  <nickc@cygnus.com>
 
-       * tm-sparc.h (SELECT_SECTION): Don't put relocatable values into
-       text space if generating position-independent code.
+       * config/arm/arm.c (emit_multi_reg_push): Generate a
+       REG_FRAME_RELEATED_NOTE that is compatible with the code in
+       dwarf2out_debug_frame_expr.
 
-Fri Aug 16 16:00:30 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-24  Jason Merrill  <jason@redhat.com>
 
-       * protoize.c (__flsbuf): Decl deleted; no need.
-       [ultrix]: Include string.h, not strings.h.
+       * dwarf2out.c: Complain if DWARF2_DEBUGGING_INFO is defined without
+       UNALIGNED_INT_ASM_OP.
+       (def_cfa_1): Don't emit def_cfa_register or def_cfa_offset to adjust
+       a location expression.
+       (dwarf2out_frame_debug_expr): Lose cfa_old_reg stuff.  Don't
+       assume indirect access if we're saving the CFA address exactly.
 
-       * function.c (instantiate_virtual_regs_1): Bug adding NEW to addr of X.
+       * Makefile.in (bootstrap): Move -BstageN/ to the end.
 
-Fri Aug 16 08:51:25 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-07-24  Jakub Jelinek  <jakub@redhat.com>
 
-       * expr.c (expand_expr, case ABS_EXPR, MIN_EXPR, MAX_EXPR): Don't
-       allow TARGET to be a hard reg because evaluating the comparison
-       might clobber it.
+       * tradcpp.c (main): Update max_include_len for cpp_include_defaults
+       as well.
 
-Thu Aug 15 23:38:04 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-24  Michael Meissner  <meissner@redhat.com>
 
-       * tm-m68k.h (PRINT_OPERAND): Use asm_fprintf to print immed prefix.
+       * invoke.texi (D30V Options): Add d30v options.
 
-Thu Aug 15 23:36:12 1991  Micheal Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+Mon Jul 24 02:04:52 2000  Jeffrey A Law  (law@cygnus.com)
 
-       * cplus-decl.c (finish_enum): Remove last traces of Wood's mistaken
-       changes for tag handling in C++.
-       * cplus-class.c (finish_struct): Ditto.
+       * gcse.c (alloc_pre_mem): Do not alloc TRANSPOUT, it is not
+       needed by our gcse pass anymore.
+       (free_pre_mem): Corresponding changes.
+       (compute_pre_data): Do not call compute_transpout anymore.
 
-Tue Aug 13 06:12:18 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * gcse.c (alloc_avail_expr_mem): Kill unused 'u_bitmap'.
+       (free_avail_expr_mem, alloc_pre_mem, free_pre_mem): Corresponding
+       changes.
 
-       * jump.c (find_cross_jump): When avoiding CALL_INSNs, don't
-       return a CODE_LABEL as a cross-jump point; use next_real_insn instead
-       of next_nonnote_insn.
+       * gcse.c (free_pre_mem): Do not free ANTLOC and AE_KILL here.
+       (compute_pre_data): Do it here instead.
 
-       * fold-const.c (optimize_bit_field_compare, merge_component_reference):
-       Use mode_for_size to get mode for word; don't use SImode.
-       * tree.c (build_index_type, build_index_2_type): Don't use SImode;
-       get mode of SIZETYPE instead.
+       * gcse.c (alloc_pre_mem, free_pre_mem): Delete unused bitmap
+       'temp_bitmap'.
+       (pre_delete): Corresponding changes.
 
-       * optabs.c (emit_cmp_insn): Use type of int instead of SImode for
-       return from memcmp and bcmp.
+2000-07-23  Mark Mitchell  <mark@codesourcery.com>
 
-Mon Aug 12 17:54:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * c-semantics.c (make_rtl_for_local_static): Use TREE_ASM_WRITTEN
+       to figure out whether or not a variable has already been emitted.
 
-       * stmt.c: Include recog.h.
-       * stmt.c (expand_end_bindings): Expect abort to return void.
-       (expand_end_case): Give tablejump whatever mode it wants.
+Sun Jul 23 14:49:12 2000  Jason Eckhardt  <jle@cygnus.com>
 
-       * integrate.c (integrate_type): New function.
-       * c-typeck.c (build_binary_op_nodefault): Rewrite last change.
+       * config/i860/i860.md (untyped_call expander): Use GEN_CALL
+       instead of gen_call.
 
-       * Makefile.in (install): Indirect through INSTALL_TARGET.
-       (install-native): New name for old install target.
-       (INSTALL_TARGET): New variable.
-       * cross-make (INSTALL_TARGET): Override it.
+Sun Jul 23 11:52:03 2000  George Helffrich (george@gly.bris.ac.uk)
 
-Mon Aug 12 17:25:48 1991  Michael Meissner  (meissner at osf.org)
+       * dbxout.c (dbxout_type, case COMPLEX_TYPE): Fix length field in stab.
 
-       * out-mips.c (toplevel, override_options, siginfo): If the OSF/1
-       SIGINFO signal is provided, invoke siginfo handler, which prints
-       which file is being compiled, and runs ps on the compiler and it's
-       parent.
+2000-07-23  Kazu Hirata  <kazu@hxi.com>
 
-       * make-decrose (CC, OLDCC): Define CC and OLDCC to be the same, so
-       that tests within Makefile.in work as expected.
-       (LIB2FUNCS_EXTRA): Put osf-main in the gnulib2 portion of the
-       library, instead of the gnulib1 portion.
+       * h8300.c: Fix formatting.
 
-Mon Aug 12 16:31:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-23  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * explow.c (expr_size): Fix typo.
+       * c-typeck.c (c_expand_start_case): Change -Wtraditional pedwarn
+       for `long' switch expression into a plain warning.
 
-Mon Aug 12 14:27:31 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * c-lex.c (init_lex): Keep the "inline" keyword in C99 mode.
+       (yylex): Don't pedwarn for "inline" in C99 mode.
 
-       * expr.c (expand_expr, case COND_EXPR): Fix typo in comment.
-       In the singleton code, don't accept a hard register as a target if
-       we are going to store into it before testing the condition because
-       that evaluation may involve a subroutine call which might clobber it.
+       * bitmap.c (debug_bitmap_file): Cast pointers to PTR for printing
+       with %p.
+       * ggc-page.c (debug_print_page_list, alloc_page, free_page,
+       ggc_alloc): Likewise.
+       * bb-reorder.c (dump_scope_forest_1): Likewise.
 
-       * rtl.h (SCHED_GROUP_P): Fix typo in definition.
+2000-07-22  Aldy Hernandez  <aldyh@redhat.com>
 
-Mon Aug 12 08:01:01 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * reload.c (find_reloads_toplev): Add new parameter
+       "address_reloaded".
+       (find_reloads): Add new parameter to find_reloads_toplev calls.
 
-       * jump.c (find_cross_jump): Look at REG_EQUIV notes in addition to
-       REG_EQUAL notes.
-       (do_cross_jump): Remove REG_EQUAL or REG_EQUIV notes present on only
-       one branch of the cross-jump so we don't get confused by them if we
-       cross-jump again.
+2000-07-22  Jeffrey Oldham  <oldham@codesourcery.com>
 
-Mon Aug 12 01:44:26 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * collect2.c (main): Typo fixed.
+       * diagnostic.c: Typo fixed.
+       * dwarf2out.c (dwarf2out_frame_debug_expr): Typo fixed.
+       * eh-common.h: Typo fixed.
+       * emit-rtl.c (start_sequence): Typo fixed.
+       * flow.c (find_label_refs): Typo fixed.
+       (calculate_global_regs_live): Typo fixed.
+       (mark_regno_cond_dead): Typo fixed.
+       (create_edge_list): Typos fixed.
+       (verify_edge_list): Typo fixed.
+       * ggc-common.c (ggc_mark_rtx_children): Typo fixed.
+       * loop.c (strength_reduce): Typo in function name fixed.
+       * rtl.h: Added comments.  Typo in function name fixed.
+       * rtlanal.c: Typo in function name fixed.
+       (insn_dependant_p): Rename to ...
+       (insn_dependent_p): ... this.
+       (computed_jumo_p): Typo fixed.
 
-       * unroll.c (unroll_loop): When naively unrolling loops, if the last
-       jump insn is an unconditional jump, and it does not jump to the loop
-       top, then it must be copied with the rest of the loop body.
+2000-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * rtl.h: Clean up documentation for uses of volatil and in_struct
-       fields of an rtx.
-       * gcc.texinfo: Document macros CONST_CALL_P, LABEL_PRESERVE_P, and
-       SCHED_GROUP_P. Clean up documentation for uses of used, in_struct,
-       and unchanging fields of an rtx.
+       * system.h (__FUNCTION__): Wrap definition in #ifndef.
 
-       * final.c (final_scan_insn):  In the ASM_OUTPUT_LOOP_ALIGN code,
-       must verify that next exists before checking whether it is a label.
+2000-07-21  David Edelsohn  <edelsohn@gnu.org>
 
-Sun Aug 11 16:46:17 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+       * rs6000.h (SIZE_TYPE): Define.
 
-       * i386.md (cmpstrsi): Enable it.  Now uses REG as output, not cc0.
-       Old cc0-output pattern remains for combining cmpstrsi & test pairs.
+2000-07-21  Mark Mitchell  <mark@codesourcery.com>
 
-Sun Aug 11 15:52:33 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * ssa.c (rename_insn_1): Don't rename registers that are
+       CLOBBERed.
 
-       * dbxout.c (dbxout_symbol): Handle var-length array with reference.
+2000-07-21  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * c-decl.c (xref_tag): Copy default mode from unsigned_type_node.
-       * explow.c (expr_size): Get it from size_type.
-       * reload1.c (allocate_reload_reg): No need to validate mode of
-       reload_in if that value is a const_int.
+       * diagnostic.c (trim_filename, fancy_abort): Moved here from
+       rtl.c.
+       (fatal_function, set_fatal_function): Removed.
+       (fatal): Don't prepare for or call the fatal_function.
+       (diagnostic_lock, error_recursion): New.
+       (diagnostic_for_decl, report_diagnostic): Guard against
+       re-entering the error reporting routines.
+       (fancy_abort): Assume function is not NULL.
 
-       * expr.c (expand_builtin): Get value mode properly, for memcmp.
+       * errors.c (fancy_abort): New.  Assume function is not NULL.
+       * tradcpp.c (fancy_abort): Assume function is not NULL.
 
-Sun Aug 11 15:52:33 1991  Jim Wilson  (wilson at cygint.cygnus.com)
+       * system.h: Provide default definition of __FUNCTION__.
+       * rtl.h: Use __FUNCTION__ not __PRETTY_FUNCTION__ throughout.
+       Always use __FUNCTION__ in definition of abort.
+       * tree.h: Likewise.
+       * varray.h: Likewise.
+       * toplev.h: Likewise.  Don't prototype set_fatal_function.
 
-       * dbxout.c (dbxout_symbol): DECL_ASSEMBLER_NAME is a tree, not a
-       character string, so call IDENTIFIER_POINTER before printing it.
+2000-07-20  Geoff Keating  <geoffk@cygnus.com>
 
-       * fold-const.c (fold): When converting foo++ == CONST to ++foo ==
-       CONST + INCR, the plus must have the same TREE_TYPE as the
-       postincrement, not the comparison.
+       * config/rs6000/aix43.h (CPP_SPEC): Define __LONG_MAX__ correctly
+       in 64-bit mode.
+       * glimits.h: Don't do #if defined for ARCH_PPC.
 
-Sat Aug 10 22:58:01 1991  Michael Meissner  (meissner at osf.org)
+       * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All
+       constants of size no larger than a pointer should go in the TOC.
+       Add 'MODE' parameter.
+       (LEGITIMIZE_RELOAD_ADDRESS): Add MODE parameter to
+       ASM_OUTPUT_SPECIAL_POOL_ENTRY_P.
+       (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
+       * config/rs6000/aix.h (SELECT_RTX_SECTION): Likewise.
+       * config/rs6000/netware.h (SELECT_RTX_SECTION): Likewise.
+       * config/rs6000/rs6000.c (constant_pool_expr_1): Likewise.
+       (rs6000_legitimize_address): Likewise.
+       (rs6000_emit_move): Likewise.
+       (rs6000_select_rtx_section): Likewise.
+       (output_toc): Deal properly with outputting small constants like
+       HImode, and SFmode in 32-bit mode, and DFmode in 64-bit mode.
+       * config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Add
+       MODE parameter.  Put small constants in the TOC.
 
-       * mips.md (extendqihi2 define_split): Use SImode on shifts rather
-       than HImode, and turn result register into SImode as well.
+       * config/rs6000/rs6000.c (easy_fp_constant_p): All constants are
+       easy in SImode.
+       (rs6000_emit_move): When reload calls us with an illegitimate
+       address, exit early.  Move the change_address calls to one place
+       at the end of the routine.  Merge the SImode and DImode expanders.
+       When called by reload to put an integer into a FP register, force
+       it to memory.
+
+       * config/rs6000/rs6000.c (struct toc_hash_struct): Add 'key_mode'
+       field.
+       (rs6000_hash_constant): Hash mode too.
+       (toc_hash_function): Allow for key_mode.
+       (toc_hash_eq): Structures are different if key_mode differs.
+       (output_toc): Add 'mode' parameter.  Save key_mode.
+       * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY):
+       Pass 'mode' parameter.
+       * config/rs6000/rs6000-protos.h (output_toc): Add 'mode' param.
+
+       * config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
+       for vtable references.
+
+       * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): If we have a
+       choice, don't put integer values in FP regs.
+
+Thu Jul 20 18:13:52 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * flow.c (verify_flow_info): Revamp code to verify that the
+       head and end of each basic block are in the insn chain.
+
+Thu Jul 20 18:02:35 2000  Michael Matz <matzmich@cs.tu-berlin.de>
+
+       * gcse.c (record_one_set): Prepend instead of append onto
+       reg_set_table, making it O(n) instead O(n^2).
+       * lcm.c (compute_antinout_edge,compute_laterin,compute_available):
+       Use a queue instead of a stack as worklist.
 
-Sat Aug 10 21:00:59 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+2000-07-20  Kazu Hirata  <kazu@hxi.com>
 
-       * calls.c (emit_call_1): New argument is_const.  Set CONST_CALL_P
-       true for the call_insn if is_const is true.
-       (expand_call): Pass is_const to emit_call_1.
-       * expr.c (emit_library_call): Pass no_queue to emit_call_1.
-       Document that no_queue means that the function call is const.
-       * local-alloc.c (validate_equiv_mem):  Don't invalidate memory for
-       const calls.
-       * rtl.h: Update comments describing uses of rtl unchanging and
-       in_struct bits.
-       (CONST_CALL_P): New macro.  True for a call_insn if it is calling
-       a const function.  Uses the unchanging bit.
-       (SCHED_GROUP_P): New macro.  True for an insn if it must be
-       scheduled together with the previous insn.  Uses the in_struct bit.
-       * sched.c: Rewrite to use new SCHED_GROUP_P macro insead of
-       RTX_UNCHANGING_P.
-       (sched_analyze): Rewrite to use new CONST_CALL_P macro.
+       * h8300.c (two_insn_adds_subs_operand): Fix a typo.
+       * h8300.h (OK_FOR_T): New.
+       (EXTRA_CONSTRAINT): Support OK_FOR_T.
+       * h8300.md: Use inc/dec.[wl] for increment/decrement
+       by 1 and 2 in HI and SI modes.
 
-       * sched.c (schedule_block): Don't schedule a block with a volatile
-       or traditional asm insn.  There is currently no code to correctly
-       handle dependencies for them.
+2000-07-20  Jim Wilson  <wilson@cygnus.com>
 
-       * combine.c (distribute_links): Fix typo in comment.
+       * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Handle DELTA values
+       larger than 14 bits.
 
-Sat Aug 10 18:42:22 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-07-20  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * emit-rtl.c (operand_subword): Replace explicit SImode references
-       with mode for BITS_PER_WORD bits.
+       * cppmacro.c (CAN_PASTE_AFTER): New macro.
+       (count_params): Don't set GNU_REST_ARGS on anything.
+       (save_expansion): Set PASTE_LEFT only on tokens for which
+       CAN_PASTE_AFTER is true, or which are named operators.
 
-Sat Aug 10 14:17:08 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * cpplex.c (parse_args): Distinguish between a rest argument
+       given one empty argument, and a rest argument given zero arguments.
+       (maybe_paste_with_next): Look for VOID_REST tag, and trigger
+       deletion of previous token based on that.
+       (get_raw_token): Flatten some control structure.
+
+       * cpplib.h (CPP_LAST_EQ): Correct.
+       (VOID_REST): New token flag.
+       (GNU_REST_ARGS): Delete.
 
-       * calls.c (expand_call): Handle ARGS_GROW_DOWNWARD.
+       * tradcpp.c (main): Don't munge -D options.
+       (make_definition): Bring -D handling in line with cpplib.
+       (do_define): Strip all leading whitespace from macro definitions.
 
-       * ns32k.md (call_value): Consistently realize function is operand 1.
+2000-07-20  David Billinghurst <David.Billinghurst@riotinto.com.au>
 
-       * cccp.c (do_include): Get current dir from nominal_fname.
+       * Makefile.in (tradcpp): Depend on intl.o and version.o.
 
-       * expr.c (expand_builtin): Give cmpstr* a target in the mode it wants.
-       * optabs.c (expand_cmp_insn): Likewise.
+2000-07-20  Bruce Korb  <bkorb@gnu.org>
 
-Fri Aug  9 09:59:27 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * fixincl/check.tpl: strip the platform specific types before testing
+       * fixincl/fixfixes.c(gnu_type_fix): use platform specific types
+       * fixincl/fixincl.tpl: use platform specific types
+       * fixincl/fixlib.h: include the platform specific types
+       * fixincl/inclhack.def(gnu_types): don't supply the types
+       * fixincl/fixincl.x: regen
 
-       * dwarfout.c (output_symbols_for_block): Fix typo in iterating over
-       subblocks.
+2000-07-19  Jim Wilson  <wilson@cygnus.com>
 
-       * make-m88k{,dgux,luna}: Eliminate m88k-trace.asm.
-       * tm-m88k.h, out-m88k.c: Make -mbig-pic a synonym for -fPIC.
-       Delete -mtrace-function.
+       * config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in
+       GR_REGS.
 
-       * Makefile.in (CROSS_TOOLS): New variable.
-       (gnulib1.null, gnulib2.ready): Depend on CROSS_TOOLS.
-       (gnulib1.null): Use $(AR) $(AR_FLAGS).
-       * cross-make (CROSS_TOOLS): Define as install-cross-tools.
+2000-07-19  Zack Weinberg  <zack@wolery.cumb.org>
 
-Fri Aug  9 15:21:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * tradcpp.c (rescan): Do not recognize directives when the #
+       is indented.
 
-       * optabs.c (emit_cmp_insn): Expect cmpstr* to have result operand.
-       Test the sign of the result we get.
-       i386.md needs to be changed.
+2000-07-19  Zack Weinberg  <zack@wolery.cumb.org>
 
-Fri Aug 9 11:09:22 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+       Implement C++ named operators.
 
-       * make-cc1.com: Fix bug where the wrong program was being run to
-       generate insn-attrtab.c, and, add DEBUG option, so that images can be
-       linked to run under the debugger.
+       * cpplib.h (TTYPE_TABLE): Move CPP_MIN and CPP_MAX into block
+       of operators allowed in #if and having an _EQ variant.  Add
+       CPP_MIN_EQ, CPP_MAX_EQ, and CPP_DEFINED.
+       (cpp_token flags): Add NAMED_OP.
+       (enum node_type): Add T_OPERATOR.
+       (struct cpp_hashnode): Add code slot to value union.
+       * cpphash.h (spec_nodes): Remove n_defined.
 
-Fri Aug  9 06:42:15 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * cpplex.c (lex_line): Convert T_OPERATOR nodes to their proper types.
+       (spell_token, can_paste, maybe_paste_with_next): Handle named operators.
+       (is_macro_disabled): Tweak error messages.
 
-       * genemit.c (gen_split): Add "_fail:" label here too.
+       * cpplib.c (get_define_node): Disallow all named operators as
+       macro names.  Tweak error messages.
+       (_cpp_init_stacks): Don't set up spec_nodes->n_defined.
 
-       * tree.h (STRIP_NOPS): Define macro here; add CONVERT_EXPR to list
-       of operations to possibly ignore.
-       * fold-const.c (STRIP_NOPS): Not here.
-       * expr.c (strip_nops): Delete function.
-       (string_constant): Use STRIP_NOPS macro instead of strip_nops function.
+       * cppinit.c (builtin_array): Add entries for the named operators.
+       * cppexp.c (lex): Check for CPP_DEFINED token.
+       (priority table): Add entries for CPP_MIN and CPP_MAX.
+       (_cpp_parse_expr): Handle CPP_MIN and CPP_MAX.
 
-       * global-alloc.c (expand_preferences): New function.
-       (global_alloc): Call it.
+2000-07-19  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-Fri Aug  9 01:19:26 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+       * gcse.c (INSN_CUID): If ENABLE_CHECKING, abort if the uid is
+       larger than the array of cuids.
+       (alloc_gcse_mem): Use uid_cuid rather than INSN_CUID when computing
+       cuids.
 
-       * optabs.c (emit_cmp_insn): Correct typo in spacing.
+2000-07-19  Bruce Korb  <bkorb@gnu.org>
 
-       * unroll.c: Correct typo in comment.  Document that unrolling a
-       loop by a multiple of the number of memory accesses is a win.
-       (unroll_loop): New variable last_loop_insn, points to the last
-       real insn in the loop, which will either be a jump or a barrier.
-       Use last_loop_insn instead of assuming that PREV_INSN (loop_end)
-       is that last real insn in the loop.
-       Standardize comments printed to loop dump file when we can't
-       unroll a loop, so that they all start with "Unrolling failure".
-       No longer assumes that the insn before the backward jump is a
-       compare unless HAVE_cc0.  If not HAVE_cc0, then must copy this
-       insn, and for loop_iterations == 1 case, can not delete this insn.
-       If last_loop_insn is not a JUMP_INSN or BARRIER, then do not
-       unroll the loop.
-       (precondition_loop_p): Fail if loop_iteration_var is not live
-       before loop_start.
-       (copy_loop_body): Rewrite obsolete and misleading comment
-       concerning the splitting of address givs.
-       (back_branch_in_range_p): Correct typo in comment.  No longer
-       assumes that PREV_INSN (loop_end) is the backward branch at the
-       end of the loop.
-       (fold_rtx_mult_add):  Rewrite to use simplify_binary_operation.
-       (iteration_info): Fail if iteration variable is larger than
-       HOST_BITS_PER_LONG, or if it does not have an integer mode.
-       (find_splittable_givs): If an address giv was combined with
-       another address giv, then we can only split the first giv if the
-       second was actually reduced.
-       (loop_iterations): New variable last_loop_insn, use instead of
-       assuming that the last jump insn if PREV_INSN (loop_end).
-       Correct typo in comment.
+       * fixinc/fixincl.c:  Convert to using a table of environment variables
+       and activate the auto-edit marker on the fixed output files.
+       * fixinc/fixlib.h:  Define the environment table
+       * fixinc/fixincl.sh: export the ${INPUT} dir
+       * fixinc/check.tpl: likewise
 
-Thu Aug  8 17:57:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-18  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * Makefile.in (gnulib1.null): Use *_FOR_TARGET variables.
-       (TARGET_TOOLPREFIX): New variable.
-       (AR_FOR_TARGET, AR_FOR_TARGET_FLAGS): New variables.
-       (RANLIB_FOR_TARGET, RANLIB_TEST_FOR_TARGET): New variables.
-       * cross-make: New file.
-       * configure: Insert cross-make into Makefile.
+       * gcc.c (.h spec): Fix typo.
 
-       * tm-m68k.h (LEGITIMIZE_ADDRESS): Copy address before changing it.
-       (COPY_ONCE): New macro, subroutine for LEGITIMIZE_ADDRESS.
+Wed Jul 19 01:22:15 CEST 2000  Marc Espie  <espie@cvs.openbsd.org>
 
-       * toplev.c (main): Accept -g with warning if not supported.
+       * Makefile.in: Fix tradcif.c path.
 
-       * Makefile.in (install-cross-tools): Do nothing unless have gcc-cross.
-       (gnulib2.ready): Depend on install-cross-tools.
+2000-07-18  Zack Weinberg  <zack@wolery.cumb.org>
 
-Thu Aug  8 14:34:53 1991  Ken Raeburn  (raeburn at watch.com)
-
-       * expr.c (c_strlen): New function; determines strlen of string const.
-       (expand_builtin, cases BUILT_IN_STRCMP, BUILT_IN_STRCPY): Call it
-       instead of relying on TREE_STRING_LENGTH.  For strcmp, optimize
-       cases where two lengths are available, if at least one of them is
-       constant.
-       (expand_builtin, case BUILT_IN_MEMCMP): If alignment test fails, and
-       function was really BUILT_IN_STRCMP, delete length parameter before
-       expanding call.
+       * cpplib.h (TTYPE_TABLE): Rearrange to use only two per-entry
+         macros, not five.
 
-       * tree.h (enum built_in_function): Added BUILT_IN_STRLEN.
-       * c-decl.c (sizet_ftype_string): New variable, for strlen prototype.
-       (init_decl_processing): Set it, and declare strlen and
-       __builtin_strlen as built-in functions.  Deleted variable `decl'
-       since it was only assigned to, never read.
-       * expr.c (expand_builtin, case BUILT_IN_STRLEN): Implement it.
+       * cpphash.h (TOKEN_NAME): New macro.
+       (_cpp_spell_operator): Deleted.
+       (token_spellings): Now _cpp_token_spellings.
 
-       * cplus-decl.c (sizet_ftype_string, init_decl_processing): Copy
-       changes from c-decl.c.  Also initialize const_string_type_node.
+       * cppexp.c: Use TOKEN_NAME or TYPE_NAME, not _cpp_spell_operator.
+       * cpplex.c: Use OP and TK macros when expanding the
+       TTYPE_TABLE.  Eliminate token_names.  For non-OPERATOR tokens,
+       store the stringification of the enumeration name (CPP_CHAR,
+       etc.) in the name slot of token_spellings.
+       Use TOKEN_NAME and/or TOKEN_SPELL, do not reference
+       token_spellings directly.
+       * cpplib.c: Use TOKEN_SPELL.
 
-Thu Aug  8 14:34:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * cpplex.c (_cpp_push_token): If the token being pushed back
+       is the previous token in this context, just subtract one from
+       context->posn.
+       * cppmacro.c (save_expansion): Clear aux field when storing a
+       placemarker.
 
-       * c-decl.c (pushdecl): Just warn if trad. extern type is temporary.
+2000-07-18  Jakub Jelinek  <jakub@redhat.com>
 
-Wed Aug  7 15:16:55 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+       * cpplex.c (cpp_scan_buffer): Output line command even at the stop
+       buffer, provided it is not NULL.
 
-       * local-alloc.c (block_alloc): When converting a SCRATCH rtx to a
-       REG rtx, must clear the `used' bit.
+2000-07-18  Alexandre Oliva  <aoliva@redhat.com>
 
-Tue Aug  6 14:17:09 1991  Jim Wilson  (wilson at wombat.gnu.ai.mit.edu)
+       * c-decl.c (duplicate_decls): Do not call make_var_volatile() in
+       case of invalid volatile re-declaration.
 
-       * stmt.c (expand_start_bindings): Fix typo in comment or spacing.
-       * rtlanal.c (reg_referenced_between_p): Likewise.
-       (reg_set_last): Likewise.
-       * loop.c (make_loop_jump): Likewise.
-       * longlong.h (UDIV_NEEDS_NORMALIZATION): Likewise.
-       * local-alloc.c (update_equiv_regs): Likewise.
-       * global-alloc.c (hard_reg_copy_preferences): Likewise.
-       * fixcpp: Likewise.
-       * tm-m68k.h (CONDITIONAL_REGISTER_USAGE): Likewise.
-       * combine.c (reg_significant): Likewise.
-       * calls.c (expand_call): Likewise.
-       * cplus-tree.c (build_cplus_new): Likewise.
-
-       * function.c (fixup_var_refs_insns): When emitting a move insn,
-       don't put it between a CALL_INSN and its USE insns as this will
-       break sched and reorg.  Instead, put it before the USE insns.
-
-       * combine.c (subst): Convert (ior (ashift A CX) (lshift A CY)) where
-       CX+CY equals the mode size to (rotate A CX).
-
-       * out-sparc.c (emit_move_sequence): For DImode constants, can not
-       create a temporary register to hold the high part.
-       (output_scc_insn): When in a delay slot, verify that NEXT_INSN (insn)
-       really is the next insn.
-
-       * sparc.md: Fix support for DImode constants.  Two new patterns
-       added, one for high:DI operators and one for lo_sum:DI operators.
-       (*extend*): Rework these patterns.  Don't accept memory input
-       operands in the define_expands, as this gives better code.
-       Delete patterns for combining two loads into a load and move;
-       these are obsoleted by combiner improvements.
-       Delete define_splits for splitting these obsolete patterns.
-       (one_cmplsi2): Can not accept general_operand destinations, only
-       register destinations.
-
-       * tm-sparc.h (STACK_POINTER_OFFSET): Explain how value is derived,
-       and compute in terms of another macro.
-       (STRUCT_VALUE_OFFSET): Explain how value is derived.
-       (FIRST_PARM_OFFSET): Fix typo in comment.
-
-       * expr.c (MOVE_RATIO): Check for HAVE_movstrdi.
-       (emit_block_move): Add code to use HAVE_movstrdi if present.
-       (emit_push_insn): Likewise.
-
-       * final.c (final_scan_insn): When insn fails constraint check,
-       call fatal_insn_not_found instead of just aborting to make
-       debugging easier.
-
-       * tree.c (integer_all_onesp): Rewrite code to avoid shift by
-       HOST_BITS_PER_INT which is undefined according to ANSI.  Also,
-       abort for precision values not handled, i.e. those greater than
-       twice times HOST_BITS_PER_INT.
-
-Tue Aug  6 14:05:42 1991  James Van Artsdalen  (james at bigtex.cactus.org)
-
-       * i386.md (seq,sne): Use setb/setnb mnemonics instead of setc/setnc:
-       GAS doesn't understand the latter yet.
-
-Tue Aug  6 13:01:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
-
-       * Makefile.in (install-common): Use -d, not -f, for tooldir/bin.
-
-Tue Aug 6 10:37:02 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
-
-       * make-cc1.com: Replacement file.  This new version can build cc1plus
-       and cc1obj in addition to cc1 (known on VMS systems as gcc-cc1plus.exe,
-       gcc-cc1obj.exe and gcc-cc1.exe respectively).
-
-Tue Aug  6 06:30:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * cse.c (canon_hash): If a REG in an operand is equivalent to a
-       constant, hash as if we had the constant.
-       (exp_equiv_p): See if a REG and constant are equivalent.
-
-Tue Aug  6 03:59:16 1991  Ken Raeburn  (raeburn at watch.com)
-
-       * cplus-tree.c (make_deep_copy): Handle PARM_DECLs.
-
-       * cplus-init.c (build_offset_ref): Use DECL_CHAIN, not TREE_CHAIN
-       when trying to determine if a function is unique.
-
-       * cplus-decl.c (start_decl): When constructing a decl tree for a
-       function template, copy last_function_parms to permanent storage,
-       and save it as the function argument list.  Call build_lang_decl
-       instead of build_decl, instead of duplicating the extra work it does.
-       Set `overloaded' flag to 1.  Call dont_forget_overload, so the
-       template decl won't get discarded.
-       Also deleted some commented-out code.
-
-       * cplus-pt.c (uses_template_parms, cases VAR_DECL, FUNCTION_DECL):
-       Give a warning if template parms are only used in places where they
-       can't be resolved (e.g., return types or global or fixed-class
-       variable types).
-       (tsubst): Preserve storage qualifiers on type field, and pass it to
-       layout_type if it has changed.
-       (tsubst, case TEMPLATE_TYPE_PARM):  Preserve storage qualifiers.
-       (tsubst, case INTEGER_TYPE): Process min and max fields, if needed.
-       (tsubst, case FUNCTION_DECL): Process arguments and result fields.
-       (tsubst, case PARM_DECL): New branch.  Handle parm list for
-       FUNCTION_DECL nodes.
-       (tsubst, case TREE_LIST): Copy TREE_PARMLIST flag from source.
-       Don't bother processing TREE_CHAIN field if it is void_type_node.
-       (tsubst, cases POINTER_TYPE, REFERENCE_TYPE): Preserve storage
-       qualifiers.
-       (tsubst, case FUNCTION_TYPE): Eliminate recursion for simple common
-       cases for values and context fields.  Preserve storage qualifiers.
-       (tsubst, default case): Print node type of correct variable in error
-       message.
-       (instantiate_template): Set function_maybepermanent_obstack to
-       permanent, along with the others, and restore old value after tsubst
-       call.  This permits the PARM_DECL case to work.
-
-Mon Aug  5 22:44:51 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
-
-       * cplus-tree.h (struct pending_inline): Add new field `deja_vu' to
-       mark if this pending_inline has already been seen.
-       * cplus-lex.c (do_pending_inlines): Set DEJA_VU when seen.
-       * cplus-lex.c (reinit_parse_for_method, cons_up_default_function):
-       Initialize DEJA_VU to 0.
-       * cplus-decl2.c (mark_inline_for_output): Don't add DECL to
-       PENDING_INLINES if it's already been seen.
-       * cplus-pt.c (instantiate_template): Initialize DEJA_VU to 0.
-
-       * cplus-method.c (do_inline_function_hair): Change some assignments
-       to asserts, since they seem to be copying values that are already
-       there.
+2000-07-18  Jakub Jelinek  <jakub@redhat.com>
 
-Mon Aug  5 22:23:34 1991  Michael Meissner  (meissner at osf.org)
+       * calls.c (store_arg): Return nonzero if sibcall_failure is desired.
+       (expand_call): Adjust caller.
 
-       * genemit.c (gen_expand, main): Change FAIL macro to be a simple
-       goto _fail, and initialize the return value to 0 in the prologue.
-       This avoids a useless warning message that the MIPS C compiler
-       gives if a return is encountered inside of a do { ... } while (0).
+2000-07-17  Gabriel Dos Reis  <gdr@codesourcery.com>
 
-Mon Aug  5 21:28:06 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * diagnostic.h (report_diagnostic): Change prototype.
 
-       * cplus-xref.c (GNU_xref_file): Treat VMS like USG.
+       * diagnostic.c (output_do_verbatim, diagnostic_for_asm,
+       diagnostic_for_decl):  Change prototype.
+       (error_with_decl, warning_with_decl, pedwarn_with_decl, warning,
+       error, warning, error_with_file_and_line,
+       warning_with_file_and_line, pedwarn_with_file_and_line, fatal):
+       Adjust call to report_diagnostic, diagnostic_for_decl.
+       (error_for_asm, warning_for_asm): Adjust call to diagnostic_for_asm.
+       (output_verbatim, verbatim): Adjust call to output_do_verbatim.
 
-       * optabs.c (expand_binop): In libcall, use actual mode of op1.
+       * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. End
+       varaible argument list.
 
-       * c-typeck.c (build_binary_op_nodefault):
-       In signed versus unsigned compare warning, note promotions of unsigned.
+2000-07-17  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * c-parse.y (simple_if): Allow error instead of lineno_labeled_stmt.
-       (if_prefix): New subroutine of simple_if.
+       * cpphash.c: Don't include hashtab.h.  Most macro-handling code
+       moved to cppmacro.c.
+       (hash_HASHNODE, eq_HASHNODE, _cpp_dump_macro_hash,
+       dump_hash_helper): Delete.
+       (expand_hash, higher_prime_number, _cpp_lookup_with_hash,
+       cpp_forall_identifiers): New. Implement specialized version of
+       Vlad's expandable hash table.
+       (cpp_lookup): Use new functions.
+       (_cpp_init_macros, _cpp_cleanup_macros): Adjust for new
+       implementation.
+       * cppmacro.c: New file.
+       * cppinit.c (dump_macros_helper): New.
+       (cpp_finish): Iterate over the identifier table directly.
+       * cpplex.c (parse_name): Calculate the hash of the identifier
+       while we scan it.  Use _cpp_lookup_with_hash when we can.
 
-       * gnulib2.c (__ashldi3, __ashrdi3, __lshldi3, __lshrdi3):
-       Accept second arg as int, not long long.
+       * cpphash.h: Update prototypes.
+       (xcnewvec, HASHSTEP): New helper macros.
+       * cpplib.h: Update prototypes.
+       * Makefile.in (LIBCPP_OBJS): Add cppmacro.o.
+       (cppmacro.o): New rule.
+       (cpphash.o): Update deps.
 
-Sun Aug  4 22:31:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * cppmain.c: Do not set pfile->printer if no_output is on.
 
-       * cplus-except.c (cplus_expand_start_except): Set up variables
-       `current_exception_name_as_rtx' and `current_exception_parms_as_rtx'.
-       These variables are used to factor out calls to `expand_assignment'
-       and allow instead calls to `emit_move_insn', which takes about 1/2x
-       the compilation time when called directly.
-       (various places): Use `store_expr' instead of `expand_assignment'
-       when reasonable.
-       (cplus_expand_reraise): Take advantage of above changes.
-       (setup_exception_throw_decl): This is where *_as_rtx variables are
-       initialized.
+2000-07-15  Neil Booth  <neilb@earthling.net>
 
-       * cplus-input.c (getch): Rewritten slightly to help GNU C optimizer.
-       * cplus-lex.c (yylex): In IDENTIFIER case, pre-test condition that
-       `getch' tests, and call `getc' directly when possible.  This cuts
-       calls to `getch' by a factor of 4 for typical C++.
+       * cpplib.c: Change all directive-handler functions to return
+       void, not int.
+       * cpphash.h: Update typedefs.
 
-       * cplus-class.c (add_virtual_function): Memoize the first 256
-       virtual function table index nodes (0x80000001, 0x80000002, etc.).
-       (finish_struct): Use `size_int' instead of `build_int_2' when we
-       know the int will not be changed in place (such as the size value of
-       virtual function tables).
-       * cplus-decl2.c (finish_table): Same change as for `finish_struct'.
-       * cplus-tree.c (layout_basetypes): Same change.
-       * cplus-decl.c (init_decl_processing): Use `size_int' to initialize
-       `size_zero_node' and `size_one_node'.
+2000-07-17  Geoffrey Keating  <geoffk@cygnus.com>
 
-       * cplus-tree.h (TREE_OVERLOADS_ARROW): Define this.
-       * cplus-parse.y (operator_name): Set TREE_OVERLOADS_ARROW where
-       appropriate.
-       * cplus-type2.c (build_x_arrow): Use TREE_OVERLOADS_ARROW and
-       reorganize the logic for better speed.
-       * cplus-ptree.c (print_lang_type): Print when TREE_OVERLOADS_ARROW.
+       * configure: Regenerate.
 
-Sun Aug  4 16:44:54 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * extend.texi (Extended Asm): Mention that a memory clobber
+       does not count as a side-effect.
 
-       * rtlanal.c (reg_referenced_p): Properly handle ASM_OPERANDS.
+       * unroll.c (copy_loop_body): Fix one instance of using host
+       arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit
+       cross-compile.
 
-       * cse.c (cse_insn): When recording this_insn_cc0, build a COMPARE
-       rtl if SRC is a floating-point value.
+       * tlink.c (scan_linker_output): Tweak for output of AIX ld.
 
-Sun Aug  4 16:16:11 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-17  Richard Henderson  <rth@cygnus.com>
 
-       * fold-const.c (fold): Don't compute shift with negative count.
-       * cse.c (simplify_binary_operation): Likewise.
+       * config/ia64/ia64.md (movdi): Split out load address code.
+       New post-reload splitter for symbolic operands.
+       (movdi_internal): Abort if we didn't split symbolic operands
+       when we should have.
+       * config/ia64/ia64.c (ia64_expand_load_address): New, from movdi bits.
+       (ia64_reorg): Split insns when not optimizing.
+       * config/ia64/ia64-protos.h (ia64_expand_load_address): Declare.
 
-Sat Aug 3 15:57:55 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+Mon Jul 17 23:43:26 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
-       * tm-vms.h (ASM_OUTPUT_EXTERNAL): Modify to always write the
-       correct size of the data object, if it is known.
-       (ASM_OUTPUT_COMMON): Modify to select the const or the data section
-       as appropriate.  This definition shadows a definition in tm-vax.h
-       (const_section): Change data type to void.
+       * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use LONG_DOUBLE_TYPE_SIZE
+       instead of MAX_LONG_DOUBLE_TYPE_SIZE to decide output format.
 
-Sat Aug  3 15:02:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-07-17  Chandrakala Chavva   <cchavva@cygnus.com>
 
-       * integrate.c (save_for_inline_copying): Clear constant pool after
-       saving constants into the insns.
+       * loop.c (check_dbra_loop) : Changed loop_continue to loop->cont.
 
-       * expr.c (expand_builtin, case BUILT_IN_MEMCPY): Ensure items
-       passed to emit_block_move are valid MEMs.
+2000-07-17  Jason Merrill  <jason@redhat.com>
 
-       * recog.c (offsettable_address_p): Don't change INTVAL of a CONST_INT
-       within an address; that CONST_INT is likely shared and may be used
-       elsewhere in the address.
+       * Makefile.in (clean): Remove libgcc directory.
 
-       * stmt.c (expand_end_stmt_expr): Don't try to copy result to
-       REG; it might be BLKmode.
+       * configure.in (-Wno-long-long check): Use higher-level macros.
 
-       * reload.c (MATCHES): Don't consider two things equal if they have
-       side effects.
+2000-07-17  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * combine.c (try_combine): When replacing SET_DEST inside a PARALLEL,
-       don't replace it with something that has a side effect.
+       * simplify-rtx.c (simplify_binary_operation): Recognize
+          (compare (gt[u] (cc) 0) (lt[u] (cc) 0)).
+       (simplify_ternary_operation):  Do not examine MODE_BITSIZE of
+          a CONST_INT, it will always be zero.
 
-Sat Aug  3 13:17:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-17  Chandrakala Chavva   <cchavva@cygnus.com>
 
-       * c-decl.c (init_decl_processing):
-       If traditional, omit builtins with names that don't start with _.
-       Also omit if not optimizing.
+       * loop.c (check_dbra_loop) : Return if more than one condition is
+       present to control the loop.
 
-       * Makefile.in (combine.o, emit-rtl.o, expr.o, final.o, tree.o):
-       Depend on gvarargs.h.
+Mon Jul 17 08:26:35 2000  Clinton Popetz  <cpopetz@cygnus.com>
 
-Fri Aug 2 11:00:10 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+       * mips.c (mips_expand_prologue): Don't calculate the last argument
+       register unless we need it.  When we are calculating this, make
+       sure FUNCTION_ARG is giving us a REG.
 
-       Merge some VMS changes from 1.39 that did not make it to 2.0.
-       These changes will prohibit GCC from addressing external symbols with
-       indirect addressing modes, to be compatible with sharable
-       image libraries under VMS.
+2000-07-17  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
 
-       * tm-vms.h: Define NO_EXTERNAL_INDIRECT_ADDRESS, define
-       ENCODE_SEGMENT_INFO to make use of hook in varasm.c
+       * flow.c (libcall_dead_p): Use single_set to verify the insn
+       has only one set and get for analysis.
+       (propagate_one_insn): Don't pass the PATTERN of the insn.
 
-       * tm-vax.h: Provide alternative definitions of INDIRECTABLE_CONSTANT_P,
-       INDIRECTABLE_CONSTANT_ADDRESS_P, and INDIRECTABLE_ADDRESS_P, which
-       are used when NO_EXTERNAL_INDIRECT_ADDRESS is defined.  Also, define
-       INDIRECTABLE_CONSTANT_ADDRESS_P.   Modify definitions of
-       GO_IF_NONINDEXED_ADDRESS, and GO_IF_LEGITIMATE_ADDRESS to work with
-       either alternative.
+2000-07-17  Mark Klein <mklein@dis.com>
 
-Fri Aug  2 21:54:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+        * pa.c (emit_hpdiv_const): Update to match new pattern for udivsi3.
 
-       * loop.c (check_dbra_loop): Fix typo in arg to single_set.
+2000-07-17  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
-       * reload1.c (choose_reload_regs): Verify that all registers in a 
-       group still contain the desired value.
-       (emit_reload_insns): Set reg_reloaded_contents and reg_reloaded_insn
-       for all registers in a group.
+       * Makefile.in (TARGET_GETGROUPS_T): New configuration variable.
+       * configure.in (TARGET_GETGROUPS_T): Evaluate.
+       * sys-protos.h (getgroups): Use TARGET_GETGROUPS_T for array type
+       of second argument of getgroups.
+       * configure, config.in: Rebuilt.
 
-       * combine.c (set_significant): Handle a complex SET_DEST correctly.
+2000-07-17  Geoffrey Keating  <geoffk@cygnus.com>
 
-Fri Aug  2 17:12:24 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * simplify-rtx.c (simplify_relational_operation): Two signed
+       values with equal high words are less/greater than each other if
+       their low words are less/greater when considered as unsigned.
 
-       * tree.c (build_array_type): Make pointer type before array type.
+Mon Jul 17 02:37:06 2000  Marc Espie <espie@openbsd.org>
 
-       * Makefile.in (install-common): Never install gcc if gcc-cross exists.
+       * configure.in (vax-*-openbsd):  Change to new style configuration,
+       add collect2/float_format information.
+       * configure:  Rebuilt.
+       * config/vax/openbsd1.h:  New.
+       * config/vax/openbsd.h:  New.
+       * config/vax/t-openbsd:  New.
 
-Fri Aug  2 14:58:42 1991  Michael Meissner  (meissner at osf.org)
+2000-07-17  Chip Salzenberg  <chip@valinux.com>
 
-       * make-mips (CC, OLDCC): Comment why we need to define CC and OLDCC
-       to get around fixed size table complaints in the MIPS compiler.
+       * c-common.c (shorten_compare): Quiet warnings about unsigned
+       comparisons with zero when they occur in a system header.
 
-Fri Aug  2 14:08:01 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * configure (writing VPATH definition):  Avoid temp file.
+       * invoke.texi (-pedantic): Refer to ISO C instead of ANSI C, and
+       update to describe current practice.
 
-       * tm-i860.h (MAX_PARM_BOUNDARY): Defined.
-       (GO_IF_LEGITIMATE_ADDRESS): Add parens around & operator.
-       (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Use sp, not r3 (that's fp).
-       * i860.md (movsf): Don't reload high address part if already loaded.
-       (cmplesf, cmpledf, cmpgesf, cmpgedf): Set CC_NEGATED; swap operands.
-       * out-i860.c (strict_single_insn_op_p):
-       Fix criterion for loading high half.
-       (output_load_address): #if 0 since not used.
+       * glimits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define for C99.
 
-Fri Aug  2 01:46:39 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+       * contrib.texi, cpp.texi, extend.texi, invoke.texi: Update
+       references to C9X.  Change references to -fstd and -flang-isoc9x
+       to refer to -std.
 
-       * i386.md (swapdf): Don't condition on TARGET_387.
-       (bit set/complement/clear insns): Don't use if -m486.
-       (bit test insns): Don't allow a MEM operand.
+       * c-common.c (scan_char_table): Allow "z" length modifiers on
+       diouxXn formats.
+       (check_format_info): Use TYPE_DOMAIN on the type matched against
+       for "z" formats, to retrieve the language size_t rather than the
+       internal one.
 
-Thu Aug  1 19:05:31 1991  Matthew Self  (mself at next.com)
+       * c-common.c (check_format_info): Do not make a pedantic objection
+       to the 'L' length modifier if used with a floating point type
+       character.
 
-       * local-alloc.c (block_alloc):  Record regs_live_at for last insn
-       in basic block too.  Otherwise REG_UNUSED regs may overlap hard
-       regs set in the last insn of the basic block.
+       * c-lex.c (yylex): Don't pedwarn for hexadecimal floating point
+       constants in C99 mode.
 
-Thu Aug  1 19:02:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-07-17  Kazu Hirata  <kazu@hxi.com>
 
-       * emit-rtl.c (gen_rtx): Don't return frame_pointer_rtx (e.g.) if
-       mode is not Pmode.
+       * h8300.md: Fix the format of mac.
+       (movsi_h8300hs): Output a tab after stmac instead of a space.
 
-       * emit-rtl.c (operand_subword): Don't write explicit divide by 0;
-       some (broken) compilers give errors for it.
+       * h8300.c (two_insn_adds_subs_operand): Improve code for detecting
+       profitable adds/subs sequences.
 
-       * m68k.md (udivhi3): One pattern had constraint of "d" with
-       const_int_operand.
-       (FPA insns): Operand 1's constraints allow memory and constants, but
-       the predicate is register_operand; change to general_operand.
+       * fold-const.c: Fix comment typos.
 
-Thu Aug  1 13:41:47 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+2000-07-16  Laurynas Biveinis  <lauras@softhome.net>
 
-       * cplus-lex.c (do_pending_inlines, process_next_inline): Zero out
-       the DECL_PENDING_INLINE_INFO field after processing it.
-       (store_pending_inline): Don't delay processing a virtual function,
-       since it needs to be processed in case the virtual function table is
-       needed.
+       * cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL.
 
-       * cplus-decl2.c (mark_inline_for_output): If DECL has pending inline
-       info, cause it to be processed.
+2000-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cplus-pt.c: Removed extraneous declaration of `permanent_obstack'.
-       Also, added comment for `reinit_parse_for_template'.
+       * fixinc/fixfixes.c (emit_gnu_type): Avoid string concatenation.
 
-       * cplus-typeck.c (mark_addressable): For FUNCTION_DECL case, also
-       test DECL_PENDING_INLINE_INFO.
+2000-07-16  Neil Booth  <NeilB@earthling.net>
 
-Thu Aug  1 13:26:12 1991  Michael Meissner  (meissner at osf.org)
+       * cpplex.c: Update comments.
+       * README.Portability: Small update.
 
-       * mips-tfile.c (main): If input file is not specified, use the same
-       file for both input and output.  If renaming output file and rename
-       fails, copy the file.
-       (free_multiple_pages): New function.
+2000-07-16  Neil Booth  <NeilB@earthling.net>
 
-       * tm-decrose.h (ASM_FINAL_SPEC): Add this to call mips-tfile if
-       using the MIPS assembler.
+       * README.Portability:  Small update.
 
-       * tm-mips.h (ASM_FINAL_SPEC): Add this to call mips-tfile unless
-       using gas.
-       (TARGET_VERSION): Do not put __DATE__ in the output.
+2000-07-15  Richard Henderson  <rth@cygnus.com>
 
-       * make-mips (BISONFLAGS): Add -l to bison flags because the MIPS
-       based compilers have problems with #line.
-       (CC): Define in terms of $(OLDCC) so the USE_HOST macros work.
-       (EXTRA_PASSES): Build mips-tfile and mips-tdump.
-       (Makefile): Explicitly use sh to invoke configure.
+       * config/ia64/ia64-protos.h (ia64_move_ok): Prototype.
+       * config/ia64/ia64.c (ia64_move_ok): New function.
+       * config/ia64/ia64.md (movqi, movqi_internal): Use it.
+       (movhi, movsi, movdi, movsf, movdf, movxf): Likewise.
 
-       * make-decrose (EXTRA_PASSES): Build collect.
-       (Makefile): Explicitly use sh to invoke configure.
+2000-07-15  Zack Weinberg  <zack@wolery.cumb.org>
 
-Thu Aug  1 12:22:17 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * cpphash.c (save_expansion): Clear PREV_WHITE on tokens
+       immediately following a paste operator.
+       * cppinit.c (sort_options): New function (only for HOST_EBCDIC).
+       (cpp_reader_init): Call it, if HOST_EBCDIC.
+       (cpp_handle_options): Do not sort option list here.
+       (handle_option): Rename to cpp_handle_option and export.
+       * cpplex.c (cpp_scan_buffer_nooutput, cpp_scan_buffer): Use
+       _cpp_get_token directly.
+       (cpp_scan_line): Return 0 at EOF, 1 otherwise.
+       * cpplib.c (cpp_push_buffer): Don't set new->lineno to 1.
+       * cpplib.h: Prototype cpp_handle_option.  Update prototype of
+       cpp_scan_line.
 
-       * cccp.c (directive_table, node_type): Add #include_next.
-       (do_include): Support #include_next.
-       (finclude): New arg DIRPTR.  All callers changed.
+2000-07-15  Richard Henderson  <rth@cygnus.com>
 
-       * reload1.c (reload_as_needed):  Check live_known before accessing
-       basic_block_head.
+       * fold-const.c (extract_muldiv): Don't optimize past an unsigned
+       cast around an expression.  Tidy other unsigned tests.
 
-Thu Aug  1 11:47:37 1991  Michael Meissner  (meissner at osf.org)
+2000-07-15  Gabriel Dos Reis  <gdr@codesourcery.com>
 
-       * gcc.c (compilers): Add new spec %A, which expands ASM_FINAL_SPEC.
-       This option is added after all other arguments to the assembler.  It
-       is for the MIPS port to run a cleanup program after the assembler
-       finishes, by having ASM_FINAL_SPEC be "\n mips-tfile args..."
-       (set_spec): If name is 'asm_final', set the asm_final_spec.
-       (process_command): print out asm_final_spec for -dumpspecs.
-       (do_spec_1): Expand %A to be ASM_FINAL_SPEC.
-       (validate_all_switches): look at any switches handled in
-       ASM_FINAL_SPEC.
+       * diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice,
+       v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove.
+       (v_message_with_decl): Rename to ...
+       (format_with_decl): ... this. Tweak
+       (diagnostic_for_decl): New function.
+       (fatal_io_error): Use verbatim in lieu of notice.
+       (announce_function): Use verbatim.
+       (default_print_error_function): Likewise.
+       (error_with_decl, warning_with_decl, pedwarn_with_decl): Use new
+       infratructure.
 
-Thu Aug  1 07:42:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
+2000-07-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * dwarfout.c (element_list_attribute): AT_element_list is a BLOCK4.
+       * mips.c (function_arg_pass_by_reference): Don't do automatic
+       aggregate initialization.
+       (machine_dependent_reorg): Initialize variable `mode'.
 
-Wed Jul 31 17:42:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * mips.md (absdi2): Change variable `regno1' to unsigned int.
+       (reload_indi): Rename loword/hiword to lo_word/hi_word to avoid
+       conflicts with sys/param.h macro of the same name.
+       (reload_outdi): Likewise.
 
-       * jump.c (jump_optimize): In "if (...) x = 1; else {...} if (x) ...":
-       Don't assume that SYMBOL_REFs are always non-zero.
-       Handle operations other than EQ and NE.
-       Handle conditional RETURN properly.
+2000-07-15  Michael Meissner  <meissner@redhat.com>
 
-       * out-a29k.c (print_operand, case 'e'): When writing LXn, use number
-       of last label in function.
-       (output_prolog): Fix missing arg in ADD  in a29k_first_epilogue_insn.
+       * fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
+       == CONST + INCREMENT, don't overwrite the tree node for FOO++,
+       create a new node instead.
 
-Wed Jul 31 13:41:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
+2000-07-15  Neil Booth  <NeilB@earthling.net>
 
-       * sdbout.c (sdbout_parms): Don't crash if MEM address is a MEM.
+       * README.Portability: Correct example about calling a function
+       through a pointer to function.  Format wide paragraphs.
 
-Wed Jul 31 12:36:37 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-15  Michael Meissner  <meissner@redhat.com>
 
-       * fixincludes: New variable INCLUDES specifies input dir.
+       * README.Portability: Update integer suffixes and function
+       prototype sections.
 
-       * Makefile.in (install-common): Add dummy elt to EXTRA_PASSES.
-       Fix typo in test.
+2000-07-15  Neil Booth  <NeilB@earthling.net>
 
-       * Makefile.in (install-cross-tools): Use /. in args to test -d.
-       (cccp.o, dbxout.o, c-plus-*): Added missing dependencies.
+       * README.Portability: Small update.
 
-       * c-common.c: Don't include rtl.h--that was unmodular.
+2000-07-15  Neil Booth  <NeilB@earthling.net>
 
-       * make-i386v (INSTALL): Define this.
+       * README.Portability: New file.
 
-Wed Jul 31 07:38:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
+Fri Jul 14 18:13:53 2000  Mark P Mitchell  <mark@codesourcery.com>
 
-       * Makefile.in (LIB2FUNCS_EXTRA): Extra C and assembler files for
-       gnulib2.
-        * make-m88k*: Put the assembler files in gnulib2 and eliminate use
-       of gnulib1.
+       * INSTALL: Give special instructions for building GCC on Irix 6.
+       * config/mips/x-iris6 (CC): Don't set it.
+       (OLDCC): Likewise.
 
-Tue Jul 30 20:21:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-14  Jason Merrill  <jason@redhat.com>
 
-       * stddef.h (WCHAR_T):
-       Test _WCHAR_T_, __WCHAR_T, _T_WCHAR_ and ___int_wchar_t_h.
+       * dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA
+       register in the stack and later in another register, use the new
+       register.
 
-       * tm-i386isc.h (RETURN_POPS_ARGS): Caller pops the struct value addr.
+Fri Jul 14 10:25:53 2000  Clinton Popetz  <cpopetz@cygnus.com>
 
-       * cccp.c (default_include): Search local dir, system, then standard.
+       * config/mips/mips.md: (absdi2): Handle sign_extend for
+       second operand.
 
-       * Makefile.in (USE_HOST_MALLOC, USE_HOST_OBSTACK):
-       Don't depend on which C compiler is in use.
+2000-07-14  Nathan Sidwell  <nathan@codesourcery.com>
 
-       * reload1.c (reload): Use pseudoreg to compute spill_indirect_levels.
+       * cpplib.c (do_pragma_dependency): Tidy warning messages.
 
-       * c-decl.c (start_function): Don't take arg types from builtin.
-       (duplicate_decls): Cancel builtin function if new arg types differ.
-       Don't take arg types from buiiltin.
+2000-07-14  Zack Weinberg  <zack@wolery.cumb.org>
 
-Tue Jul 30 18:45:39 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * .cvsignore: Correct typo.
 
-       * reload.c (decompose): Don't blow up for constants; they are safe.
+2000-07-13  Mark Mitchell  <mark@codesourcery.com>
 
-Tue Jul 30 15:49:34 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * .cvsignore: Add generated YACC files.
+       * objc/.cvsignore: New file.
 
-       * dbxout.c (dbxout_parms): Don't crash if MEM address is a MEM.
+2000-07-14  Neil Booth  <NeilB@earthling.net>
 
-       * Makefile.in (install-common): Don't lose if EXTRA_PASSES is empty.
-       Don't install gcc if gcc-cross exists.
-       (install-cross-tools): Fix typos.
-       Avoid doing cd -- use absolute file names.
-       (gcc-cross.o): Rule deleted.
-       (gcc-cross): Build gcc, then copy it.
+       * cpplex.c (adjust_column): New function.
+       (skip_whitespace): Use it.
+       (skip_block_comment): Use it, and warn about /*/* with
+       -Wcomments.
 
-Tue Jul 30 15:37:25 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+2000-07-14  Neil Booth  <NeilB@earthling.net>
 
-       * cplus-init.c (build_vec_delete): Use `size_binop' when building up
-       the array end boundary.
+       * cpphash.c (struct macro_info): Add new members.
+       (_cpp_free_definition): Delete the macro directly.
+       (count_params): Return void, with first token of
+       expansion in struct macro_info on success.
+       (parse_define): Return int.  Hoist syntax checking from
+       save_macro_expansion.  Leave call to save_expansion to
+       _cpp_create_definition.
+       (alloc_macro): Needs just 2 arguments.
+       (free_macro): Delete.
+       (save_expansion): Don't perform syntax check.
+       (_cpp_create_definition): Call save_expansion.
 
-Tue Jul 30 10:03:54 1991  Michael Meissner  (meissner at osf.org)
+2000-07-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * tm-mips.h (DOLLARS_IN_IDENTIFIERS): Define to be 1.
+       * genrecog.c (write_header): Split long string.
 
-Mon Jul 29 18:56:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * cpphash.c (macro_info): Don't use the `signed' keyword.
 
-       * reload.c (refers_to_regno_for_reload_p): New function.
-       (push_reload, find_dummy_reload, immune_p): Use
-       refers_to_regno_for_reload_p instead of refers_to_regno_p.
+       * system.h (alloca): Prototype if __GNUC__ && __SIZE_TYPE__.
 
-       * cse.c (fold_rtx): Don't make shifts wider than object.
+2000-07-13  Jakub Jelinek  <jakub@redhat.com>
 
-Mon Jul 29 17:17:55 1991  Michael Collison  (collison at osf.org)
+       * calls.c (stored_args_map): New variable.
+       (check_sibcall_argument_overlap_1): New.
+       (check_sibcall_argument_overlap): New.
+       (expand_call): Initialize stored_args_map.
+       Call check_sibcall_argument_overlap.
 
-       * configure: Added entry for mmax-osfrose (Multimax with ns32k
-       running OSF/1).
+2000-07-13  Bruce Korb  <bkorb@gnu.org>
 
-Mon Jul 29 14:51:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * fixinc/fixfixes.c: move EXIT_BROKEN to header, add sub-expr max count
+       (emit_gnu_type): utility procedure for gnu_type_fix
+       (gnu_type_fix): implement various pre-processor guards around
+       standard types so these types can be defined over and over
+       * fixinc/fixincl.tpl: add a "gnu_type_map" that forces the standard
+       types alluded to above will have GNU-compliant base types
+       * fixinc/fixlib.h: add EXIT_BROKEN define and the gnu_type_map struct
+       * fixinc/inclhack.def: add test_text entries and utilize the new
+       "gnu_types" fix for the ptrdiff_t, size_t and wchar_t types.
+       * fixinc/fixincl.x: regenerate
 
-       * Makefile.in (SYMLINK): New variable.
-       (install-cross-tools): Make symlinks if possible.
-       Otherwise, for executables, indirect to tooldir with a shell script.
-       (install-native): Install gcc-cross as bin/gcc under tooldir.
+2000-07-12  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
 
-       * Makefile.in (USE_HOST_ALLOCA):
-       Generate nothing if don't need separate alloca.
-       (USE_HOST_OBSTACK, USE_HOST_MALLOC): New variables.
-       (HOST_LIBS): Use them. 
-       (HOST_PREFIX_1): Make a dummy file with this name,
-       for cross-compiling for a machine that needs no separate alloca, etc.
+       * diagnostic.c (vline_wrapper_message_with_location,
+       v_message_with_file_and_line, v_error_with_file_and_file,
+       v_error_for_asm, v_warning_for_asm, vfatal,
+       v_warning_with_file_and_line, v_pedwarn_with_file_and_line,
+       vsorry, verror, vwarning, vpedwarn): Remove.
+       (diagnostic_for_asm): New function.
+       (pedwarn, error, warning, pedwarn_with_file_and_line,
+       error_with_file_and_line, warning_with_file_and_line, sorry,
+       error_for_asm, warning_for_asm, fatal): Reimplement.
+       (finish_diagnostic): Clear diagnostic info as well.
 
-       * c-parse.y (stmts): Accept either labels or unlabeled statements.
-       (lineno_labeled_stmt): New nonterminals.
-       (stmt_or_label, lineno_stmt_or_label): New nonterminals.
-       (stmts): Use lineno_stmt_or_label.
-       (stmt): Don't allow labels at this level.
-       Use lineno_labeled_stmt in place of lineno_stmt.
+2000-07-13  Neil Booth  <NeilB@earthling.net>
 
-       * cccp.c (default_include): Get rid of extra #endif.
-       Use CROSS_COMPILE, not CROSS.
+       * c-common.h (flag_digraphs): New.
+       * c-decl.c (c_decode_option): Set flag_digraphs as appropriate.
+       * c-lex.c (yylex): Use flag_digraphs to decide whether to
+       honor digraphs.
 
-       * make-i386mach: New file.
-       * configure (i386-mach): Use that file.
+2000-07-13  Zack Weinberg  <zack@wolery.cumb.org>
 
-Mon Jul 29 09:10:13 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * gcc.c (do_spec_1): Add new %B operator.
+       (set_input): Prepare for %B.
 
-       * tm-m88kluna.h (SYSTEM_INCLUDE_DIR): Define (also MACH).
+       (link_command_spec): Move up with the other tm.h-
+       overrideable specs.  Factor out the portion conditional on
+       LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc).
+       (struct compiler): Just have a single spec string.  All users
+       updated.
+       (default_compilers): Remove unnecessary braces.
+       (static_specs): Update.
 
-Sun Jul 28 16:15:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       (trad_capable_cpp, cpp_options, cc1_options, asm_options): New
+       named specs.
+       (C and assembly specs): Use the new named specs, as appropriate.
 
-       * cccp.c (default_include): Use SYSTEM_INCLUDE_DIR.
-       Delete special cases for MACH, UNOS.
-       * tm-i386mach.h, tm-sun3mach.h, tm-crds.h (SYSTEM_INCLUDE_DIR): Define.
+       * objc/lang-specs.h: Use the new named specs.
+       Remove unnecessary braces.
 
-       * cccp.c (default_include): Use CROSS_INCLUDE_DIR if cross-compiler.
-       * Makefile.in (cccp.o): Pass a definition for CROSS_INCLUDE_DIR.
+2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * Makefile.in (gnulib1.null): New target.
-       (install-common, install-common-headers, install-cross-tools):
-       (install-cross-rest, install-float-h-cross): New targets.
-       (install-float-h): New target.
-       (install-cross, install-headers): Use them.
-       (tooldir): New variable.
-       (EXTRA_PASSES): New variable.
+       * gcc.c (execute): If a subprocess gets a fatal signal, report
+       strsignal() of the signal number, and ask for a bug report.
+       Do not do this for SIGPIPE if there's already been an error.
 
-       * sdbout.c (plain_type_1): Don't record the size in sdb_type_size
-       unless a tag is output.
+       * tradcpp.c: Don't include signal.h.  Don't catch SIGPIPE.
+       Delete pipe_closed.
 
-       * Makefile.in (install-cross): Install specs by copying.
-       Install either gcc or gcc-cross, whichever exists.
-       (native): Remove gcc from deps.
-       (start.encap): Add gcc to deps.
-       (all.cross): Add gcc-cross to deps.
-       (gcc-cross): Like gcc rule except different output file name.
-       (gcc-cross.o): Likewise.
+       * tradcif.c: Remove.
 
-       * Makefile.in (EXTRA_PASSES): New variable.
-       Used for machines which have extra passes to run.
-       (install-cross): Install those programs.
-       (native): Compile them.
+2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * c-parse.y: Support `foo:' before a close brace.
-       (label): New nonterminal.
-       (stmt): Use that.  Treat a label as a statement in itself.
+       * final.c (profile_function): Do not emit profile counters in
+       the data section, if NO_PROFILE_COUNTERS is defined.
+       * tm.texi: Document NO_PROFILE_COUNTERS.  Update doc for
+       FUNCTION_PROFILER.
 
-       * Makefile.in (gnulib*.portable): Rules deleted.
-       (GNULIB1, GNULIB2): Point directly at gnulib1, gnulib2.
-       (gnulib): Use GNULIB1, GNULIB2 directly both as deps
-       and to specify the input files.
-       (gnulib1.conv): Renamed from gnulib1.convert; no longer phony.
-       (gnulib*.target): Rules deleted.
-       make-hp9k320 (GNULIB1): Use gnulib1.conv.
-       (LIBCONVERT): Override.
+       * config/i386/linux.h (NO_PROFILE_COUNTERS): Define.
+       (FUNCTION_PROFILER): Just emit a call to mcount.
 
-       * move-if-change: Use -f with rm and mv.
+2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * Makefile.in (gnulib2.ready): No longer phony.
+       * tradcpp.c (main): Rename 'perror' label to 'sys_error'.
 
-Sat Jul 27 13:03:50 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * cppexp.c, cpphash.c, cpphash.h, cppinit.c, cpplex.c,
+       cpplib.c, cpplib.h: Eradicate all traces of code dependent on
+       traditional, lang_chill, or lang_fortran.
 
-       * combine.c (can_combine_p): Don't use NEXT_INSN, in previous change.
+       * cppfiles.c: #undef strcmp to suppress warning about macros
+       used without arguments.
+       (_cpp_execute_include): Use f, not fname, in "No include path"
+       error.
+       (_cpp_pop_file_buffer): New function.
+       * cpplib.c: Don't include <sys/mman.h>.
+       (cpp_push_buffer): Set line_base and lineno in new buffer.
+       (cpp_pop_buffer): Use _cpp_pop_file_buffer.
 
-       * Makefile.in (class-c, objective-c): New targets.
+       * cpplex.c: Move all prototypes and structure declarations to the
+       top of the file.  Properly parenthesize some macro arguments.
+       (cpp_scan_line): New function.
+       (special_symbol [case T_INCLUDE_DEPTH]): Use pfile->include_depth,
+       don't need to walk up the stack counting.
 
-       * tm-i386.h (ASM_OUTPUT_ALIGN_CODE): Define it.
-       (ASM_OUTPUT_LOOP_ALIGN): Use ASM_OUTPUT_ALIGN_CODE.
-       * tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_ALIGN_CODE): Override it.
-       (ASM_OUTPUT_LOOP_ALIGN): Definition deleted.
+2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * fixincludes (memvar.h): Make two defs of CAT, one ANSI and one trad.
+       * c-common.c (combine_strings): Emit a pedantic warning when a
+       string length is greater than the minimum ANSI C is required
+       to support.
 
-       * expmed.c (emit_store_flag): Set ICODE only after CODE is right.
+Wed Jul 12 13:24:30 2000  Jeffrey A Law  (law@cygnus.com)
 
-Sat Jul 27 06:45:32 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * pa/xm-pa64.h (NO_SYS_SIGLIST): Kill.
+       * d30v/xm-d30v.h (NO_SYS_SIGLIST): Kill.
 
-       * flow.c (insn_dead_p): Don't clobber NEEDED while ensuring that we
-       don't delete insns that set the frame or arg pointer.
+2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * flow.c (flow_analysis, find_basic_blocks, propagate_block):
-       Use GET_RTX_CLASS.
-       
-Fri Jul 26 08:18:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * c-decl.c (define_label): Warn about identifier conflicts with
+       labels in traditional C.
 
-       * sdbout.c: Use <syms.h> for USG and provide a definition of
-       T_VOID if none existed.  Use ./gsyms.h for non-USG systems.
-       * gsyms.h: Renamed from syms.h.
+       * c-parse.in (unop +): Warn about the unary plus operator for
+       traditional C.
 
-Fri Jul 26 22:47:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * c-typeck.c (store_init_value): Warn about automatic aggregate
+       initialization for traditional C.
 
-       * cccp.c (macroexpand): Fix error message syntax.
+       * invoke.texi (-Wtraditional): Document new warnings.
 
-       * Makefile.in (gnulib2.target): Add semicolon.
+2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
 
-Fri Jul 26 18:17:36 1991  Michael Meissner  (meissner at pogo.gnu.ai.mit.edu)
+       * Makefile.in (c-errors.o): Fix thinko in dependency.
 
-       * make-mips (CC): Bump -Wf,-XNg option to 1500 to allow the MIPS
-       compiler to compile cc1plus.
+2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
 
-Fri Jul 26 14:42:35 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of
+       -traditional, -ftraditional, or -traditional-cpp was given.
+       Do not pass -traditional to the preprocessor.
+       (.S spec): Likewise.  Don't bother defining __ASSEMBLER__, the
+       preprocessor does it automatically.
+       * objc/lang-specs.h: Likewise.  Don't bother defining __OBJC__.
 
-       * c-parse.y (yylex): Don't use mbtowc to translate L'\0'.
+       * ch/lang-specs.h: Always use tradcpp.  Do not pass
+       -traditional, -trigraphs, or -pedantic to the preprocessor.
+       * f/lang-specs.h (.F spec): Likewise.  Don't bother defining
+       _LANGUAGE_FORTRAN.
 
-       * tm-m88ksvr4.h (CPP_SPEC): Specify SVR4 pre-assertions.
+2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
 
-Fri Jul 26 09:53:53 1991  Michael Meissner  (meissner at pogo.gnu.ai.mit.edu)
+       * cppexp.c (LOGICAL): Delete macro.
+       (_cpp_parse_expr): Do not use UNARY for unary +.  Implement ||
+       and && directly.
 
-       * Makefile.in (cplus_expr.o): Add missing dependencies, so cc1plus
-       can be built without first building cc1.
+       * cpphash.c (HASHSIZE): Increase to 4096.
+       (struct hashdummy): Add hash field.
+       (eq_HASHNODE): Compare unreduced hashes, then lengths, then
+       the string values using memcmp.
+       (cpp_lookup): Set dummy.hash.
 
-Fri Jul 26 07:30:51 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Wed Jul 12 13:15:16 2000  Marc Espie <espie@openbsd.org>
 
-       * combine.c (can_combine_p): Can't combine if DEST is used in an
-       insn in the range (succ, i3).
+       * configure.in (m88k-openbsd): Express configuration using new fragment
+       style.
+       * configure: Rebuilt.
+       * m88k/aout-dbx.h: New.
+       * m88k/openbsd.h: New.
+       * m88k/xm-openbsd.h: New.
 
-       * expmed.c (store_bit_field): Don't use insv if the mode of its
-       input is narrower than the width of the field.
-       (store_fixed_bit_field): Handle value with MODE_FLOAT mode.
-       (extract_bit_field): Don't use extzv/extv if its output mode is
-       narrower that width of field.
-       (extract_bit_field): Handle returning MODE_FLOAT mode.
+2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * reorg.c (steal_delay_list_from_target): Add new arg PNEW_THREAD.
-       Instead of redirecting jump, return its target in *PNEW_THREAD.
-       (fill_slots_from_thread): Pass &NEW_THREAD to
-       steal_delay_list_from_target.
+       * expr.c (expand_expr): Return const0_rtx, not error_mark_node.
 
-Thu Jul 25 21:57:42 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+2000-07-12  Richard Henderson  <rth@cygnus.com>
 
-       * sched.c: Correct tiemann's email address.
-       (schedule_block): Note that the values of leftover REG_DEAD notes
-       are meaningless.
-       (new_insn_dead_notes): If find an instruction that both uses and
-       sets dest, then no new REG_DEAD note is needed.
-       (update_links): When handling dest of last insn, no new REG_DEAD
-       note is needed if the last insn also uses its dest.
+       * reload.c (push_secondary_reload): Make sure to add the new
+       reload at the end, after acquiring secondary memory.
 
-Thu Jul 25 18:15:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * flow.c (regno_clobbered_at_setjmp): Don't blow up if no basic blocks.
+       * cpplex.c (is_macro_disabled): Use CPP_WTRADITIONAL.
 
-Thu Jul 25 16:55:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * c-decl.c (set_current_function_name_declared, anon_aggr_type_p,
+       lang_expand_stmt): Mark parameters with ATTRIBUTE_UNUSED.
 
-       * cse.c (invalidate, cse_insn): Don't use HASHREG directly.
-       (HASH): Substitute HASHREG in.
-       (HASHREG): Deleted.
+       * c-parse.in (stmt): Delete unused variables.
 
-       * tm-i386mach.h: New file.
-       * configure (i386-mach): Use that.
+       * convert.c (convert_to_vector): Likewise.
 
-       * tm-i386isc.h: New file, copied from 1.40.
+       * gensupport.c (process_rtx): Declare attr as `rtvec' not `rtx'.
 
-       * i386.md (jump, indirect_jump, tablejump, return):
-       Use ASM_OUTPUT_ALIGN_CODE.
-       * tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_LOOP_ALIGN):
-       Override the usual definition.
+       * tree.c (finish_vector_type): Prototype.
 
-       * rtl.h (FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE): Fix typo.
+2000-07-12  Bruce Korb  <bkorb@gnu.org>
 
-Thu Jul 25 16:25:52 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * fixinc/fixfixes.c: use xmalloc
+       * fixinc/fixincl.c(initialize): set program name for xmalloc
+       * fixinc/fixlib.c(must_malloc): obsolete
+       (is_cxx_header): no longer used - disabled
+       (skip_quote): inserted and disabled for future use
+       * fixinc/fixlib.h: reflects above
+       * fixinc/fixtests.c: removed dinkleberries
 
-       * out-m88k.c (legitimize_address): Note use of addressing base.
-       (m88k_layout_frame): Establish PIC addressing base as needed.
+2000-07-12  Neil Booth  <NeilB@earthling.net>
 
-       * tm-m88kdgux.h (GPLUSPLUS_INCLUDE_DIR): Specify.
+       * cpphash.h: (TOKEN_SPELL) Pulled from cpplex.c.
+       * cpplex.c (TOKEN_SPELL) Move to cpphash.h.
 
-Thu Jul 25 07:54:36 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * cpphash.c: (struct macro_info, alloc_macro, free_macro,
+       struct toklist_dummy): New.
+       (cpp_free_definition): Free macros with free_macro.
+       (count_params): Don't save parameter spellings.  Save macro
+       information in a struct macro_info.
+       (parse_define): Don't allocate a token list.
+       (save_expansion): Allocate the macro's token list, and
+       save parameter spellings if necessary.  Use TOKEN_SPELL.
+       (cpp_create_definition): Make list const.
 
-       * rtl.h (FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE): Defined.
+2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
 
-       * integrate.c (expand_inline_function): Propagate the value of
-       FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE.
+       * c-typeck.c (pedwarn_c99): Move to
+       * c-errors.c: ... Here.
+       * toplev.h (verror, vwarning, vpedwarn): Remove prototypes.
+       * diagnostic.c (verror, vwarning, vpedwarn): Make static.
+       * Makefile.in (C_AND_OBJC_OBJS): Include c-errors.o
+       (c-errors.o): List dependency.
 
-       * function.h (struct function): Add new field USES_PIC_OFFSET_TABLE
-       to structure.  Leave it to md files to initialize this field.
-       * expr.h (current_function_uses_pic_offset_table): New declaration.
-       * function.c ({save,restore}_tree_status): Save and restore
-       CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE to/from this slot.
-       * out-sparc.c (legitimize_pic_address): Set
-       CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE when appropriate.
-       (finalize_pic): If the current function does not use the PIC offset
-       table, there's no need to emit the PIC prologue.
+2000-07-12  Mark Mitchell  <mark@codesourcery.com>
 
-Wed Jul 24 13:54:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * c-parse.c: Remove.
+       * c-parse.h: Likewise.
+       * c-parse.y: Likewise.
+       * objc/objc-parse.c: Likewise.
+       * objc/objc-pasre.y: Likewise.
+
+2000-07-11  Rodney Brown  <RodneyBrown@pmsc.com>
+
+       * gcc.texi: Fix minor typos
+       * extend.texi: Fix minor typos
+
+2000-07-11  Marc Espie <espie@openbsd.org>
 
-       * tm-m68k.h (NOTICE_UPDATE_CC):
-       Calls clear status even if value in address reg.
+       * collect2.c (main): Recognize .lo as object files.
 
-       * tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_ALIGN_CODE): Align with NOPs.
+2000-07-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
 
-       * i386.md (andsi3): Don't use movzbl if op1 can't support it.
+       * pa.c (hppa_encode_label): Store labels in gc memory when ggc_p is
+       true.
 
-Wed Jul 24 07:47:59 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Extend test to detect systems
+       with MAP_ANONYMOUS and MAP_ANON.
+       * configure, config.in: Rebuilt.
 
-       * cplus-decl.c (finish_decl): Don't build a cleanup for an variable
-       that is TREE_EXTERNAL.
-
-Tue Jul 23 20:48:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
 
-       * make-mips: Delete rules for saber C.
-       * Makefile.in (STAGESTUFF, gnulib2.ready): Undo last change.
-
-       * tm-vax.h (LIB_SPEC): Supply missing close braces.
-
-Tue Jul 23 14:03:10 1991  Michael Meissner  (meissner at osf.org)
-
-       * protoize.c (toplevel): If FULL_PROTOTYPES is defined, assume that
-       the system provides full prototypes, and include stdlib.h and
-       unistd.h.
-       (toplevel): If _POSIX_SOURCE is defined, wait takes a pointer to an
-       int, even if the system is otherwise BSD.
-       (toplevel): If NO_CONST_IN_SYSCALL and __STDC__ is defined, assume
-       the system takes char *'s instead of const char *'s.
-       (process_aux_info_file, edit_file): Always pass 3 arguments to open,
-       to allow the NO_CONST_IN_SYSCALL macro to properly cast the
-       arguments.
-
-       * make-decrose (ALL): Make sure Makefile is rebuilt if either
-       Makefile.in or make-decrose changes.
-       (BUILD, SYSTEM_INCLUDES, LDFLAGS): Add BUILD variable to retarget
-       which build is used.
-       (CPP_ABORT): Don't define abort=fancy_abort here, do it in
-       tm-mips.h.
-       (INSTALL): Use installbsd program, since install uses System V
-       semantics on OSF/1.
-       (LANGUAGES): Rename collect-osf to collect.
-       (CFLAGS, XCFLAGS): Make CFLAGS use standard args and use XCFLAGS to
-       add additional arguments.
-       (libdir, bindir, mandir): Define to current install values.
-       (cplus-lex.o): Work around problems with 1.39 bootstrap compiler
-       producing bad stabs for certain inlines.
-       (osf-main.c): Add a simple G++ constructor/destructor to gnulib.
-
-       * make-mips (ALL): Make Makefile depend on Makefile.in and
-       make-mips.
-       (CFLAGS, XCFLAGS): Make CFLAGS use standard args and use XCFLAGS to
-       add additional arguments.
-       (CC): Add -Wf,-XNg500 switch to compile with due to the MIPS
-       compiler having fixed size tables.
-       (SABER_*): Add rules to run saber-C.
+       * diagnostic.c (save_output_state): Remove.
+       (restore_output_state): Likewise.
+       (clear_text_info): New function.
+       (clear_diagnostic_info): Likewise.
+       (output_text_length, is_starting_newline, output_prefix,
+       line_wrap_cutoff, ideal_line_wrap_cutoff, prefix_was_emitted_for,
+       prefixing_policy, output_buffer_ptr_to_format_args): New macros
+       (set_real_maximum_length, output_set_maximum_length,
+       output_set_prefix, output_get_prefix, output_set_maximum_length,
+       output_destroy_prefix, init_output_buffer,
+       reshape_diagnostic_buffer, output_space_left, output_emit_prefix,
+       output_add_newline, output_add_character, output_add_space,
+       output_append_r, output_append, wrap_text, output_format,
+       output_do_printf, output_printf, output_do_verbatim,
+       output_verbatim, verbatim): Use them.
+       (output_clear): Split into cleat_text_info and
+       clear_diagnostic_info.
+       (struct output_state): Move to...
 
-       * mips.md (movsi_ulw): Allow unaligned register->register moves,
-       which is caused by the optimizer, and generate the normal reg move
-       code.  Also, turn loads from the stack into normal moves.
-       (movsi_usw): Turn stores into the stack into normal moves.
-       (call, call_value): Turn into a define_expand which takes three
-       arguments, to make Saber happier.
+       * diagnostic.h: ...Here
+       (struct output_buffer): Adjust.
 
-       * tm-mips.h (abort macro): Define abort to be saber_stop if running
-       under Saber C.
-       (__PTR_TO_INT, __INT_TO_PTR): Define as casts if running on a MIPS
-       machine instead of with subtraction, in an attempt to quiet Saber C.
-       (ASM_MODIFY_SPEC): Run mips-tfile after the assembler, needs
-       corresponding gcc.c change to enable.
+2000-07-11  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * tm-decrose.h (ASM_SPEC): Pass -v switch to gas as well as mips
-       assembler.
-       (ASM_MODIFY_SPEC): Run mips-tfile if -mmips-as.
-       (LINK_SPEC): Pass -v switch to linker.
-       (LIB_SPEC): Redefine as just -lc.
-       (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine, use standard
-       libdir, bindir, and mandir in Makefile now.
-       (FULL_PROTOTYPES, NO_CONST_IN_SYSCALL): Define to get protoize
-       to compile cleanly.
+       * cpplex.c (parse_name): No longer inline (premature optimization).
+       (do_pop_context): Fold into pop_context.
+       (pop_context): Returns int.
+       (lex_next): Hoist test for end of directive into pop_context.
+       (push_macro_context): Returns int; takes just reader and token.
+       Hoist test for excessive nesting to caller.
+       (push_arg_context): Returns void; takes just reader and token.
+       Do not call stringify_arg or get_raw_token.
+       (get_raw_token): Convert tail recursion through push_arg_context
+       to a loop at this level.  Call stringify_arg here if appropriate.
+       (maybe_paste_with_next): Convert tail recursion to a while loop.
+       Hoist test of paste_level to caller.
+
+       (stringify_arg): Push arg context at beginning.
+       (cpp_get_token): Split out core into _cpp_get_token.  Call
+       process_directive here.  Throw away CPP_PLACEMARKER tokens.
+       (_cpp_get_token): Convert tail recursion through
+       push_macro_context to a loop at this level.
+       (_cpp_glue_header_name, is_macro_disabled, stringify_arg,
+       _cpp_get_raw_token): Use _cpp_get_token.
+       (_cpp_skip_rest_of_line): Drop the context stack directly; do
+       not call pop_context.
+       (_cpp_run_directive): Call lex_next directly.
+
+       * cpphash.h: Prototype _cpp_get_token.
+       * cppexp.c (lex): Use it.
+       * cpphash.c (parse_define): Use it.
+       * cpplib.c (get_define_node, do_undef, parse_include,
+       read_line_number, do_line, do_ident, do_pragma, do_pragma_gcc,
+       do_pragma_implementation, do_pragma_poison, do_pragma_dependency,
+       parse_ifdef, validate_else): Use it.
+       (cpp_push_buffer): Tweak error message; abort if anyone tries
+       to push a buffer while macro expansions are stacked.
+
+2000-07-11  Donn Terry  <donnte@microsoft.com>
+
+       * cpplex.c (free_macro_args, save_token): Cast arg of free
+       and/or xrealloc to PTR.
+       (_cpp_init_input_buffer): Clear all fields of the base context.
+
+Tue Jul 11 15:28:21 CDT 2000  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * gensupport.c (process_rtx): Make rtl checking stop
+       complaining about the define_insn while it is being
+       converted from a define_insn_and_split.
+
+Tue Jul 11 16:26:17 2000  Clinton Popetz  <cpopetz@cygnus.com>
 
-       * osf-main.c (new file): Provide simple constructor, destructor
-       capability to be linked into gnulib.
+       * config/mips/mips.c (simple_memory_operand): Access the
+       INTVAL of the address, not it's containing MEM.
+
+2000-07-11  Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/fixtests.c(double_slash): obsolete
+       (else_endif_label): likewise
+       * fixinc/inclhack.def(irix_multiline_cmnt): obsolete
+       (libc1_ifdefd_memx): correct initial comment
+       and omit the #if/#endif pair from the memxxx declarations
+       * fixinc/fixincl.x: regen
 
-       * collect-osf.c (various): General rewrite to improve speed and
-       portability.
+2000-07-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cpplex.c (T, I, S, C, N): Avoid non-constant initializers.
+
+2000-07-11  Neil Booth  <NeilB@earthling.net>
+
+       * cpp.texi: Update.
+
+2000-07-11  Neil Booth  <NeilB@earthling.net>
+
+       * cppinit.c: (cpp_reader_init): Allow digraphs by default.
+       (handle_option): Set digraphs according to standard.
+       Merge OPT_lang_c89 handler with OPT_std_c89.
+
+       * cpplex.c: (lex_line, can_paste): Honor digraphs in
+       accordance with the digraphs flag.
+
+       * cpplib.h: (struct cpp_options): New option digraphs.
+
+2000-07-10  Hans-Peter Nilsson  <hp@axis.com>
+           Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/inclhack.def (libc1_ifdefd_memx): New fix.
+       * fixinc/fixincl.x: Regenerate.
+       * fixinc/tests/base/testing.h: Add testcase.
 
-       * Makefile.in (CPLUS_OBJS): If CPLUS_INPUT is defined to be
-       cplus-input.o, compile it separately to work around problems with
-       bootstraping when it is included in cplus-lex.c.
-       (STAGESTUFF): Use $(LANGUAGES) instead of hard coded list of
-       languages, so make-xxx file can override, and provide others.
-       (gnulib2.ready): Make gnulib2 depend on all LANGUAGES targets, so
-       that if a target needs something else built, such as mips-tfile, it
-       will be.
-       (mostlyclean): Add missing -f to rm.
-       (install-dir): Use test to see if the directory exists before trying
-       to create it, and fail if the mkdir fails.
-       (install-headers): ditto.
-       (stage?, risky-stage?): ditto.
-       (install-cross): Install collect and mips-tfile if they are present.
+2000-07-10  Richard Henderson  <rth@cygnus.com>
 
-       * mips-tfile.c (toplevel, main): Add -I file option, which renames
-       the original output file to the given file.
+       * config/ia64/ia64.c (got_symbolic_operand): New.
+       (symbolic_operand, move_operand): Revert 0701 change.
+       * config/ia64/ia64.h (PREDICATE_CODES): Update.
+       * config/ia64/ia64-protos.h (got_symbolic_operand): Declare.
+       * config/ia64/ia64.md (movdi): Revert 0701 wrt symbolic_operand;
+       split the offset into a 14-bit low part instead of a 13-bit low part.
+       (load_fptr): Mark the mem as unchanging.
+       (load_symptr): Use got_symbolic_operand.
 
-       * cplus-lex.c (toplevel): Include <assert.h> instead of "assert.h"
-       in order to avoid problems when including cplus-input.c, which also
-       uses <assert.h>.
+2000-07-10  Nick Clifton  <nickc@cygnus.com>
 
-       * cplus-pt.c (toplevel): Move include of config.h before obstack.h
-       in case config.h defines some macros obstack.h uses such as
-       __PTR_TO_INT.
+       * libgcc2.c (next_stack_level): Cast result of computation to
+       (void **) so that the assignment does not generate a warning.
+
+2000-07-10  Chandrakala Chavva  <cchavva@redhat.com>
+
+       * flags.h : Add new variable flag_single_precision_constant.
+       * toplev.c (display_help) : Add -fsingle-precision-constant option.
+       (flag_single_precision_constant): New.
+       * c-lex.c (yylex): Convert floating point constant to single
+       precision constant.
+       * invoke.texi : Add documentation for this new option.
+
+2000-07-10  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.c (output_octal): Second parameter is unsigned.
+       (output_long_octal): Likewise.
+       (output_hexadecimal): Likewise.
+       (output_long_hexadecimal): Likewise.
+       (output_format): Adjust arguments extraction. Tweak.
+       (output_verbatim, verbatim): End variable argument list.
+       (report_diagnostic): Improve documentation.
+
+2000-07-10  Benjamin Chelf  <chelf@codesourcery.com>
+
+       * c-common.h (build_stmt): Declare.
+       (build_continue_stmt): Likewise.
+       (build_break_stmt): Likewise.
+       (build_return_stmt): Likewise.
+
+       * c-decl.c (do_case): Rewrite to do what previously done in
+       c-parse.in.
 
-Tue Jul 23 13:15:43 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * c-semantics.c (build_stmt): Define.
+       (build_return_stmt): Likewise.
+       (build_break_stmt): Likewise.
+       (build_continue_stmt): Likewise.
+       (build_case_label): Likewise.
 
-       * xm-i386.h, xm-i860.h, xm-spur.h, xm-tahoe.h: Use __builtin_alloca.
+       * c-parse.in (BREAK): Change to build tree, then generate RTL.
+       (CONTINUE): Likewise.
+       (RETURN): Likewise.
+       (CASE): Likewise.
+       (DEFAULT): Likewise.
+
+       * c-parse.y: Regenerate.
+       * c-pasre.c: Likewise.
 
-Tue Jul 23 12:26:01 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+2000-07-09  Jason Merrill  <jason@redhat.com>
+
+       * expr.c (expand_expr): Bail earlier if we get an error_mark_node.
+
+       * tree.h (STRIP_NOPS): Check for error_mark_node.
+       (STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise.
+       (dwarf2out_*): Remove duplicate declarations.
+
+       * c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from
+       DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN.
+
+2000-07-10  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.c (wrap_text): New function.
+       (maybe_wrap_text): Likewise.
+       (output_add_string): Use it.
+       (output_format): Likewise.
+       (count_error): Use verbatim instead of notice.
+       (report_error_function): Likewise. Don't use plain fprintf.
+       (finish_diagnostic): New function.
+       (output_do_verbatim): Tweak.  Commonalize functionalities in
+       output_verbatim and verbatim.
+       (output_verbatim): Adjust.
+       (verbatim): Likewise.
+       (report_diagnostic): Define.
+
+       * diagnostic.h (report_diagnostic): Prototype.
+
+2000-07-09  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cppexp.c (_cpp_parse_expr): Don't use unary plus.
+
+2000-07-09  Neil Booth  <NeilB@earthling.net>
+
+       * cpphash.h: ISvspace, is_vspace, is_nvspace: New.
+       IShspace, ISspace: Update.
+
+       * cppinit.c: ISTABLE: Update.
+       V: New.
+
+       * cpplex.c (IS_HSPACE, S_NEWLINE): Remove.
+       (IS_DIRECTIVE): Rename KNOWN_DIRECTIVE.
+       (skip_block_comment, skip_line_comment, parse_string,
+       lex_line): Use is_vspace rather than IS_NEWLINE.
+       (skip_whitespace, lex_line): Clean up to use is_nvspace.
+       (lex_line): Use KNOWN_DIRECTIVE.  Any kind of directive
+       gets a BOL flag.
+       (lex_next): Unconditionally stop if within a directive.
+       Treat directives within macro invocations as directives
+       (after parse_args emits error), not as the argument.
+
+2000-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.c (diagnostic_args): New macro.
+       (diagnostic_msg): Likewise.
+       (output_formatted_integer): Likewise.
+       (output_state): New data type.
+       (digit_buffer): Make global.
+       (output_add_integer): Rename to output_decimal. Squeeze
+       digit_buffer.
+       (output_long_decimal, output_unsigned_decimal,
+       output_long_unsigned_decimal, output_octal, output_long_octal,
+       output_hexadecimal, output_long_hexadecimal): New functions.
+       (output_append_r): New function.
+       (output_append): Tweak.
+       (output_flush_on): Rename to output_to_stream.
+       (output_format): Change prototype.  Improve documentation. Handle
+       more format specifiers.
+       (build_location_prefix): Rename to context_as_prefix.
+       (output_notice): Rename to output_do_printf.
+       (output_printf): Tweak.
+       (line_wrapper_printf): Likewise.
+       (vline_wrapper_message_with_location): Adjust call to renamed
+       functions.
+       (v_message_with_decl): Likewise.
+       (default_print_error_function): Likewise.
+       (save_output_state): New function.
+       (restore_output_state): Likewise.
+       (output_do_verbatim): Likewise.
+       (output_verbatim): Define.
+       (verbatim): Likewise.
+
+       * diagnostic.h (printer_fn): Change return type from void to int.
+       Improve documentation.
+       (output_add_integer): Rename to output_decimal.
+       (output_flush_on, output_format): Don't export.
+       (output_verbatim, verbatim): Declare.
+
+2000-07-08  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR:
+       Check whether c divides op1 exactly if operation is not
+       multiplication.
+
+2000-07-08  Richard Henderson  <rth@cygnus.com>
+
+       * final.c (final): Do not abort when reg-stack introduces
+       a new insn.
+
+2000-07-08  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplib.h (struct cpp_name): Now struct cpp_string.
+       (CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT,
+       CPP_HEADER_NAME): Change to type S.
+       (struct cpp_token): Rename 'name' field to 'str'.  Add 'node'
+       field, a cpp_hashnode *.  All references to val.name updated
+       to use val.str or val.node as appropriate.
+       (struct cpp_reader): Add spec_nodes field.
+       (cpp_idcmp): Now cpp_ideq; takes a token * and a char *.
+
+       * cpphash.h (struct spec_nodes): New.
+       (enum spell_type): Reorder.  Only SPELL_STRING tokens use
+       val.str.  All references to 'spelling > SPELL_NONE' updated to
+       match.
+
+       (CPP_IN_SYSTEM_HEADER): Check pfile->buffer and
+       pfile->buffer->inc are not NULL before dereferencing them.
+
+       * cpplex.c (parse_name): Take a pointer to the current token,
+       plus current position and limit as args; return the new
+       position; don't copy the text of a name into the string
+       buffer, instead call cpp_lookup and store the node pointer.
+       If extending a token, copy out the text of the old into a
+       scratch buffer, append the new, look that up and store the new
+       node pointer.  Inline.
+       (maybe_paste_with_next): If the result of paste is a NAME,
+       then look up the pasted text and store its node pointer.
+       (lex_line): Adjust for new parse_name interface.
+       Check for L"str", L'str' using spec_nodes->n_L.
+       (spell_token): SPELL_IDENT tokens have their spelling in
+       val.node->name.  Handle SPELL_STRING tokens that don't have
+       string delimiters.
+       (_cpp_expand_name_space,
+       (can_paste): Check for L ## "str" using spec_nodes->n_L.
+       (cpp_get_token, special_symbol): No need to call cpp_lookup.
+       (cpp_idcmp): Now cpp_ideq; take a token * and a const char *;
+       return 1=equal 0=not, not a tristate.
+
+       * cpphash.c (var_args_str): Delete.
+       (find_param): Compare node fields directly.
+       (is__va_args__): Use CPP_PEDANTIC.  Just compare
+       token->val.node with spec_nodes->n__VA_ARGS__.
+       (dump_funlike_macro): Don't use var_args_str.
+
+       * cpplib.c (_cpp_check_directive): Just walk through
+       spec_nodes->dirs comparing pointers.
+       (get_define_node, do_pragma_poison, detect_if_not_defined,
+       parse_ifdef): The identifier has already been looked up.
+       (do_ifdef, do_ifndef): parse_ifdef won't return a poisoned
+       node.
+       (do_if): Only call detect_if_not_defined at beginning of file.
+       (_cpp_parse_assertion): Only copy string pointers for
+       SPELL_STRING tokens.
+       (pragma_dispatch): Take a node pointer and examine its name
+       field.
+       (_cpp_init_stacks): Also initialize the spec_nodes structure.
+
+       * cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
+       _cpp_init_macros.
+       (cpp_cleanup): Free pfile->spec_nodes.  Call _cpp_cleanup_* in
+       reverse order from the corresponding _cpp_init_* routines.
+
+       * cppexp.c (parse_number, parse_charconst, parse_defined,
+       lex): Check val.node->type instead of calling cpp_defined.
+       Use spec_nodes entries where appropriate.
+
+       * fix-header.c, scan-decls.c: Update for interface changes.
 
-       * function.c (instantiate_virtual_regs_1): Change dubious code that
-       used to assign NEW to XEXP (x, 1) regardless of whether
-       validate_change accepted it to instead set XEXP (x, 0) back to OLD.
-       I.e., if the rtx is out of range and OBJECT is NULL, don't make any
-       change at all.
-
-       * out-sparc.c (compute_frame_size): If a function has any
-       stack-local objects, it's frame size is non-zero and space must be
-       reserved for the register window.
+2000-07-08  Geoffrey Keating  <geoffk@cygnus.com>
 
-       * loop.c (loop_optimize): Use get_max_uid to compute max_uid_for_loop.
+       * config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for
+       emitting aux_truncdfsf2.
 
-       * fold-const.c (size_int): Extend SIZE_TABLE's range from
-       0..HOST_BITS_PER_INT-1 to 0..2*HOST_BITS_PER_INT.
-
-       * integrate.c (expand_inline_function): Add minor efficiency
-       hack to not free all the temp slots as parameters are passed
-       from "caller" to "callee".
+2000-07-03  Donn Terry  (donnte@microsoft.com)
 
-       * integrate.c (expand_inline_function): If the inline function
-       returns its value via a structure_value_addr, we must prepare for
-       this to take place, even if the value is ignored by the caller.
+       * cppinit.c (print_help): split overlong line into ISO C89
+       maximum chunks.
 
-       * tm-decstatn.h (SIZE_TYPE): Define this to be "unsigned int".
+2000-07-07  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * emit-rtl.c (try_split): If `split_insns' actually returns a SEQ
-       which is isomorphic to PAT, return TRIAL.
+       * cppexp.c: Update all code for new lexer interface.
+       (op_t, operator codes, struct token, tokentab2, op_to_str): Remove.
+       (struct suffix, vsuf_1, vsuf_2, vsuf_3, op_to_prio): New.
+       * cpplex.c (token_names): Trim leading CPP_ from names; make
+       the strings unsigned.
+       (_cpp_spell_operator): New.
+       (is_macro_disabled): Disable all macros if rescanning
+       preprocessed text.
+       (_cpp_get_directive_token): Remove.
 
-       * out-sparc.c (eligible_for_epilogue_delay): FP register moves are
-       only eligible for leaf-function epilogue delay slots.
+       * cppinit.c: Don't set no_macro_expand.
+       * cpplib.c (read_line_number, do_line): Check only for EOF,
+       not VSPACE.
+       * cpphash.h: Update prototypes.
+       * cpplib.h (CPP_VSPACE): Remove.
+       (struct cpp_reader): Remove no_macro_expand.
+
+2000-07-08  Neil Booth  <NeilB@earthling.net>
 
-Tue Jul 23 11:52:50 1991  Michael Meissner  (meissner at geech.gnu.ai.mit.edu)
+       * cpphash.c (is__va_args__): New function.
+       (count_params): Fix line reported in error messages.  Use
+       is__va_args__.  Don't return ')' on error.  Flag GNU style
+       rest args macro definitions.
+       (parse_define): Check macro name is not __VA_ARGS__.
+       (save_expansion): Check identifier in non-varargs-macro is
+       not __VA_ARGS__.  Don't flag GNU_VARARGS.
+       * cpplex.c (parse_args): Accept no argument iff GNU_REST_ARGS.
+       (maybe_paste_with_next): Use per-macro GNU_REST_ARGS rather
+        than per-token GNU_VARARGS.
+       * cpplib.h (GNU_VARARGS): Remove.
+       (GNU_REST_ARGS): New.
 
-       * dbxout.c (dbxout_symbol): Correct typo in getting static member
-       names.  The problem is DECL_ASSEMBLER_NAME returns a tree, and not a
-       char *.
+Sat Jul  8 01:38:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
 
-Tue Jul 23 07:10:41 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * i386.md (call_pop, call, call_value_pop): Do not set
+       current_function_uses_pic_offset_table for calls to static
+       functions or indirect calls.
 
-       * varasm.c (immed_double_const): Use CONST_INT if MODE fits within
-       HOST_BITS_PER_INT, not BITS_PER_WORD.
+2000-07-07  Jim Wilson  <wilson@cygnus.com>
 
-Mon Jul 22 21:37:03 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * config/ia64/ia64.c (rws_access_reg): New local write_count.  If
+       is_predicate_reg, then take max write_count of register pair.
 
-       * fold-const.c (fold): Always preserve type after using const_binop.
+2000-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Mon Jul 22 18:34:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * tradcpp.c (main): Rename label `include' to `add_include' to
+       avoid conflicts with variable `include' in traditional C.
 
-       * reload1.c (reload): Fix typo in condition for reg_equiv_address
-       being set from reg_equiv_memory_loc; had X instead of XEXP (X, 0).
+2000-07-07  Jakub Jelinek  <jakub@redhat.com>
 
-Mon Jul 22 15:25:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * integrate.c (copy_insn_list): Remove REG_LABEL notes.
 
-       * gcc.c (process_command): -xnone turns off any -x option.
+2000-07-07  Jakub Jelinek  <jakub@redhat.com>
 
-       * tree.c (copy_chain): Deleted.
-       * integrate.c (copy_decl_tree): Use copy_list and copy_node.
+       * sibcall.c (uses_addressof): Add INMEM argument, check for
+       current_function_internal_arg_pointer outside of MEM rtxs in addition
+       to ADDRESSOFs.
+       (sequence_uses_addressof): Update caller.
 
-Mon Jul 22 11:35:47 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+2000-07-07  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * tree.c, tree.h: Fix typos in Jul 22 merge.
+       * tradcpp.c (initialize_builtins): Honor NO_BUILTIN_SIZE_TYPE
+       and friends.
 
-Mon Jul 22 08:51:47 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+2000-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * jump.c (thread_jumps): Don't set CHANGED if the jump's label isn't
-       changing.
+       * system.h (UNION_INIT_ZERO): New macro for initializing union
+       members in structs.
 
-Mon Jul 22 02:37:23 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+       * cpplex.c (placemarker_token, eof_token): Use UNION_INIT_ZERO.
 
-       * version.c: Bumped to 1.94 because of significant changes to
-       cplus-* files.
+2000-07-07  Neil Booth  <NeilB@earthling.net>
 
-Sun Jul 21 18:45:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+       * cpp.texi: Update.
 
-       * toplev.c (rest_of_compilation):
-       Save and restore DECL_INITIAL if we use save_for_inline_copying.
-       * integrate.c (save_for_inline_copying): Really copy DECL_INITIAL.
-       Calling integrate_decl_tree doesn't do it; deleted that call.
-       (copy_decl_tree): New function.
+Fri Jul  7 07:47:35 2000  Jeffrey A Law  (law@cygnus.com)
 
-       * integrate.c (integrate_decl_tree): Renamed from copy_decl_tree.
-       (integrate_parm_decls): Renamed from copy_parm_decls.
+       * final.c (final): Detect out of bounds array access to
+       the insn_lengths array.
 
-       * tree.c (copy_chain): New function.
+2000-07-07  Kazu Hirata  <kazu@hxi.com>
 
-Sun Jul 21 06:43:23 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+       * fold-const.c (fold): Fix a comment typo.
 
-       * i386.md (tstsi): Add comment noting potential -m486 enhancement.
-       (SImode push): With -m486, don't push from MEM.
-       (addsi3): Don't use lea for three operand add if -m486.
-       (ashlsi3): Don't use lea for shift of 1 if -m486.
-       (zero_extendhisi2,zero_extendqihi2,zero_extendqisi2): If dest is
-       %eax, or if -m486, AND is faster than MOVZX.
+2000-07-07  Neil Booth  <NeilB@earthling.net>
 
-Sun Jul 21 06:27:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * cpp.texi: Update to new lexer.
 
-       * expmed.c (store_fixed_bit_field): Pass actual bit position (including
-       offset) to get_best_mode; also limit mode size to BITS_PER_WORD.
-       Use failure of get_best_mode to indicate that field spans word 
-       boundary.
-       Pass actual bit position to store_split_bit_field.
-       (store_split_bit_field): Accept actual bit position, hence handing
-       bitpos > BITS_PER_WORD.
-       Abort if BITPOS and BITSIZE don't cross exactly one word boundary.
-       Pass offset to store_fixed_bit_field; if register, use operand_subword;
-       else adjust offset for second word.
-       (extract_{fixed,split}_bit_field): Likewise.
+2000-07-06  Zack Weinberg  <zack@wolery.cumb.org>
 
-Sun Jul 21 06:11:55 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * tradcpp.c: New file.
+       * tradcif.y: New file.
+       * tradcif.c: New generated file.
 
-       * All cplus-* files: DECL_VIRTUAL_P is no longer applied to
-       FUNCTION_DECLs.  Instead, to test if a function is virtual or not,
-       it suffices to test whether its DECL_VINDEX is non-NULL.  We use
-       ERROR_MARK_NODE as the placeholder for a FUNCTION_DECL we know will
-       be virtual, but for which we don't yet know the actual index.
+       * Makefile.in: Add rules to build tradcpp.o, tradcif.o,
+       $(srcdir)/tradcif.c.  Add tradcpp to STAGESTUFF and
+       dependencies of C.  Install tradcpp from install-common, in
+       $(libsubdir).
 
-       * cplus-decl.c (define_function): Don't set up DECL_ASSEMBLER_NAME
-       until after having the chance to call through PFN.  Since `pushdecl'
-       now keys off of DECL_ASSEMBLER_NAME, we don't want to create
-       inadvertent aliases between builtin and library functions.
+2000-07-06  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * cplus-typeck.c (build_modify_expr): We don't need to build a
-       SAVE_EXPR for a WITH_CLEANUP_EXPR.
-       (unary_complex_lvalue): For good measure, know how to deal with a
-       WITH_CLEANUP_EXPR inside a SAVE_EXPR.
+       * cppinit.c: Include cppdefault.h.  Refer to
+       cpp_GCC_INCLUDE_DIR and cpp_GCC_INCLUDE_DIR_len, not directly
+       to GCC_INCLUDE_DIR and its length.
+       (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+       USER_LABEL_PREFIX, REGISTER_PREFIX, struct default_include,
+       STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT):  Move to
+       cppdefault.h.
+       (include_defaults_array): Move to cppdefault.c.
 
-       * cplus-pt.c (uses_template_parms): Add handler for ARRAY_TYPE.
+       * cppdefault.h: New file.
+       * cppdefault.c: New file.
 
-       * cplus-method.c (do_inline_function_hair): Use TYPE_METHODS instead
-       of CLASSTYPE_METHOD_VEC for traversing all methods when looking for
-       inline functions.
+       * Makefile.in (LIBCPP_OBJS): Add cppdefault.o.
+       (cppinit.o): Don't apply $(PREPROCESSOR_DEFINES) to this file.
+       (cppdefault.o): New rule; apply $(PREPROCESSOR_DEFINES) to
+       this file.
 
-       * cplus-class.c (finish_struct_methods): Fix fencepost error if
-       there were no member functions except for ctors/dtors.
+Thu Jul  6 18:30:36 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-Sun Jul 21 06:19:01 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+       * reload.c (push_reload): When seeing if can reuse a register,
+       check extra registers against widest of INMODE and OUTMODE.
 
-       * tree.h, output.h (current_function_calls_longjmp): New variable.
-       * function.c (top level): Define it.
-       (push_function_context): Save it.
-       (pop_function_context): Restore it.
-       (init_function_start): Initialize it.
+2000-07-06  Neil Booth  <NeilB@earthling.net>
 
-       * calls.c (expand_call): Set current_function_calls_longjmp if
-       this call is to `longjmp'.
+       * cpplib.c: (_cpp_parse_assertion):  Perform hash lookups
+       based on full length of predicate.
 
-       * flow.c, global-alloc.c: Include output.h so that
-       FRAME_POINTER_REQUIRED can use current_function_calls_*.
-       * Makefile.in (flow.o,global-alloc.o): Includes output.h.
+2000-07-06  Hans-Peter Nilsson  <hp@axis.com>
 
-       * rtl.h (FUNCTION_FLAGS_CALLS_LONGJMP): New macro.
+       * timevar.c: [HAVE_SYS_RESOURCE_H]: Include <sys/resource.h>.
+       [NEED_DECLARATION_GETRUSAGE]: Declare getrusage.
 
-       * integrate.c (initialize_for_inline): Record
-       current_function_calls_lonjmp in `function_flags'.
-       (output_inline_function): Set current_function_calls_longjmp if
-       the inline code calls longjmp.
+2000-07-05  Kazu Hirata  <kazu@hxi.com>
 
-       * function.h (struct function): New field `calls_longjmp'.
+       * h8300-proto.h: Fix formatting.
+       * h8300.c: Likewise.
+       * h8300.h: Likewise.
 
-       * out-i386.c (simple_386_epilogue):  Add function description.
-       Return 0 if NON_SAVING_SETJMP && `setjmp' is called in function.
+2000-07-05  Jim Wilson  <wilson@cygnus.com>
 
-       * tm-i386v.h (NON_SAVING_SETJMP): New macro.
-       (FRAME_POINTER_REQUIRED): New macro.
+       * config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow
+       CCmode.
 
-Sat Jul 20 12:25:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+2000-07-05  Rodney Brown  <RodneyBrown@pmsc.com>
 
-       * tm-m88k.h (OPTIMIZATION_OPTIONS): Don't change flag_signed_bitfields.
+       * invoke.texi: Fix minor typos
+       * md.texi: Fix minor typos
 
-       * cccp.c (include_defaults) Use LOCAL_INCLUDE_DIR macro instead
-       of "/usr/local/include".  Provide default definition.
+2000-07-05  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * cccp.c (include_defaults) Added INCLUDE_DEFAULTS macro to
-       provide complete control over default include directories.
-       Delete the special case for VMS.
-       * xm-vms.h (INCLUDE_DEFAULTS): Defined.
+       * cpplib.c (_cpp_parse_assertion): Fix buffer overrun.
 
-       * proto-man: Renamed from proto-unproto.1.
+2000-07-04  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * final.c (final_scan_insn): Do ASM_OUTPUT_LOOP_ALIGN only for real loop.
+       * cpplex.c: Don't include sys/mman.h.
+       (cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c.
 
-Sat Jul 20 05:34:13 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+       * cpplib.c: Include sys/mman.h and obstack.h.
+       (cpp_push_buffer): Moved from cpplex.c; allocate buffers on an
+       obstack.
+       (cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack.
+       (_cpp_unwind_if_stack): Now static, unwind_if_stack.  Don't
+       bother freeing if stack entries (they will be freed with their buffer).
+       (do_endif): Free if stack entries from the buffer obstack.
+       (push_conditional): Allocate if stack entries from the buffer obstack.
 
-       * tree.h (tree_type): Use the MAXVAL slot for TYPE_METHODS.
-       * cplus-class.c (finish_struct): Methods are now chained with
-       TREE_CHAIN and placed in the TYPE_METHODS of their _TYPE node.
-       * cplus-dbxout.c (dbxout_type_methods): Use this fact, instead of
-       using more C++-specific knowledge.
+       (find_answer): Rename to _cpp_find_answer.
+       (do_assert, do_unassert): Update.
 
-       * cplus-decl.c (init_decl_processing): Variable
-       `const_ptr_type_node' was not being initialized.  Same with
-       `const_string_type_node'.
+       * cpphash.h: Update prototypes.
+       (xobnew): New convenience macro.
+       * cpplib.h (struct cpp_reader): Add hash_ob and buffer_ob fields.
+       Update comments.
+       (struct cpp_hashnode): Remove disabled field.
 
-       * tree.h (DECL_PRINT_NAME): Marked for death.
-       (DECL_ASSEMBLER_NAME): Changed from a char* to a tree node.
-       All front-end files changed as necessary.
+       * cppinit.c: Don't include hashtab.h or splay-tree.h.
+       (report_missing_guard): Moved to cppfiles.c.
+       (cpp_reader_init): Call cpp_init_stacks, cpp_init_macros,
+       cpp_init_includes.
+       (cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros,
+       cpp_cleanup_includes.  Don't destroy hashtab or
+       all_include_files here.
+       (cpp_finish): Use _cpp_report_missing_guards.
 
-       * cplus-tree.h (DECL_ORIGINAL_NAME): Deleted.  Now we use
-       DECL_NAME.
-       (DECL_NAME): No longer means the mangled name.  Now we use
-       DECL_ASSEMBLER_NAME for that purpose.
-       All cplus-* files changed as necessary.
+       * cppfiles.c (report_missing_guard): Moved from cppinit.c.
+       (_cpp_init_include_table): Rename _cpp_init_includes.
+       (_cpp_cleanup_includes, _cpp_report_missing_guards): New.
+
+       * cppexp.c (parse_assertion): Update for new name of
+       find_answer.
+
+       * Makefile.in (cpplib.o, cpphash.o, cppinit.o): Update deps.
+
+2000-07-04  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplib.c (do_ident): s/VSPACE/EOF/
+
+2000-07-05  Neil Booth  <NeilB@earthling.net>
+
+       * cpplex.c: Fix trigraph replacement within strings.
+
+2000-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * rs6000/aix.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier.
+
+       * xcoffout.c (assign_type_number): Constify.
+       (xcoffout_source_file): Add static prototype.  Don't needlessly
+       cast away const-ness.
+
+2000-07-04  Jason Merrill  <jason@redhat.com>
+
+       * frame.h (frame_state): Move base_offset to end.
+
+Mon Jul  3 21:31:43 2000  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * calls.c (emit_library_call_value_1): Revert previous change.
+
+2000-07-03  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * fix-header.c (struct partial_proto): Remove unnecessary fields.
+       (recognized_extern, recognized_function, read_scan_file):
+       Update for new scheme.
+       (check_protection): It's still a multiple include guard even
+       if it doesn't always trigger.
+       * scan-decls.c (skip_to_closing_brace, scan_decls): Update for
+       new scheme.
+       * scan.h: Declare struct cpp_token.  Update prototypes.
+
+2000-07-03  Neil Booth  <neilb@earthling.net>
+           Zack Weinberg  <zack@wolery.cumb.org>
+
+       Complete overhaul of the lexer and macro expander.
+
+       * cpphash.c (object_defn, funct_defn, push_macro_expansion,
+       arg, arglist, argdata, reflist, collect_objlike_expansion,
+       collect_funlike_expansion, collect_params,
+       warn_trad_stringify, trad_stringify, duplicate_arg_p, add_pat,
+       unsafe_chars, macarg, compare_defs, special_symbol,
+       scan_arguments, stringify, funlike_macroexpand,
+       _cpp_quote_string, monthnames): Delete.
+       (cpp_lookup, _cpp_free_definition, dump_funlike_macro,
+       _cpp_create_definition, _cpp_dump_definition,
+       dump_hash_helper): Adjust.
+       (find_param, count_params, parse_define, var_args_str,
+       check_macro_redefinition, save_expansion): New.
+
+       * cpplex.c (skip_block_comment, skip_line_comment, parse_name,
+       parse_string, output_line_command, trigraph_replace,
+       lex_line, cpp_push_buffer, cpp_pop_buffer, cpp_output_tokens,
+       cpp_scan_buffer_nooutput, cpp_scan_buffer, cpp_free_toklist,
+       cpp_idcmp, _cpp_get_directive_token, _cpp_init_input_buffer,
+       _cpp_skip_rest_of_line): Modify.
+
+       (maybe_macroexpand, skip_comment, copy_comment, skip_string,
+       find_position, null_warning, bump_column, expand_name_space,
+       pedantic_whitespace, _cpp_output_list, _cpp_slice_toklist,
+       _cpp_squeeze_toklist, _cpp_scan_until, _cpp_skip_hspace,
+       _cpp_parse_name, _cpp_lex_token, cpp_get_non_space_token,
+       _cpp_prescan): Delete.
+
+       (dump_param_spelling, process_directive, lex_next,
+       is_macro_disabled, stringify_arg, expand_context_stack,
+       output_token, make_string_token, alloc_number_token,
+       special_symbol, duplicate_token, maybe_paste_with_next,
+       can_paste, prevent_macro_expansion, restore_macro_expansion,
+       get_temp_token, release_temp_tokens, quote_string,
+       token_names, token_spellings, _cpp_expand_name_space,
+       _cpp_glue_header_name, _cpp_reserve_name_space,
+       digraph_spellings, trigraph_ok, skip_whitespace, save_comment,
+       placemarker_token, eof_token, cpp_context, macro_args,
+       get_raw_token, parse_arg, parse_args, save_token,
+       push_arg_context, push_macro_context, pop_context,
+       do_pop_context, free_macro_args, _cpp_get_line,
+       _cpp_run_directive): New.
+
+       * cpplib.c (validate_else, parse_include, push_conditional,
+       pass_thru_directive, read_line_number, parse_ifdef,
+       detect_if_not_defined, _cpp_check_directive, do_define,
+       do_undef, do_include, do_import, do_include_next, do_error,
+       do_warning, do_ident, do_pragma, pragma_dispatch, gcc_pragmas,
+       top_pragmas, do_pragma_gcc, do_pragma_implementation,
+       do_pragma_poison, do_pragma_system_header,
+       do_pragma_dependency, do_sccs, do_ifdef, do_ifndef, do_else,
+       dl_elif, do_endif, _cpp_unwind_if_stack, do_assert,
+       do_unassert, cpp_define, cpp_undef, cpp_assert, cpp_unassert,
+       cpp_defined): Update for new scheme.
+       (strtoul_for_line, get_define_node, dump_macro_name,
+       _cpp_check_linemarker, _cpp_parse_assertion): New.
+       (_cpp_handle_directive, do_pragma_default): Delete.
+
+       * cpphash.h (struct predicate): Now struct answer.
+       (enum spell_type, struct token_spelling, struct directive,
+       directive_handler): New.
+       Update prototypes.  Remove unused macros.
+       * cpplib.h: Update prototypes.  Remove unused macros,
+       structure definitions, and fields.
+
+       * cpperror.c (print_containing_files, v_message): Adjust.
+       * cppexp.c (parse_assertion, lex, parse_escape,
+       _cpp_parse_expr): Adjust.
+       * cppfiles.c (open_include_file, _cpp_execute_include,
+       _cpp_compare_file_date, cpp_read_file, read_include_file):
+       Adjust.
+       * cppinit.c (dump_special_to_buffer): Delete.
+       (append_include_chain, merge_include_chains, cpp_reader_init,
+       cpp_cleanup, initialize_builtins, builtin_array, cpp_start_read,
+       cpp_finish, handle_option, print_help): Adjust.
+       * cppmain.c (main): Adjust.
+
+2000-07-03  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cppspec.c (lang_specific_driver): Use double quotes in error
+       message.
 
-       * cplus-tree.c (lang_printable_name): Use a ring-buffer to hold
-       printable names instead of DECL_PRINT_NAME slot of a _DECL node.
+Mon Jul  3 16:53:43 2000  Clinton Popetz  <cpopetz@cygnus.com>
 
-       * collect2.c: #define COLLECT, and let config.h provide definition
-       of macros.
+       * calls.c (emit_library_call_value_1): Use valreg instead
+       of hard_libcall_value.
 
-See file ChangeLog.3.
+2000-07-03  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_move): New function.
+       * config/rs6000/rs6000-proto.h: Prototype rs6000_emit_move.
+       * config/rs6000/rs6000.md (movsi): Use rs6000_emit_move.
+       (movhi): Likewise.
+       (movqi): Likewise.
+       (movdf): Likewise.
+       (movsf): Likewise.
+       (movdi): Likewise.
+       (movti): Likewise.
+
+       * expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when
+       mode instead of wider_mode is being used.
+
+2000-07-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead
+       of 'r'. Use q_regs_operand.
+       (andsi_1+2): Use q_regs_operand.
+
+2000-07-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtins.c (get_memory_rtx): Always put into alias set 0.
+
+2000-07-03  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.md: Fix post increment and pre increment
+       peepholes so that they do not generate UNPREDICATBLE opcodes.
+       (ie ones where the increment clobbers the source/destination).
+
+2000-07-01  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+       * config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer
+       change too big for -mtiny-stack" a warning, if larger than 63.
+       (out_set_stack_ptr): Change the logic so -mno-interrupts is
+       always safe to use on possible future devices.
+       (function_prologue): Write SPH before SPL, for consistency.
+       If interrupt_func_p true, we know we have enabled interrupts.
+       (avr_num_arg_regs): New function.  Round up to even number of
+       bytes if no -mpack-args or if calling a libgcc function.
+       (function_arg, function_arg_advance): Use it.
+       (output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out):
+       Output "movw" if available.
+       (out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses
+       of TEST_HARD_REG_CLASS macro to test_hard_reg_class function.
+       (asm_output_section_name): Add blanks for consistent output.
+       (encode_section_info): Set TREE_READONLY for progmem data to
+       avoid gas warnings about changed section attributes.
+       (avr_hard_regno_mode_ok): Force non-QImode data to start in
+       even numbered registers on devices with "movw".
+       * config/avr/avr.h (MASK_*): Define bits for target_flags.
+       (TARGET_SWITCHES): Mark help strings for translation.
+       Add new -mpack-args and -menhanced switches.
+       (TARGET_OPTIONS): Mark help strings for translation.
+       (progmem_section): Add section attributes.
+       * config/avr/avr.md (*movhi, call_insn, call_value_insn):
+       Output "movw" if available.
+       (mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh):
+       New patterns.
+       * config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new
+       call convention (arguments aligned on even registers).
+       (_cleanup, _exit): Make weak symbols libc can override.
+
+2000-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fp-bit.h: New file.
+
+       * fp-bit.c: Move common code, prototypes, etc into fp-bit.h.
+       Comment #endif statements.
+       (__thenan_sf, __thenan_df): Add missing braces around initializer.
+
+Mon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * gcse.c (compute_pre_data): Compute ae_kill using other local
+       properties instead of calling compute_ae_kill.
+
+       * alias.c (init_alias_analysis): Do not call
+       prologue_epilogue_contains until after reload has completed.
+
+2000-07-02  Benjamin Chelf  <chelf@codesourcery.com>
+
+       * c-common.h (genrtl_begin_compound_stmt): Remove declaration.
+       (genrtl_finish_compound_stmt): Likewise.
+       (genrtl_compound_stmt): Change to return void.
+
+       * c-semantics.c (genrtl_begin_compound_stmt): Remove function and
+       move code from here to ...
+       (genrtl_compound_stmt): ... here.
+       (genrtl_finish_compound_stmt): Remove.
+       (expand_stmt): Add comment.
+
+2000-07-02  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * c-typeck.c (build_indirect_ref): Use COMPLETE_OR_VOID_TYPE_P
+       and VOID_TYPE_P.
+
+2000-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * cpplib.h (struct cpp_reader): New field include_depth.
+       (struct cpp_printer): Rename last_bsd to last_id.
+       * cppfiles.c (read_include_file): Bump include_depth.
+       * cpplex.c (cpp_pop_buffer): Decrement include_depth.
+       (output_line_command): Output correct #line if a header
+       is including itself and is not protected against multiple inclusion.
+       Use include_depth instead of buffer_stack_depth, last_id instead of
+       last_bsd.
+       * cppinit.c (cpp_start_read): Initialize last_id instead of
+       last_bsd.
+
+2000-07-01  Benjamin Chelf  <chelf@codesourcery.com>
+
+       * Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o.
+       (c-semantics.o): New target.
+
+       * c-common.h (TREE_LANG_FLAG_?): Added documentation.
+       (genrtl_do_pushlevel): Moved from cp/cp-tree.h.
+       (genrtl_clear_out_block): Likewise.
+       (genrtl_goto_stmt): Likewise.
+       (genrtl_expr_stmt): Likewise.
+       (genrtl_decl_stmt): Likewise.
+       (genrtl_if_stmt): Likewise.
+       (genrtl_while_stmt): Likewise.
+       (genrtl_do_stmt): Likewise.
+       (genrtl_return_stmt): Likewise.
+       (genrtl_for_stmt): Likewise.
+       (genrtl_break_stmt): Likewise.
+       (genrtl_continue_stmt): Likewise.
+       (genrtl_scope_stmt): Likewise.
+       (genrtl_switch_stmt): Likewise.
+       (genrtl_case_label): Likewise.
+       (genrtl_begin_compound_stmt): Likewise.
+       (gerntl_finish_compound_stmt): Likewise.
+       (genrtl_compound_stmt): Likewise.
+       (genrtl_asm_stmt): Likewise.
+       (genrtl_decl_cleanup): Likewise.
+       (DECL_ANON_UNION_ELEMS): Likewise.
+       (emit_local_var): Likewise.
+       (make_rtl_for_local_static): Likewise.
+       (expand_cond): Likewise.
+       (expand_stmt): Likewise.
+       (c_expand_return): Likewise.
+       (c_expand_start_case): Likewise.
+       (do_case): Likewise.
+       (COMPOUND_STMT_NO_SCOPE): Likewise.
+       (c_expand_asm_operands): Likewise.
+       (NEW_FOR_SCOPE_P): New macro.
+       (expand_expr_stmt_fn): New type.
+
+       (set_current_function_name_declared): Likewise.
+       (current_function_name_declared): Likewise.
+       (lang_expand_stmt): Likewise.
+       (stmts_are_full_exprs_p): Likewise.
+       (anon_aggr_type_p): Likewise.
+       (lang_expand_expr_stmt): Likewise.
+       (build_case_label): Likewise.
+
+       * c-decl.c (lang_expand_expr_stmt): Initialize.
+       (stmts_are_full_exprs_p): Define.
+       (current_function_name_declared): Likewise.
+       (do_case): Likewise.
+       (lang_expand_stmt): Likewise.
+       (set_current_function_name_declared): Likewise.
+       (anon_aggr_type_p): Likewise.
+
+       * c-semantics.c: New file.
+       (expand_cond): Moved from cp/semantics.c.
+       (genrtl_do_pushlevel): Likewise.
+       (genrtl_clear_out_block): Likewise.
+       (genrtl_goto_stmt): Likewise.
+       (genrtl_expr_stmt): Likewise.
+       (genrtl_decl_stmt): Likewise.
+       (genrtl_if_stmt): Likewise.
+       (genrtl_while_stmt): Likewise.
+       (genrtl_do_stmt): Likewise.
+       (genrtl_return_stmt): Likewise.
+       (genrtl_for_stmt): Likewise.
+       (genrtl_break_stmt): Likewise.
+       (genrtl_continue_stmt): Likewise.
+       (genrtl_scope_stmt): Likewise.
+       (genrtl_switch_stmt): Likewise.
+       (genrtl_case_label): Likewise.
+       (genrtl_begin_compound_stmt): Likewise.
+       (genrtl_finish_compound_stmt): Likewise.
+       (genrtl_compound_stmt): Likewise.
+       (genrtl_asm_stmt): Likewise.
+       (genrtl_decl_cleanup): Likewise.
+       (make_rtl_for_local_static): Moved from cp/decl.c.
+       (emit_local_var): Likewise.
+       (expand_stmt): Define.
+
+       * c-tree.h: (c_expand_asm_operands): Moved to c-common.h.
+       (c_expand_return): Likewise.
+       (c_expand_start_case): Likewise.
+
+2000-07-01  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64.c (symbolic_operand): Reject CONST expressions
+       with the low 13 bits set.
+       (move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly.
+       * config/ia64/ia64.md (movdi): Likewise.  Expand a CONST with one
+       of the low 13 bits into a CONST plus an adddi3.
+       (load_symptr): Set RTX_UNCHANGING_P.
+
+See ChangeLog.3 for earlier changes.