OSDN Git Service

2004-07-04 Matthias Klose <doko@debian.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog.2
index a5e092c..39b4f3a 100644 (file)
-Thu Jan 31 00:33:33 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+Fri Dec 31 19:10:31 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * loop.c (scan_loop): Check each libcall for regs it uses
-       but does not mention in the equivalent value.
-       To move the libcall, we must have at most one such reg
-       and it must be moved as well.
-       (libcall_other_reg): New subroutine.
-       * rtlanal.c (record_excess_regs): New function.
+       * function.c (update_temp_slot_address): Handle case where sum of
+       temporary address plus offset in register is a valid address.
 
-       * tree.c (gcc_obstack_init): New function.
-       (init_obstacks, save_tree_context): Use that.
-       (OBSTACK_CHUNK_SIZE): New parameter.
-       * xm-next.h: New file.
-       * configure (m68k/next): Use that file.
+1999-12-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
 
-       * flags.h (flag_no_common): Declare new flag to treat external defs
-       as ANSI specifies (i.e. not as common).
-       * toplev.c (flag_no_common, f_options): Support -fno-common.
-       * varasm.c (assemble_variable): Don't output a common if
-       flag_no_common is set.  Treat as if initialized to 0.
+       * genrecog.c (change_state) Corrected typo.
 
-       * gcc.c (default_compilers): Define __ASSEMBLER__ for .S file.
+1999-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * tm-aix386.h (ASM_OUTPUT_LOCAL): Ok to use bss, since no shared libs.
-       (LINK_SPEC): Pass through all -K and -T options.
-       * xm-aix386.h (TRUE, FALSE): Undef if already def, to avoid warning.
+       * system.h (bcopy, bcmp, bzero, index, rindex, atof, atol, free,
+       getcwd, getenv, getwd, sbrk, strstr, malloc, calloc, realloc,
+       strerror, getrlimit, setrlimit, abort): Add prototype arguments.
 
-       * tm-m68k.h (TARGET_68040, TARGET_68040_ONLY): New machine flags.
-       (TARGET_SWITCHES): Alternatives to set them.
-       * tm-next.h (TARGET_DEFAULT): Changed to 0407 for 68040.
+1999-12-30  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * out-m68k.h (standard_68881_constant_p):  Always return 0
-       for TARGET_68040 since fmovecr is no longer implemented in hardware.
+       * i386.c (ix86_expand_fp_compare): In non-sahf non-TARGET_IEEE
+       case, expand GT comparisons correctly.  Fix a comment before this
+       part of the code.
 
-       * m68k.md (ftruncdf2, ftruncsf2): Don't emit fintrz for
-       TARGET_68040, since it is no longer implemented in hardware.
-       (muldf3): Don't use fscale on 68040, since not implemented in hardware.
+1999-12-30  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
 
-       * toplev.c (optimize): Now stores specified optimization level.
-       (main): Keep the largest optimization level specified.
-       Handle any integer.
+       * dwarfout.c: Include "frame.h"
+       * dwarf2out.c: Likewise.
+       * Makefile.in (dwarfout.o): Depend on frame.h
+       (dwarf2out.o): Likewise.
 
-       * c-decl.c (pushdecl): Don't make an extern global for -traditional
-       if it uses any local types.
+1999-12-29  "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>
 
-       * tm-sun386i.h (PCC_BITFFIELD_TYPE_MATTERS): Use 1 as value.
+       Restore i386 binary compatibility in Dwarf EH info.
+       * config/i386/i386.h (DWARF_FRAME_REGISTERS): Define as 17, the old
+       value of FIRST_PSEUDO_REGISTER.
+       * frame.h (DWARF_FRAME_REGISTERS): Default to FIRST_PSEUDO_REGISTER.
+       (struct frame_state): Use DWARF_FRAME_REGISTERS.
+       * dwarfout.c (output_reg_number): Ditto.
+       * dwarf2out.c (reg_number, expand_builtin_init_dwarf_reg_sizes): Ditto.
+       (DWARF_FRAME_RETURN_COLUMN): Default to DWARF_FRAME_REGISTERS.
 
-Wed Jan 30 12:41:15 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+1999-12-29  Bruce Korb  <autogen@linuxbox.com>
 
-       * fixincludes (sys/systypes.h): Edit this to handle _SIZE_T, etc.
+       * fixinc/fixincl.c(wait_for_pid): sometimes a WSTOPSIG of zero is OK
+       * fixinc/fixincl.tpl(<hack>TEST_CT): Just do the existence test once
+       (<hack>_RE_CT): not needed
+       * fixinc/fixlib.c(is_cxx_header): moved from fixtests.c
+       rewritten to scan the file text once only
+       "template<..." test added
+       * fixinc/fixlib.h(apply_fix_p_t): moved from fixtests.c
+       (is_cxx_header): declaration added
+       * fixinc/fixtests.c(is_cxx_header): removed
+       (apply_fix_p_t): removed
+       (double_slash_test): is_cxx_header is only called once now
+       * fixinc/hackshell.tpl: indexing the fixes is now done under DEBUG
+       * fixinc/inclhack.def(FIXINC_DEBUG): added for testing DEBUG state
+       within the templates.
+       The borken spelling of "broken" was fixed.
+       * fixinc/inclhack.tpl: The $VERBOSE level is used on various messages
+       The default level depends on FIXINC_DEBUG.
 
-       * function.c (put_var_into_stack): Allocate var ref chain link
-       while in the proper function's obstack.
+1999-12-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * fold-const.c (const_binop): Don't crash for real/0 if have infinity.
+       * crtstuff.c: If !inhibit_libc, include stdlib.h/unistd.h.
+       Otherwise provide a declaration for atexit.
+       (init_dummy): Make sure dummy call to atexit is nevertheless
+       called with correct number of args.
 
-       * flow.c (mark_set_1): Don't make log link for hard reg in asm insn.
+       * frame.c: Update comments referring to other files.
 
-Wed Jan 30 07:45:33 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * libgcc2.c: Likewise.
 
-       * sched.c (schedule_block): Indicate what insns constitute each
-       basic block.
+1999-12-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Tue Jan 29 12:35:42 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * cse.c (free_element, get_element): Remove unused prototypes.
 
-       * Makefile.in (gnulib1.*, gnulib2.*): Declare them phony targets.
+       * fold-const.c (extract_muldiv): Initialize variables `op0' and
+       `op1'.
 
-       * print-tree.c (print_node): Print message if TREE_PERMANENT is wrong.
-       * tree.c (object_permanent_p): New function.
+       * jump.c (invert_exp): Add explicit braces to avoid ambiguous
+       `else' clauses.
 
-       * print-tree.c (print_node): Remove DECL_LANG_FLAG_10.
+Wed Dec 29 12:44:54 1999  Donald Lindsay  <dlindsay@cygnus.com>
 
-Tue Jan 29 10:07:48 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * configure.in,configure: case arm for mn10200-*-* now sets
+       float_format=i32 so that float.h will correctly claim "double"
+       to be 32 bits. Ran autoconf to generate configure from .in file.
 
-       * m88k.md (minus/xor/and, neg/ne/compare/and): Delete these.  This
-       should be done by combine.
-       (compare operator): Eliminate except when a SET_SRC.
-       * tm-m88k.h (OPTIMIZATION_OPTIONS): -fomit-frame-pointer is a
-       default optimization.
+Wed Dec 29 10:53:21 1999  Jeffrey A Law  (law@cygnus.com)
 
-Mon Jan 28 12:52:11 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * pa.md (conditional zero): If op1 is a register, force it into
+       the same register as op0.
 
-       * tree.h (DECL_VIRTUAL_P): Renamed from TREE_VIRTUAL.
-       (struct tree_common): Eliminate virtual_flag.
-       (struct tree_decl): Add virtual_flag.
+1999-12-28  Mark Mitchell  <mark@codesourcery.com>
 
-       * Makefile.in (enquire.o): Pass -DNO_STDDEF.
+       * tree.h (BINFO_BASETYPES): Improve documentation.
 
-       * m68k.md (tablejump): Now have a define_expand that does
-       different things depending on CASE_VECTOR_PC_RELATIVE,
-       and a separate define_insn for each case.
+1999-12-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * function.h (outer_function_chain): Declare the variable.
+       * configure.in (--enable-checking): Use a more portable `for'
+       loop syntax.
 
-       * tree.c (debug_obstack): Fix typos.
-       * tree.h (struct tree_common): Fix typo.
+1999-12-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile.in (GNULIB1_TARGET, GNULIB2_TARGET): Variables deleted.
-       (gnulib): Depend on gnulib1.target and gnulib2.target explicitly.
+       * configure.in (AC_DECL_SYS_SIGLIST, xm-siglist.h,
+       arm/xm-netbsd.h, NO_SYS_SIGLIST): Don't use.
 
-       * dbxout.c (dbxout_type): Use DECL_VIRTUAL_P, not TREE_VIRTUAL.
+       * xm-siglist.h, arm/xm-netbsd.h, mips/xm-news.h, mips/xm-sysv4.h:
+       Delete files.
 
-       * cplus-tree.h (TREE_PRIVATE, TREE_PROTECTED): #if 0.
+       * gcc.texi (NO_SYS_SIGLIST, sys_siglist, SYS_SIGLIST_DECLARED):
+       Delete descriptions.
 
-       * cexp.y (keywords): Cast names for parens to U_CHAR *.
+       * i386/osf1elf.h, i386/xm-cygwin.h, i386/xm-mingw32.h, m68k/3b1.h,
+       m68k/a-ux.h, m68k/dpx2.h, m68k/plexus.h, m68k/xm-hp320.h,
+       m88k/xm-m88k.h, mips/x-sni-svr4, pa/xm-pa.h, pa/xm-pahpux.h,
+       pa/xm-papro.h, we32k/xm-we32k.h, winnt/xm-winnt.h, xm-interix.h,
+       xm-svr4.h: Remove all instances of sys_siglist handling.
 
-       * gcc.c (process_command): Fix typo setting switches[n_switches].arg.
+1999-12-27  Jakub Jelinek  <jakub@redhat.com>
 
-       * loop.c (loop_reg_used_before_p): Check insns before INSN, not after.
+       * config/sparc/sparc.md (cmp_zero_qi,
+       cmp_zero_extendqisi2_andcc_set, cmp_zero_qi_sp64,
+       cmp_zero_extendqidi2_andcc_set): New patterns.
 
-       * objc-actions.c (objc_finish): Renamed from lang_finish.
-       * objc-parse.y (program): Call objc_finish at the end.
+1999-12-28  Manfred Hollstein  <mhollstein@cygnus.com>
 
-       * Changes from Matthew Self (mself@next.com):
+       * m68k/t-mot3300-gald (CROSS_LIBGCC1): Define to libgcc1-asm.a.
+       (LIB1ASMSRC, LIB1ASMFUNCS, LIB2FUNCS_EXTRA): Define.
+       (fpgnulib.c, xfgnulib.c): Add rules.
+       * m68k/t-mot3300-gas: Likewise.
 
-       * objc-parse.y:  Since objc-parse.y was so out of date with
-       respect to c-parse.y, I started over with c-parse.y and
-       reintegrated the Objective-C modifications.  Now that
-       Objective-C is working I hope that objc-parse.y will be kept
-       more up to date....  I did not re-integrate the lexer since I
-       don't have gperf working.  I simply cut and pasted what
-       Stallman had in objc-parse.y.  Someone with access to gperf
-       should re-generate this stuff.
+1999-12-27  Ian Lance Taylor  <ian@zembu.com>
 
-       * objc-actions.c (comp_method_with_proto,
-       comp_proto_with_proto):  Stallman's change to use the
-       functions end_temporary_allocation and
-       resume_temporary_allocation is incorrect, since it always
-       leaves allocation temporary, whether it was before or not. 
+       * configure.in: Avoid [[ by using test and changequote.  Add
+       changequote required by 1999-12-14 change.
+       * configure: Rebuild.
 
-       Perhaps the push and pop functions would do the trick....
+1999-12-27  Clinton Popetz  <cpopetz@cygnus.com>
 
-       * objc-actions.c (get_arg_type_list):  Use new function
-       groktypename_in_parm_context.
+       * config/mips/mips.h: Fix typo from 12/17/99 libgcc2 fix.
 
-       * objc-actions.c (_OBJC_SELECTOR_REFERENCES_decl,
-       _OBJC_SELECTOR_REFERENCES_id):  Removed.
+1999-12-27  Christophe Jaillet  <jaillet.christophe@caramail.com>
 
-       * objc-actions.c (synth_module_prologue):  Eliminated code to
-       forward declare the selector references array.
+       * alias.c (nonlocal_reference_p): Add else for disjoint ifs.
+       * flow.c (find_use_as_address): Likewise.
+       * function.c (fixup_var_refs_1): Likewise.
+       (walk_fixup_memory_subreg, fixup_stack_1): Likewise.
+       * jump.c (invert_exp, redirect_exp): Likewise.
+       * loop.c (replace_call_address): Likewise.
+       (count_nonfixed_reads): Likewise.
+       * rtlanal.c (modified_between_p): Likewise.
+       (modified_in_p, volatile_insn_p, volatile_refs_p): Likewise.
+       (side_effects_p, replace_regs, jmp_uses_reg_or_mem): Likewise.
+       * unroll.c (remap_split_bivs): Likewise.
 
-       * objc-actions.c (init_objc_symtab):  Eliminated code to
-       initialize "refs" field in objc_symtab structure (which is
-       now vestigial).
+1999-12-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * objc-actions.c (build_selector_translation_table): Rewrote.
+       * diagnostic.c (v_message_with_decl): Use .* format specifier
+       instead of building the format specifier width manually.
 
-       * objc-actions.c (build_selector_reference):  New routine.
+       * system.h (strsignal): Don't check HAVE_STRSIGNAL when
+       determining whether to provide a prototype.  Remove the
+       sys_siglist clause in the conditional.
 
-       * objc-actions.c (build_message_expr, build_selector_expr):
-       Use new routine.
+1999-12-23  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
 
-       * config/tm-next.h (GO_IF_INDEXABLE_BASE):  Don't use pc
-       relative addressing for LABEL_REF's.  Since branch tables are
-       in the const section, we treat LABEL_REF's like SYMBOL_REF's
-       here.  Otherwise invalid addresses were being generated.
+       * fold-const.c (operand_equal_p): Use memcmp to compare string
+       constants.
+       Suggested by D. J. Bernstein
 
-       * config/tm-next.h (CASE_VECTOR_PC_RELATIVE, CASE_VECTOR_MODE):
-       Use absolute branch tables rather than relative ones.
+1999-12-17  Jakub Jelinek  <jakub@redhat.com>
 
-       * config/tm-next.h (ASM_OUTPUT_MAIN_SOURCE_FILE_END):  Output
-       an N_SO symbol with no name to mark the end of the module.
-       This is needed to support scattered loading on the NeXT.
+       * config/h8300/h8300.h (TARGET_H8300H, TARGET_H8300S): Make sure
+       UNITS_PER_WORD and BITS_PER_WORD are compile time constants when
+       compiling libgcc2.
+       * config/mips/mips.h (TARGET_64BIT): Likewise.
+       * config/rs6000/rs6000.h (TARGET_POWERPC64): Likewise.
+       * libgcc2.c: Use {,U}{HW,W,DW}type and DWunion everywhere instead
+       of {SI,DI}type and DIunion.  Define these types to QI/HI modes on
+       dsps.  Give routines proper names if SI/DI modes are not used.
+       * longlong.h: Use DWunion instead of DIunion.
 
-       * config/out-next.c (handle_pragma):  Call to xrealloc had wrong args.
+1999-12-26  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * configure: Entry for NeXT must set out_file to out-next.c.
+       * acconfig.h: New ENABLE flags: TREE_CHECKING, RTL_CHECKING,
+       GC_CHECKING, GC_ALWAYS_COLLECT.
+       * configure.in: Allow --enable-checking with an argument
+       listing check modes to enable.
+       * config.in, configure: Rebuilt.
+       * ggc-page.c, ggc-simple.c: Define GGC_POISON (and
+       GGC_ALWAYS_VERIFY for ggc-simple.c) only if
+       ENABLE_GC_CHECKING.  Define GGC_ALWAYS_COLLECT only if
+       ENABLE_GC_ALWAYS_COLLECT.
+       * rtl.h, rtl.c: Change ENABLE_CHECKING to ENABLE_RTL_CHECKING
+       throughout.
+       * tree.h, tree.c: Change ENABLE_CHECKING to
+       ENABLE_TREE_CHECKING throughout.
 
-       * config/out-next.c:  Typo: "flags" -> "flags.h"
+Sun Dec 26 07:48:20 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * config/tm-next.h (LIB_SPEC):  Brought up-to-date.  There
-       are probably more changes needed here.
+       * fold-const.c (fold_truthop): Properly check for FP RHS.
 
-       * c-decl.c (pushdecl_top_level):  New function.  This was
-       copied from an older version of g++.
+1999-12-24  Mark Mitchell  <mark@codesourcery.com>
 
-       * c-decl.c (init_decl_processing): Make alloca first arg sizetype.
+       * toplev.h (note_deferall_of_defined_inline_function): Declare.
+       * toplev.c (note_deferral_of_defined_inline_function): New
+       function, split out from ...
+       (rest_of_compilation): ... here.  Use it.
 
-       * c-decl.c (groktypename_in_parm_context): New function.
+Fri Dec 24 12:34:26 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-Mon Jan 28 07:07:01 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * expr.c (store_constructor): Don't call clear_storage if size is
+       variable.
 
-       * loop.c (loop_reg_used_before_p): Don't use INSN_LUID since INSN
-       might have been made by loop.c for an outer loop.
+1999-12-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * loop.c (move_movables, strength_reduce): Replace register references
-       in REG_NOTES as well as PATTERN.
+       * Makefile.in (toplev.o): Depend on loop.h.
 
-       * loop.c (strength_reduce): Call maybe_eliminate_biv twice, not 
-       three times.
-       (maybe_eliminate_biv): Don't abort if elimination fails even though
-       we thought it wouldn't.  This can happen if certain insn patterns 
-       aren't valid.
-       (maybe_eliminate_biv_1): Ensure that we do not change the insn at
-       all if all the required changes can't be done.
+       * dwarfout.c: Include tm_p.h.
 
-Sun Jan 27 21:26:29 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * emit-rtl.c (restore_emit_status): Mark parameter with
+       ATTRIBUTE_UNUSED.
 
-       * Makefile.in: Rename config-dir back to config.
+       * final.c (final_scan_insn): Likewise.
 
-Sat Jan 26 17:48:22 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * flow.c (flow_nodes_print, flow_exits_print, flow_loops_cfg_dump,
+       flow_loop_nested_p, flow_loop_exits_find, flow_loop_nodes_find,
+       flow_depth_first_order_compute, flow_loop_pre_header_find,
+       flow_loop_tree_node_add, flow_loops_tree_build,
+       flow_loop_level_compute, flow_loops_level_compute,
+       flow_loop_outside_edge_p): Add prototypes.
+       (recompute_reg_usage): Mark parameters with ATTRIBUTE_UNUSED.
 
-       * objc-parse.y (program): Call objc_finish.
-       * objc-actions.c (objc_finish): Renamed from lang_finish.
+       * ggc-callbacks.c (lang_mark_tree, lang_mark_false_label_stack):
+       Mark with ATTRIBUTE_NORETURN.
 
-       * objc-actions.c, objc-parse.y: New version from NeXT.
+       * hash.c (hash_newfunc): Mark parameter with ATTRIBUTE_UNUSED.
 
-Sat Jan 26 17:37:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * local-alloc.c (no_conflict_p): Likewise.
 
-       * expr.c (expand_expr, case COND_EXPR): Disable special-case of
-       A ? B : C when B and C are simple.  This is now done better by jump.
+       * loop.c (insert_bct): Hide definitions of variables with hidden
+       usage.
+       (note_reg_stored): Mark parameter with ATTRIBUTE_UNUSED.
 
-Sat Jan 26 13:16:58 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * regclass.c (memory_move_secondary_cost): Mark variable `mem'
+       with ATTRIBUTE_UNUSED.
+       (record_reg_classes): Mark parameter with ATTRIBUTE_UNUSED.
+       (reg_scan): Likewise.
 
-       * tree.h (TREE_PRIVATE, TREE_PROTECTED, TREE_VIRTUAL): New macros.
-       (struct tree_common): New flag fields.
-       * dbxout.c (dbxout_type): Get rid of conditional; can always use these.
+       * reload.c (find_reloads): Remove unused variables `changed'.
 
-       * cccp.c (lookup_import): Do return -2 if file found.
-       (main): Handle `.m' suffix like `.S'.
+       * reload1.c (reload_reg_class_lower): Don't unnecessarily cast
+       away const-ness.
+       (allocate_reload_reg): Mark parameter with ATTRIBUTE_UNUSED.
+       Remove unused variable `insn'.
 
-       * configure (m68k/next): Use out-next.c.
+       * toplev.c: Include loop.h.
+       (report_file_and_line): Remove unnecessary prototype.
 
-       * WORD_SWITCH_TAKES_ARG and SWITCH_TAKES_ARG now give # of args.
-       * gcc.c (struct switchstr): New field `args' replaces `part2'.
-       (process_command): Record all the args a switch has.
-       (give_switch): Pass all the strings in `args'.
+       * tree.c (build_block): Mark parameter with ATTRIBUTE_UNUSED.
 
-       * tree.h (struct tree_common): Normally make `code' an enum tree_code.
+       * unroll.c (biv_total_increment): Likewise.
 
-       * m68k.md (tablejump): New pattern.
-       (casesi, etc.): Deleted.
+Thu Dec 23 23:15:22 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-       * tree.c (debug_obstack): New function.
+       * reload1.c (emit_input_reload_insns): Restore old behavior
+       wrt. 'special' reloads.
 
-       * toplev.c (compile_file): Call dbxout_finish near the end.
-       * dbxout.c (dbxout_finish): New function.
+1999-12-23  Zack Weinberg  <zack@wolery.cumb.org>
 
-       * print-tree.c (print_node): Always print ERROR_MARK node briefly. 
+       * Makefile.in (ggc-simple.c, ggc-page.c): Don't depend on
+       hash.h.  (cse.c): Don't depend on hashtab.h.
 
-       * objc-actions.h (METHOD_ENCODING, CLASS_CATEGORY_LIST): New macros.
+       * cse.c: Don't include hashtab.h.
+       (hash_cse_reg_info, cse_reg_info_equal_p): Delete prototypes
+       of dead functions.
+       * ggc-simple.c: Don't include hash.h.
 
-       * gcc.c (execute): Make fatal signal message clearer.
-       (default_compilers): For .m file, define __OBJC__,
-       and pass -lang-objc and -gen-decls to cc1.
+1999-12-22  Jason Merrill  <jason@casey.cygnus.com>
 
-       * dwarfout.c: Include output.h.
-       (current_function_decl, asm_out_file): Explicit extern decls deleted.
-       (abort, fatal): Explicit extern decls deleted.
-       (NO_RETURN): Definition deleted.
-       (named_labels): Don't declare it.
-       (output_symbol): Don't use it.
-       (MAXPATHLEN): Don't define this.  Don't include sys/param.h.
-       (output_source_file_die): Avoid limit on file name size.
-       (output_symbols_for_stmt): Deleted.
-       (output_symbols_for_block): Adapt to using BLOCK, not LET_STMT.
+       * dwarf2out.c (add_abstract_origin_attribute): Call
+       gen_abstract_function on our function context.
 
-       * configure: Renamed from `config'.
-       * config: Directory renamed back from config-dir.
+Thu Dec 23 03:57:10 1999  Hans-Peter Nilsson  <hp@bitrange.com>
 
-Sat Jan 26 1990         Ron Guilmette (rfg at ncd.com)
+       * Makefile.in (INTEGRATE_H): Fix typo: INTEGRATE_H, not INTREGRATE_H.
 
-       * README.DWARF: updated to reflect changes to dwarfout.c, the
-       inclusion of dwarf.h (and its changes) and the fact that the
-       DWARF support is no longer directly tied to the DG versions of
-       GCC.
+1999-12-23  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * dwarfout.c: included a patch (provided by Ray Essick) to allow
-       dwarfout.c to properly get a value for MAXPATHLEN even on (old)
-       System V.3 systems.
+       * config/c4x/c4x.c (c4x_address_cost): Add statement to default
+       case in switch.
 
-       * dwarfout.c: added support for long long types (as suggested by
-       Ray Essick).
+1999-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * dwarfout.c: added support for the AT_comp_dir attribute.  Also,
-       as part of this change, the name of the compilation directory is
-       no longer placed into in the .sources section.
+       * config/c4x/c4x.md (*addqi3_noclobber_reload): Change operand 0
+       constraints to "a!r".
 
-       * dwarfout.c: added support for the AT_addr_ranges attribute.
+1999-12-21  Mark Mitchell  <mark@codesourcery.com>
 
-       * dwarfout.c: added support for the AT_prototyped attribute.
+       * Makefile.in (calls.o): Depend on function.h.
+       (alias.o): Likewise.
 
-       * dwarfout.c: added support for the AT_src_info attribute. Also,
-       as part of this change, there is no longer a "special" entry
-       at the start of the .srcinfo section for each compilation unit,
-       and the contents of the "special" final entry in the .srcinfo
-       section have changed (to { -1, -1 }).
+1999-12-21  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * dwarfout.c: modified to allow additional GNU DWARF extensions
-       to be generated whenever the corresponding extended attribute
-       codes are defined (presumably within a modified dwarf.h file).
+       * reload1.c (emit_reload_insns): Break out code and variables into...
+       (input_reload_insns, other_input_address_reload_insns,
+       other_input_reload_insns, input_address_reload_insns,
+       inpaddr_address_reload_insns, output_reload_insns,
+       output_address_reload_insns, outaddr_address_reload_insns,
+       operand_reload_insns, other_operand_reload_insns,
+       other_output_reload_insns): ... new static variables, and...
+       (emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
+       do_output_reload): ... new functions.
 
-       * dwarfout.c: use the section names .srcinfo and .sources rather
-       than .finfo and .files.  The additional specificity is warranted
-       because the DWARF information may someday include information
-       about object files as well as source files.
+Tue Dec 21 07:06:36 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * dwarfout.c: fixed a bug where a type attribute was being generated
-       for functions and function types even when the return type was
-       void.  "Standard" dwarf says that if the return type for a function
-       or function type is void then no type attribute should be generated
-       for the corresponding DIE.
+       * pa.h (FUNCTION_ARG_BOUNDARY): Never return 0.
 
-Sat Jan 26 04:22:08 1991  Michael Tiemann  (tiemann at cygnus.com)
+1999-12-21  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * cplus-lex.c (interface_strcmp): Handle String.String.Map.cc and
-       friends.
+       * md.texi: Add c4x constraints documentation.
 
-       * cplus-typeck.c (build_unary_op): Merge change to generate better
-       code from simple cast expression.
+1999-12-21  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
 
-Fri Jan 25 10:06:28 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * config/i386/dgux.c (struct option): Rename to
+       lang_independent_option.
+       (struct m_options): Add description field.
+       (output_options): Rename option type, add sep declaration, output
+       ix86_cpu_string and ix86_arch_string only if set.
+       (output_file_start): Rename option type.
 
-       * cplus-decl.c (pushtag): Don't call `pushdecl' if the type's name
-       is anonymous, lest we recurse ad infinitum.
+Mon Dec 20 23:15:36 1999  Mike Stump  <mrs@wrs.com>
 
-Thu Jan 24 23:56:55 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * Makefile.in (crtbegin.o, crtend.o, s-crtS): Depend on
+       stmp-int-hdrs.
+       (libgcc2.a): Similarly.
 
-       * optabs.c (expand_binop, expand_unop): Word at a time only for ints.
+Mon Dec 20 23:06:47 1999  David Edelsohn  <edelsohn@gnu.org>
 
-Thu Jan 24 09:40:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
+       * longlong.h (_ARCH_PPC): Only protect add_ssaaaa and sub_ddmmss
+       with W_TYPE_SIZE == 32.  Do not fall through to POWER architecture
+       for umul_ppmm and smul_ppmm if !_ARCH_PPC and !_ARCH_POWER.
 
-       * sdbout.c (sdbout_symbol): Apply changes in dbxout.c to deal with
-       SUBREG.  Don't emit a symbolic definition for variables that can't
-       be represented.
+Mon Dec 20 23:02:03 1999  Jeffrey A Law  (law@cygnus.com)
 
-Thu Jan 24 21:18:15 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * fold-const.c (real_hex_to_f): Remove unused "isldouble" variable.
+       Remove redundant initialization of "frexpon" and "expon".
 
-       * config: Conditional for setting $os was backward.
-       Also mention name of make-var file if one exists.
+Mon Dec 20 15:00:04 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * out-i386.c: Delete a large piece of accidental insertion.
+       * tree.c (real_value_from_int_cst): Clear REAL_VALUE_TYPE object first.
 
-       * dwarfout.c: Don't include c-tree.h or cplus-tree.h.
-       (INT_TYPE_SIZE, etc.): Define them if not overridden.
-       (fundamental_type_code): Distinguish types by TYPE_PRECISION.
-       But also check for the built-in C type names.
+       * expr.c (store_constructor): New argument SIZE; pass to clear_storage.
+       (store_constructor_field, expand_expr): Pass new arg.
 
-Thu Jan 24 15:23:17 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+1999-12-20  Mark Mitchell  <mark@codesourcery.com>
 
-       * gcc.c (default_compilers): Pass all args starting with "O" to 
-       cc1 so that -O2 is passed along.
+       * Makefile.in (explow.o): Depend on function.h.
 
-Thu Jan 24 13:10:27 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * stor-layout.c (set_sizetype): Fix typo.
 
-       * stmt.c (expand_expr_stmt): Don't warn for any casts to void.
+1999-12-20  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * config: Fix typos setting shell vars.
-       Rename config to config-dir.
-       Insert missing \ in case for delta.
+       * function.c (cfun): Renamed from current_function.  All users
+       changed.
+       * function.h (cfun): Rename declaration as well.
 
-Wed Jan 23 16:31:27 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * reload.h (struct insn_chain): Change live_throughout and dead_or_set
+       to be of type regset_head, not regset.  All users changed by adding
+       address operator.
+       * reload1.c (new_insn_chain): Don't allocate regsets, just clear them.
 
-       * emit-rtl.c (emit_jump_insn_{before,after}): Allow PATTERN to be
-       a SEQUENCE.
+1999-12-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * loop.c (check_dbra_loop): Use emit_jump_insn_before when writing 
-       out compare and jump sequence, not emit_insn_before, to ensure that
-       if we only write one insn  that it is a JUMP_INSN.
+       * config/c4x/rtems.h: New file.
 
-       * toplev.c (flag_rerun_cse_after_loop): New: -frerun-cse-after-loop.
-       (rest_of_compilation): Rerun cse after loop if desired.
-       (main): Add support for -O2.
-       Prescan args for -O and -O2 to set default values for many -f options.
-       Add call to new macro OPTIMIZATION_OPTIONS.
-       Save status of -version until all args have been processed; then
-       write out the info.
-       (print_single_switch): New function.
-       (print_switch_values): Renamed from print_target_switch_defaults.
-       Now prints out currently enabled -f, -m, and -W switches.  Calls
-       print_single_switch to write out switch and handle long lines.
+1999-12-19  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * rtl.def (SUBREG): Change rtx class from 'o' to 'x'.
+       * reload1.c (spill_failure): Take class of failed reload as argument
+       and print it.  Caller changed.
 
-       * cse.c (find_comparison_args): Ignore hash table entry if not valid.
+Sun Dec 19 07:50:42 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-Wed Jan 23 00:12:24 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * rs6000.h (SUBTARGET_DEFAULT): New macro.
+       (TARGET_SWITCHES): Allow subtargets to default switches.
+       * rs6000/vxppc.h (SUBTARGET_DEFAULT): New macro.
 
-       * config: File renamed from config.gcc.
-       Allow abbreviations for +-options.
-       Allow config HOST TARGET.
-       Support +gas and +nfp as separate options.
-       Rename all the machine alternatives to general scheme:
-       cpu/company-system.  Allow abbreviations for cpu/company pairs.
-       * config-dir: Dir renamed from config.
+1999-12-18  Mark Mitchell  <mark@codesourcery.com>
 
-       * Makefile.in (install-dir): Create bindir here.
+       * crtstuff.c (__do_global_ctors_aux): Do not call __cxa_finalize
+       in a main program.
 
-       * cccp.c (main): Delete duplicat p++ left in last change.
+Sat Dec 18 20:42:43 1999  Richard Henderson  <rth@cygnus.com>
 
-       * Makefile.in (GNULIB1, GNULIB1_TARGET): Renamed from GNULIB*.
-       (gnulib1.portable, gnulib1.target): Renamed from gnulib.*.
-       They now make a file named gnulib1, from gnulib1.c.
-       (LIB1FUNCS, LIB1FUNCS_EXTRA): Renamed from LIBFUNCS*.
-       (for-bootstrap, rest.encap): Depend on gnulib, not GNULIB2_TARGET.
-       (stamp-gnulib2): This file is no longer used.
-       (gnulib2.portable): Old stamp-gnulib2 rule renamed to this.
-       Now create a file named gnulib2, from gnulib2.c alone.
-       (gnulib): New target, combines gnulib1 and gnulib2 into gnulib.
-       (mostlyclean): Delete additional temporary files.
-       No need to avoid deleting stamp-gnulib2.
-       (clean): Delete gnulib1 and gnulib2, but not stamp-gnulib2.
-       (realclean): No need to delete gnulib here.
-       (install-gnulib): Changed dependencies.
-       * gnulib1.c: File gnulib.c renamed.
+       * cccp.c (main): Define __STDC_VERSION__ as necessary.
+       * cppinit.c (cpp_handle_option): Likewise.
 
-       * Makefile.in (install-dir): Create bindir here.
+       * ginclude/stdarg.h (va_copy): Use __STDC_VERSION__ to
+       determine when to define.
 
-       * cccp.c (main): Delete duplicat p++ left in last change.
+Sat Dec 18 20:34:00 1999  Richard Henderson  <rth@cygnus.com>
 
-Sun Jan 20 14:00:16 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * alpha.c (alpha_emit_conditional_move): If TARGET_FIX, handle
+       cmove with mismatched test and data modes.
 
-       * cplus-class.c (finish_struct): Conditionalize EMPTY_FIELD_BOUNDARY
-       on whether or not it is defined.  Similarly for PCC_BIT_FIELD_MATTERS. 
+Sat Dec 18 20:30:15 1999  Richard Henderson  <rth@cygnus.com>
 
-Wed Jan 16 18:56:30 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * c-typeck.c (c_expand_start_case): Don't warn for long switch
+       in system headers.
 
-       * cse.c (fold_rtx): When folding dispatch table, stay inside bounds.
+Sat Dec 18 16:28:43 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-Wed Jan 16 08:11:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * alias.c: Minor reformatting.
+       * flow.c: Likewise.
+       * regs.h: Likewise.
+       * stor-layout.c: Likewise.
+       * fold-const.c: Likewise.
+       (OVERFLOW_SUM_SIGN): Renamed from overflow_sum_sign.
+       (struct cb_args, const_binop_1, const_binop): Pass type of arg,
+       not arg itself.
+       (size_int_wide): Cache nodes even if garbage collecting.
+       (twoval_comparison_p): Reenable SAVE_EXPR case if operand
+       of SAVE_EXPR has no side effects.
+       * cse.c: Move a comment.
+       * tree.c: Minor reformatting.
+       (int_size_in_bytes): Return -1 if constant overflows.
+
+Sat Dec 18 18:30:20 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * unroll.c (copy_loop_body): Don't treat a REG like a PLUS.
+
+1999-12-18 10:42 -0800  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * objc/objc-parse.c: Regenerate.  This file must be rebuilt
+       after any change to c-parse.in, even if objc-parse.y didn't
+       change.  Oops.
 
-       * reload.c (find_reloads_toplev): Fix typo in recent change.
+1999-12-18  David S. Miller  <davem@redhat.com>
 
-       * reload1.c (eliminate_regs): If we have a non-paradoxical
-       (subreg (pseudo)) and the pseudo has an equivalent memory
-       location, replace the SUBREG because find_reloads may do it.
+       * toplev.c (rest_of_compilation): Restore BLOCK tree
+       reconstruction and branch shortening changes lost in
+       December 18th change.
 
-Tue Jan 15 01:41:28 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+Sat Dec 18 05:29:29 1999  Scott Bambrough  <scottb@netwinder.org>
 
-       * loop.c (scan_loop): Condition for movability was wrong.
-       A reg that isn't necessarily set may be unsafe
-       even if used only inside the loop.
-       However, a reg used only in the same basic block after the set is safe.
-       So is a reg that isn't a user-level variable.
+       * config/arm/linux-elf.h: Change all instances of
+       ARM_FLAG_SHORT_BYTES to ARM_FLAG_MMU_TRAPS.
+       * config/arm/uclinux-elf.h: Likewise.
+
+1999-12-18 Gabriel Dos Reis  <gdr@codesourcery.com>
 
-       * loop.c (loop_optimize): Reverse order of scanning loops.
+       * toplev.c (notice, vmessage, v_message_with_file_and_line,
+       v_message_with_decl, file_and_line_for_asm,
+       v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
+       verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
+       v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
+       v_pedwarn_with_file_and_line, vsorry, vnotice, count_error,
+       pfatal_with_name, fatal_io_error, need_error_newline,
+       last_error_function, last_error_tick, announce_function,
+       default_print_error_function, print_error_function,
+       report_error_function, fnotice, error_with_file_and_line,
+       error_with_decl, error_for_asm, error, set_fatal_function, fatal,
+       _fatal_insn, _fatal_insn_not_found, warning_with_file_and_line,
+       warning_with_decl, warning_for_asm, warning, pedwarn,
+       pedwarn_with_decl, pedwarn_with_file_and_line, sorry): Move to
+       diagnostic.c
+       (compile_file): Use fnotice instead of notice.  Adjust call.
 
-       * loop.c (scan_loop): After skipping the insns of a libcall sequence,
-       ignore notes when searching back to find the last insn of the seq.
+       * diagnostic.c: New file.
+
+       * Makefile.in (OBJS): Include diagnostic.o
+       (diagnostic.o): Define dependence.
+
+1999-12-18  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.h (ASM_OUTPUT_XXX): Wrap in do-while(0).
+       Tweak formatting.
+
+1999-12-18  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * cccp.c (main): Use envvar GCC_EXEC_PATH to specify translation
-       of prefixe in default include dirs.
+       * config/c4x/c4x.md (rpts_top, rptb_top): Add clobbers for rs and re.
+
+1999-12-17 13:21 -0800  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * fixtests.c (is_cxx_header): New fn, split out of
+       double_slash_test.
+       (else_endif_label): Allow "#endif // comment" in C++ headers,
+       as determined by is_cxx_header.
+       * fixfixes.c (else_endif_label_fix): Update comment.
+       * fixincl.c: Don't output VERB_PROGRESS lines if stdout is not
+       a tty.
+       * genfixes: Correct double thinko in commandline parsing.
+       * hackshell.tpl: Generate correct sh syntax for bypass
+       entries.
+
+       * inclhack.def (all): Whenever an inserted preprocessor
+       conditional is split over multiple lines, use double
+       backslashes in this file so the fixed header will be readable.
+
+       (AAB_fd_zero_glibc_1_0): Rename to AAB_fd_zero_asm_posix_types_h
+       and add bypass entry for correct version of this header.
+       (AAB_fd_zero_glibc_1_x): Rename to AAB_fd_zero_gnu_types_h.
+       (AAB_fd_zero_glibc_2_0): Rename to AAB_fd_zero_selectbits_h.
+
+       (hpux8_bogus_inlines): New fix, split from...
+       (ultrix_atof_param) ... here.
+       (math_expression): Add bypass entry keyed to glibc comment
+       indicating the problem has been dealt with; disable
+       unnecessary sed operations; update commentary.
+       (math_gcc_ifndefs): Rename to math_huge_val_from_dbl_max,
+       add select and bypass entries, simplify shell operation.
+       (math_huge_val_ifndef): Split from math_gcc_ifndefs.
+
+       (ip_missing_semi, rs6000_param, tinfo_cplusplus,
+        ultrix_atof_param): Add select entry.
+       (stdio_va_list, sunos_mather_decl): Add bypass entry.
+       (systypes_for_aix, sysv86_string, tinfo_cplusplus): Put the
+       comments with the fixes they describe.
+
+       * c-parse.in (string action): Do not warn about ANSI string
+       concatenation in system headers.  Affects C parser only.
+       * c-parse.y, c-parse.c, c-parse.h: Rebuild.
+
+1999-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.h (TARGET_ARCH32): Exchange ifdefs so that if
+       compiling libgcc2 the macro depends always on arch cpp defines.
+
+Fri Dec 17 10:34:16 1999  Richard Earnshaw <rearnsha@arm.com>
+
+       * loop.c (insert_loop_mem): Don't record MEMs from inside
+       EXPR_LISTs.
+
+Fri Dec 17 12:08:11 MET 1999  Jan Hubicka  <hubicka@freesoftr.cz>
+
+       * regclass.c (regclass): Do not use flowgraph when not optimizing.
+
+       * gcse.c (try_replace_reg): Do replacements in REG_EQUAL/REG_EQUIV
+       notes too, create one when replacement failed, attempt to simplify
+       resulting notes.
+       (cprop_insn): Propagate even to registers mentioned only in REG_EQUAL
+       or REG_EQUIV notes.
+
+1999-12-16  Mark Mitchell  <mark@codesourcery.com>
+
+       * crtstuff.c (__dso_handle): Declare.
+       (__cxa_finalize): Likewise.
+       (do_global_dtors_aux): Call __cxa_finalize if __dso_handle is
+       non-NULL.
+
+       * invoke.texi: Document -fuse-cxa-atexit.
+
+       * tree.h (ptr_type_node): Document.
+       (const_ptr_type_node): Likewise.
 
-       * cccp.c (main): Do path_includes after explicit options.
+Fri Dec 17 01:32:38 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       * combine.c (try_distrib): Don't push + thru negative count shifts.
+       * regmove.c (optimize_reg_copy_1): Ignore LOOP notes.
+       (optimize_reg_copy_2): Likewise.
+       (optimize_reg_copy_3): Likewise.
+       (fixup_match_2): Likewise.
+       (regmove_optimize): Likewise.
+       (fixup_match_1): Liekwise.
 
-Mon Jan 14 09:40:28 1991  Ken Raeburn  (raeburn at watch.com)
+       * i386.md (HI to SImode promoting splitters): Rewrite.
+       (pushsf mem peep2): New.
+       (testhi to andhi peep2): Remove.
+       * i386.h (x86_promote_QImode): New.
+       (TARGET_PROMOTE_QImode): New.
+       (PREDICATE_CODES): Add promotable_binary_operator.
+       * i386.c (x86_promote_QImode0: New.
+       (promotable_binary_operator): New.
+       * i386-protos.h (promotable_binary_operator): New.
 
-       * cplus-lex.c (yylex): Even in `extern "C"', the keywords are the
-       same.
+       * i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify
+       condition.
+       (one_cmpl?i*): Pass "NOT" to unary_operator_ok.
 
-       * cplus-lex.c (input_from_saved_text): New function.  Set string
-       source for FILE pointer.
-       (yylex, do_pending_inlines): Call it.
+1999-12-16  Mark Mitchell  <mark@codesourcery.com>
 
-       * cplus-parse.y (stmts, stmt): Type is now `tree'.  Some actions
-       fixed to return it.
+       * Makefile.in (INTREGRATE_H): Rename to INTEGRATE_H.
+       * function.c (insert_block_after_note): Remove.
+       (retrofit_block): Likewise.
+       (identify_blocks): Fix indentation.
+       (reorder_blocks): Don't NULL out NOTE_SOURCE_FILE for a
+       NOTE_INSN_BLOCK_BEG or NOTE_INSN_BLOCK_END.
+       * function.h (insert_block_after_note): Remove prototype.
+       (retrofit_block): Likewise.
+       * integrate.c (expand_inline_function): Don't call
+       find_loop_tree_blocks.  Use expand_start_bindings_and_block, not
+       just expand_start_bindings.  Use the block_map to remap old
+       NOTE_BLOCKs to new ones.
+       (integrate_decl_tree): Keep track of remapped blocks.
+       * integrate.h (struct inline_remap): Add block_map.
+       * stmt.c (expand_fixup): Don't try to retrofit_blocks.  Just set
+       NOTE_BLOCK on the notes.
+       (expand_start_bindings): Rename to ...
+       (expand_start_bindings_and_block): Add parameter.  Set NOTE_BLOCK.
+       (expand_end_bindings): Set NOTE_BLOCK.
+       * toplev.c (rest_of_compilation): In function-at-a-time-mode,
+       reconstruct the BLOCK tree.
+       * tree.h (expand_start_bindings): Macroize.  Call ...
+       (expand_start_bindings_and_block): New function.
 
-       * cplus-lex.c (reinit_parse_for_block): New function, with most of
-       the guts of reinit_parse_for_method.  Magic argument IS_TEMPLATE
-       chooses a set of error messages.
-       (reinit_parse_for_method): Call it.
-       cplus-template.c (reinit_parse_for_template): New function, also
-       calls reinit_parse_for_block.
+1999-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.c (print_operand): Cast fprintf arguments
+       to match the format.
 
-Mon Jan 14 07:20:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+1999-12-16  David S. Miller  <davem@redhat.com>
 
-       * loop.c (skip_consec_insns, move_movables, strength_reduce): Don't
-       call find_reg_note on a NOTE.
+       * expr.c (emit_move_insn_1): Only emit clobbers if one of
+       the outputs is a SUBREG.
+       * rtlanal.c (reg_overlap_mentioned_p): Revert December 15th
+       change.
 
-Sun Jan 13 15:45:23 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * config/sparc/sparc.c (epilogue_renumber): Add default case
+       to switch stmt.
 
-       * cccp.c: Separate namespace for assertions.  Don't expand macros
-       inside assertions in #if.  Allow arbitrary token sequences.
-       (rescan): Special handling after `#' if assertions_flag.
-       (expand_to_temp_buffer): New arg sets assertions_flag. Callers changed.
-       (eval_if_expression): Pass 1 for that arg.
-       (skip_paren_group): New function.
-       (assertion_hashtab, ASSERTION_HASHSIZE, ASSERTION_HASHNODE): New.
-       (assertion_install, assertion_lookup, delete_assertion): New functions.
-       (T_ASSERTION): Deleted.
-       (tokenlist_list): Renamed from arglist_list.
-       (read_token_list): Renamed from read_keyword_list.  Much changed.
-       Copy the strings into the heap.
-       (free_token_list): Renamed from free_keyword_list.  Free the strings.
-       (do_assert, do_unassert): Considerably changed.
-       (check_assertion): Somewhat changed.
-       (check_macro_name): Extra arg contributes to error message.
-       * cexp.y (yylex): Parse everything as a name if keyword_parsing.
-       (rule for assertions): Set, then clear, keyword_parsing.
-       (keywords): Allow empty sequence.  Allow nested parens.
+Thu Dec 16 11:33:57 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-Sat Jan 12 12:18:00 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * toplev.c (rest_of_compilation): Run branch shortening after
+       reg-stack.
 
-       * c-typeck.c (build_unary_op): Make better code for simple casts.
+       * regclass.c (loop_depth): Remove
+       (scan_one_insn): Do not handle LOOP_NOTE insns.
+       (regclass): Go through basic blocks and set loop_cost
 
-       * reload.c (find_reloads): Computing reload_when_needed, don't neglect
-       operands that don't have output reloads.
+Thu Dec 16 02:56:25 1999  Zack Weinberg  <zack@bitmover.com>
 
-       * cse.c (refers_to_mem_p): At check_addr, handle PLUS inside CONST.
+       * tree.h (DECL_FROM_INLINE): Check DECL_ABSTRACT_ORIGIN too.
 
-Sat Jan 12 06:30:56 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Dec 16 10:43:35 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       * reorg.c (steal_delay_list_from_*): Add missing argument to calls to
-       insn_sets_resource_p.
-       (fill_eager_delay_slots, relax_delay_slots): Add missing argument
-       to calls to mostly_true_jump.
-       (relax_delay_slots): Correctly handle case where we can't invert jump.
+       * i386.md (movqi): Use "nonimmediate_operand" for output operand.
+       (movstrictqi, movdi, movsf, movdf, movxf): Likewise.
+       (adddi, addqi, addhi, subdi, subqi, subhi, ffs): Likewise.
 
-       * reload.c (find_reloads_toplev): If we have a SUBREG of a
-       pseudo that resides in memory and the address is not offsettable,
-       substitute for the pseudo now so we can generate a reload for the
-       address.
+Thu Dec 16 02:41:26 1999  Richard Henderson (rth@cygnus.com)
 
-Fri Jan 11 14:39:09 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * loop.c (insert_loop_mem): Ignore memory clobbers.
 
-       * tm-next.h (LIB_SPEC, STARTFILE_SPEC): Don't support -p.
+       * combine.c (simplify_comparison): Reduce (OP (MINUS A B) 0)
+       to (OP A B).
 
-Thu Jan 10 12:26:49 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+Thu Dec 16 02:26:11 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-sun2.h (CC1_SPEC): Define to ignore -sun2 and -target.
-       (WORD_SWITCH_TAKES_ARG): Define to recognize -target.
-       (LIB_SPEC): Define; handle -a.
-       * tm-sun2os4.h: New file.
-       * tm-m68k.h (TARGET_SWITCHES): Handle -msky and -mnosky.
-       (TARGET_SKY): New macro.
+       * profile.c: Remove redundant #include "output.h".
 
-       * tm-next.h (LIB_SPEC): Use -lsys_s, not -lc.
+       * h8300.md (HImode preinc peephole): Fix typo.
 
-       * c-parse.y (yylex): Fix typo.
+1999-12-15  Jason Merrill  <jason@casey.cygnus.com>
 
-       * genoutput.c (output_prologue): Make insn-output.c use insn-codes.h.
-       * Makefile.in (insn-output.o): Depend on insn-codes.h.
+       * function.c (retrofit_block): Abort if we don't find a suitable insn.
+       (insert_block_after_note): Abort if we don't have a previous block.
+       Remove FN parameter.
+       * function.h: Adjust.
 
-       * Makefile.in (install-headers): Save $(libsubdir) before cd.
+1999-12-15  Mark Mitchell  <mark@codesourcery.com>
 
-       * Makefile.in (gnulib): Depend on config.status.
+       * builtins.c (expand_builtin_mathfn): Make sure not to expand the
+       argument more than once.
 
-       * gnulib2.c (__umulsidi3): Use #else around inline function.
-       Use __-style names for all machines.
+1999-12-15  Jason Merrill  <jason@casey.cygnus.com>
 
-Wed Jan         9 17:06:18 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * stmt.c (expand_decl): Expand upper bound of a dynamic array.
 
-       * out-sparc.c (various places): Change \; to \n\t in printf
-       strings.
+1999-12-15  Jakub Jelinek  <jakub@redhat.com>
 
-       * sparc.md: Change PIC initialization pattern to recognize pattern
-       that doesn't involve a clobber.
-       * out-sparc.c: Rest of change is here, where PIC initialization is
-       emitted.
-
-       * cse.c (simplify_unary_operation, simplify_binary_operation):
-       Correctly adjust VAL for bits outside MODE.
+       * expr.c (emit_group_load): Use dst mode if src is VOIDmode.
 
-Wed Jan         9 15:45:26 1991  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * flow.c (libcall_dead_p): Handle a CALL in a PARALLEL.
+Wed Dec 15 16:11:55 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-Tue Jan         8 13:35:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * function.c (PREFERRED_STACK_BOUDNARY): Provide default value.
+       (assign_stack_local_1): Limit alignment to PREFERRED_STACK_BOUNDARY,
+       update stack_alignment_needed.
+       (prepare_function_start): Initialize stack_alignment_needed
+       * function.h (struct function): Add field stack_alignment_needed.
 
-       * expmed.c (emit_store_flag): Correct UNSIGNEDP value passed to
-       convert_to_mode and expand_unop.
+Wed Dec 15 14:55:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-Mon Jan         7 11:56:31 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * caller-save.c (insert_one_insn): Returns struct insn_chain *.
+       Handle live_throughout / dead_or_set instead of live_before /
+       live_after.
+       (save_call_clobbered_regs): Get register livenessinformation from
+       chain->live_throughout.
+       (add_stored_regs): New function.
+       (insert_restore, insert_save): Add restored / saved registers to
+       dead_or_set.
+       * global.c (reg_dies): New parameter chain.
+       (reg_becomes_live): Third parameter is regs_set now.
+       Changed all callers.
+       (reg_dies): New parameter chain.  Changed all callers.
+       (build_insn_chain): Set live_throughout instead of
+       live_before / live_after.
+       * reload.h (struct insn_chain): Replace members live_before /
+       live_after with live_throughout / dead_or_set.
+       * reload1.c (new_insn_chain): Handle live_throughout / dead_or_set
+       instead of live_before / live_after.
+       (maybe_fix_stack_asms, find_reload_regs, finish_spills): Likewise.
+       (order_regs_for_reload, find_reg, finish_spills): Likewise.
+       (choose_reload_regs_init): Likewise.
+       * stupid.c (current_chain, find_clobbered_regs): Delete.
+       (stupid_life_analysis): Set chain->live_throughout chain->dead_or_set
+       instead of chain->live_before / chain->live_after.
+       (mark_hard_ref): New function.
+       (stupid_mark_refs): Call mark_hard_ref. Clear chain->live_throughout.
 
-       * gplus.gperf: New keywords for templates and other extensions.
-
-       * cplus-lex.c: Incorprate new gperf code.
-
-       * cplus-class.c (resolve_scope_to_name): New function.
-       (build_scoped_method_call): Call `resolve_scope_to_name' instead of
-       handling by itself.
-       * cplus-decl.c (pushdecl_class_level): Give forward declaration.
-       (lookup_nested_type): New function.
-       (pushtag,lookup_tag,xref_tag): Handle nested classes.
-       (finish_function): Add comment about obscure argument passing
-       convention for static method calls (at the call site).  Also, don't
-       call operator delete with NULL pointer.  Call it with
-       `current_class_decl' instead.
-       (globalize_nested_type): New function.  Used when we learn that a
-       type which initially appeared to be nested should be defined in the
-       global scope instead.
-       (grokdeclarator): Call `globalize_nested_type' when grokking an
-       as-yet undefined class type.
-       * cplus-dem.c: Updated to handle qualified (i.e. nested) types.
-       This means handling the new letter `Q' in mangled names.
-       * cplus-init.c (build_member_call): Handle nested classes using
-       `resolve_scope_to_name' instead of handling itself.
-       * cplus-lex.c (typename_scope_in_progress): New static variable to
-       allow the lexer to figure out what are nested class typenames,
-       scoped member references, etc., without getting the parser too
-       involved.
-       (yylex): Recognize SCOPED_TYPENAME and TYPENAME_SCOPE tokens.
-       Also, recognize '<' and '>' separately from ARITHCOMPARE so we can
-       implement templates.
-       No longer recognizes (X::*) or (X::&) as single tokens.
-       * cplus-method.c (build_overload_nested_name): New function to build
-       internal names for nested typenames.
-       * cplus-parse.y: Handle parameterized type syntax (more or less).
-       (dummy_decl): Gone!
-       Nested types are now handled.
-       * cplus-tree.h (DECL_UNDEFINED_FRIENDS): Moved out of DECL_CONTEXT
-       slot of TYPE_DECLs.  DECL_CONTEXT of typename is now the enclosing
-       type for nested types.
-       (DECL_NESTED_TYPENAME): An identifier pointer that makes the name of
-       the type unique for the compilation.
-       (IDENTIFIER_*): When initializing, call `perm_calloc', not
-       permalloc, since non-zero values actually mean something,
-       and we don't guarantee to initialize everything in one go.
-       * tree.c (perm_calloc): New function.
-       * cplus-typeck.c (default_conversion): Don't defaultly convert a
-       naked METHOD_REF such that it becomes a virtual function table
-       index.  Only let this happen if user requests it with `&'.
-
-       * Makefile.in: Handle new source file cplus-template.c.
-
-Mon Jan         7 15:03:53 1991  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * c-typeck.c (process_init_constructor): Error if values
-       provided for an array of empty elements.
-
-       * out-i386.c (fp_top_dead_p1): Follow jump only if optimizing.
-       (fp_call_internal): Discard result if unused.  Use fp_top_dead_p1.
-
-       * cse.c (cse_insn): In special case for (set REG0 REG1),
-       change any REG_EQUIV notes to REG_EQUAL.
-
-       * tm-sun386i.h (PCC_BITFIELD_TYPE_MATTERS): Define it.
-
-       * tm-att386.h (ASM_OUTPUT_LOCAL): Change back to data section.
-
-       * genrecog.c (write_tree_1): Typo in printf string.
-
-       * flow.c (libcall_dead_p): New arguments NOTE and INSN.
-       Now test that the hard return reg in the call is dead.
-       Callers changed.
-
-Mon Jan         7 12:27:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * recog.c (cancel_changes): Cancel changes in opposite order we made
-       them.
-
-       * integrate.c (subst_constants): Only commute operands if op0 is const.
-
-       * rtl.def (INLINE_HEADER): Add new integer field.
-       * rtl.h (POPS_ARGS): New macro for place to save
-       current_function_pops_args.
-       (FUNCTION_FLAG_POPS_ARGS): Deleted; no longer a single bit.
-       * emit-rtl.c (gen_inline_header_rtx): Add new arg for "pops args".
-       * integrate.c (initialize_for_inline, output_inline_function):
-       Correctly save and restore current_function_pops_args.
-
-Sun Jan         6 14:10:44 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * rtl.h (ASM_OPERANDS_INPUT_LENGTH): New macro.
-       * reload1.c (eliminate_regs): Use ASM_OPERANDS_... macros.
-       * recog.c (asm_noperands, decode_asm_operands): Likewise.
-
-       * rtl.def (IF_THEN_ELSE): Set class to '3'.
-
-       * cse.c (simplify_{unary,binary,ternary}_operation): New functions,
-       from fold_rtx.
-       (fold_rtx): Call these function to do the bulk of the work.
-       Use GET_RTX_CLASS to find commutative and comparison operations.
-       Swap folded_arg[01] when commuting operands.
-       * rtl.h: Define new functions.
-       * integrate.c (try_constants): Replace constant folding code with
-       calls to new functions above.
-       In commutative operations, put constants last.
-       
-       * genemit.c (struct clobber_pat): New data structure.
-       (gen_insn): If pattern ends with a group of CLOBBERs of hard
-       registers, store this information in a struct clobber_pat.
-       (output_add_clobbers): New function.
-       (main): Call it to write code to add CLOBBERs.
-       * genrecog.c (struct decision): Add new field num_clobbers_to_add.
-       (make_insn_sequence): If pattern ends with a group of CLOBBERs,
-       set up to recognize it without the CLOBBERs but to indicate the
-       number of CLOBBERs omitted.
-       (add_to_sequence): Initialize num_clobbers_to_add.
-       Remove unnecessary conditionalization on STORE_FLAG_VALUE.
-       (break_out_subroutines, write_subroutine, write_tree): Remove
-       RETURN_PREFIX parameter; TYPE is sufficient.
-       (write_subroutine): Add extra parameter for recog_* functions.
-       (write_tree_1): Pass TYPE instead of string for return.
-       Write out code to return number of CLOBBERs needed.
-       (write_tree): Add new parameter to recog_*.
-       (main): Add new parameter to recog.
-       Don't pass return string to break_out_subroutines and write_tree.
-       * recog.c (recog_memoized): Pass extra (0) parameter to recog.
-       * combine.c (recog_for_combine): New function.
-       (try_combine, simplify_and_cc0, try_distrib): Use it instead of recog.
-       (reg_dead_at_p, reg_dead_at_p_1): New functions.
-
-       * flow.c (mark_set_1): Count in reg_n_sets when a part of a register
-       is modified.
-       Update SIGNIFICANT correctly when subreg_p and multiple hard regs.
-       Compute reg_n_sets for hard registers.
-
-Sun Jan         6 13:41:49 1991  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * function.c (locate_and_pad_parm): Do REG_PARM_STACK_SPACE just once.
-
-       * Changes by wilson@cygnus.com.
-       * calls.c (expand_call): Test value of REG_PARM_STACK_SPACE instead
-       of assuming that it will always be greater than zero.
-       * function.c (assign_parms): Same as above.  Also, correct
-       calculation of STACK_BYTES.
+1999-12-15  David S. Miller  <davem@redhat.com>
 
-       * reload1.c (reload_reg_free_p): Old input reload blocks input_addr.
+       * rtlanal.c (reg_overlap_mentioned_p): Handle CONCAT.
 
-Sat Jan         5 18:32:15 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+Wed Dec 15 15:05:30 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       * Makefile.in (mostlyclean): New name for old `clean'.
-       (clean): Deletes gnulib also.
-       (cleanconfig): Need not delete gnulib here.
+       * flow.c (calculate_loop_depth): Make global, remove prototype,
+       rewrite to use new loop infrastructure.
+       (find_basic_block): Remove calculate_loop_depth call.
+       * toplev.c (rest_of_compilation): Call find_basic_block.
+       * output.h (calculate_loop_depth): Declare.
 
-       * reload.c (push_reload): Don't use dying reg unless operand fits.
+       * flow.c (dump_flow_info): Dump loop_depth.
+       (flow_loops_nodes_find): Increase loop_depth for basic block in the
+       body.
+       (flow_loops_find): Initialize the loop_depth for each basic block.
 
-       * c-parse.y (yylex): Hex and octal constants now traditionally signed.
+1999-12-15  Jason Merrill  <jason@casey.cygnus.com>
 
-Sat Jan         5 18:03:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * tree.c (decl_function_context): Handle virtual functions.
 
-       * regclass.c (regclass): reg_n_sets is one per set.  It does not
-       take into account loop_depth.  So don't adjust by loop_depth here.
+       * tlink.c (scan_linker_output): Don't look in demangled name when
+       looking for linker output keywords.
 
-Fri Jan         4 13:18:07 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * dwarfout.c (output_type): We can defer namespace-scope classes.
 
-       * function.c (put_var_into_stack): Don't mung virtual reg.
-       (fix_lexical_addr): Accept the virtual arg pointer.
-       * function.h (struct var_refs_queue): New structure.
-       (struct function): Use that for the pending var refs queue.
-
-       * print-tree.c (print_node): Nicer format for rtl of decls.
-
-       * c-decl.c (push_c_function_context, pop_c_function_context):
-       No need to deal with current_function_decl.
-
-       * c-parse.y (nested_function): Delete spurious nonterminal.
-
-Fri Jan         4 12:13:14 1991  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cplus-class.c (modify_vtable_entries): In case we are modifying
-       the main vtable, start with the vtable that comes from the immediate
-       baseclass, not the most base class.  This is needed because later
-       fixups (for non-first and virtual baseclasses) do not fix up this
-       case.
+Wed Dec 15 01:23:29 1999  Jeffrey A Law  (law@cygnus.com)
 
-Fri Jan         4 06:55:00 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * regclass.c (record_reg_classes): Update comment for merging
+       register class preferences in reg->reg copies.  Tighten conditions
+       for merging register class preferences in reg->reg copies.
 
-       * optabs.c (expand_binop): Fix typo in testing for SImode operation.
-       Generalize to apply in more cases by calling emit_store_flag rather
-       than doing the gen_sltu explicitly.
+Wed Dec 15 02:19:32 1999  David Edelsohn  <edelsohn@gnu.org>
 
-       * expmed.c (store_bit_field, extract_bit_field): When insv/extv
-       don't allow MEM and we need to load the field into a register, don't
-       use the mode of OP0 if it is wider than the mode to be used for
-       insv/extv operating on a register.
+       * rs6000.md (tablejumpdi): Generate DImode LABEL_REF.
 
-       * expmed.c (emit_stor_flag): Try to convert some comparisons with
-       1 and -1 to comparisons with zero.
-       Explicitly test sign bit of STORE_FLAG_VALUE rather than testing it
-       for being less than zero.
+1999-12-14  Geoff Keating  <geoffk@cygnus.com>
 
-       * cse.c (find_comparison_args): Don't compute STORE_FLAG_VALUE < 0;
-       instead, test the relevant sign bit.
-       Use GET_RTX_CLASS instead of comparison_code_p.
-       * loop.c (get_condition): Likewise.
+       * config/m68k/m68020-elf.h (ENDFILE_SPEC): Delete.
+       (INIT_SECTION_ASM_OP): Delete.
+       (FINI_SECTION_ASM_OP): Delete.
+       (STARTFILE_SPEC): Define to hold just crtbegin.o.
 
-       * recog.c (validate_change): Eliminate duplicate code by always
-       saving the change.  If in_group == 0, call apply_change_group.
-       (apply_change_group): If recog_memoized fails, see if we have a
-       CLOBBER at the end.  Use validate_change to replace the pattern
-       with one without the CLOBBER if so; later we will verify that change.
+1999-12-14  Jason Merrill  <jason@casey.cygnus.com>
 
-       * tree.c (stabilize_reference_1): Now static; also, define as forward
-       reference at start of file.
+       * dwarf2out.c (add_abstract_origin_attribute): Do call abort if
+       the abstract origin wasn't emitted.
 
-       * rtl.def: Add new field in DEF_RTL_EXPR macro to give the "class"
-       of the rtx operation.
-       * rtl.h: DEF_RTL_EXPR has one additional arg.
-       (rtx_class, GET_RTX_CLASS): New var and macro.
-       * rtl.c: DEF_RTL_EXPR has one additional arg.
-       (rtx_class): Initialize table.
+       * dwarf2out.c (class_scope_p): New fn.
+       (gen_subprogram_die): Use it.
+       (gen_variable_die): Use it.  Tweak logic.
+       (gen_struct_or_union_type_die): Check context_die to determine
+       if we're function-local.
+       (dwarf2out_decl): Check DECL_BUILT_IN, not DECL_FUNCTION_CODE.
 
-       * reload.c (push_reload): If an input operand contains a dead
-       register used nowhere else in the insn, try to use it as a reload reg.
-       * reload1.c (reload_as_needed): If cancelling optional reload,
-       clear reload_reg_rtx.
-       (choose_reload_regs): If we can find reload value lying around,
-       use that register unless choice made by find_reloads would also save
-       an insn (the new choice added above won't).
+1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * genoutput.c: Update comments on things written.  Change order to
-       agree with the order written.
-       (output_epilogue): Remove extraneous tests.
+       * loop.c (check_dbra_loop): Can't reverse a biv that has
+       maybe_multiple set.
 
-Thu Jan         3 13:32:54 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+1999-12-14  Nick Clifton  <nickc@cygnus.com>
 
-       * rtl.c (read_rtx): Cast NULL vector.
+       * config/arm/arm.c: Add support for -mcpu=arm720 command line
+       switch.
 
-       * By Jim Wilson.
-       * tree.c (stabilize_reference): Modified to call stabilize_reference_1
-       instead of save_expr.
-       (stabilize_reference_1): New function.  For arithmetic operator trees,
-       recurse on the subtrees.  Otherwise, put a SAVE_EXPR around the
-       tree if it has side-effects.  
+Tue Dec 14 18:13:32 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-Thu Jan         3 12:37:56 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * loop.c (strength_reduce): Fix sign of giv lifetime calculation
+       for givs made from biv increments.
 
-       * reload1.c (choose_reload_regs): Only set reload_when_needed to
-       RELOAD_FOR_OUTPUT or RELOAD_FOR_INPUT when it used to be RELOAD_OTHER.
+Tue Dec 14 08:11:27 1999  Richard Henderson  <rth@cygnus.com>
 
-Wed Jan         2 18:28:23 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+       * configure.in (alpha-osf, alpha-linux): Handle ev6[78].
+       * alpha.c (override_options): Recognize -mcpu=ev67.
+       * alpha.h (CPP_CPU_EV67_SPEC): New.
+       (CPP_CPU_DEFAULT_SPEC): Examine TARGET_CPU_DEFAULT to use it.
+       (EXTRA_SPECS): Update.
 
-       * emit-rtl.c (init_emit_once): Fix typo setting constm1_rtx.
+Tue Dec 14 08:04:28 1999  Richard Henderson  <rth@cygnus.com>
 
-Wed Jan         2 07:53:04 1991  Michael Tiemann  (tiemann at cygnus.com)
+       * cppp.c (main): Set trigraphs and __STRICT_ANSI__ as
+       appropriate for -lang-c89 and -std=*.
+       * cppinit.c (cpp_handle_option): Likewise.
+       (new_pending_define): New, split out from cpp_handle_option.
+       * gcc.c (default_compilers): Don't define __STRICT_ANSI__
+       or enable trigraphs for -ansi/-std=*.
 
-       * sparc.md (fix_truncdfsi2 recognizer): xoperands must have 3
-       elements because `output_fp_move_double' can write to operands[2].
+       * ginclude/stdarg.h (__va_copy): New.
+       (va_copy): Don't define for C89.
 
-Wed Jan         2 17:16:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Dec 14 08:37:27 CST 1999 Clinton Popetz  <cpopetz@cygnus.com>
 
-       * calls.c (emit_call_1): If we have call_pop, use it if we have
-       no stack arguments.
+       * config/arm/arm.md (mulsidi3adddi, umulsidi3adddi): New patterns
+       for long long multiply-accumulate.
 
-       * out-vax.c (relational_op): Deleted, redundant.
-       * vax.md (branch): Use comparison_operator (in recog.c) instead of
-       relational_op.
-       * tm-vax.h (PRINT_OPERAND_PUNCT_VALID_P): "C" is not punctuation.
+Tue Dec 14 13:51:38 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       * reload1.c (reload_as_needed, forget_old_reloads_1): Don't clear
-       reg_has_output_reload and reg_is_output_reload for each insn, just
-       ones that need reload.  Instead, interpret each entry as zero if
-       n_reloads == 0.
+       * regclass.c (scan_one_insn): Set loop_cost to 1 when
+       optimizing for size.
 
-Wed Jan         2 15:52:13 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * optabs.c (expand_binop): Fix typos.
+       * reload1.c (reload): Can't avoid select_reload_regs/finish_spills
+       if something changed.  Back out that part of yesterday's changes.
 
-       * toplev.c (rest_of_compilation): Clear cse_not_expected after loop.
-       * rtl.h (cse_not_expected): Declare here.
-       * expr.h: Not here.
+       * loop.c (loop_max_reg): New static variable.
+       (loop_optimize): Initialize it.  Eliminate one unnecessary call to
+       max_reg_num.
+       (scan_loop): Call reg_scan_update whenever we may have added new
+       registers, and update loop_max_reg.
 
-Tue Jan         1 21:55:11 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+Tue Dec 14 12:07:29 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       * emit-rtl.c (constm1_rtx): New standard constant.
-       (gen_rtx): Use it when appropriate.
-       (init_emit_once): Initialize it.
+       * regclass.c  (record_reg_classes): Do not do the copying preferrencing
+       when source does not die.
 
-       * out-vax.c (split_quadword_operands): New function.
-       (relational_op): Likewise.
-       * vax.md (extendsidi2, adddi3, subdi3): New patterns.
-       (movdi): Use clrq when appropriate.
-       (movaq recognizer): New pattern.
+       * regclass.c (record_reg_classes): Handle INOUT operands properly.
 
-       * recog.h (OUT_FCN): New macro.
-       * genoutput.c: Include recog.h in output file.  No
-       longer define "const", since that happens in recog.h.
+1999-12-14  Jakub Jelinek  <jakub@redhat.com>
 
-       * tm-vax.h (PRINT_OPERAND): Add 'C' to print a reversed condition.
-       * out-vax.c (rev_cond_name): Return its name.
-       * vax.md (unnamed patterns): Combine several reversed branch patterns
-       into one, using match_operator with relational_op and "%C".
+       * config/sparc/linux64.h (TARGET_LIVE_G0,
+       TARGET_BROKEN_SAVERESTORE): Don't support weird SPARC
+       variants on Linux.
+       * config/sparc/linux.h (TARGET_LIVE_G0,
+       TARGET_BROKEN_SAVERESTORE): Likewise.
+       * config/sparc/linux-aout.h (TARGET_LIVE_G0,
+       TARGET_BROKEN_SAVERESTORE): Likewise.
 
-       * optabs.c (expand_binop): Handle multi-word addition and subtraction.
+       * config/sparc/sparc.h (SPARC_DEFAULT_CMODEL): Default to CM_32.
+       (CONDITIONAL_REGISTER_USAGE): For block profiling fix %g4 on sparc64,
+       not %g2.
+       (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Use %g4 instead of %g2
+       as sparc64 block profiling register.
+       * config/sparc/sparc.c (sparc_override_options): Allow block
+       profiling with -m32.
+       (sparc_block_profiler): Use %g4 instead of %g2 as sparc64 block
+       profiling register.
+       * config/sparc/linux64.h (MACHINE_STATE_*): Only provide these
+       macros on TARGET_ARCH32. sparc.h has macros good enough for sparc64.
+       * config/sparc/sol2.h (MACHINE_STATE_*): Likewise.
 
-       * Makefile.in (install-gnulib): Use RANLIB_TEST.  Use libg_dir.
-       (libg_dir): New customization variable.
+       * config/sparc/xm-sp64.h: Avoid using __sparc_v9__ when testing
+       for sparc64.
+       * config/sparc/sparc.h: Likewise.
+       * config/sparc/xm-sysv4-64.h: Likewise.
+       * config/float-sparc.h: Likewise.
+       * glimits.h: Likewise.
+       * longlong.h: Likewise.
 
-       * assert.h (__assert): Use standard GNU format for error messages.
+       * config/sparc/linux64.h (DEFAULT_VTABLE_THUNKS): Define to 1.
+       (ASM_IDENTIFY_GCC): Remove.
 
-Tue Jan         1 21:25:00 1991  Richard Kenner  (kenner at vlsi1)
+1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * reload1.c (eliminate_regs, case PLUS): Always move constant to the
-       outside of a PLUS expression.
+       * combine.c (combine_simplify_rtx): Don't make shared rtl.
+       (simplify_logical): Likewise.
 
-Tue Jan         1 11:45:22 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+1999-12-14  Mumit Khan  <khan@xraylith.wisc.edu>
 
-       * ecoff-cmp: Specify `c' in option to tail.
+       * cccp.c (INO_T_EQ): Disable inode-based optimization for Cygwin.
+       * cppfiles.c (INO_T_EQ): Likewise.
 
-       * stor-layout.c (layout_record, layout_union, layout_type):
-       Use ROUND_TYPE_ALIGN and ROUND_TYPE_SIZE to compute
-       alignment and size of records, unions and arrays.
-       * ROUND_TYPE_ALIGN: New.  Args are type, spec'd align, other min align.
-       * ROUND_TYPE_SIZE: New.  Args are type, size of contents, align.
+1999-12-14  Mumit Khan  <khan@xraylith.wisc.edu>
 
-       * reload1.c (emit_reload_insns) [PRESERVE_DEATH_INFO_REGNO_P]:
-       Scan output and output-address reloads together.
-       Check for matching hard reg.
+       * i386/crtdll.h (STARTFILE_SPEC): Add -pg profiling support.
+       * i386/mingw32.h (LIB_SPEC): Likewise.
+       (STARTFILE_SPEC): Likewise.
+       * i386/uwin.h (LIB_SPEC): Likewise.
+       (STARTFILE_SPEC): Likewise.
 
-       * config.gcc: Set proper shell vars in big dispatch.  Not `machine'.
-       (i386-isc): New alternative.
+       * i386/mingw32.h (SUBTARGET_PROLOGUE): Override Cygwin definition.
+       * i386/uwin.h (SUBTARGET_PROLOGUE): Likewise.
 
-Tue Jan         1 08:29:49 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Dec 13 20:25:29 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * reorg.c (update_block): Turn bb_tick update back on; it is needed,
-       after all.
+       * combine.c (combine_simplify_rtx): Fix order of checks for
+       (ashiftrt foo C) -> (lt foo (const_int 0)) simplification.
 
-Mon Dec 31 18:12:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+1999-12-13  Clinton Popetz  <cpopetz@cygnus.com>
 
-       * genattrtab.c (write_test_expr, case EQ_ATTR): Use correct expression
-       number for attribute value.
+       * config/arm/arm.md  (*mulsidi3adddi, *umulsidi3adddi) Backed out
+       12/10/99 change, reapplied to merged-arm-thumb-backend-branch.
 
-       * cse.c (cse_insn): Use single_set when looking for an insn that sets
-       cc0 followed by one that no longer does.
+1999-12-10  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * recog.c (find_single_use): If the next insn after one that sets
-       cc0 is not an INSN or JUMP_INSN, return 0; don't blow up on a NOTE.
+       * hard-reg-set.h (inv_reg_alloc_order): Declare if REG_ALLOC_ORDER is
+       defined.
+       * regclass.c (inv_reg_alloc_order): New array.
+       (regclass_init): If REG_ALLOC_ORDER is defined, initialize it.
+
+       * reload.h (struct insn_chain): Delete fields group_size, group_mode,
+       counted_for_groups, counted_for_nongroups.  Add fields rld and
+       n_reloads.
+       * reload.c (push_secondary_reload): Don't set nongroup field of
+       new reloads.
+       (push_reload): Likewise.
+       (find_reloads): Delete code to compute nongroup fields.
+       * reload1.c (reload_insn_firstobj): New static variable.
+       (pseudos_counted, spilled_pseudos): Now of type regset_head.  All
+       users changed.
+       (calculate_needs, find_tworeg_group, find_group, possible_group_p,
+       count_possible_groups, modes_equiv_for_class_p, new_spill_reg,
+       dump_needs, maybe_mark_pseudo_spilled, hard_reg_use_compare): Delete
+       functions.
+       (count_pseudo, select_reload_regs, copy_reloads, find_reg): New
+       functions.
+       (struct hard_reg_n_uses): Deleted.
+       (potential_reload_regs): Deleted.
+       (init_reload): Initialize spilled_pseudos and pseudos_counted.
+       (reload): Don't try to allocate reload registers if we already know
+       we have to make another pass.  Call select_reload_regs.  Free memory
+       starting with reload_firstobj when starting another pass.
+       Don't allocate spilled_pseudos.
+       (calculate_needs_all_insns): Call copy_reloads for an insn that
+       needs reloads; don't call calculate_needs.
+       (spill_cost): New static array.
+       (used_spill_regs_local): New static variable.
+       (order_regs_for_reload): Rewrite to lose hard_reg_n_uses and the code
+       to compute potential_reload_regs.
+       (find_reload_regs): Completely rewritten to use find_reg.
+       (allocate_reload_reg): Don't test counted_for_groups or
+       counted_for_nongroups.  Lose NOERROR arg and code to give an error;
+       all cllers changed.
+       (choose_reload_regs): Add fallback code that uses the existing
+       register allocation from find_reload_regs.
+
+Mon Dec 13 00:54:14 1999  Philippe De Muyter  <phdm@macqel.be>
+
+       * flow.c (create_edge_list): Cast xmalloc return value.
+
+Mon Dec 13 00:47:58 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * doprnt.c: Remove incorrect comment closure.
+
+       * cse.c: Fix a few minor whitespace goofs.
+
+1999-12-13  Don Bowman  <don@pixstream.com>
+
+       * mips/vxworks.h: Fix problem with comment termination.
+       (EXTRA_SECTIONS): Add in_sbss.
+       (EXTRA_SECTION_FUNCTIONS): Corresponding changes.
+
+1999-12-12  David S. Miller  <davem@redhat.com>
+
+       * cse.c (struct cse_reg_info): Add hash_next member,
+       reorder rest of struct for better packing on 64-bit
+       hosts.
+       (cse_reg_info_tree): Kill.
+       (REGHASH_SHIFT, REGHASH_SIZE, REGHASH_MASK, reg_hash,
+       REGHASH_FN): New custom pow2 hash mechanism.
+       (NBUCKETS): Kill.
+       (HASH_SHIFT, HASH_SIZE, HASH_MASK, HASH, table): Rework to
+       use a pow2 hash table.
+       (get_cse_reg_info): Rework to use new REGHASH.
+       (new_basic_block): Likewise, use HASH_SIZE, and inline
+       free_element call.
+       (remove_from_table): Rework to use HASH_SIZE/HASH_MASK,
+       and inline free_element call.
+       (lookup_as_function, insert, flush_hash_table, invalidate,
+       remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
+       invalidate_for_call, use_related_value, find_comparison_args,
+       fold_rtx, equiv_constant, cse_insn, invalidate_memory): Likewise.
+       (hash_cse_reg_info, cse_reg_info_equal_p, free_element,
+       get_element): Kill.
+
+Sun Dec 12 21:31:44 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * cse.c (cse_basic_block): Free qty_table consistently.
+
+1999-12-12  David S. Miller  <davem@redhat.com>
+           Jakub Jelinek    <jakub@redhat.com>
+
+       * config/sparc/sparc.md (movtf reg/reg split): Don't generate
+       SUBREGs by hand, gen the appropriate hard reg directly.
+       (movtf reg/mem split): Likewise and alter_subreg on destination
+       if necessary.
+       (movtf mem/reg split): Similarly.
+       (movdf_cc_sp64): Rename from hidden pattern.
+       (movtf_cc_hq_sp64): Renamed from movtf_cc_sp64.
+       (movtf_cc_sp64, following split): New pattern and splitter.
+       (movdf_cc_reg_sp64): Rename from hidden pattern.
+       (movtf_cc_reg_hq_sp64): Renamed from movtf_cc_reg_sp64, require
+       TARGET_HARD_QUAD.
+       (movtf_cc_reg_sp64, following split): New pattern and splitter.
+
+1999-12-12  Stephen L Moshier <moshier@mediaone.net>
+
+       * loop.c (load_mems): Don't hoist written floating point mem
+       if -ffloat-store.
+
+1999-12-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * except.h (struct eh_queue): Add `next' pointer.
+       (struct eh_status): Make x_ehqueue a pointer.
+       (push_ehqueue):  Declare.
+       (pop_ehqueue): Likewise.
+       * except.c (expand_eh_region_end): Adjust now that ehqueue is a
+       pointer.
+       (expand_fixup_region_end): Likewise.
+       (expand_leftover_cleanups): Likewise.
+       (push_ehqueue): Define.
+       (pop_ehqueue): Likewise.
+       (emit_cleanup_handler): Use push_ehqueue and pop_ehqueue rather
+       than doing it inline.
+       (expand_start_all_catch):  Adjust now that ehqueue is a
+       pointer.
+       (mark_eh_queue): Mark all level of the queue.
+       (mark_eh_status):  Adjust now that ehqueue is a
+       pointer.
+       (init_eh_for_function): Allocate ehqueue.
+       (free_eh_status): Free it.
+       * stmt.c (expand_cleanups): Save the ehqueue around the cleanup
+       expansion for a fixup.
+
+1999-12-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gthr-single.h (__gthread_active_p): Add prototype arguments.
+
+       * libgcc2.c (__udivmoddi4): Remove unnecessary decls.
+       (__dummy, __builtin_saveregs, __bb_exit_trace_func, __bb_init_prg,
+       __bb_trace_func, __bb_trace_func_ret, __bb_trace_ret,
+       function_ptr, getpagesize, __enable_execute_stack,
+       __enable_execute_stack, __clear_insn_cache,
+       __enable_execute_stack, __do_global_dtors, __do_global_ctors,
+       _cleanup, _exit, __default_terminate, __terminate_func,
+       __terminate, __empty, __throw, new_eh_context,
+       eh_context_initialize, eh_context_static, eh_context_specific,
+       get_eh_context, __get_eh_context, __get_eh_info,
+       init_reg_size_table, eh_threads_initialize,
+       __get_dynamic_handler_chain, __sjthrow, __sjpopnthrow,
+       __unwinding_cleanup, throw_helper, __throw, __rethrow,
+       __pure_virtual): Add prototype arguments.
+       (__bb_exit_func): Cast a sizeof to long when comparing against one.
+       Cast a signed value to unsigned long when comparing against one.
+       (new_eh_context): Wrap in _GTHREADS macro.
+       (__sjthrow, __sjpopnthrow): Initialize variable `cleanup' at
+       declaration.
+       (in_reg_window): Mark parameters with __attribute__ ((__unused__)).
+       (throw_helper): Initialize variables `handler_p' and `pc_p'.
+
+1999-12-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * combine.c (record_promoted_value): Remove unused variable
+       `links2'.
+
+       * emit-rtl.c (renumber_insns): Likewise for `old_max_uid'.
+
+       * global.c (record_conflicts): Likewise for `j'.
+
+       * genoutput.c (output_insn_data): Don't unnecessarily cast away
+       const-ness.
+
+1999-12-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * i386-protos.h (output_387_binary_op, output_fix_trunc,
+       output_fp_compare): Constify a char*.
 
-       * emit-rtl.c (emit_insn_before, emit_insn_after, emit_insn): Return
-       something sensible if a SEQUENCE of length zero was passed.
-       We no longer make a SEQUENCE with XVEC == 0, so don't test for it.
+       * i386.c (ix86_split_to_parts, ix86_safe_length_prefix): Add
+       static prototypes.
+       (override_options, ix86_comp_type_attributes, print_operand,
+       output_387_binary_op, output_fix_trunc, output_fp_compare):
+       Constify a char*.
+       (ix86_sched_reorder): Mark parameter `clock_var' with
+       ATTRIBUTE_UNUSED.
 
-       * reload1.c (emit_reload_insns): Handle gen_move_insn returning
-       no insns (occurs on RT for dummy registers).
-       
-       * rtl.h (reg_cc0_rtx, find_cc): No longer needed.
-       * emit-rtl.c: Likewise.
-       * conditions.h: Entire file is #ifdef HAVE_cc0.
-       * final.c (CC_STATUS_INIT): Make a null default #ifndef HAVE_cc0.
-       (cc_status): No longer exists #ifndef HAVE_cc0.
-       (final_scan_insn): Do CC processing only #ifdef HAVE_cc0.
-       (alter_cond): Only exists #ifdef HAVE_cc0.
-       * genemit.c (gen_exp): No longer have CC0_REGNUM or reg_cc0_rtx.
-       * genoutput.c (main): Include insn-config.h before conditions.h.
-       * reorg.c: Likewise.
-       * jump.c (rtx_equal_for_thread_p): Remove reference to CC0_REGNUM;
-       we'll have to do this optimization some other way later.
-       * tm-a29k.h (NOTICE_UPDATE_CC): Deleted.
-
-Mon Dec 31 14:44:31 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * reload.h (enum_reload_when_needed):
-       New alternatives RELOAD_FOR_OUTPUT, RELOAD_FOR_INPUT.
-       * reload1.c (choose_reload_regs): Use those when appropriate.
-       (mark_reload_reg_in_use): Record this usage specially.
-       (reload_reg_free_p, reload_reg_free_before_p): Handle this usage.
-       (reload_reg_reaches_end_p): Likewise.
-       (emit_reload_insns): Treat RELOAD_FOR_INPUT like RELOAD_OTHER.
-
-       * i386.md (push for SFmode): Operand of fst was missing.
-
-Mon Dec 31 08:50:17 1990  Craig Burley (burley at pogo.ai.mit.edu)
-
-       * stor-layout.c (layout_type): For ARRAY_TYPE case, don't try
-       and compute a size if there is no TYPE_MAX_VALUE for the index.
-       * tree.c, tree.h (build_index_2_type): New function, like
-       build_index_type except it accepts the low value as an arg instead
-       of assuming 0.
-
-Mon Dec 31 08:09:10 1990  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cplus-typeck.c (c_expand_return): Handle case when we try
-       to return a void value (such as a void function call) in a
-       function returning void, and there are cleanups to run.
-
-Sun Dec 30 21:08:32 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * tm-a29k.h (TARGET_VERSION): Can't use target_flags since we can
-       be called from gcc.c.
-
-       * tm-rs6000.h (REG_ALLOC_ORDER): Put r12 after r13; it might be 
-       holding a DImode value and so might be very expensive (we won't
-       worry about TImode).
-
-       * rs6000.md (subtract patterns): Fix incorrect operand number in %I.
-       (movti): Disallow indexed memory operands.
-
-       * out-rs6000.c (print_operand, case 'm'): Fix typo.
-       (includes_rshift_p): Correctly compute mask.
-
-       * out-a29k.c (output_operand): Add missing parentheses.
-       (print_operand): Replace if/then/else structure with switch statement.
-
-       * a29k.md (beq, bne): Try to use NE test whenever possible; it
-       will produce better code if we have bit-tests.
-
-Sun Dec 30 12:02:03 1990  Michael Tiemann  (tiemann at cygnus.com)
-
-       * tm-sparc.h (PRINT_OPERAND): Put 'R' case before REG so that it
-       takes when 'R' is passed in as CODE.  Also, handle 'B' letter.
-
-       * sparc.md: (pattern for converting DFmode to SImode): Second
-       argument to `output_asm_insn' should be `operands', not zero.
-       (tablejump): The jump insn is "jmp", not "jump".
-       (gen_fixtruncdfsi2): operands[2] should get the pseudo, not
-       operands[3] (which is nonexistent).
-       (call): Fix typo which had %o7 being emitted as %o.
-       (various patterns): Fixed places where match_operand had the wrong
-       operand number.
-
-Sat Dec 29 17:27:00 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * sparc.md: cc_status no longer handles condition code updates.
-       Instead, condition codes are explicitly set and used via
-       hard register 0.  Special attributes specific to condition codes
-       (such as whether conditional branches should test the integer or
-       floating-point condition codes, or that the condition codes cannot
-       be tested for a condition which would test the overflow bit) are
-       handled by encoding the attribute in the mode for the condition
-       code register.
-       (type attributes): type "unary" insns have one input operand (1)
-       and one output operand (0)
-       type "binary" insns have two input operands (1,2) and one output (0)
-       type "compare" insns have one or two input operands (0,1) and no output
-       type "move" and type "arith" have been deleted.
-       (prescan attribute): Deleted.  Machine description now puts
-       floating-point zero in registers when needed.
-       (use_cc attribute): Deleted.
-       (fpcc define_delay): No longer depend on "use_cc" attribute.
-       Also, fpcc delay characteristics hold for "fpcc" type insns.
-       (cc attribute): Deleted.
-       (cmpxx patterns): Now written as `define_expand's so we can stow
-       away operands.  When the pattern that will use the results of the
-       conditional test is emitted, it can use these operands to figure
-       out the right way to emit the compare.
-       (bcc patterns): Rewritten to emit comparison (based on stowed-away
-       info) before emitting branch.
-       (scc patterns): Handle all the cases with branch-free code.
-       Added new pattern to recognize (x + (i == 0)).
-       (movsi pattern recognizer): Split into two patterns so that e.g.
-       "(set:SI (mem:SI ...) (const_int 5))" is never considered valid.
-       Instead this has to be a two-insn sequence.
-       (mov{hq}i pattern recognizers): Ditto.
-       (movstrsi): Force operands[2] out of memory if it was in memory.
-       ({zero,sign}_extendXY): Now written as `define_expand's instead of
-       `define_insn's for more accurate machine modeling.
-       Added new pattern to optimize bit-field compares.
-       (floatsisf2 patterns): Delete redundant setting of "in_call_delay"
-       attribute.
-       (fix_trunc{sf,df}si2 pattern): Use clobberable register in which
-       the conversion can take place.  Used to use %f30,%f31.
-       ({add,sub}di3 pattern): Put explicit clobber of (reg 0) in the
-       pattern.
-       (negdi2 pattern): Ditto.
-       Added new patterns to handle merging of addition/subtraction with
-       condition code testing (with (reg:CC_NOOV 0)).
-       ({and,ior,xor}cbsi3 pattern): Obsolete.  Deleted.
-       Added patterns to represent setting of condition codes in addition
-       to performing logical operations.
-       ({neg,abs}df2 pattern): Use `R' print letter to overcome the need
-       to use a C action instead of a simple template.
-       (ash{l,r}{hi,qi}3): Define patterns for shifts on sub-SImode
-       operands.
-       (jump pattern): Use `*' print code to obviate the need for a C
-       action when a template can do.
-       (tablejump pattern): Ditto, with `^' code as well.
-       Deleted `define_split's that were used to handle mem-mem moves in
-       the case of PIC generation.  Since all move insns are emitted and
-       maintained as SPARC-valid insns, these should no longer be needed.
-       (various patterns): (HI ...) is spelled (HI:SI ...).  Also, use
-       `gen_lowpart' instead of building subregs directly.
-       New `define_split's were added to split scc insns into simpler
-       components which have single-insn templates.
-       Fixed a return peephole when returning a SFmode value (it was
-       missing the "ret"!).
-       Lots of complicated peepholes that brought cc testing and
-       arithmetic operations together were deleted.  This is because the
-       combiner should now handle all these cases.
-
-       * out-sparc.c (sparc_compare_op{0,1}): New global variables.
-       Used to hold the operand(s) to compare insns in lieu of emitting a
-       compare.
-       (reg_or_cc0_operand): Deleted.
-       (normal_comp_operator): New function.
-       (cc_arithop): Now returns 0 for PLUS and MINUS.
-       (cc_arithopn): Now returns 0 for XOR.
-       (gen_compare_reg): New function.
-       (sparc_address_cost): Simplified because it turns out it doesn't
-       matter what is returned for illegitimate addresses.
-       (hard_regno_mode_ok): Updated to use these new #defines.
-       (C_MODES): New #define, for condition code modes.
-       (S_MODES): Ditto, for single-word (and smaller) quantities.
-       (D_MODES): Ditto, for double-word (and smaller) quantities.
-       (T_MODES): Ditto, for tetra-word (and smaller) quantities.
-       (SF_MODES): Ditto, for SFmode quantities.
-       (DF_MODES): Ditto, for SF_MODE, DFmode, SCmode, etc.
-       (TF_MODES): Ditto, for DF_MODE, TFmode, DCmode, etc.
-       (output_floatsi{df,sf}2): Greatly simplified.
-       (output_pic_sequence,output_pic_sequence_2,fp_zero_hook,
-       output_tail_call): Turned off.
-
-       * tm-sparc.h (ASM_SPEC): Pass `-k' to assembler if compiling PIC.
-       (WORDS_BIG_ENDIAN): Define as 1, not 0.
-       (FIXED_REGISTERS): %f30 and %f31 are now allocatable.
-       (REG_CC0_RTX, CC0_REGNUM): Deleted.
-       (EXTRA_CC_MODES): New modes CC_NOOVmode and CCFPmode.  The former
-       is for when the overflow bit it not to be tested; the latter is
-       for when the condition is sitting in the floating point unit.
-       (SELECT_CC_MODE): New macro.
-       (FINAL_PRESCAN_INSN): Deleted.
-       (CC_* macros): Deleted.
-       (PRINT_OPERAND_PUNCT_VALID_P): New valid chars are '#' (for
-       whether to print a noop or not), '*' (for whether to print a ",a"
-       or not), and '^' (for whether to emit code for PIC branch or not).
-       (PRINT_OPERAND{,_ADDRESS}): Replace calls to fprintf by calls to
-       fputs where that is convenient.
-
-       * expr.h, cplus-dbxout.c: #ifdef BYTES_BIG_ENDIAN should be #if.
-
-       * reload.c (struct replacement): Add new field subreg_loc.
-       (push_reload): If reloading SUBREG_REG of a paradoxical SUBREG,
-       store the location of the SUBREG in subreg_loc in REPLACEMENTS.
-       (push_replacement): Initialize subreg_loc.
-       (subst_reloads): Don't produce nested SUBREGs; use subreg_loc.
-
-       * regclass.c (regclass): Handle (set X (op CONST Y)) properly when
-       the modes of operands 0 and 1 are different.
-
-Sat Dec 29 16:37:10 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * cccp.c (macroexpand): Test traditional when computing expansion size.
-
-       * toplev.c (compile_file):
-       If profiling, leave some space after `gcc_compiled.'.
-       * tm-m88k.h, tm-sparc.h, tm-sun386i.h (ASM_IDENTIFY_GCC): Deleted.
-
-       * reload1.c (emit_reload_insns): Set reg_reloaded_contents, etc, here.
-       (choose_reload_regs): Not here--except for reg_has_output_reload.
-
-       * c-parse.y (nested_function, notype_nested_function):
-       Use compstmt for body, not compstmt_or_error.
-
-       * Makefile.in (install-headers): Use basename on 
-       * stupid.c (stupid_mark_refs): Really do mark clobbered hardreg
-       live before the insn.
-
-Fri Dec 28 05:44:10 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * emit-rtl.c (subreg_lowpart_p): Use correct modes in
-       WORDS_BIG_ENDIAN case.
-
-       * reload.c (combine_reloads): Don't try to reference
-       insn_operand_constraint for an ASM insn.
-       Fix typo in testing for modified operand.
-
-Thu Dec 27 19:02:54 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * cse.c (cse_insn): Ensure we invalidate SET_DEST if SET_SRC is a CALL.
-
-       * cse.c (fold_rtx): Save mode of original first operand in case this
-       is becoming (sign_extend (const_int)).
-
-Thu Dec 27 16:15:56 1990  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * m88k.md, out-m88k.c (CCmode): Use it.
-       (emit_bcnd): Avoid loosing when bcnd is changed into sxx.
-       (hi16/lo16): Don't use these to form 16-bit immediate values.
-       Introduce and use %X/%x.
-       (length attribute): Make better use of defaults.
-
-       * tm-v88r32.h (LIB_SPEC): Goes here rather than in xm-v88r32.h.
-       * xm-*88*.h: Clean these up.  Most differences go away by relying
-       on the 88open standards.
-
-Thu Dec 27 12:48:26 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * expmed.c (store_bit_field, extract_bit_field):
-       Change #ifdef to #if, testing BYTES_BIG_ENDIAN.
-
-Thu Dec 27 07:36:45 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * reorg.c (find_end_label): Ignore USE and CLOBBERs when looking for
-       label at end of function.
-
-Wed Dec 26 22:35:59 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * emit-rtl.c (sequence_element_free_list, sequence_result): New vars.
-       (restore_emit_status, init_emit): Initialize them.
-       (emit_insn_before, emit_insn_after, emit_insn): Save SEQUENCE in
-       sequence_result.
-       Make these three routines more alike in structure.
-       (start_sequence, end_sequence, push_to_sequence): Cache INSN_LIST pairs
-       in sequence_element_free_list rather than making new ones.
-       (start_sequence): No longer return unused rtx; only one caller
-       needed to be changed (in function.c, see below).
-       (end_sequence): No longer has argument.
-       (gen_sequence): Try obtaining a pre-built SEQUENCE from
-       sequence_result; no longer special-case length 0 vectors.
-       * function.c (fixup_memory_subreg): start_sequence no longer
-       returns an rtx and end_sequence no longer has an argument.
-       * rtl.h (start_sequence): Now void.
-       (push_to_sequence, end_sequence): Define.
+       * i386.h (DEBUG_PRINT_REG): Constify a char*.
 
-Wed Dec 26 13:19:40 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Fri Dec 10 16:12:13 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-       * gnulib.c: No longer #undef perform_* if not __GNUC__.
-       (perform_*): Define each if not already def.
+       * tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third
+       operand, for use in the Java front-end.
 
-Tue Dec 25 17:31:17 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+1999-12-10  Ben Collins  <bcollins@debian.org>
 
-       * loop.c (get_condition): Rework scan that looks for sets of things
-       being compared to allow intervening insns; check to ensure that
-       they don't set something that we need.  Return 0 if the best we can
-       do is find something whose mode is in class MODE_CC.
+       * configure.in: Fix typo for "-64" in 64bit as check.
+       * configure: Rebuilt.
 
-       * calls.c (emit_call_1): RETURN_POPS_ARGS now gets the length of
-       arguments on the stack and returns the number of bytes popped by the
-       called function.
-       * output.h (current_function_pops_args): Change description.
-       * function.c (current_function_pops_args): Likewise.
-       (assign_parms): Initialize current_function_pops_args here.
-       (init_function_start): Not here.
-       * tm-*.h (RETURN_POPS_ARGS): Reflect new meaning.
-       (FUNCTION_EPILOGUE): Use new meaning of current_function_pops_args.
-       * out-i386.c (function_epilogue): Likewise.
+1999-12-10  Jakub Jelinek  <jakub@redhat.com>
 
-Tue Dec 25 15:52:06 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT where
+       appropriate.
 
-       * gnulib.c (all functions): Support a hook for redefining contents.
-       These hooks are called perform_addsi3, and so on.
-       They are used only if compiling with GCC.
+1999-12-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * rtlanal.c (single_set): Moved from loop.c.
+       * c-parse.in (string): With -Wtraditional, warn if ANSI string
+       concatenation is utilized.
 
-       * cse.c (fold_rtx): For a MEM, fold address when looking for constant.
-       (cse_insn): When fetch a constant label from a dispatch,
-       substitute into following tablejump.
-       (find_best_addr): Clear do_not_record before hashing.
-       * jump.c (mark_jump_label): Don't record table-labels on non-jumps.
+       * invoke.texi (-Wtraditional): Document it.
 
-       * m68k.md (casesi_2 recognizer): Use register_operand as predicate.
+1999-12-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Mon Dec 24 17:54:42 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * flow.c (flow_loops_dump): Avoid ANSI string concatenation.
+       Cast a ptrdiff_t to long and pass it to printf with %ld.
 
-       * cse.c (fold_rtx): Handle ADDR_DIFF_VEC like ADDR_VEC,
-       when the index in it is constant.
+1999-12-10  Geoff Keating  <geoffk@cygnus.com>
 
-       * c-decl.c (start_function): Handle new option -Wmissing_prototypes.
-       (c_decode_option): Likewise.
+       * config/m68k/m68k.h (CONDITIONAL_REGISTER_USAGE): If we have no
+       68881, we have no 68881 registers at all.
+       (HARD_REGNO_MODE_OK): It is always OK to put a MODE_FLOAT
+       value in a 68881 register if it is available.
 
-Mon Dec 24 07:21:06 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+1999-12-10  Clinton Popetz  <cpopetz@cygnus.com>
 
-       * rtl.h (reload_completed, reload_in_progress): Now defined here.
-       * output.h (reload_completed): No longer defined here.
-       * emit-rtl.c, optabs.c, recog.c, sched.c, toplev.c, out-a29k.c:
-       Don't define reload_in_progress or reload_completed.
-       * a29k.md, romp.md, rs6000.md: Likewise.
+       * config/arm/arm.md (*mulsidi3adddi, *umulsidi3adddi): New patterns
+       for long long multiply-accumulate.
 
-       * machmode.def: Terminate GET_MODE_WIDER_MODE chains with VOIDmode,
-       not zero.
-       (CCmode): New mode.
-       * machmode.h (enum machine_mode): Includes modes in EXTRA_CC_MODES,
-       if defined.
-       (enum mode_class): New class MODE_CC; delete MODE_FUNCTION.
-       * rtl.c (mode_name): Define to be known size; add names for extra
-       CC modes, if present.
-       (mode_class, mode_size, mode_unit_size, mode_wider_mode): Define
-       to be known size.
-       (init_rtl): Initialize extra CC modes.
+1999-12-10  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-Sat Dec 22 19:33:54 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * loop.c (insert_loop_mem): Undo last change.
 
-       * tm-i386v.h (MAXPATHLEN): Define if not already defined.
-       * tm-i386vgas.h: New file.
+1999-12-10  David S. Miller  <davem@redhat.com>
 
-       * out-i386.c (print_operand_address): Handle scaled indexing.
+       * config/sparc/sparc.c (fp_sethi_p, fp_mov_p, fp_high_losum_p):
+       New functions.
+       * config/sparc/sparc-protos.h: Add them.
+       * config/sparc/sparc.h: Add them to PREDICATE_CODES.
+       (EXTRA_CONSTRAINT_BASE): New macro, handling Q, R, and S
+       constraints which use those helpers.
+       (EXTRA_CONSTRAINT): Use this new macro.
+       * md.texi: Update sparc target constraints documentation.
+       * config/sparc/sparc.md (clear_sf, clear_sfp, movsf_const_intreg,
+       movsf_const_high, movsf_const_lo, movsf_insn): Delete.
+       (movsf_insn_novis_liveg0, movsf_insn_novis_noliveg0,
+       movsf_insn_vis, movsf_lo_sum, movsf_high): New patterns.
+       (movsf high/lo_sum split): Rework for new patterns.
+       (movsf expander): Allow storing fp_zero to memory if ! live_g0.
 
-Sat Dec 22 11:15:03 1990  Tom Wood  (wood at dg-rtp.dg.com)
+1999-12-09  Gavin Romig-Koch  <gavin@cetus.cygnus.com>
 
-       * m88k.md, out-m88k.c, tm-m88k.h (swapped cmpsi): Don't rely on
-       NOTICE_UPDATE_CC doing the job.  Instead, compliment the swapped
-       compare.  Also, make COMPARE SImode.
-       (and/cmpsi/sxx/neg): Add patterns to do this in one instruction.
-       Change sign_extend/sxx to neg/sxx for other cases.
-       (iorsi3/xorsi3): Use alternatives and explicit patterns.
-       (casesi): Make the constant the second operand to cmpsi.
-       (output_and): Must compliment value to use the clr instruction.
-       (output_reg_adjust): Simplify the interface and use TEMP_REGNUM.
-       (TARGET_SWITCHES): Eliminate needless no-* options.
+       * c-common.c (c_common_nodes_and_builtins):
+       Create __builtin_ptrdiff_t and __builtin_size_t.
 
-Fri Dec 21 05:46:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Dec  9 18:05:48 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * recog.c (find_single_use{,_1}): New functions.
-       * rtl.h (find_single_use): Declare it.
+       * pa/elf.h (MAX_OFILE_ALIGNMENT): Define.
 
-Thu Dec 20 21:27:36 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Fri Dec 10 00:53:10 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-       * optabs.c (init_optabs): Add __ to names of floating compare fcns.
+       * regclass.c (globalize_reg): Re-instate test that allows
+       fixed registers to be declared as a variable even after functions
+       are defined.
 
-Thu Dec 20 18:21:38 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Fri Dec 10 00:52:13 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       * expr.c (expand_builtin, case BUILTIN_FFS): Get mode for arg from
-       tree, not rtx, in case arg was CONST_INT.
+       * i386.md (cpu attribute): Add "athlon".
+       (athlon_decode): New attribute.
+       (Athlon scheduling units definitions): New.
+       (fcmp and shld patterns): Set athlon_decode to "vector".
+       * i386.c (athlon_cost): New.
+       (m_ATHLON): New.
+       (x86_use_leave, x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
+       x86_use_sahf): Set for Athlon.
+       (x86_use_fiop): Unset for Athlon.
+       (override_options): Define Athlon alignments and "athlon" name.
+       (x86_adjust_cost): Penalize AGI and delayed latencies for Athlon.
+       * i386.h (TARGET_ATHLON): New.
+       (enum processor_type): Add PROCESSOR_ATHLON.
+       (TARGET_CPU_DEFAULT_SPEC): Set to "-D__tune_athlon__"
+       for CPU_DEFAULT==5
+       (TARGET_CPP_CPU_SPECS): Set -D__tune_athlon__ for Athlon.
 
-Thu Dec 20 17:31:46 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+1999-12-09  Andreas Jaeger  <aj@suse.de>
 
-       * c-decl.c (init_decl_processing): Don't define `ffs'.
+       * loop.c (record_biv): Declare parameter as int.
 
-Wed Dec 19 16:59:38 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * config/i386/i386-protos.h: Declare long_memory_operand.
 
-       * gcc.c (main): Handle if SIGPIPE not defined.
+1999-12-09  Mark Mitchell  <mark@codesourcery.com>
 
-       * cccp.c (xmalloc, xrealloc, xcalloc): Don't declare malloc or realloc.
+       * tree.c (copy_node): Do zero the TREE_CHAIN, even for an
+       EXPR_WITH_FILE_LOCATION.
 
-Wed Dec 19 06:50:17 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Dec  9 11:36:24 MET 1999 Jan Hubicka  <hubicka@freesoft.cz>
 
-       * combine.c (gen_lowpart_for_combine): Avoid making a nested SUBREG
-       when we are being passed a paradoxical SUBREG of MEM.
+       * i386.md (neg??, abs?f, one_cmpl?i): Use nonimmediate_operand
+       in expander.
 
-       * cse.c (new_basic_block): Compilations spend about 5% of their time
-       in this function so replace loop initializing qty_{first,last}_reg
-       with copy from a larger consec_ints.  Only loop over extra entries.
-       (cse_main): Allocate consec_ints to be default size of max_qty large.
+       * flow.c (recompute_reg_usage): Use basic block info to get loop_depth.
 
-       * reorg.c (get_branch_condition): Fix typos when reversing condition.
-       (condition_dominates_p): Fix typo in comparison.
-       (redundant_insn_p): This function was taking about 4% of the
-       compilation time.  Rework so it doesn't split, only looks at resource
-       usage if it finds a matching insn (since it usually won't), and
-       improve code that looks at resources.  Now takes about 0.5% of
-       compilation time.
-       (fill_simple_delay_slots): Always call mark_target_live_regs with an
-       active insn; currently being called with a CODE_LABEL.
+       * combine.c (try_combine, distribute_notes): Remove REG_N_REFS
+       updating code.
 
-Tue Dec 18 14:08:11 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+1999-12-09  Jakub Jelinek  <jakub@redhat.com>
 
-       * out-sparc.c: Fix uninitiated comment.
+       * config/sparc/linux64.h (TARGET_DEFAULT): Make -mapp-regs
+       default on linux64 again.
+       * config/sparc/t-linux64: Add mno-app-regs and non-medlow code
+       models for multilibing.
+       * genmultilib: Accept | as alternative separator within a set in
+       MULTILIB_OPTIONS.
+
+       * config/sparc/sparc.h (PROMOTE_FOR_CALL_ONLY): Define.
+
+       * calls.c (precompute_arguments): Make sure initial_value contains
+       value pseudo which CSE expects.
+       * cse.c (struct set): New entry orig_src.
+       (cse_insn): Set it early on entry, use it for libcall EQUIV note
+       replacement.
+
+Wed Dec  8 22:24:15 1999  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (count_basic_blocks): Don't add (use (const_int 0)) insns.
+
+1999-12-08  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * loop.c (insert_loop_mem): Don't hoist volatile mems out of loops.
+
+1999-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.c (ultra_cmove_results_ready_p,
+       ultra_fpmode_conflict_exists, ultra_flush_pipeline): Typo fix.
 
-       * final.c (end_final): Call strip_off_ending to remove the file
-       name suffix.
-       (final_start_function): Execute SDB_DEBUGGING_INFO code only if
-       generating SDB symbol info.
+       * config/sparc/sparc.h (SPARC_SETHI_P): Don't look at topmost 32 bits
+       if TARGET_ARCH32.
 
-       * Makefile.in (cccp.o): Depend on gcc.
+       * longlong.h: Merge in changes from glibc.
+       Also don't clobber %g2 register in 32bit SPARC assembly, so that
+       -mno-app-regs libgcc can be compiled.
+       * libgcc2.c: Add defines so that the updated longlong.h
+       can be used in libgcc2.a. Also, make sure on most architectures
+       (at least on all which have optimized code in longlong.h defined
+       for) {SI,W}_TYPE_SIZE is suitable for preprocessor tests.
 
-       * tm-sparc.h, xm-sparc.h: Make this machine big-endian.
+1999-12-08  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
-       * expr.c (expand_builtin): Pass correct arguments to gen_cmpstrsi4.
+       * config/sparc/sol2-64.h: Same as sol2-sld-64.h, except that
+       `-m EMULATION' is added to non-default LINK_ARCH_SPECs.
+       * configure.in: Use sol2-64.h instead of sol2-sld-64.h if linker
+       is GNU ld.
+       * configure: Rebuilt.
 
-       * recog.c (nonmemory_operand): Reject reg whose class is NO_REGS.
+Wed Dec  8 03:45:40 1999  Richard Henderson  <rth@cygnus.com>
 
-       * c-decl.c (finish_struct, grokdeclarator):
-       Strip NON_LVALUE_EXPR more than once.
+       * alpha.c (secondary_reload_class): For !BWX, sub-simode
+       outputs require a register.
 
-       * combine.c (combine_instructions): Check that a jump insn uses CC0
-       before trying to combine it with an insn that sets CC0.
+1999-12-08  Brendan Kehoe  <brendan@cygnus.com>
 
-       * cplus-decl.c, cplus-search.c, gcc.c, objc-actions.c, rtl.c, stmt.c,
-       symout.c, toplev.c: Use xmalloc instead of malloc.
+       * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Add _sf_to_usi
+       _df_to_usi.  Required by some targets, so US_SOFTWARE_GOFAST calls to
+       functions like dptoul will be resolved.
+       (libgcc2.a): Make sure that the object files from DPBIT are named
+       differently (prefix `_dp') from those that would be coming from
+       FPBIT.
 
-       * cccp.c (do_include): Check for truncation of precompiled file name.
+1999-12-08  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>,  Jakub Jelinek  <jakub@redhat.com>
 
-Mon Dec 17 16:53:46 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * configure.in: When target is sparc* and tm_file contains 64,
+       test for 64bit support in assembler.  If not supported, remove
+       sparc/t-sol2-64 from target-dependent Makefile fragments.
+       (AS_SPARC64_FLAG): Define to the assembler flag for 64bit.
+       (HAVE_AS_OFFSETABLE_LO10): Rework test to use these flags.
+       (HAVE_AS_REGISTER_PSEUDO_OP): Use config.cache.
+       * acconfig.h (AS_SPARC64_FLAG): Added.
+       * configure, config.in: Rebuilt.
+       * config/sparc/sol2-sld-64.h: Same as sol2.h, if without 64bit
+       support.  Use AS_SPARC64_FLAG.
 
-       * c-typeck.c (build_binary_op_nodefault, build_conditional_expr):
-       Fix indentation.
-       * reload1.c (choose_reload_regs): Fix indentation.
-       (gen_input_reload): Fix typo in comment.
+1999-12-07  Jakub Jelinek  <jakub@redhat.com>
 
-       * reload.c (find_reloads): Call abort when the last operand is
-       marked commutative, to make it easier to find this error.
+       * config/sparc/sparc.c (hard_32bit_mode_classes): Mark registers
+       suitable for holding OFmode values so that gcc works with complex
+       quad long doubles.
+       (hard_64bit_mode_classes): Likewise.
 
-       * rtlanal.c (refers_to_regno_p): Don't crash if X is 0.
+       * config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): Fix pattern
+       so that it is actually matched.
+       (sethi_di_medlow): Likewise.
 
-Mon Dec 17 15:29:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Consider TFmode 0.0L
+       as legitimate constant if -mvis.
+       * config/sparc/sparc.md (movtf): Likewise.
+       (clear_sf): Use const_double_operand.
+       (clear_sfp, clear_dfp, clear_tf, clear_tfp): New patterns.
 
-       * local-alloc.c (combine_regs): No need to see if suggested hard reg
-       is suitable; if it isn't, it won't end up being used.  Existing tests
-       were too conservative.
+       * config/sparc/sparc.c (sparc_emit_float_lib_cmp): New function.
+       * config/sparc/sparc-protos.h (sparc_emit_float_lib_cmp): Prototype.
+       * config/sparc/sparc.h (*_LIBCALL): Only use for _Q_*
+       routines, _Qp_* cannot be handled like that now.
+       (INIT_TARGET_OPTABS): Likewise.
+       * config/sparc/sparc.md (cmptf): Accept soft float ARCH64.
+       (seq, sne, sgt, sge, slt, sle, beq, bne, bgt, bge, blt, ble): Call
+       sparc_emit_float_lib_cmp if ARCH64 and soft float.
+       (extendsftf2, extenddftf2, trunctfsf2, trunctfdf2, floatsitf2,
+       floatditf2, fix_trunctfsi2, fix_trunctfdi2, addtf3, subtf3, multf3,
+       divtf3, sqrttf3): New expanders.
+       (extendsftf2_hq, extenddftf2_hq, trunctfsf2_hq, trunctfdf2_hq,
+       floatsitf2_hq, floatditf2_hq, fix_trunctfsi2_hq, fix_trunctfdi2_hq,
+       addtf3_hq, subtf3_hq, multf3_hq, divtf3_hq, sqrttf3_hq): Rename from
+       non-_hq patterns.
 
-       * jump.c (delete_jump): When searching for the SET of the condition
-       codes for a jump insn, give up if we hit a SEQUENCE.
+       * configure.in (sparc64-*-linux*): Use posix threads if enabled.
+       * configure: Rebuilt.
+       * config/sparc/linux64.h: Default to -mcpu=ultrasparc if no
+       -mcpu is given and we're doing 64bit compiles.
 
-Mon Dec 17 02:14:06 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Tue Dec  7 19:22:06 1999  Richard Henderson  <rth@cygnus.com>
 
-       * c-typeck.c (c_size_in_bytes): New function.
-       (pointer_int_sum, pointer_diff): Use that.
-       (pointer_diff): Handle warn_pointer_arith.
+       * loop.h (struct induction): Add multi_insn_incr.
+       * loop.c (basic_induction_var): New multi_insn_incr argument.
+       Set it if we search back through previous insns for the biv.
+       (record_biv): New multi_insn_incr argument; fill in struct induction.
+       (strength_reduce): Discard an iv with multiple bivs, any of
+       which require multiple insns to increment.
 
-Sun Dec 16 22:27:11 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+1999-12-07  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
 
-       * c-decl.c (start_decl): Ignore with error any init for a parm.
-       (finish_decl): Likewise.
+       * invoke.texi (C Dialect Options): Remove -flang-c9x, add -std
+       documentation.
 
-Sun Dec 16 01:02:57 1990  Michael Tiemann  (tiemann at cygnus.com)
-
-       * jump.c (rtx_equal_for_thread_p): Treat the special CC register as
-       equivalent for the two threads we are looking at.
-
-       * combine.c (try_combine): Fix typo in loop over I1 with PARALLEL
-       body.  Also, don't test HARD_REGNO_MODE_OK for hard registers we are
-       thinking about combining.  This screws up using registers to
-       represent the condition codes, and probably doesn't save anything in
-       the general case.
-
-       * expmed.c (expand_and): Comment says that result is always stored
-       in target, so the code now does this.
-
-Sat Dec 15 18:09:46 1990  Michael Tiemann  (tiemann at cygnus.com)
-
-       * loop.c (get_condition): Try a little harder to find the setter of
-       the register used in a conditional test.  On the SPARC it is vital
-       to either find the setter of the register used for the condition
-       codes or for this function to return 0.  Also, have test for
-       non-NULL, matching `set' govern both normal and reversed cases of
-       comparisons.
-
-       * jump.c (jump_optimize): When moving USE insns from before jumps to
-       after BARRIERs, put the label for the redirected jump after the
-       BARRIER instead of just before the PREV_INSN of the original target.
-       This gets around problems when there are NOTEs between the BARRIER
-       and the original target.
-  
-Sat Dec 15 10:16:29 1990  Michael Tiemann  (tiemann at cygnus.com)
-
-       * sparc.md (cmpdf,cmpsf): No longer a define expand.  Now depends
-       on fp zero being loaded into a register.
-       (tstsi,tstdf,tstsf): Deleted.
-       (seq,sne): Fail if we are not testing operands of integer mode.
-       (movsi): Split recognizers into two parts.  The first handles
-       [reg,mem,zero] <=> [reg,mem]; the second handles [reg,const] =>
-       [reg].
-       (adddf,subdf,negdf): Simplify output routines using 'R' as an
-       output letter.
-       (tail_call): Turn this off.  It is never used, and it depends on
-       routines which are about to become broken.
-       (various places): Add USE_CC attribute where appropriate.
-       (various places): Change (use (reg:SI 0)) to (clobber (reg:SI 0))
-       and delete CC_CLOBBER attribute from the pattern.
-       * out-sparc.c (move_operand): No longer recognize certain
-       immediates as a `move_operand'.
-       (move_reg_or_immed_operand): New recognizer for immediates no
-       longer recognized by `move_operand'.
-       (output_pic_sequence*): Turned off.
-       (sparc_address_cost): Simplified, since the value returned is not
-       used if the address is not legitimate.
-       (emit_move_sequence): Use `gen_lowpart' instead of building
-       SUBREGs explicitly.
-       (make_f30_contain_zero): Deleted.
-       (output_tail_call): Turned off.
-       * tm-sparc.h (PRINT_OPERAND): Recognize 'R' code letter, which
-       means print the name of REGNO (X)+1.  No longer recognizes the 'G'
-       letter.
-       (PRINT_OPERAND,PRINT_OPERAND_ADDRESS): Replace various calls to
-       fprintf with calls to fputs or fputc.
-       (FINAL_PRESCAN_INSN): No longer defined.
-
-Sat Dec 15 14:37:51 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * recog.c (offsettable_address_p): Check validity in narrower modes.
-
-Sat Dec 15 11:21:55 1990  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * syms.h sdbout.c (T_VOID): Ensure that T_VOID is provided a
-       default meaning if <syms.h> is used.
-
-Fri Dec 14 14:39:10 1990  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * m88k.md (increment and test peephole): Updated so it would apply
-       with the new method for doing cmpsi/bxx.
-       * m88k.md (function units): Replace decode with alu and update
-       accordingly.
-       * out-m88k.c (emit_test): Add a mode parameter.
-       * tm-m88k.h (GO_IF_LEGITIMATE_ADDRESS): Constrain how the arg
-       pointer can be used.
-
-Fri Dec 14 06:48:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * expr.c (convert_move): Add missing argument to some recursive calls.
-
-       * jump.c (invert_jump): Pass new label to recursive call.
-
-       * expr.h (setcc_gen_code): Replaces setcc_gen_fctn; stores insn_code.
-       (expand_and, emit_store_flag, label_rtx): Add definitions.
-       (get_condition, compare_from_rtx): Likewise.
-       * rtl.h  (STORE_FLAG_VALUE): Provide a default value of 1.
-       (reg_set_last): Add definition.
-       (const_true_rtx): New variable.
-       * cse.c: Remove defaulting of STORE_FLAG_VALUE from here.
-       (const_true_rtx): Remove static version; now global.
-       * emit-rtl.c (const_true_rtx): Define here.
-       (gen_rtx): Return const_true_rtx for CONST_INT of STORE_FLAG_VALUE.
-       (init_emit_once): Initialize const_true_rtx.
-       * expmed.c (emit_store_flag): Rewritten.  Is passed the operands
-       to compare in addition to the compare operation and emits both the
-       comparison and the store-flag insn.
-       Handles special-case of testing for A < 0 and A >= 0.
-       If result is constant, just return it.
-       Accepts an argument saying how to normalize the result and does
-       appropriate normalization.
-       Give preference to using the sign bit rather than the low-order bit.
-       Allow sxx insns to fail.
-       If don't have seq or sne insns, can sometimes do with abs.
-       * expr.c (expand_expr, case COND_EXPR): For X ? A + 1 : A, only
-       do store_flag if it is cheap.
-       (do_jump): True comparisons return STORE_FLAG_VALUE, not 1.
-       (compare_constants): Correctly handle unsigned comparisons.
-       Return STORE_FLAG_VALUE, not 1, for true comparison.
-       (compare_from_rtx): New name for compare1.
-       Accept size and alignment, for BLKmode.
-       No longer statuc.
-       (compare, compare_from_rtx): No need to pass forward and reverse codes;
-       can trivially derive the reverse code from the forward one.
-       All callers changed.
-       If one operand is constant, make it the second one.
-       (compare): Let compare1 do most of the work.
-       (do_store_flag): Rewritten, now lets emit_store_flag do most of
-       the work.
-       Handles the special-case of comparing a single bit with zero.,
-       Add additional argument ONLY_CHEAP; if non-zero, fail if it looks like
-       this will be an expensive operation; all callers changed.
-       If it looks like it will be possible to do a store-flag operation,
-       call emit_store_flag; if it can't do it, emit as assignments and a
-       jump.  If it doesn't look possible to do a store-flag operation, return
-       zero before expanding anything.
-       * final.c: (final_scan_insn): Don't check STORE_FLAG_VALUE; if the
-       insn doesn't exist, we won't try to change it.
-       * genemit.c (gen_exp): Use const_true_rtx when appropriate.
-       * genrecog.c (add_to_sequence): Likewise.
-       (try_merge_1): Two nodes aren't identical if they are to test
-       different modes or if they have different values of EXACT.
-       * integrate.c: Don't supply a default value for STORE_FLAG_VALUE here.
-       * jump.c: Now includes expr.h (for emit_store_flag and get_condition).
-       (jump_optimize): Split optimization that made store-flag insn
-       into three separate optimizations, the first two of which are useful
-       even in the absence of store-flag operations.
-       (can_reverse_comparison): Set and use of cc0 must be immediately
-       adjacent.
-       (mark_jump_label): Abort if LABEL_REF codesn't contain a CODE_LABEL.
-       Consider two labels adjacent after reload if separated by just USE or
-       CLOBBER insns.
-       * loop.c: Now includes real.h.
-       (get_condition_for_loop): New function.  All callers of get_condition
-       in this file now call this function.
-       (strength_reduce): no_labels_between_p now skips FROM.
-       (get_condition): No longer static.
-       Refine cases when we can't reverse a comparison operation.
-       * optabs.c (init_optabs): Initialize and define setcc_gen_code
-       instead of setcc_gen_fctn.
-       * rtlanal.c (no_labels_between_p): Skip FROM, like as ..._between_...
-       functions do.
-       (no_labels_between): Deleted.
-       (reg_set_last, reg_set_last_1): New functions.
-       * Makefile.in (jump.o): Now include expr.h.
-       (loop.o): Now includes real.h.
-
-       * c-tree.h (int_ftype_cptr_cptr_sizet, ptr_ftype_ptr_cptr_sizet):
-       New names.
-
-       * alliant.md, i386.md, m68k.md, m88k.md, ns32k.md, sparc.md: Add mode
-       to comparison operators (EQ, NE, etc.) to agree with the mode of the
-       destination.
-       * out-m88k.c (emit_test): Likewise.
-
-Fri Dec 14 00:12:46 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * c-decl.c (finish_struct): Strip NON_LVALUE_EXPR from field width.
-
-Thu Dec 13 13:10:47 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * cplus-init.c (expand_vec_init): Add missing arg to
-       expand_exit_loop_if_false.
-
-       * config.gcc (tron): Alias for gmicro.
-
-       * c-decl.c (int_ftype_cptr_cptr_sizet): Variable renamed.
-       (ptr_ftype_ptr_cptr_sizet): Likewise.
-
-       * gcc.c (default_compilers): Handle .C.
-
-       * Makefile.in (enquire.o): Add -I. so can find stddef.h.
-       (install-cross): Install cc1obj like the others.
-
-       * Makefile.in (gnulib.target): Renamed from gnulib.
-       (gnulib): Renamed from tmpgnulib.  Rename that file in this rule.
-       Also delete stamp-gnulib2 here.
-       (gnulib.portable, gnulib.convert): Input now is named gnulib.
-       (GNULIB_TARGET, GNULIB2_TARGET): Define these vars (already in use).
-       (gnulib2.target): Renamed from gnulib2.
-       (gnulib2): New rule, alias for gnulib2.target.
-
-       * local-alloc.c (local_alloc): Cast an enum used as index.
-       * optabs.c (emit_indirect_jump): Likewise.
-       * reload1.c (choose_reload_regs): Likewise.
-
-Thu Dec 13 12:38:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * expmed.c (store_bit_field): Verify that operand 1 of movstrict
-       satisfies its predicate.
-
-Wed Dec 12 17:26:21 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * gvarargs.h: Avoid duplicate inclusion using _VARARGS_H.
-
-Wed Dec 12 14:11:30 1990  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * tm-m88k.h, out-m88k.c, m88k.md: Eliminated the fixed condition
-       code register.  As a temporary measure, NOTICE_UPDATE_CC is used
-       to track swapped cmpsi cases.
-
-       * m88k.md (shift patterns): Deal with TARGET_*_LARGE_SHIFT
-       uniformly with define_expand.  Make gen_lshlsi3 generate ASHIFT
-       and eliminate the optimization patterns using ASHIFT.  Eliminate
-       other optimization patterns that will be handled by combine.
-
-Tue Dec 11 22:13:48 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * expr.c (convert_move): With slt, handle dest that's invalid.
-
-       * stmt.c, tree.h (stmt_nesting):
-       Typedef deleted; use `struct nesting *'.
-       * stmt.c (expand_start_cond): If exitable, make an exit label.
-
-Tue Dec 11 21:28:56 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * combine.c (subst, case SUBREG): Update TO for earlier
-       changes so we can always detect (subreg (mem ...)).
-
-Tue Dec 11 10:56:53 1990  Craig Burley (burley at pogo.ai.mit.edu)
-
-       * stmt.c (expand_start_loop{,_continue_elsewhere}): Return pointer
-       to nesting structure (new type stmt_nesting).
-       (expand_exit_loop{,_if_false},expand_continue_loop): Accept pointer
-       to nesting structure, substitute loop_stack if 0 (same behavior as
-       before when there was no argument), so F90 CYCLE and EXIT statements
-       (like C's continue and break stmts) can refer to other than the
-       innermost loop.
-       (expand_start_cond): Uses new names for if-related labels that
-       reflect addition of "elseif" call, and sets endif_label to whatever
-       exit_label gets set to (so we don't generate two identical labels
-       for languages from which if is exitable via expand_exit_something).
-       (expand_start_elseif): New function, used by Fortran.
-       (expand_start_else): Moved above _end_cond so these four functions
-       appear in the order they get called; uses new names, and fills in
-       only endif_label if needed, not exit_label.
-       (expand_end_cond): Handles end of any if, not just if-without-else.
-       Generates both labels for next else/elseif pending (there was none)
-       and the endif itself, if they exist (and there will always be at least
-       one).
-       (expand_end_else): Gone, call expand_end_cond instead.
-       * c-parse.y, cplus-parse.y, objc-parse.y: Pass new 0 argument to
-       expand_..._loop_... to indicate the innermost loop; call
-       expand_end_cond instead of expand_end_else.
-       * tree.h: Typedef for stmt_nesting returned by expand_start_loop...
-       and change their return types accordingly.
+1999-12-06  David S. Miller  <davem@redhat.com>
 
-Mon Dec 10 06:59:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * combine.c (check_promoted_subreg): Do not conditionalize this upon
+       PROMOTE_FUNCTION_RETURN.
 
-       * combine.c (check_asm_operands): Delete from here.
-       * recog.c (check_asm_operands): Move to here; no longer static.
-       (validate_change): Don't assume change is valid is asm_noperands >= 0.
-       If recog_memoized returns < 0, accept change if asm_noperands >= 0
-       and check_asm_operands returns non-zero.
-       (apply_change_group): Likewise.
-       (validate_replace_rtx_1): Swap operands on commutative operation
-       if first is constant.
-       Use plus_constant to simplify a PLUS with CONST_INT as second operand.
+Mon Dec  6 15:12:14 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * reload.c (find_equiv_reg): We must have a stable SP if GOAL is
-       a MEM that uses SP.
-
-       * combine.c (try_combine): Don't do anything if I2 or I1
-       has an ASM_OPERANDS and CLOBBERS; we'll need those clobbers
-       and it is too messy to try to get things set up correctly.
-
-Sun Dec         9 22:07:41 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * cccp.c (collect_expansion): Don't check for /* */ concat here.
-       (macroexpand): Always use raw arg if traditional.
-
-       * c-parse.y (unary): Mark address of label as constant.
-
-Sun Dec         9 14:45:34 1990  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cplus-class.c (propagate_basetype_offsets): Take effect on ASSOC
-       before recursive calling.
-       (finish_struct): Call `layout_decl' with zero for KNOWN_ALIGN
-       when laying out TYPE_DECL.
-       * cplus-tree.c (assoc_value): Change recursion condition to compare
-       ASSOC_VALUE (assoc) against TYPE_MAIN_VARIANT (type) instead of just
-       against type.
-
-Sat Dec         8 10:40:00 1990  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * m88k.md (attributes): Reorganize and include a block diagram.
-       Make better use of defaults.
-       * m88k.md (peephole), out-m88k.c, tm-m88k.h (short_branch): Add
-       the sparc peepholes for changing bsr/br into bsr.n/addu or
-       bsr.n/subu.  Install the length attribute for this.  Requires the
-       use of `def' to accomodate broken assemblers in the bsr.n/addu
-       case.
+       * regmove.c (optimize_reg_copy_1): If no REG_DEAD note, check for
+       and handle REG_UNUSED note on insn.
 
-Fri Dec         7 06:12:43 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * combine.c (force_to_mode, case LSHIFTRT): New local inner_mask.  Set
+       inner_mask instead of mask.
 
-       * reorg.c (find_end_label): Increment usage count of label we return
-       so we know it won't go away.
-       (dbr_schedule): Decrement count of end label and delete it if dead.
+1999-12-06  Brendan Kehoe  <brendan@cygnus.com>
 
-Wed Dec         5 17:36:23 1990  Tom Wood  (wood at dg-rtp.dg.com)
+       * dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be
+       zero if there was an error.
 
-       * m88k.md: Add instruction attributes for scheduling and delay
-       slot information.
-       * m88k.md (addsi pattern): Adding large constants does arise.
-       (udivsi pattern): Wrong predicate.
-       * tm-m88k.h, out-m88k.c (NOTICE_UPDATE_CC): Do so using
-       attributes.
+1999-12-06  Jakub Jelinek  <jakub@redhat.com>
 
-       * make-m88k, make-m88kdgux: Say how to create m88k-trace.asm.
+       * config/sparc/sparc.md (return_losum_di): Fix typo in asm
+       output string.
 
-Wed Dec         5 13:52:16 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * longlong.h: Fix clobbers in SPARC asm statements.
 
-       * optabs.c (expand_binop): Support insn_before == 0.
+       * config/sparc/sparc.c (input_operand): Allow HImode and QImode
+       valid sethi operations when TARGET_ARCH64.
 
-       * function.c (optimize_bit_field): Fix wrong arg to validate_change.
-
-       * Makefile (includes): Export LIB.
-
-Wed Dec         5 13:31:57 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * combine.c (try_combine): Don't discard CLOBBERs from an insn
-       with ASM_OPERANDS.
-
-Tue Dec         4 16:12:21 1990  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * tm-m88k.h, out-m88k.c, m88k.md: More cleanups: introduce
-       POWER_OF_2 for tests (x && (x & (x-1) == 0); rename predicate
-       functions *_p instead of *_operand; cleanup addsi3 insns; simplify
-       udivsi3 insns; simplify memory shift insns; make LOW_SUM and HIGH
-       SImode instead of VOIDmode; add a predicate to the increment and
-       test peephole insn; deal with setting SFmode to zero; delete bogus
-       pattern for divide-by-power-of-2.
-       * make-m88k, make-m88kdgux: dg88k-trace.asm is now m88k-trace.asm.
-       Move movstr-m88k.sh to config/m88k-movstr.sh.
-
-Mon Dec         3 19:08:03 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * Makefile.in (gnulib2.ready): New target.
-       (stamp-gnulib2): Depend on that.
-       Avoids recompiling gnulib2 each time cc1 changes.
-
-Mon Dec         3 16:17:56 1990  Tom Wood  (wood at dg-rtp.dg.com)
-
-       * tm-m88kdgux.h, xm-m88kdgux.h (SEPARATE_AUX_OUTPUT): Should be in
-       xm-m88kdgux.h.
-       * tm-m88k.h, out-m88k.c, m88k.md: Eliminated the fixed literal
-       synthesis register.  Reworked the addressing method to be like the
-       sparc (uses HIGH and LO_SUM).  Numerous cleanups.  These changes
-       are based on work done by Steve Chamberlain (steve@cygnus).
-       * tm-m88k.h, out-m88k.c (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER):
-       Implemented.
-
-Mon Dec         3 15:19:04 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * cccp.c (special_symbol): Use time_t as type of t.
-
-       * m88k-movstr.sh, m88k-trace.asm, va-m88k.h: New files.
-
-       * gcc.c: Don't define R_OK, etc. if already defined.
-
-       * out-sparc.c (finalize_pic, emit_move_sequence, output_arc_profiler):
-       Finish change to emit HIGH and LO_SUM as Pmode instead of VOIDmode.
-
-Sun Dec         2 22:13:53 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * config.gcc (tower): New alternative.
-       (mips-news): Adapt for version 2.
-
-       * tm-tower.h, tm-tower-as.h, xm-tower.h: New files.
-
-Sun Dec         2 17:47:28 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * reload1.c (eliminate_regs, case ASM_OPERANDS): Fix typo in testing
-       for changed vector.
-
-       * out-rs6000.c (output_epilogue): Fix typo restoring general registers.
-       (print_operand): Add new option %H.
-       * rs6000.md: Add (clobber (reg:SI 64)) to many patterns even though
-       they don't clobber MQ to allow combining to work well.  This will be
-       removed once combine knows how to add clobbers when required.
-       Change patterns to reflect new canonicalization rules.
-       Where we have (and (xshift)), add patterns for (zero_extend (xshift)).
-       (andsi3, xorsi3): Fix bug in case where two insns are needed.
-       (moveti): Don't call change_address when in reload.
-       (sign_extend): Add patterns for sign extend preceeded or followed by
-       one of the shifts it will do.  Use %H to output the merged shift.
-
-       * out-romp.c (print_operand): Allow exact_log2 result to be zero.
-       * romp.md: Likewise.
-       * tm-romp.h (CONST_OK_FOR_LETTER): Likewise.
-
-       * a29k.md (type attribute): Add types for floating-point insns.
-       (in_delay_slot attribute): Update to allow for new types.
-       (function_unit definitions): Add definitions for floating-point units.
-       (andcb*3): Delete obsolete names.
-       (convert insn): Use register_operand instead of gen_reg_operand for
-       floating-point operand.
-       (cpeq, feq, deq, etc): New patterns.
-       (floating-point arithmetic): Add support for 29050 insns and
-       accumulators; indicate function unit usage.
-       (ior/and patterns): Put NOT as second operand.
-       (orn insn): New, for 29050.
-       (load patterns): If using match_operator, make it the highest operand
-       number.
-       (loadm insns): Add workaround for rev A1 bug on 29050.
-       (negsf2, negdf2): Don't use XOR to negate on 29050.
-       (movsf, movdf): Add support for accumulators on 29050.
-       (movsi, movhi, movqi): No need to support special->special copies.
-       Support consthz insn on 29050.
-       (compare, scc, and branch insns): Rework to not use cc0.  Use a pseudo
-       register instead.  Compare doesn't generate any code, but merely
-       saves the operands.  scc and branch then emit the appropriate compare
-       and jump (if branch) insns.
-       (tstsi): Delete pattern; not used when no cc0.
-       (peepholes): Remove peepholes to convert jumps to scc insns; now
-       done in jump.c.
-       * out-a29k.c (a29k_compare_*): New variables.
-       (long_const_operand): Anything with low-order 16 bits zero is not a
-       long constant on the 29050.
-       (accum_reg_operand): New function.
-       (gen_reg_operand): Returns false for accumulator registers.
-       (output_operand): Allow accumulators.
-       (ne_comparison_p, fp_comparison_p, return_peep_operand): Deleted.
-       (fp_comparison_operator, branch_operator): New functions.
-       (output_compare): Deleted.
-       (print_operand): Change meaning of %b and %B.
-       Add new code %J.
-       * tm-a29k.h (TARGET_VERSION): Say if compiling for 29050.
-       (TARGET_FLAGS): Add -29000 to turn off support for 29050; this is
-       still the default.
-       (various register macros): Add support for the floating-point
-       accumulators on the 29050.
-       (CONST_OK_FOR_LETTER): Use 'O' for a constant that can be set using
-       conthz on the 29050; keep old definition for 29000.
-       (STORE_FLAG_VALUE): Now 0x80000000.
-       (ASM_FILE_START): Write ".cputype 29050" when compiling for 29050.
-
-       * combine.c (subst): Put NOT, NEG, MULT, PLUS, and MINUS as the
-       first operand of commutative operations.  Note that NOT used to be
-       put as the second operand but it has always been assumed that 
-       MULT would be the first operand in address expressions, so we have
-       to change the previous canonicalization.  This is possible now that we
-       have eliminated the andcbm3 operations.
-       * i860.md (andnot): Remove obsolete andcbsi3 name and place NOT
-       as first operand.
-       * m68k.md (fpm*): Delete patterns with MULT as second operand and
-       use "@" construct when possible.
-       * m88k.md (and.c, ior.c): Remove obsolete andcbsi3 and iorcbsi3 names.
-       Delete patterns with NOT as second operand.
-       (xor.c): Rewrite in new canonical form.
-       * mips.md (nor): Rewrite in new canonical form.
-       * pyr.md (bicw): Remove pattern with NOT as first operand, removing
-       obsolete name andcbsi3 in the process.
-       * sparc.md: Remove patterns with NOT as first operand.
-       Remove obsolete names andcbsi3, iorcb3, and xorcbsi3.
-       Rewrite xnor into new canonicalized form.
-       Add mode to HIGH and LO_SUM operations.
-       * vax.md (bic*): Remove obsolete andcbm3 names.
-       Put NOT as first operand when both generating and recognizing RTL.
-       (jlbc): Rewrite with NOT as first operand.
-
-Sun Dec         2 17:08:16 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * m68k.md (recognizer for casesi_2): Handle ASM_RETURN_CASE_JUMP.
-
-       * stddef.h (ptrdiff_t): Prevent definition, as with size_t.
-
-Sat Dec         1 16:31:30 1990  Ron Guilmette  (rfg at ncd.com)
-
-       * dwarfout.c (lookup_filename, dwarfout_finalize): changed from
-       maintaining a linked list of filename entries to maintaining an
-       (expandable) array of filename entries instead.  Also, changed
-       code so that *all* filename strings are output (to the .files
-       section of the asm file) in one swell foop just as the asm file is
-       being finalized rather than writing out new filenames one-by-one
-       as they arise (as previously). This circumvents a problem caused
-       by rfg's naive assumption that assemblers kept a stack of prior
-       section names (of depth > 1) which could be successively popped
-       via multiple `previous' directives.  For some assemblers, the
-       depth of the stack is only 1 and they can get confused if you do
-       two (or more) `previous' directives in a row.  Anyway, it is no
-       longer either necessary or useful to do that, so who cares.
-
-       * dwarfout.c: added code to output newlines to the asm file just
-       prior to each and every change of section (for better readability
-       of the asm files).
-
-       * dwarfout.c: changed code so that if DWARF_DESCRIBE_USED_EXTERNS
-       is defined, it forces DWARF_LOCATION_ATTRIBUTES to also be defined.
-
-       * dwarfout.c: changed code so that if DWARF_LOCATION_ATTRIBUTES
-       is defined, it forces DWARF_DESCRIBE_FILES to be defined (to `1').
-
-       * dwarfout.c: changed code so that if DWARF_DESCRIBE_FILES is not
-       already defined (in the user's tm.h file) it will automatically be
-       defined (by default) to `1'.  Also changed all instances of
-       `#ifdef DWARF_DESCRIBE_FILES' to `#if DWARF_DESCRIBE_FILES'.
-       The user must now intentionally *disable* this feature (by
-       defining DWARF_DESCRIBE_FILES to `0' in his tm.h file) if he
-       wishes to have the additional information about files suppressed.
-
-       * dwarfout.c: changed comments relating to optional defines for
-       extended GNU DWARF features to include more information and to
-       add some additional clarity.
-
-Sat Dec         1 16:00:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * combine.c (subst): Call reverse_condition instead of
-       reverse_comparison.
-       We are allowed to reverse floating-point EQ and NE comparisons.
-
-       * combine.c (subst): Call simplify_and_const_int for all AND
-       and ZERO_EXTEND cases and all cases where we make one of them.
-       Remove all other code in AND and ZERO_EXTEND cases.
-       (simplify_and_const_int): Rewritten to follow a consistent model
-       of tracking what AND's need to be done and which bits are not
-       significant.  Consistently try a ZERO_EXTEND for all cases where
-       the result is an AND with a mode-wide mask.  Move all remaining
-       cases from AND any ZERO_EXTEND cases from subst.
-
-Sat Dec         1 09:13:17 1990  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cplus-tree.h (lang_type): Remove any_assigns_this,
-       none_assigns_this from type_flags.
-       * cplus-decl2.c (get_temp_name): If the initializer is a
-       pointer to zero, cache it in EMPTY_TABLE.
-       (finish_builtin_type): New function, to factor common code
-       arising from building internal structures.
-       * cplus-decl.c (init_decl_processing): Call it.
-
-Fri Nov 30 10:39:04 1990  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cplus-decl.c (finish_function): Use CLASSTYPE_ASM_WRITTEN instead
-       of TREE_USED to indicate that we need debugging info for
-       TTYPE.
-       Note that nobody ever sets EXTENDED_DBX_DEBUG.  For now,
-       change to test DBX_DEBUG.  For later, change everything to
-       key off of EXTENDED_DBX_DEBUG.  
-       Also, set `warn_return_type' to one always, since this warning
-       is too valuable to lose.
-       * cplus-tree.c (lang_output_debug_info): Don't test TREE_USED.  That
-       field is already used by other routines, and we have all we need now
-       in CLASSTYPE_ASM_WRITTEN.
-       * cplus-dbxout.c (dbxout_type_method_1): Handle const,
-       volatile, and const/volatile member functions.
-
-Fri Nov 30 04:51:46 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * combine.c (reg_last_set_value): New variable.
-       (combine_instructions): Allocate and initialize it.
-       (record_dead_and_set_regs): Set reg_last_value to source
-       of assignment; clear it for a CLOBBER or partial assignment.
-       (subst): Use reg_last_set_value instead of interpreting the
-       insn in reg_last_set as if it was a single SET.
+       * calls.c (save_fixed_argument_area): If save_mode is BLKmode,
+       always use move_by_pieces to avoid infinite recursion.
+       (restore_fixed_argument_area): Likewise.
 
-       * combine.c (gen_lowpart_for_combine): Call gen_lowpart for CONST_INT.
-       When making a new MEM, copy MEM_VOLATILE_P and MEM_IN_STRUCT_P.
-       If cannot recognize the argument, just form a SUBREG; usually,
-       it won't be recognized, but sometimes will allow further
-       simplifications.
+       * combine.c (check_promoted_subreg, record_promoted_value): New
+       functions.
+       (combine_instructions): Use them to retain nonzero and sign bit
+       information after SUBREGs are eliminated by optimizations in
+       this pass if PROMOTE_FUNCTION_RETURN.
+
+       * config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Document
+       .register declaration. Don't use variables with __ prefixes.
+
+Mon Dec  6 12:24:52 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * fold-const.c (optimize_bit_field_compare): Only use one mode
+       for both RHS and LHS in non-constant case.
+
+1999-12-06  Nathan Sidwell  <nathan@acm.org>
+
+       * frame.c (start_fde_sort): Only allocate erratic array, if
+       linear one was allocated. Return allocated flag.
+       (fde_insert): Only insert, if there's a valid array.
+       (fde_end_sort): Split, sort and merge if linear and erratic
+       arrays exist, else just sort linear one.
+       (search_fdes): New function. Linear search through original fde
+       structure.
+       (frame_init): Permit multiple initializations. Cope with
+       memory shortages.
+       (find_fde): Fallback on linear search, if failed to sort array.
+       (__deregister_frame_info): Only free sorted array, if we
+       allocated it.
+
+1999-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.h (MUST_PASS_IN_STACK): New macro.
+
+1999-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.c (sparc64_initialize_trampoline): Use gen_flushdi.
+
+1999-12-05  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.h (special_function_p): Declare.
+       * calls.c (special_function_p): Make it global.  Don't take `name'
+       as a parameter.  Fix typo in 1999-11-28 change.
+       (expand_cal): Adjust.
+
+1999-12-04  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
+       * tree.h (EXPR_WFL_FILENAME): Define in terms of
+       EXPR_WFL_FILENAME_NODE.
+       (EXPR_WFL_FILENAME_NODE): Use the second operand slot rather than
+       the TREE_CHAIN.
+       * print-tree.c (print_note): Print TREE_PRIVATE and
+       TREE_PROTECTED.
+
+       * dwarf2out.c (add_abstract_origin_attribute): Don't abort when
+       the original die cannot be found.
+
+       * varray.h (varray_head_tag): Add elements_used.
+       (VARRAY_PUSH): New macro.
+       (VARRAY_POP): Likewise.
+       (VARRAY_TOP): Likewise.
+       Add variants of VARRAY_PUSH and VARRAY_POP for all varray element
+       types.
+       * varray.c (varray_init): Initialize elements_used.
+       * Makefile.in (BASIC_BLOCK_H): Add varray.h.
+       (INTEGRATE_H): New variable.
+       (integrate.o): Depend on INTEGRATE_H.
+       (unroll.o): Likewise.
+
+       * function.h (insert_block_after_note): Declare.
+       * function.c (insert_block_after_note): Split out from ...
+       (retrofit_block): ... here.
+
+       * stmt.c (expand_fixup): Fix typo in comment.
+
+Sat Dec  4 14:13:38 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * regmove.c (copy_src_to_dest): Remove loop_depth parameter.
+       (optimize_reg_copy_1): Remove REG_N_REFS updating code.
+       (optimize_reg_copy_2, copy_src_to_dest, fixup_match_2): Likewise.
+       (regmove_optimize, fixup_match_1): Likewise.
+
+1999-12-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * flow.c (flow_loops_dump): Add missing argument when calling
+       flow_loop_nested_p.
+
+1999-12-04  Geoffrey Keating  <geoffk@cygnus.com>
+           Greg McGary  <gkm@gnu.org>
+
+       * c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
+       (init_attributes): Add A_NO_LIMIT_STACK.
+       (decl_attributes): Handle A_NO_LIMIT_STACK.
+       * c-decl.c (duplicate_decls): Handle DECL_NO_LIMIT_STACK.
+       * explow.c (allocate_dynamic_stack_space) [!HAVE_allocate_stack]:
+       Handle stack bounds checking.
+       * flags.h (flag_stack_check): Use the word 'probe' rather than
+       'check', because the flag doesn't actually cause any checking to
+       be done.
+       * function.c (expand_function_start): Set
+       current_function_limit_stack.
+       * function.h (struct function): Add limit_stack.
+       (current_function_limit_stack): Define.
+       * invoke.texi (Code Gen Options): Document new options.
+       * rtl.h: Declare stack_limit_rtx.
+       * toplev.c (stack_limit_rtx): New variable.
+       (decode_f_option): Handle new options -fstack-limit-register=REG,
+       -fstack-limit-symbol=IDENT, -fno-stack-limit.
+       (main): Add stack_limit_rtx as GC root.
+       * tree.h (DECL_NO_LIMIT_STACK): New macro.
+       (struct tree_decl): New member no_limit_stack.
+
+       * config/rs6000/rs6000.c (rs6000_allocate_stack_space): Handle
+       stack_limit_rtx.
+       * config/rs6000/rs6000.md (allocate_stack): Handle stack_limit_rtx.
+       (conditional_trap+1): Get new mnemonic correct.
+       (conditional_trap+2): New pattern for DImode traps.
+
+       * config/m68k/m68k.c (output_function_prologue): Handle
+       stack_limit_rtx.
+       * config/m68k/m68k.md (trap): New insn.
+       (conditional_trap): New insn.
+       * md.texi (Standard Names): Document `trap' and
+       `conditional_trap'.
+       * optabs.c (gen_cond_trap): Use start_sequence()/end_sequence()
+       so a cc0 setter doesn't get emitted at some random place in the
+       function.
 
-       * regclass.c (reg_scan): Save size of uid map; reallocate if
-       we have more registers than we allocated.
-       Leave some extra room in map.
+       * config/i960/i960.md (trap): New insn.
+       (conditional_trap): New expander.
+       (conditional_trap+1, conditional_trap+2): New insns for signed
+       and unsigned cases.
+       * config/i960/i960.c (i960_function_prologue): Use
+       STARTING_FRAME_OFFSET.  Handle stack_limit_rtx.
 
-       * stmt.c (emit_case_nodes): Supply missing argument to emit_cmp_insn.
+Thu Dec  2 21:22:45 1999  Greg McGary  <gkm@gnu.org>
+                         Geoffrey Keating  <geoffk@cygnus.com>
 
-       * fold-const.c (decode_field_reference): Add missing arg declaration.
+       * flags.h (warn_padded, warn_packed): Add global var decls.
+       * toplev.c (warn_padded, warn_packed): Add global var defns.
+       (W_options): Add warnings `-Wpacked' and `-Wpadded'.
+       * stor-layout.c (layout_record): Add local variable `type'
+       to hold often-used TREE_TYPE (field).  Add local variable
+       `unpacked_align' to hold alignment that would be in force
+       if no `packed' attribute were present.  Warn if `packed' attribute
+       is unnecessary, or even harmful.  Warn when gcc inserts padding
+       to satisfy alignment requirements of members.  Use NULL_TREE
+       when checking whether var_size is set.
+       * invoke.texi: Document new flags.
 
-       * expmed.c (store_bit_field): Add missing last argument to
-       recursive call.
+1999-12-03  Nathan Sidwell  <nathan@acm.org>
 
-       * cse.c (cse_insn): Remove extra arg passed to rtx_equal_p.
+       * frame.c (fde_split): Reimplement to avoid variable sized array.
 
-       * Makefile.in (proto): Make protoize.1 and unprotoize.1.
-       (protoize.1, unprotoize.1): New targets.
-       (install_man): Install protoize.1 and unprotoize.1./
-       * proto-unproto.1: New file.
+Thu Dec  2 18:59:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-       * loop.c (scan_loop): Properly set SET_SRC in movables entry for
-       MOVE_INSN == 1 and CONSEC > 0 case.
-       (force_movables): Don't look at SET_SRC when CONSEC > 0.
+       * combine.c (try_combine): Before fixing up LOG_LINKS for the
+       i3_subst_into_i2 case, check that GET_CODE (PATTERN (i2)) == PARALLEL.
 
-       * expr.c (expand_expr, case ARRAY_REF): Ensure TYPE_POINTER_TO
-       gets initialized after we build a variant type.
+1999-12-02  Gavin Romig-Koch  <gavin@cygnus.com>
 
-Fri Nov 30 00:35:06 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * invoke.texi: Document the mips option -mno-crt0
 
-       * m68k.md (ashr of 16 to 24 bits): Use extl, not extw.
+1999-12-02  Mike Karr  <mkarr@mathworks.com>
 
-Thu Nov 29 21:41:03 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * cccp.c (argdata): Added free_ptr member.
+       (macroexpand): Initialize free_ptr of each argument. When an
+       argument's buffers are freed, if the argument's free_ptr corresponds
+       to a buffer on the input stack, then return the free_ptr to that stack
+       frame, otherwise, free it.
+       (macarg): If an argument begins and ends on the same input stack level,
+       then transfer the free_ptr of that buffer to the argument in case
+       the stack is popped during the processing of a subsequent argument.
 
-       * tm-vax.h (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): New macros.
+1999-12-02  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * gcc.c (add_prefix): Add new element, don't replace old first elt.
+       * loop.c (note_reg_stored): New function.
+       (struct note_reg_stored_arg): New structure.
+       (try_copy_prop): Change to be more conservative; only replace within
+       one extended basic block and stop replacing if a store to the
+       replacement reg is seen.
 
-       * dwarfout.c (dwarfout_finalize): Go to DEBUG_SECTION first thing.
+1999-12-02  Nick Clifton  <nickc@cygnus.com>
 
-Thu Nov 29 17:50:43 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu)
+       * config/fp-bit.c: Initialize all fields of the NAN
+       constants.
 
-       * stmt.c (expand_end_loop): Stop looking for branch to the loop
-       exit when we hit a NOTE_INSN_BLOCK_{BEG,END}.
-       * jump.c (duplicate_loop_exit_test): Likewise.
-       Also, only copy line-number notes.
+       * c-lex.c (check_newline): Pass pragma_getc and pragma_ungetc
+       to HANDLE_PRAGMA.
 
-       * integrate.c (expand_inline_function): Call expand_expr for the
-       arguments before allocating maps that are based on register numbers.
+Wed Dec  1 18:16:38 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       * loop.c (loop_reg_used_before_p): Accept new argument, SET, to
-       indicate which part of INSN is setting the relevant register.
-       (scan_loop): Pass new arg to loop_reg_used_before_p.
+       * i386.md (extend?f?f2): Force the input into a register, not
+       the output.
 
-       * function.c (optimize_bit_field): Don't assume ZERO_EXTRACT can
-       be replaced by MEM; use validate_change to check.
+1999-12-01  Jakub Jelinek  <jakub@redhat.com>
 
-       * reload.c (find_reloads_toplev): Add missing arg to recursive call.
+       * config/sparc/sparc.md (movsf_const_intreg): Add constraints for
+       regclass' sake.
+       (movdf_const_intreg_sp32): Likewise. Prefer the memory load
+       alternative because setting up 64bit constant is usually costly,
+       especially when reload is in progress or completed.
+       (movdf_const_intreg_sp64): Likewise.
+       (movdf_const_intreg split): Fix building up constants when
+       HOST_BITS_PER_WIDE_INT is 64 yet long is 32bit.
 
-       * calls.c (expand_call): Correct two cases of missing mode to gen_rtx.
+Wed Dec  1 16:51:22 1999  Jeffrey A Law  (law@cygnus.com)
 
-Thu Nov 29 02:42:35 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * combine.c (if_then_else_cond): Use const_true_rtx instead of
+       const1_rtx for return values in EQ/NE comparison against (const_int 0)
+       case.
 
-       * version.c: Bump version number to 1.90.04.
+       * mn10300.c (REG_SAVE_BYTES): Allocate space for AM33 registers.
+       (asm_file_start): Emit .am33 into assembly file when compiling for
+       the AM33.
+       (print_operand_address): Handle POST_INC addresses.
+       (can_use_return_insn, initial_offset): Check AM33 registers too.
+       (expand_prologue): Check & save AM33 registers too.
+       (expand_epilogue): Similarly.
+       (secondary_reload_class): Handle AM33 specific secondary reloads.
+       (output_tst): Emit efficient code for the AM33 too.
+       * mn10300.h (CPP_SPEC, TARGET_AM33): Define.
+       (TARGET_SWITCHES): Add -mam33 switch.
+       (FIRST_PSEUDO_REGISTER): Handle new AM33 registers.
+       (FIXED_REGISTERS, CALL_USED_REGISTERS): Likewise.
+       (REG_ALLOC_ORDER, CONDITIONAL_REGISTER_USAGE): Likewise.
+       (HARD_REGNO_MODE_OK, MODES_TIEABLE_P): Likewise.
+       (enum reg_class, REG_CLASS_NAMES): Likewise.
+       (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Likewise.
+       (INDEX_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
+       (REGNO_OK_FOR_INDEX_P, PREFERRED_RELOAD_CLASS): Likewise.
+       (PREFERRED_OUTPUT_RELOAD_CLASS, LIMIT_RELOAD_CLASS): Likewise.
+       (REGISTER_MOVE_COST, REGISTER_NAMES): Likewise.
+       (HAVE_POST_INCREMENT): Define.
+       (GO_IF_LEGITIMATE_ADDRESS): Allow POST_INC addresses for the AM33.
+       (GO_IF_MODE_DEPENDENT_ADDRESS): POST_INC is a mode dependent address.
+       * mn10300.md (movqi, movhi, addsi, subsi): Add AM33 variants.
+       (mulsi, andsi, iorsi, xorsi, notsi): Likewise.
+       (ashiftsi, lshiftrtsi, ashiftrtsi): Likewise.
+       (zero_extend to SI from QI/HI): Likewise.
+       (sign_extend to SI from QI/HI): Likewise.
+       (mulsidi3, umulsidi3): New patterns for the AM33.
+       (tstsi with zero extension from QI/HI): Add AM33 variants.
+       (movsi, movsf, movdi, movdf): Generate efficient code for the AM33 too.
+       (return_internal_regs, store_movm): Handle new AM33 registers.
+       * t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Define.
+       (LIBGCC, INSTALL_LIBGCC): Likewise.
+       * invoke.texi: Document new flags.
+
+Fri Nov 26 10:59:12 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * i386.md (addsi3_cc): Add "binary_operator_ok" to the condition.
+       (addsi3_carry): Likewise.
+       (sbbsi3_cc): Add "binary_operator_ok" to the condition.
+       (sbbsi3_carry): Likewise.
+       (mulsi3): Rewrite to expander, ensure that only one operand is memory.
+       (mulhi3): Likewise.
+       (test?i_1): Ensure that only one operand is memory.
+       (conditional move patterns): likewise.
+       (shift and rotate patterns): Rewrite to expander, add
+       "binary_operator_ok" to the condition.
+
+       * i386.md (QImode patterns): Remove '*' before the 'r' constraints.
+       * i386.h (procesor_costs): Add movzbl_load field.
+       (HARD_REGNO_MODE_OK): Accept QImode on non PARTIAL_REGISTER_STALL in
+       non-Q registers, accept DImode registers anywhere.
+       (Q_CLASS_P): New.
+       (MEMORY_MOVE_COST): Calculate QImode moves correctly.
+       * i386.c (*_cost): Set value for movxbl_load field.
+
+       * (addsi): New add to lea splitter.
+       (ashlsi): Likewise.
+       (lea to add/shift peep2): New.
+
+1999-12-01  Mark Salter <msalter@cygnus.com>
+
+       * config/mips/elf.h (STARTFILE_SPEC): Add no-crt0.
+       * config/mips/elf64.h (STARTFILE_SPEC): Add no-crt0.
+       * config/mips/mips.h (TARGET_SWITCHES): Add no-crt0.
+
+Tue Nov 30 15:20:52 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * i386.c (ix86_expand_move): Never add clobbers to move patterns.
+       * i386.md (movsi_xor): New.
+       (movsi_or): New.
+       (movsi_1, movhi_1, movqi_1): Remove.
+       (movsi_2): Rename to movsi_1.
+       (movhi_2): Rename to movhi_1.
+       (movqi_2): Rename to movqi_1.
+       (movdi_1): Remove; remove splitter.
+       (movdi_2): Rename to movdi_1.
+       (divmodsi4 splitter): Do not emit clobbers for move patterns.
+       (long move peep2): Do not create QI or HI mode mov0s
+       (mov -1,reg -> or peep2s): Enable again, rewrite to single peephole.
+
+       * i386.md (zero_extend?i?i2): Rewrite to expanders; new patterns,
+       rewrite splitters.
+
+       * i386.md (neg?f2_if): Split "r" and "f" to separate alternatives.
+       (abs?f2_if): Likewise.
+
+1999-11-30  Alex Samuel  <samuel@codesourcery.com>
+
+       * ggc.h (ggc_test_and_set_mark): New macro.
+       (ggc_mark_rtx): Use ggc_test_and_set_mark.
+       (ggc_mark_tree): Likewise.
+       (ggc_mark_rtvec): Likewise.
+       * ggc-common.c (ggc_mark_rtx_children): Reduce recursion.
+
+1999-11-30  Jason Merrill  <jason@casey.cygnus.com>
+
+       * dwarf2out.c (scope_die_for): Only handle types.  Only search for
+       containing types.
+       (decl_scope_table): Just an array of trees now.
+       (push_decl_scope): Simplify.
+       (dwarf2out_init): Adjust.
+       (local_scope_p): New fn.
+       (gen_inlined_enumeration_type_die): Don't call scope_die_for.
+       (gen_inlined_union_type_die, gen_inlined_structure_type_die): Likewise.
+       (gen_typedef_die): Likewise.
+       (gen_lexical_block_die): Don't call push/pop_decl_scope.
+       (gen_inlined_subroutine_die): Likewise.
+       (gen_abstract_function): Set current_function_decl temporarily.
+       (gen_subprogram_die): Don't check DECL_ABSTRACT to set declaration.
+       Handle block extern declarations.  Don't call push/pop_decl_scope.
+       (gen_decl_die): Fix logic for block externs.
+
+1999-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * calls.c (special_function_p): Remove `realloc' and add `strdup'
+       to the list of functions which have attribute malloc by default.
+
+1999-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-lex.c (yylex): With -Wtraditional, when the ANSI type of an
+       integer constant does not match the traditional type, limit the
+       warnings to cases where the base of the type is ten.
+
+       * invoke.texi (-Wtraditional): Document it.
+
+Tue Nov 30 15:18:35 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
+       * rs6000.md: Only access a CONST_INT with INTVAL
+
+Tue Nov 30 14:21:00 1999  Richard Henderson  <rth@cygnus.com>
+
+       * lcm.c (compute_laterin): Cast bb->aux to size_t not int.
+       (compute_nearerout): Likewise.
+       * ggc-page.c (ggc_page_print_statistics): Explicitly cast
+       size_t to unsigned long for formatting.
+
+1999-11-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.h (FIXED_REGISTERS, CONDITIONAL_REGISTER_USAGE):
+       Allow the user to override call-used/fixed state of %g2-5
+       registers from the command line (with the exception of %g4 for
+       embedded model).
+       (REG_LEAF_ALLOC_ORDER): Move %g1 and %g4-7 registers to front, so that
+       there is a higher chance of having a leaf function.
+       (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Provide separate macros
+       for ARCH64 which has %ccr register.
+       * config/sparc/sparc.md (return_losum_si, return_losum_di): New
+       patterns.
+       * config/sparc/sparc.c (eligible_for_epilogue_delay): For the return
+       insn accept into delay slot any insn which does not use %[ol]
+       registers.  Accept some LO_SUM and shift left by 1 for the normal
+       restore case.
+       (output_function_epilogue): Likewise.
+       (epilogue_renumber): Added argument which inhibits any renumbering
+       and just tests if the rtx does not use any %[ol] registers.
+       (output_return): Reflect above change.
+
+1999-11-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.c (sparc_va_arg): Fix sparc64 va_arg
+       aggregate passing for sizes <= 16 bytes.
+
+1999-11-30  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * cse.c (FIXED_REGNO_P): Delete tests for OVERLAPPING_REGNO_P.
+       * global.c (global_alloc): Delete [OVERLAPPING_REGNO_P] code.
+       * reload.c (find_dummy_reload): Likewise.
+       (find_equiv_reg): Likewise; also for INSN_CLOBBERS_REGNO_P.
+       * reload1.c (reload_as_needed): Likewise.
+       * stupid.c (stupid_find_reg): Likewise.
+       * tm.texi (Obsolete Register Macros): Delete section.
+       * gmicro.h: Remove all traces of the two macros.
+       * i386.h: Likewise.
+       * m88k.h: Likewise.
+       * mips.h: Likewise.
+
+1999-11-30  Brendan Kehoe  <brendan@cygnus.com>
+
+       * sparc.h (MASK_FASTER_STRUCTS, TARGET_FASTER_STRUCTS): Define.
+       (TARGET_SWITCHES): Add -mfaster-structs/-mno-faster-structs flags.
+       (ROUND_TYPE_ALIGN): Use better value if -mfaster-structs.
+       * sparc.md (sparclite86x_branch, sparclite86x_shift): New function
+       units for the sparclite86x chip.
+       (flush): Revert October 14th change; add SImode specifically.
+       (flushdi): Copy of flush, but DImode, to avoid genrecog warnings.
+       * invoke.texi: Document it.
+
+Tue Nov 30 14:58:14 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/mn10200/mn10200.h (PREDICATE_CODES): Add
+       psimode_truncation_operand.
+
+       * config/mn10200/mn10200.c (psimode_truncation_operand): New
+       function.  Return true if the operand is either a MEM valid
+       for a PSImode address or not a MEM at all.
+
+       * config/mn10200/mn10200.md (truncsipsi2): Use
+       psimode_truncation_operand.
+
+1999-11-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * flow.c (flow_nodes_print, flow_loops_cfg_dump): New functions.
+       (flow_loop_nested_p, flow_loops_dump, flow_loops_free): Likewise.
+       (flow_loop_exits_find, flow_loop_nodes_find): Likewise.
+       (flow_depth_first_order_compute, flow_loop_pre_header_find): Likewise.
+       (flow_loop_tree_node_add, flow_loops_tree_build): Likewise.
+       (flow_loop_level_compute, low_loops_level_compute): Likewise.
+       (flow_loops_find, flow_loop_outside_edge_p): Likewise.
+       * basic-block.h: Protect from multiple inclusion.
+       (flow_loops_find, flow_loops_free, flow_loop_dump): Add protoypes.
+       (struct loops, struct loop): Define structures.
+       * sbitmap.c (sbitmap_a_subset_b_p): New function.
+       * sbitmap.h: Protect from multiple inclusion.
+       (sbitmap_a_subset_b_p): Add prototype.
+       * Makefile.in (LOOP_H): New macro.
+       (stmt.o, integrate.o, loop.o, unroll.o): Replace loop.h with LOOP_H.
+
+Tue Nov 30 01:34:47 1999  Philippe De Muyter  <phdm@macqel.be>
+
+       * cppinit.c (CAT): The argument list of this macro may not contain
+       spaces !
+
+1999-11-29  David S. Miller  <davem@redhat.com>
+
+       Move quantity tables and register equivalence chains into
+       per-qty and per-register structure arrays respectively.
+       * cse.c (qty_first_reg, qty_last_reg, qty_mode, qty_const,
+       qty_const_insn, qty_comparison_code, qty_comparison_const,
+       qty_comparison_qty): Delete, replace with...
+       (qty_table): this structure table.
+       (reg_next_eqv, reg_prev_eqv): Delete, replace with...
+       (reg_eqv_table): this structure table.
+       (make_new_qty): Add argument MODE.  Caller updated.
+       Update to use qty_table and reg_eqv_table.
+       (make_regs_eqv, delete_reg_equiv, insert_regs,
+       insert, exp_equiv_p, cse_rtx_varies_p, canon_reg,
+       fold_rtx, equiv_constant, record_jump_cond, cse_insn,
+       cse_process_notes, cse_main, cse_basic_block): Likewise.
+
+Mon Nov 29 16:56:42 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * fold-const.c (extract_muldiv, case {MIN,MAX}_EXPR): Reverse
+       operation if C is negative.
+       (extract_muldiv, case SAVE_EXPR): Supresss if arg has side effects.
+       (extract_muldiv, case {PLUS,MINUS}_EXPR): Don't apply distributive
+       law for some divisions if constant is negative and change other
+       divisions to the opposite rounding.
+
+       * expr.c (store_constructor_field): If bit position is not multiple
+       of alignment of TARGET's mode, use BLKmode.
+
+       * expr.c (expand_expr_unaligned): Add more code from full case
+       that is needed when OP0 is in a register.
+
+Mon Nov 29 18:09:39 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-       * toplev.c (rest_of_compilation): If FLAG_PIC is nonzero, emit any
-       special PIC code once we start really compiling a function (i.e., we
-       are not in an inline function).  Inline functions cannot
-       meaningfully hold PIC code because there is no notion of position
-       independence in code that isn't really being written down.
+       * dwarfout.c (field_byte_offset): Size can be zero if there was
+       an error.
 
-       * Makefile.in: Don't build cplus-cadillac.o by default.  Build
-       cplus-edsel.o instead.  Until Lucid frees their programming
-       environment, their Cadillac will always be an Edsel to GNUsers.
+1999-11-29  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * stmt.c (fixup_gotos): Change loop to run in two passes so that
-       cleanups don't experience a race condition.
-       (expand_cleanups): Replace Nov 5 word-around with consistency check.
-       The same cleanups should never be run twice.
+       * fold-const.c (split_tree): Delete unused vars ORIG_IN and TYPE.
+       (associate_trees): Delete unused var TEM.
+       (extract_muldiv): Delete unused var CANCEL_P.
+
+       * fold-const.c [TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT]
+       (target_isinf, target_isnan, target_negative): Add return types to
+       function definitions.
 
-       * cplus-decl.c (lang_{init,finish}): Move these functions...
-       cplus-lex.c: ...to here.  Also, make change to lang_init analogous
-       to Nov 27 change for C compiler.
+1999-11-29  Bruce Korb  <autogen@linuxbox.com>
 
-       * cplus-decl.c (pushdecl): Don't warn about static/extern conflicts
-       if X is a TYPE_DECL.
-       (build_enumerator): Certain CONST_INT nodes cannot be coopted to be
-       the constant for enumerator.  Mark them as non-shareable and don't
-       coopt them.
+       * fixinc/fixincl.c(process): don't skip GLIBC files any more.
+       * fixinc/hackshell.tpl: ditto
+       * fixinc/fixtests.c(double_slash_test): more C++ header testing
+       * fixinc/inclhack.def(AAB_fd_zero_glibc*): corrected spelling of mach
 
-       * cplus-decl.c (lang_{init,finish}): Declare these to be void
-       functions to match new tree.h.
+1999-11-29  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-Wed Nov 28 18:48:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * reload.c (push_reload): When looking for a register to put into
+       reg_rtx, make sure all hard regs in a multi-reg register are in the
+       right class and nonfixed.
 
-       * reload1.c (eliminate_regs): Convert (subreg (mem)) to (mem) when
-       not a paradoxical SUBREG.
+       * haifa-sched.c (reg_last_uses, reg_last_sets, reg_last_clobbers,
+       pending_read_insns, pending_write_insns, pending_read_mems,
+       pending_write_mems, pending_list_length, last_pending_memory_flush,
+       last_function_call, sched_before_next_call): Move static variables
+       into a structure.
+       (bb_ prefixed versions): Replace with single array bb_deps.
+       (struct deps): New structure.
+       (add_insn_mem_dependence, flush_pending_lists, sched_analyze_1,
+       sched_analyze_2, sched_analyze_insn, sched_analyze): Accept new
+       argument of type "struct deps *"; use that instead of global
+       variables.  All callers changed.
+       (init_rgn_data_dependencies): Delete function.
+       (init_rtx_vector): Delete function.
+       (init_deps): New function.
 
-Wed Nov 28 17:15:43 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       (free_pending_lists): Simplify, we always use the bb_deps array even
+       if only one basic block.
+       (compute_block_backward_dependences): Likewise.
+       (schedule_region): Likewise.
 
-       * emit-rtl.c (gen_label_rtx): Clear LABEL_NAME via gen_rtx.
+       (propagate_deps): New function, broken out of
+       compute_block_backward_dependences.
+       (compute_block_backward_dependences): Use it.
 
-Tue Nov 27 21:54:15 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * alpha.md: Delete useless patterns that tried to work around
+       register elimination problems.
 
-       * varasm.c (assemble_external): Never write a .extern for a static
-       name.
+       * unroll.c (loop_iterations): Don't abort if iteration variable
+       was made by loop.
 
-       * recog.c (validate_replace_rtx_1): Handle making a SUBREG of a MEM
-       by trying a new MEM.
+       From Joern Rennecke:
+       * reload1.c (reloads_conflict): Reverse test comparing operand
+       numbers when testing for conflict between output/outaddr reloads.
 
-Tue Nov 27 11:54:28 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+1999-11-29  David S. Miller  <davem@redhat.com>
 
-       * c-lang.c, objc-action.c: Include input.h.
-       (lang_init): Call check_newline here.
-       * toplev.c (compile_file): Not here.
-       Call lang_init after setting input_filename.
+       * config/sparc/sparc.c (init_cumulative_args): Fix type of third
+       arg.
+       * config/sparc/sparc-protos.h: Update proto, move into RTX_CODE.
 
-       * tree.h: Declare numerous functions that the front end must provide.
+1999-11-28  Robert Lipe  <robertl@cygnus.com>
 
-       * rtl.h (LABEL_REFS): Use operand 5, same as LABEL_NUSES.
+       * i386/sco5.h (FINI_SECTION_ASM_OP_COFF): Move destructor fn
+       table from .fini into .dtor.
 
-       * toplev.c (warn_return_type, W_options): Handle -Wreturn-type here.
-       * c-decl.c: Not here.
-       * flags.h: Declare it here, not in c-tree.h.
+1999-11-28  Anthony Green  <green@cygnus.com>
 
-       * gcc.c (pexecute): Wait and retry if fork fails.
+       * tree.h (struct tree_decl): Add malloc_flag.
+       (DECL_IS_MALLOC): Define.
+       * c-common.c (attrs): Add A_MALLOC attribute.
+       (init_attributes): Add this attribute to the table.
+       (decl_attributes): Handle malloc attribute.
+       * calls.c (special_function_p): Check for the malloc attribute.
+       * extend.texi (Function Attributes): Document malloc attribute.
 
-       * expr.c (do_jump): Pass all args to get_inner_reference.
-       (expand_assignment): Fix typo in arg to get_inner_reference.
+Sun Nov 28 13:21:00 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-hp9k320.h (STANDARD_STARTFILE_PREFIX): Don't alter if already set.
+       * pa.md (reload shift-add patterns): Remove.
 
-Mon Nov 26 18:28:51 1990  Michael I Bushnell  (mib at churchy.ai.mit.edu)
+1999-11-28 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
 
-       * cccp.c (handle_directive): Do backslash-newlines inside of
-       strings.
+       * reorg.c (dbr_schedule) Print more statistics. Corrected
+       problem when printing info when 3 delay slots are filled.
 
-Mon Nov 26 15:39:29 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+1999-11-28  Jakub Jelinek  <jakub@redhat.com>
 
-       * cccp.c (main): Handle -w.
-       (warning): Do nothing if -w.
-       * gcc.c (compilers): Pass -w to cpp.
+       * combine.c (setup_incoming_promotions): Pass an outgoing
+       regno to FUNCTION_ARG_REGNO_P which it expects.
 
-       * c-decl.c (grokdeclarator): Don't discard arg types
-       for prototype even if traditional.
+1999-11-28  Andreas Jaeger  <aj@suse.de>
 
-Sun Nov 25 20:52:31 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * mips/linux.h (CPP_PREDEFINES): Undefine before redefining.
 
-       * protoize.c: Undef CHAR_BIT, etc, before including limits.h.
+Sun Nov 28 00:48:15 1999  Philippe De Muyter  <phdm@macqel.be>
 
-       * reload1.c (old_asm_operands_vec, new_asm_operands_vec): 
-       Type should point to a vector.
-       (Eliminate_regs): For asm_operands, copy the vector properly.
+       * cccp.c (do_include): Avoid initialization of automatic variable.
 
-Sun Nov 25 20:35:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu)
+       * integrate.c (mark_stores): Function definition made void, to match
+       previous declaration.
+       * regclass.c (dump_regclass): Ditto.
+       * Makefile.in (WARN_CFLAGS): Macro augmented by `-Wtraditional'.
 
-       * jump.c (jump_optimize): Fix typo in stack push combining code.
+Sat Nov 27 08:38:26 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * reload1.c (eliminate_regs): Ensure we share operands 3 and 4
-       of ASM_OPERANDS operations if they were originally shared.
-       Copy all rtx flags when making a new MEM.
-       (eliminate_regs_in_insn): Initialize for ASM_OPERANDS sharing check.
+       * expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is
+       known to be multiple of divisor.
 
-Sun Nov 25 16:37:10 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * expr.c (store_constructor): Don't clobber TARGET if CLEARED.
 
-       * Makefile.in (stamp-gnulib2): Don't depend on gnulib2-indirect.
+       * combine.c (try_combine): Add code to try to merge a set of a
+       two-word pseudo to a constant with a setting of one of those words
+       to a constant.
 
-       * gcc.c (do_spec_1): Handle %W{...}.
-       (default_compilers): Use %W{...} when passing -o option.
+       * fold-const.c (negate_expr, associate_trees, extract_muldiv): New.
+       (split_tree): Completely rework to make more general.
+       (make_range, fold): Call negate_expr.
+       (fold, case NEGATE_EXPR): Simplify -(a-b) is -ffast-math.
+       (fold, associate): Call new split_tree and associate_trees.
+       (fold, case MULT_EXPR, case *_{DIV,MOD}_EXPR): Call extract_muldiv.
 
-Sat Nov 24 16:39:56 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+1999-11-26  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * cplus-lex.c (init_lex, do_pending_inlines, reinit_lang_specific):
-       Add conditionals for __GNU_LIBRARY__.
+       * loop.c (try_copy_prop): Avoid GNU C extension.
 
-Thu Nov 22 13:48:06 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+1999-11-25  Mark Mitchell  <mark@codesourcery.com>
 
-       * fold-const.c (optimize_bit_field_compare): Pass additional
-       arg to get_inner_reference; it gets set if something was volatile.
-       (decode_field_reference): New arg PVOLATILEP; passed to
-       get_inner_reference.
-       (merge_component_references): Add pointer to place to store if
-       something is volatile to calls to decode_field_reference; don't
-       do anything if it gets set (this may be very conservative).
+       * except.c (init_eh_for_function): Still zero eh_return_context,
+       eh_return_stack_adjust, and eh_return_handler.
 
-       * stmt.c (expand_end_loop): Skip initial CODE_LABEL at start of
-       loop when looking for qualified conditional exit.
+       * except.h (eh_status): Adjust documentation for x_protect_list.
+       (begin_protect_partials): New function.
+       * except.c (enqueue_eh_entry): Fix formatting.
+       (get_first_handler): Add consistency check.
+       (add_partial_entry): Adjust usage of protect_list.
+       (emit_cleanup_handler): Save and restore ehqueue.
+       (expand_start_all_catch): Add comment.
+       (begin_protect_partials): New function.
+       (end_protect_partials): Adjust usage of protect_list.
+       (init_eh_for_function): Use xcalloc.
 
-       * reload.c (push_reload): If (subreg:M1 (reg:M2 ....)) and we
-       have trouble access the register in M1, reload the reg, not subreg.
-       Fix typo in testing for memory.
-       (reload): Force reload of the operand in the above cases.
+1999-11-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Wed Nov 21 17:39:42 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-common.c (check_format_info): Don't call a variadic function
+       with a non-literal format string.
 
-       * loop.c (strength_reduce, combine_givs): Don't penalize
-       non-replaceable givs unless they are user variables; temporaries
-       are probably dead even though we can't prove it.
+       * c-decl.c (grokdeclarator, start_struct, finish_struct): Likewise.
 
-       * integrate.c (save_constants): Don't get confused by looking
-       inside CONST_DOUBLE_MEM.
-       Call recursively on what get_pool_constant returned, in case it
-       was itself the address of a pool constant.
-       (copy_for_inline, copy_rtx_and_substitute, restore_constants):
-       Remake CONST_DOUBLE so it gets chained in correctly and we don't use
-       obsolete CONST_DOUBLE_MEM values.  Call recusively on operand we are
-       about to pass to force_const_mem; it might have been a case of a
-       constant value being an address of another constant.
+       * c-typeck.c (build_component_ref, build_unary_op, lvalue_or_else,
+       pedantic_lvalue_warning, error_init, pedwarn_init, warning_init):
+       Likewise.
 
-       * loop.c (find_mem_givs): Don't make a DEST_ADDR giv with mult_val == 1
-       and add_val == 0.
-       (maybe_eliminate_biv_1): Turn off elimination in (compare biv1 biv2)
-       cases; they have problems.
+       * cccp.c (check_macro_name, do_xifdef, vwarning_with_line):
+       Likewise.
 
-Wed Nov 21 16:06:14 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * collect2.c (collect_wait): Likewise.
 
-       * dwarfout.c (location_attribute): Offset for bitfields is special.
+       * dbxout.c (dbxout_type): Likewise.
 
-       * expr.c (get_inner_reference): New arg pvolatilep.
-       (expand_expr, expand_assignment): Use to set MEM_VOLATILE_P.
+       * gcc.c (do_spec_1): Likewise.
 
-Wed Nov 21 10:34:25 1990  Tom Wood  (wood at dg-rtp.dg.com)
+       * genemit.c (gen_insn, gen_expand): Likewise.
 
-       * stor-layout.c (layout_decl): Record whether a FIELD_DECL is a
-       bit-field and if so its original type.
-       * tree.h (DECL_BIT_FIELD_TYPE): New.
-       * dbxout.c (dbxout_type): Use DECL_BIT_FIELD_TYPE.
-       * dwarfout.c (output_member_die, bit_offset_attribute,
-       bit_size_attribute, member_declared_type): Use DECL_BIT_FIELD_TYPE.
-       * sdbout.c (sdbout_one_type): Use DECL_BIT_FIELD_TYPE.
+       * genrecog.c (write_switch, write_subroutine): Likewise.
 
-       * sdbout.c (DEBUGGER_ARG_OFFSET, DEBUGGER_AUTO_OFFSET): New
-       interfaces to compute the location of arguments and automatic
-       variables.
-       * dbxout.c (DEBUGGER_ARG_OFFSET, DEBUGGER_AUTO_OFFSET): Likewise.
+       * mips-tfile.c (catch_signal, botch): Likewise.
 
-       * dbxout.c (dbxout_parms): Describe a parameter passed in
-       registers but living on the stack as N_PSYM rather than N_LSYM.
-       These are typically arg_pointer based locations.
-
-       * out-m88k.c (m88k_debugger_offset): New function.
-       * tm-m88k.h (DEBUGGER_ARG_OFFSET, DEBUGGER_AUTO_OFFSET): Replaces
-       SDB_AUTO_NORMALIZE_OFFSET.
-       * tm-m88k.h (STACK_BOUNDARY): Update to 16 byte aligned stacks.
+       * print-rtl.c (print_rtx): Likewise.
 
-Tue Nov 20 23:48:57 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * toplev.c (default_print_error_function, report_error_function,
+       _fatal_insn): Likewise.
 
-       * dwarfout.c (dwarfout_init): Set stack depth to 1 at start.
-       (output_padded_null_die): New function.
-       (dwarfout_finalize): Use that to ensure length divisible by 4.
+1999-11-25  Mark Mitchell  <mark@codesourcery.com>
 
-       * ns32k.md (addsi3): Don't use `addr' for very large displacements.
+       * tree.c (unsave_expr_now): Handle NULL_TREE as input.
 
-Tue Nov 20 05:48:42 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Wed Nov 24 17:08:09 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       * jump.c (can_reverse_comparison_p): It is safe to reverse an EQ
-       or NE comparison, even if IEEE floating-point.
+       * reg-stack.c (subst_stack_regs_pat): Swap operands in commutative
+       operations when needed.
+       * i386.md (fop_?f_comm): New.
+       (fop_?f_1): Do not accept commutative operands.
 
-       * integrate.h (struct inline_remap): const_*_map now maps registers
-       in calling function, not called function.
-       Add fields to save values recorded from SETs.
-       * integrate.c: Now includes insn-config.h and real.h.
-       (expand_inline_function): New meaning for const_*_map.
-       Don't fill in constant equivalences here; now done in try_constants.
-       Show CALL_INSNs potentialy clobber all hard registers since we
-       now record equivalences for hard registers.
-       (try_constants): No longer need original RTL; all callers changed.
-       Call note_stores to kill any known equivalences for registers changed.
-       Record equivalences for PC, CC0, and registers set by this insn.
-       (subst_constants): No longer need original RTL; all callers changed.
-       Reflect new meaning of const_*_map.
-       Perform more extensive constant folding, basically a subset of
-       fold_rtx in cse.c; specifically, fold the result of comparison
-       operations and IF_THEN_ELSE operations.
-       Record the constant equivalences of SETs, if any.
-       (try_fold_condition, const_equiv, fold_out_const_cc0): Deleted.
-       * Makefile.in (integrate.o): Now includes insn-config.h and real.h.
+1999-11-25  Andreas Jaeger  <aj@suse.de>
 
-Sat Nov 17 07:48:45 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/mips/mips.md (casesi_internal): Add missing brace.
 
-       * local-alloc.c (local_alloc): Don't allocate a reg that wants a
-       class that has only one register; let global-alloc do it so that it
-       can be given a GENERAL_REG if reload needs a spill reg of that class.
+1999-11-25  Jason Merrill  <jason@casey.cygnus.com>
 
-       * regclass.c (regclass, reg_class_record): Count savings in loops as
-       being greater the same way we adjust reg_n_refs for loops in flow.c.
+       * dwarf2out.c (pend_type, output_pending_types_for_scope): Lose.
+       (splice_child_die): Handle moving a child DIE from the declaration
+       DIE of a class to its specification.
+       (gen_struct_or_union_type_die): Use 'complete' consistently.
+       (gen_decl_die): Generate the virtual context DIE first.
+       Use decl_ultimate_origin instead of DECL_ABSTRACT_ORIGIN.
 
-       * expmed.c (store_bit_field, extract_bit_field): Remove change of
-       Oct 16; it causes problems with long long bit fields.
+1999-11-24  Gavin Romig-Koch  <gavin@cygnus.com>
 
-       * rtlanal.c (reg_overlap_mentioned_p): If called with a constant,
-       return zero.  If called with a MEM, return 1 iff the second arg
-       contains a MEM. 
-       * reload.c (push_reload): Call reg_overlap_mentioned_p only if OUT
-       is a MEM and then pass it the address of OUT.
+       * config/mips/mips.md (call_value_multiple_interanal1): New.
 
-       * cse.c (cse_insn): Refine when SRC_EQV, SRC, and DEST are added
-       to the hash table.  SRC_EQV is not added to the hash table if it
-       is volatile or equal to DEST and similarly for SRC.  DEST is not
-       added to the hash table unless either SRC_EQV or SRC is.
+1999-11-24  Jason Merrill  <jason@casey.cygnus.com>
 
-Thu Nov 15 23:43:20 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * dwarf2out.c (free_AT, free_die): New fns.
+       (remove_children): Call them.
+       (output_line_info): Disable removal of duplicate notes.
 
-       * c-typeck.c (convert_for_assignment): Change warning message.
+       Generate minimal debug info for types with TYPE_DECL_SUPPRESS_INFO set.
+       * dwarf2out.c (gen_struct_or_union_type_die): TYPE_DECL_SUPPRESS_INFO
+       means pretend the type isn't defined.
+       Don't defer emitting types.
+       (gen_type_die_for_member): New fn.
+       (gen_decl_die): Call it.
+       (splice_child_die): New fn.
+       (gen_member_die): Call it rather than generate duplicate dies.
 
-Thu Nov 15 18:44:49 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       Defer emitting information for the abstract instance of an inline
+       until we either inline it or emit an out-of-line copy.
+       * dwarf2out.c (decl_ultimate_origin): Ignore DECL_ABSTRACT_ORIGIN
+       from output_inline_function if DECL_ABSTRACT is also set.
+       (block_ultimate_origin): Likewise.
+       (gen_abstract_function): New fn.
+       (gen_decl_die, gen_inlined_subroutine_die): Call it.
+       (gen_subprogram_die):  An abstract instance is not a declaration
+       just because it doesn't match current_function_decl.  Don't abort
+       because DECL_DEFER_OUTPUT isn't set.  Do abort if a declaration
+       has an abstract origin.
+       * toplev.c (rest_of_compilation): Don't emit dwarf2 info for the
+       abstract instance here.
 
-       * stmt.c (expand_end_loop): Generalize code to look for more
-       than one branch to the exit and include unconditional branches
-       to the exit; move the whole range to the end of the loop.
-       * jump.c (duplicate_loop_exit_test): New function.
-       (jump_optimize): Call it.
-       Don't allocate jump_chain until we have finished deleting dead code.
-       Leave some more room in jump_chain.
-       (simplejump_p): Reject if not JUMP_INSN.
-       (delete_insn): If simplejump_p, remove from jump chain.
-       * loop.c (loop_skip_over): Deleted.
-       (scan_loop): No longer call it.
-       * cse.c (predecide_loop_entry): Deleted.
-       (cse_basic_block): No longer call it.
+Wed Nov 24 18:39:18 1999  Andrew Haley  <aph@cygnus.com>
 
-Thu Nov 15 18:00:20 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case
+       where we need to reload fpul from a system register.
 
-       * math-68881.h (HUGE_VAL): Add extra braces for Sun.
+1999-11-24  Andreas Jaeger  <aj@suse.de>
 
-       * stor-layout.c (layout_type): Don't let array have less
-       alignment than its mode calls for.
+       * config/mips/linux.h (CPP_PREDEFINES): Added.
+       (LINK_SPEC): Remove -Y since this is only needed on sparc.
 
-Thu Nov 15 13:05:30 1990  Tom Wood  (wood at dg-rtp.dg.com)
+1999-11-24  Andreas Jaeger  <aj@suse.de>
 
-       * sdbout.c (sdbout_parms, sdbout_reg_parms): Reimplemented based
-       on dbxout_parms and dbxout_reg_parms.
+       * config/mips/linux.h (TARGET_VERSION): Added.
+       (HANDLE_SYSV_PRAGMA): Added.
+       (DEFAULT_VTABLE_THUNKS): Added.
 
-Wed Nov 14 08:48:43 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Wed Nov 24 14:12:15 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       * emit-rtl.c (emit_...): All of these now return the last insn
-       emitted; previously some of them returned void.
-       (emit_barrier_before): New function, similar to others.
-       * rtl.h: All emit_... functions now return an rtx; reorder so
-       declarations are in the same order as definitions in emit-rtl.c.
+       * local-alloc.c (qty): New structure and static variable.
+       (qty_phys_reg): Remove, all references changed to qty.
+       (qty_n_refs): Likewise.
+       (qty_min_class): Likewise.
+       (qty_birth): Likewise.
+       (qty_death): Likewise.
+       (qty_size): Likewise.
+       (qty_mode): Likewise.
+       (qty_n_calls_crossed): Likewise.
+       (qty_alternate_class): Likewise.
+       (qty_changes_size): Likewise.
+       (qty_first_reg): Likewise.
+       (alloc_qty): Rename variable QTY to QTYNO.
+       (finf_free_reg): Likewise.
+       (local_alloc): Allocate qty, do not allocate the removed variables.
+
+Wed Nov 24 17:26:05 1999  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * config/mips/mips.h (ASM_SPEC): Don't pass -G to the assembler
+       when -membedded-pic is passed.
+
+       * config/mips/mips.md (casesi): Handle 64-bit case too.
+       (casesi_internal_di): New insn.
+
+       * config/mips/mips.c (embedded_pic_offset): Always make the
+       embedded-pic subtractions relative to the name of the current
+       function by use of the magic string "..CURRENT_FUNCTION".
+       * config/mips/mips.h (ASM_OUTPUT_LABELREF): Make the magic happen.
+
+1999-11-24  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * config/mips/mips.md (div_trap_normal): Don't ask for the REGNO
+       of (const_int 0), when what we really care about is
+       whether it's a zero constant anyway.
+       (div_trap_mips16): Likewise.
+
+1999-11-23  Mark Mitchell  <mark@codesourcery.com>
+
+       * loop.c (loop_optimize): Always find_loop_tree_blocks and
+       unroll_block_trees when generating debuggable code.
+
+       * tree.h (unsave_expr_1): New function.
+       (lang_unsave): New variable.
+       (get_callee_fndecl): New function.
+       * tree.c (unsave_expr_now_r): New function.
+       (lang_unsave): Define.
+       (unsave_expr_1): Likewise.
+       (unsave_expr_now_r): Split out from unsave_expr_now.
+       (unsave_expr_now): Call lang_unsave if it is non-NULL.  Otherwise,
+       call unsave_expr_now_r.
+       (get_callee_fndecl): Define.
+
+       * Makefile.in (gencheck): Don't depend on lang_tree_files.
+       (gencheck.o): Do depend on lang_tree_files.
+
+       * integrate.h (copy_decl_for_inlining): New declaration.
+       * integrate.c (copy_and_set_decl_abstract_origin): Remove.
+       (copy_decl_for_inlining): New function.
+       (integrate_parm_decls): Use it.
+       (integrate_decl_tree): Likewise.
+
+1999-11-23  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * config/mips/mips.h (ISA_HAS_FP4,ISA_HAS_CONDMOVE,ISA_HAS_8CC): Split
+       the second two from the first.
+       (CONDITIONAL_REGISTER_USAGE): Use ISA_HAS_8CC rather than ISA_HAS_FP4.
+       * config/mips/mips.md (movcc,reload_incc,reload_outcc,
+       conditional move): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
+       ISA_HAS_FP4.
+       * config/mips/mips.c (mips_move_1word,gen_conditional_branch,
+       override_options): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
+       ISA_HAS_FP4.
+
+Tue Nov 23 11:15:04 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.md (call_internal_symref, call_value_internal_symref): No mode
+       needed on the address operand.
+       * pa.c (call_operand_address): Check for the correct mode.
+
+1999-11-23  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * loop.c: Include "basic-block.h".
+       (try_copy_prop, replace_loop_reg): New functions.
+       (load_mems): Detect registers that just hold copies of the hoisted
+       mem, and call try_copy_prop to eliminate them.
+       * Makefile.in (loop.o): Update dependencies.
+
+Tue Nov 23 01:03:29 1999  Hans-Peter Nilsson  <hp@axis.com>
+
+       * Makefile.in (gencheck.o): Depend on gencheck.h.
+       (insn-emit.o): Depend on flags.h, hard-reg-set.h and resource.h.
+       (insn-peep.o): Depend on except.h and function.h.
+       (insn-attrtab.o): Depend on RECOG_H.
+       (insn-output.o): Depend on toplev.h and flags.h.
+       (gengenrtl.o): Depend on real.h.
+       (gen-protos.o): Depend on cpplib.h and cpphash.h.
+       Unify all dependencies to be on RECOG_H rather than recog.h.
+
+Tue Nov 23 00:57:10 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       From Casper H.S. Dik on comp.unix.solaris, 23 Oct 1998:
+       * configure.in: Try building a bi-arch 32/64-bit compiler on
+       sparc-*-solaris2.7 and higher.
+       * configure: Rebuild.
+
+Mon Nov 22 23:09:44 1999  David O'Brien  <obrien@FreeBSD.org>
+
+       * config/freebsd.h: New, FreeBSD architecture independent file.
+       * config/i386/freebsd-elf.h: removed FreeBSD architecturally
+       independent pieces.
+       * config/i386/freebsd.h: include i386/perform.h via tm.h rather than
+       directly by i386/freebsd.h.
+       * configure.in (*-*-freebsdelf): Include new FreeBSD architecturally
+       independent configuration file.
+       (*-*-freebsdelf): Include i386/perform.h via tm.h rather than
+       directly by i386/freebsd.h.
+       * configure: Rebuilt.
+
+       * xm-i386.h: Define `__i386__' if not defined, rather than `i386'
+       which is in the user's namespace.
+       * libgcc2.c: Look for the ANSI-C approved `__i386__' symbol, vs.
+       `i386' which is not in our namespace.
+
+Mon Nov 22 22:58:01 1999  "R. Kelley Cook" <KelleyCook@attglobal.net>
+
+       * invoke.texi (ARM Options): Add in -mno-alignment-traps
+
+1999-11-22  Jason Merrill  <jason@casey.cygnus.com>
+
+       * dwarf2out.c (die_struct): Remove die_attr_last and die_child_last.
+       (add_dwarf_attr, add_child_die): Just push onto the front.
+       (reverse_die_lists): New fn.
+       (add_sibling_attributes): Use it.
+       (push_decl_scope): Reorganize.
+       (add_name_and_src_coords_attributes): Don't set file and line for
+       an artificial decl.
+       (gen_subprogram_die): An artificial function doesn't need to match
+       file and line.
+       (gen_compile_unit_die): Return the generated die.  Only add
+       AT_comp_dir if the filename is relative.
+       (remove_AT): Simplify loop.  Also free string values.
+       (output_die): A DIE ref can't be null.
+       (output_value_format, value_format): Take a dw_attr_ref.
+       (dwarf_last_decl, is_extern_subr_die, sibling_offset): Remove.
+       (AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
+       AT_addr, AT_lbl): New fns.
+       (various): Use them.
+       (various): Constify.
+
+Mon Nov 22 23:53:50 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * combine.c (combine_simplify_rtx): When handling a SUBREG,
+       take SUBREG_WORD into account.
+       (if_then_else_cond): Likewise.
+
+1999-11-22  Jason Merrill  <jason@casey.cygnus.com>
+
+       * gmon.c, i386/gmon-sol2.c, sparc/gmon-sol2.c: Remove advertising
+       clause from BSD license, pursuant with
+
+         ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
+
+1999-11-22  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * loop.c (load_mems): Reformat slightly.
+       * basic-block.h (regset_head): New typedef.
+       (INIT_REG_SET): New macro.
+
+1999-11-22  Bruce Korb  <autogen@linuxbox.com
+
+       * fixinc/mkfisinc.sh(i?86-*-linux): disable script, run fixincl exe
+       (mips-dec-bsd*): non-functional code
+       (alpha*-*-linux-gnu*): redundant, duplicated by "*-*-linux-gnu*"
+
+       * fixinc/inclhack.def(AAB_fd_zero_glibc_*):
+       added three replacement fixes
+       (no_double_slash): removed comments that are not (any longer) pertinent
+       (bad_lval): this fix currently runs against many files.
+       The comment seems to indicate that we should select for files
+       containing 'pragma extern_prefix'.
+
+       * fixinc/fixinc.x86-linux-gnu: deleted
+       * fixinc/inclhack.sh:  regen
+       * fixinc/fixincl.x:  regen
+       * fixinc/fixincl.sh:  regen
+
+Fri Nov 12 14:08:40 1999  Andrew Haley  <aph@cygnus.com>
+
+       * emit-rtl.c (gen_sequence): Only return the pattern of an insn if
+       its code is INSN and it has no notes.
+
+1999-11-22  Andrew Haley  <aph@cygnus.com>
+
+       * varasm.c (function_defined): Remove.
+       (make_function_rtl): Don't set function_defined.
+       (make_decl_rtl): Remove global register warning.
+       * regclass.c (no_global_reg_vars): New variable.
+       (globalize_reg): Warn if function has already been defined.
+       (regclass_init): Set no_global_reg_vars.
+
+Mon Nov 22 14:42:22 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * regclass.c (reg_pref): New structure and static variable
+       (prefclass): Delete.
+       (altclass): Delete.
+       (all uses of prefclass and altclass): Use reg_pref instead.
+
+1999-11-21  Nick Clifton  <nickc@cygnus.com>
+
+       * invoke.texi (ARM Options): Replace -mshort-load-bytes with
+       -malignment-traps.
+       (arm.h): Replace -mshort-load-bytes with -malignment-traps.
+       (arm.c): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
+       (arm.md): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
+
+Sun Nov 21 17:11:13 1999  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * varasm.c (output_constructor): Solve problem with long long
+       bitfields, even on BYTES_BIG_ENDIAN machines (testcase 991118-1).
+
+Fri Nov 19 05:48:45 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * global.c (allocno): New structure and static variable.
+       (allocno_reg): Remove, all references replaced by allocno.
+       (allocno_size): Likewise.
+       (hard_reg_conflicts): Likewise.
+       (hard_reg_preferences): Likewise.
+       (hard_reg_copy_preferences): Likewise.
+       (hard_reg_full_preferences): Likewise.
+       (regs_someone_prefers): Likewise.
+       (allocno_calls_crossed): Likewise.
+       (allocno_n_refs): Likewise.
+       (allocno_live_length): Likewise.
+       (find_reg): Rename ALLOCNO to NUM.
+
+       * regclass.c (may_move_in_cost): Rename from may_move_cost, all
+       references updated.
+       (may_move_out_cost): New variable.
+       (init_reg_sets_1): Initialize may_move_out_cost.
+       (record_reg_classes): Use may_move_out_cost.
+
+       * regclass.c (dump_regclass): New function.
+       (regclass): New parameter DUMP, call DUMP_REGCLASS.
+       * toplev.c (rest_of_compilation): Open lreg dump file before regclass,
+       pass rtl_dump_file to regclass.
+       * rtl.h (regclass): Update prototype.
+
+Fri Nov 19 06:32:19 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * i386.md (neg, not and abs patterns): Revmap to use
+       ix86_expand_unary_operator and ix86_unary_operator_ok.
+       (add?f and sub?f expanders): Force operand 1 to register.
+       * i386.c (ix86_expand_unary_operator): Rewrite.
+       (ix86_unary_operator_ok): Ensure that memory operands
+       match real opcode.
+       (ix86_binary_operator_ok): Do not allow operand 1 to
+       come into memory and operand 0 not.
+       (ix86_expand_binary_operator): Ensure that
+       src1 is not non-matching memory.
+
+       * i386.md (negs?2): Rewrite to expanders, new patterns and splitters
+       to support integer registers and memory.
+       (abss?2_integer): Likewise.
+
+       * i386.h (enum reg_class): Add FLOAT_INT_REGS.
+       (REG_CLASS_NAMES): Likewise.
+       (REG_CLASS_CONTENTS): Define FLOAT_INT_REGS as union of FLOAT_REGS
+       and GENERAL_REGS.
+       * i386.md (pushsf): Do not preferre FLOAT_REGS over GENERAL_REGS.
+       (movsf): Likewise; unify 4th and 5th alternative.
+       (pushdf): Likewise.
+       (movdf_1): Likewise; rename to movdf_integer.
+       (pushxf): Likewise; rename to pushxf_integer; fix output template;
+       remove redundant splitter.
+       (movxf_1): Likewise; rename to movxf_integer; fix splitter's condition.
+       (movdf_nointeger): New.
+       (movxf_nointeger): New.
+       (pushxf_nointeger): New.
+
+       * i386.md (extend?f?f): Split to expander and pattern, refuse two
+       memory operands in patterns.
+       (fop*): Refuse two memory operands.
+
+       * i386.md (ashrsi3_31): Allow cltd when optimizing for size even
+       on !TARGET_USE_CLTD CPUs.
+
+Fri Nov 19 10:41:15 GMT 1999  Nathan Sidwell  <nathan@acm.org>
+
+       * extend.texi: Document C++ restricted pointers and references.
+
+1999-11-19  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * cse.c (addr_affects_sp): No longer conditional on AUTO_INC_DEC.
+       (invalidate_skipped_set): Call it unconditionally.
+       (cse_set_around_loop): Likewise.
+
+Thu Nov 18 17:29:34 MST 1999   Diego Novillo <dnovillo@cygnus.com>
+
+       * rtl.texi (mem): Add documentation for alias-set argument
+       to RTX `mem'.
+
+Fri Nov 18 13:39:22 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * i386.h (struct_processor_costs): New fields int_load, int_store,
+       fp_move, fp_load and fp_store
+       (REGISTER_MOVE_COST): Fix comment, calculate exactly the cost of
+       fp->int moves
+       (MEMORY_MOVE_COST): New macro.
+       * i386.c (386_cost): Define new fields.
+       (i486_cost): Likewise.
+       (pentium_cost): Likewise.
+       (pentiumpro_cost): Likewise.
+       (k6_cost): Likewise.
+
+Fri Nov 19 11:11:55 1999  Greg McGary  <gkm@gnu.org>
+                         Geoffrey Keating  <geoffk@cygnus.com>
 
-       * reorg.c (steal_delay_list_from_{target,fallthrough}): Add missing
-       test when checking candidate insn for resource conflicts.
+       * config/m68k/m68kelf.h: Suppress '/* within comment' warning.
+
+       * config/m68k/m68k.h (MASK_PCREL): Don't use same value as
+       MASK_ALIGN_INT.
 
-Wed Nov 14 07:08:19 1990  Tom Wood  (wood at dg-rtp.dg.com)
+       * config/m68k/m68k.h (MASK_NO_STRICT_ALIGNMENT): New macro.
+       (TARGET_STRICT_ALIGNMENT): New macro.
+       (TARGET_SWITCHES): Add "strict-align" and "no-strict-align".
+       (STRICT_ALIGNMENT): Depend on TARGET_STRICT_ALIGNMENT.
+       * invoke.texi (M680x0 Options): Document -mstrict-align.
+
+Thu Nov 18 11:10:03 1999  Jan Hubicka  <hubicka@freesoft.cz>
+                         Richard Henderson  <rth@cygnus.com>
 
-       * c-parse.y (pushlevel, compstmt): Place a line note at the first
-       token beginning a block and at the close brace ending a block.
-       These are the conventional locations for SDB and DWARF debugging
-       information.
+       * i386-protos.h (split_xf, ix86_split_movdi): Remove.
+       (ix86_split_long_move): Declare.
+       * i386.c (split_xf, ix86_split_movdi): Remove.
+       (ix86_split_to_parts, ix86_split_long_move): New.
+       * i386.md (dimode move splitters): Use ix86_split_long_move.
+       (dfmode move splitters): Likewise.
+       (xfmode move splitters): Likewise.
+       (movsf_1): Allow F->r.
+       (movdf_1, movxf_1): Allow F->ro.
 
-Tue Nov 13 18:16:47 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+1999-11-17  Mark Mitchell  <mark@codesourcery.com>
 
-       * function.c (assign_stack_local): If alignment not specified
-       and not BLKmode, use at least word alignment.
-       (assign_outer_stack_local): Likewise.
+       * except.h (struct eh_entry): Add goto_entry_p.
+       (eh_region_from_symbol): Remove prototype.
+       * except.c (find_func_region_from_symbol): New function.
+       (emit_cleanup_handler): Likewise.
+       (eh_region_from_symbol): Make it static.
+       (add_new_handler): Verify the argument.
+       (find_func_region): Update comment.
+       (expand_eh_region_end): Expand handlers here, rater than waiting
+       until expand_leftover_cleanups or start_all_catch.
+       (expand_leftover_cleanups): Don't expand here.
+       (expand_start_all_catch): Or here.
+       (expand_rethrow): Check the return value from find_func_region.
+       * function.c (expand_function_end): Emit the catch_clauses.
 
-       * sparc.md: Turn off patterns that specify no_ov or CC_NO_OVERFLOW.
+1999-11-18  Gavin Romig-Koch  <gavin@cygnus.com>
 
-       * dwarfout.c (file_attribute): Fix arg to ASM_OUTPUT_DWARF_ATTRIBUTE.
-       (AT_line, AT_file): New definitions.
+       * integrate.c (expand_inline_function): Add necessary check for NULL.
 
-       * out-i860.c (output_block_move): Move .Lm%3 down one insn.
+1999-11-18  Nick Clifton  <nickc@cygnus.com>
 
-       * c-decl.c (grokdeclarator): -funsigned-bit-field doesn't affect enums.
+       * toplev.c (main): Correctly detect an unrecognized option.
 
-Tue Nov 13 09:28:27 1990  Tom Wood  (wood at dg-rtp.dg.com)
+       * cppinit.c (cpp_handle_option): Do not claim to have consumed
+       a -f option if it has not been recognized.
 
-       * gcc.c (default_compilers): Report an error if -C is used without
-       -E.  Pass -H to cpp.
+Thu Nov 18 00:59:11 1999  Michael Gschwind  <mikeg@alagoas.watson.ibm.com>
 
-       * sdbout.c (plain_type, plain_type1): save and output the
-       rightmost array dimensions.
+       * basic-block.h (update_life_extent): Remove trailing comma on
+       enumeration type list.
 
-       * syms.h (enum sdb_type): Add T_VOID, equal in value to T_ARG.
-       * sdbout.c (plain_type_1): Use T_VOID for VOID_TYPE and define it
-       to be T_INT if not present in <syms.h>.
+1999-11-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
 
-       * sdbout.c (sdbout_toplevel_data): Use abort rather than fatal.
+       * varasm.c (output_constructor) Solved problem with long long
+       bitfields. Corrected calculating this_time and shift. Also
+       corrected calculating mask when BITS_PER_UNIT == 32 (c4x).
 
-Mon Nov 12 08:49:33 1990  Michael Tiemann  (tiemann at cygnus.com)
+Wed Nov 17 23:46:14 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * expr.c (compare): Fix use of GET_MODE_CLASS so we don't abort if
-       MODE is VOIDmode.
-       * optabs.c (init_optab): Call `xmalloc' instead of `malloc'.
+       * flow.c (split_edge): Take looping structure into account when
+       determining where to put the new block note.
 
-       * out-sparc.c (hard_regno_mode_ok): Change initialization of array
-       to match behavior of Nov 11 change for complex modes.
+Wed Nov 17 20:42:43 1999  Jeff Holcomb  <jeffh@cygnus.com>
 
-       * jump.c (delete_labelref_insn): Chase all LOG_LINKS of insn to try
-       to delete references to LABEL.  This is needed for machines like
-       SPARC which use multiple insns to get the value of LABEL into a
-       register.
+       * Makefile.in (ggc-none.o): Provide host specific version if
+       needed.
 
-Mon Nov 12 16:07:27 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Wed Nov 17 16:51:23 1999  Richard Henderson  <rth@cygnus.com>
 
-       * machmode.def (SCmode, ...): Class is MODE_COMPLEX_FLOAT.
+       * cse.c (delete_trivially_dead_insns): Identify no-op insns
+       containing subregs too.
 
-Sun Nov 11 00:27:34 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Wed Nov 17 17:39:48 MST 1999   Diego Novillo <dnovillo@cygnus.com>
 
-       * tm-i860.h (HARD_REGNO_MODE_OK): Handle values more than 2 regs long.
-       * tm-m68k.h (HARD_REGNO_MODE_OK): Likewise, for d7/a0 boundary.
-       * tm-spur.h (HARD_REGNO_MODE_OK): Likewise, for 31/32 boundary.
-       * tm-*.h (HARD_REGNO_NREGS): Use GET_MODE_NUNITS to handle
-       complex values in fp registers on machines where one reg holds a DF.
+       * invoke.texi: Add documentation for -muninit-const-in-rodata.
+       * config/mips/mips.h (MASK_UNINIT_CONST_IN_RODATA): Define.
+       (TARGET_UNINIT_CONST_IN_RODATA): Define.
+       (text_section): Add switches -munint-const-in-rodata and
+       -mno-uninit-const-in-rodata.
+       (ASM_OUTPUT_COMMON): Remove.
+       (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. Check if uninitialized
+       const objects should be placed in read-only data. Otherwise declare
+       them in common.
 
-       * sdbout.c (sdbout_one_type): Do nothing for incomplete type.
+Wed Nov 17 16:38:32 1999  Richard Henderson  <rth@cygnus.com>
 
-       * c-decl.c (duplicate_decls): Warning only when redefining built-in fn.
+       * jump.c (jump_optimize_1): Revert last change.
 
-       * c-decl.c (init_decl_processing): Use sizetype, not unsigned long,
-       in prototypes for memcpy and memcmp.
+Wed Nov 17 15:18:30 1999  Richard Henderson  <rth@cygnus.com>
 
-       * c-parse.y (component_decl): Don't read the semicolon here.
+       * jump.c (jump_optimize_1): Don't try to duplicate the loop exit
+       test if optimizing for size.
 
-       * toplev.c (compile_file): Reverse top-level decls before output.
+1999-11-17  Mark Mitchell  <mark@codesourcery.com>
 
-Sat Nov 10 22:27:47 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * Makefile.in (toplev.o): Depend on except.h.
+       (dwarf2out.o,loop.o,flow.o,haifa-sched.o): Likewise.
 
-       * stor-layout.c (layout_type): Use MODE_COMPLEX_{INT,FLOAT}.
+Mon Nov 15 22:45:39 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-Sat Nov 10 20:34:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * i386.md (divmodsi4): Rewrite to expander.
+       (*divmodsi4_nocltd): New.
+       (*divmodsi4_cltd): New.
+       (divmodsi4 splitter): Handle the case when input comes in edx.
+       (udivmodhi4): Do not use constraints in exander.
+       (ashrsi3_31): Conditionize by TARGET_USE_CLTD.
 
-       * reload.c: Provide a default definition of REGISTER_MOVE_COST.
+1999-11-17  Jason Merrill  <jason@yorick.cygnus.com>
 
-Sat Nov 10 01:43:09 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * dwarf2out.c (push_decl_scope): Still use decl_scope_depth - 1
+       for the common case.
 
-       * cplus-init.c (emit_base_init): Don't use CLASSTYPE_ASSOC as a list
-       of only immediate basetypes anymore.  Use `get_base_distance' to
-       check whether a type is an immediate basetype or not.
+1999-11-16  Jakub Jelinek  <jakub@redhat.com>
 
-       * stmt.c (expand_return): Don't emit a USE if VAL is a
-       pseudo-register.
+       * explow.c (hard_function_value): Add outgoing argument.
+       * expr.h (hard_function_value): Declare it.
+       * calls.c (expand_call, emit_library_call_value): Update callers.
+       * function.c (aggregate_value_p): Ditto.
+       (diddle_return_value): Must look at the outgoing registers
+       on archs with register windows.
 
-       * integrate.c (function_cannot_inline_p): Call to strcmp for
-       "__builtin_va_alist" must use IDENTIFIER_POINTER not
-       DECL_NAME.
+Mon Nov 15 20:46:45 1999  Richard Henderson  <rth@cygnus.com>
 
-       * genattrtab.c (check_attr_test): Use XSTR macro instead of
-       XEXP macro in places where strings are used.
+       * alpha.c (alpha_build_va_list): Use make_lang_type and
+       initialize TYPE_NAME for the va_list record.
 
-       * tree.c (type_hash_lookup): Have to check TYPE_DOMAIN for non-zero
-       before comparing the equality of the possible lists.
+       * flow.c (calculate_global_regs_live): Zero bb->aux to begin.
 
-       * cplus-typeck.c (build_c_cast): Check TREE_TYPE before checking
-       that the TREE_TYPE is an OFFSET_TYPE.
+       * ggc-common.c (ggc_print_statistics): Cast size_t to unsigned long
+       for printing.
+       * ggc.h (struct ggc_statistics): Rearrange elements for better
+       packing on 64-bit hosts.
+       * lcm.c (compute_laterin): Store a size_t not an int in bb->aux.
+       (compute_nearerout): Likewise.
 
-       * cplus-typeck.c (c_expand_return): Use DECL_RESULT of
-       current_function_decl instead of `result' since `result' might be
-       set to zero.
+Tue Nov 16 14:37:52 1999  Geoffrey Keating  <geoffk@cygnus.com>
 
-       * cplus-decl.c (xref_tag): Fixed typo in setting
-       TYPE_USES_COMPLEX_INHERITANCE.
+       * config/rs6000/rs6000.c (first_reg_to_save): Save
+       PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
 
-       * cplus-tree.c (assoc_value): Changed interface to take COPYING
-       parameter.
-       * cplus-{class,init,search,tree}.c  All callers changed.
+1999-11-15  Jason Merrill  <jason@casey.cygnus.com>
 
-       * cplus-typeck.c (build_c_cast): Resolve OFFSET_REFs if the type we
-       are converting to is not an OFFSET_TYPE.
+       * dwarf2out.c (scope_die_for): Don't rely on the decl_scope_table
+       notion of nesting to find the DIE for a type or function.
+       DIEs can go in limbo even if we got a context_die.
+       (push_decl_scope): Our context doesn't need to be in decl_scope_table.
+       (gen_struct_or_union_type_die): Don't use TREE_PERMANENT to test
+       for local type.
+       (gen_decl_die): Ignore NAMESPACE_DECLs for now.
+       (gen_type_die): Writing out the context doesn't cause member class
+       template instantiations to be written out as well.
 
-Thu Nov         8 15:26:27 1990  Craig Burley  (burley at pogo.ai.mit.edu)
+Mon Nov 15 15:33:18 1999  Richard Henderson  <rth@cygnus.com>
 
-       * tm-*.h: Try to change HARD_REGNO_NREGS, HARD_REGNO_OK, and other
-       macro defs to handle new complex type stuff.  Mostly guesswork; needs
-       checking by people who really know each machine.
-       * machmode.def (SCmode, DCmode, XCmode, TCmode): New complex modes.
-       * machmode.h (GET_MODE_ALIGNMENT): New macro from stor-layout.c.
-       * tree.c (build_complex_type): New function.
-       * stor-layout.c (layout_type): Handle COMPLEX_TYPE.
-       * expr.c (compare1, compare, move_block_to_reg, emit_push_insn):
-       Change uses of GET_MODE_CLASS.
-       * optabs.c (expand_binop, expand_twoval_binop, expand_unop):
-       (emit_cmp_insn): Likewise.
+       * rs6000.h (ASM_OUTPUT_DEF): New.
+       Based on proposed addition from David Edelsohn.
 
-Thu Nov         8 06:19:57 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+1999-11-15  Robert Lipe  <RobertLipe@usa.net>
+           Bruce Korb  <autogen@linuxbox.com>
 
-       * local-alloc.c (no_conflict_p): Initialize *WHERE_DEAD; previously
-       uninitialized.
+       * fixinc/inclhack.def
+       (AAB_svr4_replace_byteorder): added.  Takes advantage of GCC features
+       (unixware7_byteorder_fix): added.  Removes conflicts for new defs
+               in net/inet.h.
+       (svr5_mach_defines): added.  Like svr4_mach_defines, with new syntax
+       (svr4_endian): enabled with SVR5
+       (svr4_mkdev): simplified syntax and enabled with SVR5
 
-Thu Nov         8 01:08:45 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Sun Nov 14 18:49:37 1999  David O'Brien  <obrien@FreeBSD.org>
 
-       * c-parse.y (yylex): Size of wide STRING_CST counted terminator wrong.
+       * configure.in: Handle libgcc2 threads support on FreeBSD platforms.
+       * configure: Rebuilt.
+       * config/t-freebsd-thread: New file.
 
-Wed Nov         7 14:55:38 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Sun Nov 14 23:11:05 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * gnulib2.c (L_trampoline): Put it inside a dummy function.
+       * i386.c (ix86_decompose_address): Verify the base is a REG
+       before trying to examine its register number.
 
-       * enquire.c: Renamed from hard-params.c; new vers from steven@cwi.nl.
-       Modified to undef CHAR_BIT, etc. if defined in stdio.h.
-       * Makefile.in (enquire): Targets renamed.
-       (enquire.o): Define NO_MEM.
+       * basic-block.h: Remove all #defines and prototypes related to
+       integer lists.
+       (free_bb_mem, compute_preds_succs): Remove prototype.
+       * rtl.h (free_bb_mem): Remove prototype.
+       * flow.c (alloc_int_list_node); Remove function.
+       (add_inst_list_node, free_int_list, add_pred_succ): Likewise.
+       (compute_preds_succs, free_bb_mem): Likewise.
+       * gcse.c (gcse_main): Do not call free_bb_mem anymore.
+       * toplev.c (rest_of_compilation): Likewise.
+       * haifa-sched.c (build_control_flow): Use flow generated edge
+       list to build the haifa specific edge list.
+       (find_rgns): Use new CFG data structures instead of pred/succ lists.
+       (schedule_insns): Do not build pred/succ lists anymore.  Instead
+       build the edge table.
+
+       * basic-block.h (dump_bb_data): Remove declaration.
+       * flow.c (dump_bb_data): Remove function.
+       * sbitmap.c (sbitmap_intersect_of_predsucc): Delete function.
+       (sbitmap_union_of_predsucc): Likewise.
+
+       * gcse.c (delete_null_pointer_checks_1): Kill unused s_preds
+       argument.  All callers changed.
+       (delete_null_pointer_checks_1): No longer need to compute the
+       pred/succ lists.
+
+       * gcse.c (pre_expr_reaches_here_p): Kill CHECK_PRE_COM argument.
+       All callers changed.
+       (pre_expr_reaches_here_p_work): Likewise.
+       (pre_edge_insert): No longer call pre_expr_reaches_here_p.
+       * lcm.c (compute_laterin): Fix initialization of LATER.
+       (compute_nearerout): Similarly for NEARER.
 
-Wed Nov         7 14:18:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Sun Nov 14 12:41:57 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * jump.c (invert_jump): If it is going to fail (i.e., redirect_jump
-       fails), don't invert the jump.
+       * cse.c (set_nonvarying_address_components): Delete unused function.
+       (refers_to_p): Likewise.
 
-       * expr.c (expand_expr, case COND_EXPR): 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.
+Fri Nov 12 20:53:22 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * jump.c (delete_jump): reg_set_p should be called with PATTERN (insn).
-       (thread_jumps): Add omitted last argument to rtx_equal_for_thread_p.
+       * function.c (diddle_return_value): Set REG_FUNCTION_VALUE_P as
+       needed.
 
-       * reload.c (find_reloads): Only skip insns which set one hard register
-       to another if the cost of doing so is low;  if not, there may not be
-       a single insn to do the copy and we may need a reload register.
+Sat Nov 13 16:20:09 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-Wed Nov         7 00:01:18 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Wrap macro
+       definition in do while (0).
 
-       * c-parse.y (component_decl_list): Allow missing semi at end.
+Fri Nov 12 16:26:25 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * loop.c (move_movables): When moving and deleting library call,
-       don't be confused if an insn is deleted.
+       * stmt.c (pushcase, pushcase_range): Partially revert Oct 28 change.
 
-Tue Nov         6 20:49:57 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Fri Nov 12 12:43:49 1999  Richard Henderson  <rth@cygnus.com>
 
-       * tm-m68k.h (TRANSFER_TO_TRAMPOLINE): Fix asm syntax.
-       * xm-iris.h (alloca): Delete redundant definition.
-       * tm-iris.h (CPP_SPEC): Define variant symbols starting with _.
-       Define __EXTENSIONS__.
+       * unroll.c (unroll_loop): Make temp an unsigned HOST_WIDE_INT.
 
-       * config.gcc (editing .gdbinit): Search current dir, not just srcdir.
+Fri Nov 12 15:14:19 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
 
-Tue Nov         6 22:24:09 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * i960.h (CAN_DEBUG_WITHOUT_FP): Don't define it.
+       (FRAME_POINTER_REQUIRED): Don't worry about nonlocal goto.
+       (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
+       (INITIAL_FRAME_POINTER_OFFSET): Remove it.
 
-       * expr.c (expand_expr, case COND_EXPR): Generate efficient code for
-       A ? A : FOO and similar.
+       * i960.c (i960_function_prologue): Don't allocate space for g8-g11
+       saved on the stack.  Output more accurate stack frame statistics
+       into assembler file.
 
-       * combine.c (subst): If we have, e.g., (lt CONST FOO), convert it
-       to (gt FOO CONST).
+1999-11-12 11:47 -0800  Zack Weinberg  <zack@bitmover.com>
 
-       * recog.c (comparison_operand): Use comparison_code_p.
+       * genextract.c (record_insn_name): New function.
+       (get_insn_name): No longer a stub.
+       (main): Call record_insn_name for each insn.  After each label
+       written, print the insn name in a comment.
 
-       * genconfig.c (walk_insn_part):  Add operand to indicate if PART is
-       going to be used to recognize an insn (as opposed to emitting rtl).
-       If not, ignore CC0.
-       (gen_insn, gen_expand, gen_split, gen_peephole): Add new operand to
-       walk_insn_part calls.
+Fri Nov 12 13:45:02 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cse.c (find_comparison_args): Correctly compute rtx_code of
-       comparison; if we find another comparison code inside, use it.
-       * loop.c (get_condition): Likewise.
+       * output.h (const_section, init_section, fini_section): Add
+       prototypes.
 
-       * expr.c (expand_builtin): For ffs, don't pass VOIDmode to expand_unop.
+       * alpha/elf.h (const_section): Delete declaration.
 
-Mon Nov         5 12:55:00 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * svr4.h (const_section): Likewise.
 
-       * final.c (output_addr_const): Don't print parens for CONST.
+Fri Nov 12 08:54:22 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * reload1.c (choose_reload_regs): Handle case where find_equiv_reg
-       returns a SUBREG.  Also, use variable `regno' uniformly throughout
-       code that finds equivalent register.
+       * tree.h (SAVE_EXPR_PERSISTENT_P): New macro.
+       * tree.c (array_type_nelts): Don't handle SAVE_EXPRs specially.
+       (unsave_expr_now): Don't unsave SAVE_EXPR_PERSISTENT_P
+       expressions.
+       * stor-layout.c (variable_size): Set SAVE_EXPR_PERSISTENT_P on
+       variable-sized array bounds.
 
-       * gnulib2.c (__floatdisf, __fixunssfsi): New functions.
-       (__fixsfdi, __fixunssfdi): New functions.
-       * gnulib.c (__floatsisf, __fixsfsi): New functions.
+Fri Nov 12 08:04:45 1999  Catherine Moore  <clm@cygnus.com>
 
-Mon Nov         5 06:37:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME):  Use
+       ASM_OUTPUT_LABEL.
 
-       * fold-const.c (fold, case EQ_EXPR and NE_EXPR): Convert, e.g.,
-       (A & 2) == 2 to (A & 2) != 0.  This eliminates the need for these
-       patterns in MD files.
-       Detect more general cases of comparing something with itself.
+Fri Nov 12 13:31:54 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-Mon Nov         5 00:09:55 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Treat QImode
+       addresses the same way GO_IF_LEGITIMATE_INDEX does.
 
-       * stmt.c (expand_cleanups): Don't run any cleanup twice.
+Fri Nov 12 12:36:04 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-Sun Nov         4 23:49:22 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * cse.c (hash_arg_in_struct): Delete.
+       (struct table_elt): Delete elt in_struct.
+       (struct set): Delete elt src_in_struct.
+       (merge_equiv_classes): Don't set either hash_arg_in_struct or
+       the corresponding in_struct elts.
+       (canon_hash): Likewise.
+       (safe_hash): Likewise.
+       (find_best_addr): Likewise.
+       (record_jump_cond): Likewise.
+       (cse_insn): Likewise.
 
-       * expr.c (convert_move): Use emit_no_conflict_block when converting
-       SImode to DImode.
-       If have slt insn, emit a compare insn; we must not have a use of
-       cc0 without a set; normally, the compare will be deleted as
-       redundant in final.c.
-       Use shift rather than clear/test/negate for high-order word when
-       doing sign extension.
+Thu Nov 11 19:45:24 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * optabs.c (emit_no_conflict_block): Don't put REG_NO_CONFLICT
-       notes on the trailing copy insn; nobody looks there.
+       * loop.c (invariant_p, case MEM): Put MEM_VOLATILE_P check back.
 
-       * combine.c (try_combine): Don't combine a reg-reg copy if the
-       destination is used in a REG_NO_CONFLICT note.
+       * dbxout.c (dbxout_type, case INTEGER_TYPE): Handle too large
+       unsigned types.
 
-       * reload.c (find_equiv_reg): Use true_regnum to support SUBREGs
-       as well as REGs.
+Thu Nov 11 18:54:24 1999  Jeffrey A Law  (law@cygnus.com)
 
-Sun Nov         4 12:55:03 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * function.c (diddle_return_value): Put back check that the DECL_RTL
+       for the function is a register.
 
-       * i386.md (extend*): Take out last change.
-       Unix assembler rejects movsx...
+       * function.c (diddle_return_value): Use hard_function_value to
+       get an rtx suitable for use in the USE/CLOBBER insn.
 
-       * expr.c (expand_expr): Special case for ignored volatile
-       failed to return.
+       * global.c (global_conflicts): Update comments.
+       (record_conflicts): No need to record conflicts between pseudos here.
 
-Sat Nov         3 14:42:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+1999-11-11  Bruce Korb  <autogen@linuxbox.com>
 
-       * expr.c (do_jump, case PLUS_EXPR): Turn off this case; it was a
-       pessimization.
+       * fixinc/fixincl.c: Added verbose levels for status messages
 
-Fri Nov         2 01:51:31 1990  Michael Tiemann  (tiemann at cygnus.com)
+Thu Nov 11 13:23:04 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * stmt.c (expand_return): Don't emit a USE if VAL is a
-       pseudo-register.
+       * jump.c (jump_optimize_1): Avoid passing an rtx that is not an
+       operand as argument to expand_and or expand_binop.
 
-Fri Nov         2 15:30:48 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Thu Nov 11 02:21:16 1999  Rodney Brown <RodneyBrown@pmsc.com>
 
-       * gnulib2.c (__builtin_saveregs): Add version for i860.
+       * xcoffout.c (xcoffout_source_file): Change ggc_add_root to
+       gcc_add_string_root.
 
-       * out-i860.c (output_block_move): Rearrange the copy loop.
-       Now uses two labels and a more complicated lead-in.
+Wed Nov 10 21:24:19 1999  Jason Eckhardt  <jle@cygnus.com>
 
-Fri Nov         2 14:17:24 1990  Tom Wood  (wood at dg-rtp.dg.com)
+       * config/pa/pa.h (MASK_RETURN_ADDR): Change 0xfffffffc to -4.
 
-       * m88k.md (extendsidi2):  New define_expand.
+Wed Nov 10 15:56:16 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * out-m88k.c:  Converted various constructs to use conventinal
-       formatting.
+       * flow.c (compute_flow_dominators): Initially put all blocks on
+       the worklist.
+       * lcm.c (compute_antinout_edge, compute_available): Similarly.
+       * gcse.c (compute_cprop_avinout): Remove.
+       (compute_cprop_data): Use compute_available.
+       (delete_null_pointer_checks_1): Use compute_available.
 
-       * m88k.md (ext pattern): Must have parens.
-       * m88k.md (mul/div patterns): Added better documentation.  Removed
-       unfounded restriction on immediate values.
-       * m88k.md (increment and test peephole): Don't use %L.
+       * basic-block.h (compute_available): Returns a void now.
+       * gcse.c (one_classic_gcse_pass): Do not expect compute_available
+       to return a value anymore.
+       * lcm.c (compute_available, compute_antinout_edge): Revamp to use
+       worklists.  Fix boundary cases. Compute maximal solutions.
+       (compute_laterin, compute_nearerout): Similarly.
 
-       * out-m88k.c (m88k_layout_frame): Must allocate space for the
-       addressing base register (-mpic).
-       * out-m88k.c (output_tdesc): Use version 2 tdesc with PIC.
+       * dwarf2out.c (add_AT_location_description): Allow
+       (mem (plus (pseudo) (...)) too.
 
-       * tm-m88k.h, tm-m88kdgux.h,: Don't predefine memcpy and others.
-       * tm-m88k.h: Fixes for dwarf.
-       * tm-m88ksvr4.h: Dwarf changes.
-       * xm-m88k.h xm-m88kdgux.h xm-v88r32.h: Update comments.
+Wed Nov 10 10:52:42 1999  Tom Tromey  <tromey@cygnus.com>
 
-Fri Nov         2 12:30:15 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * gcc.c (do_spec_1): Support text between `%u' and `%O'.
 
-       * jump.c (comparison_dominates_p): Return 1 if codes are the same.
-       (thread_jumps): Use get_label_after.
+Wed Nov 10 12:43:21 1999  Philippe De Muyter  <phdm@macqel.be>
+                         Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * a29k.md (movdi): Handle CONST_INT as well as CONST_DOUBLE.
-       (comparisons): Fix typo in define_split for floating-point NE.
+       * cppinit.c: Test `GCC_VERSION', not `HAVE_GCC_VERSION'.
 
-       * reorg.c (fill_slots_from_thread): Don't mark as annulled if no
-       delay list.
+       * gansidecl.h: Likewise.
 
-       * loop.c: Allow use of any register to store comparison results.
-       (loop_skip_over): Don't treat comparison specially; copy all insns
-       preceeding the jump.
-       (check_for_endtest, other_reg_use_p): Deleted.
-       (can_eliminate_biv_p, eliminate_biv): Deleted; code merged and
-       placed into new maybe_eliminate_p_1.
-       (may_eliminate_biv, may_eliminate_biv_1): New functions; recursively
-       look at all rtx to see if every occurrence of a biv can be
-       eliminated.
-       (check_eliminate_biv): Deleted; callers changed to call
-       may_eliminate_biv.
-       (get_condition): Rework to look into previous insns to find insns
-       that set the first operand of comparison insns.
+       * rtl.c: Likewise.
 
-Thu Nov         1 22:07:42 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * rtl.h: Likewise.
 
-       * cse.c (fold_rtx, case COMPARE): Only convert compare to test if
-       HAVE_cc0 is defined.
-       * combine.c (subst): Copy COMPARE case from fold_rtx.  
-       Simplify things like (ne (eq FOO BAR) (const_int 0)).
+       * toplev.h: Likewise.
 
-Thu Nov         1 18:06:56 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * tree.c: Likewise.
 
-       * math-68881.h (HUGE_VAL): Alternate definition for Suns.
+       * tree.h: Likewise.
 
-       * config.gcc (sun3, etc.): Assume os4 as default for Sun 3 and Sun 4.
+       * varray.c: Likewise.
 
-       * tm-i386v.h (STARTFILE_SPEC, LIB_SPEC): Handle -posix.
-       (CPP_SPEC): New macro.
-       (LIB_SPEC): Handle -shlib.
+       * varray.h: Likewise.
 
-       * c-decl.c (init_decl_processing): Make last arg to memcpy and memcmp
-       an unsigned long, to be like size_t.
+Wed Nov 10 10:57:22 1999  Clinton Popetz  <cpopetz@cygnus.com>
 
-       * Makefile.in (hard-params): Depend on gnulib2, not gnulib.
+       * gcov.c (struct arcdata): Add hits and total, remove prob.
+       (output_branch_counts): New.
+       (process_args): Set output_branch_counts if -c.
+       (calculate_branch_probs): Store hits and total instead of
+       percentage.
+       (output_data): Emit counts if output_branch_counts is true.
+       * gcov.texi (Invoking Gcov): Document -c switch..
 
-Wed Oct 31 22:12:33 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Wed Nov 10 01:10:41 1999  Philippe De Muyter  <phdm@macqel.be>
 
-       * config.gcc (ultrix):  New alternative.
+       * genoutput.c (output_insn_data): Cast `INSN_OUTPUT_FORMAT_MULTI' and
+       `INSN_OUTPUT_FORMAT_FUNCTION' to `PTR'-type.
 
-       * i386.md (extend*): Change opcode to movsx.  Was movs.
+Wed Nov 10 00:51:41 1999  Hans-Peter Nilsson  <hp@axis.se>
 
-Wed Oct 31 09:41:27 1990  Tom Wood  (wood at dg-rtp.dg.com)
+       * invoke.texi (C Dialect Options): Add missing builtins from
+       c-common.c to list.
+       * extend.texi (Other Builtins): Copy to this list.
 
-       * m88k.md: Deleted an old pattern for subtracting 0.
-       * m88k.md: Deleted patterns for aligned bit-field insns.
-       * m88k.md: Changed define_expand to define_insn for mulsi3 and
-       umulsi3.
-       * m88k.md: Converted various constructs to use conventional
-       formatting.
-       * m88k.md (mak patterns):  Fixed transcription errors.
+Wed Nov 10 04:58:09 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
-Wed Oct 31 00:05:54 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * Makefile.in (recog.o): Use BASIC_BLOCK_H macro.
+       (print-rtl.o, $(HOST_PREFIX_1)print-rtl.o): Likewise.  Remove
+       redundant bitmap.h.
 
-       * c-decl.c (init_decl_processing): Predefine the ordinary names
-       of alloca, abs, memcpy, etc.
+Wed Nov 10 00:02:53 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * c-decl.c (duplicate_decls): Allow redefining built-in as static,
-       but optionally warn.
+       * flow.c (compute_flow_dominators): No longer treat basic block 0
+       or (n_basic_blocks - 1) specially.  Clear the AUX field before
+       starting computation of doms/pdoms.  Fix initial state for pdoms.
 
-Tue Oct 30 14:39:17 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Wed Nov 10 03:58:08 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
-       * c-decl.c (finish_function): Use DEFAULT_MAIN_RETURN in `main'.
-       * tm-vms.h (DEFAULT_MAIN_RETURN): Define this.
+       * Makefile.in ($(HOST_PREFIX_1)rtl.o): Update dependencies to
+       match rtl.o's: added ggc.h and toplev.h
+       ($(HOST_PREFIX_1)print-rtl.o): Likewise: added system.h.
+       ($(HOST_PREFIX_1)rtlanal.o): Likewise: added system.h.
+       ($(HOST_PREFIX_1)obstack.o): Likewise: added $(CONFIG_H).
 
-       * c-parse.y (yylex): Base is not 8 for just `0'.
+Tue Nov  9 10:30:08 1999  Tom Tromey  <tromey@cygnus.com>
 
-       * cccp.c (do_define): Invert test of compare_defs.
+       * config/i386/xm-djgpp.h (HAVE_DOS_BASED_FILE_SYSTEM): Renamed
+       from HAVE_DOS_BASED_FILESYSTEM.
+       * gcc.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM, not
+       HAVE_DOS_BASED_FILESYSTEM.
+       (main): Likewise.
+       (split_directories): Only special-case DOS file names if
+       HAVE_DOS_BASED_FILE_SYSTEM is defined.  Use IS_DIR_SEPARATOR
+       instead of explicit tests.  Conditionalize on !VMS.
+       (make_relative_prefix): Use IS_DIR_SEPARATOR instead of explicit
+       tests.  Conditionalize on !VMS.
+       (process_command): Only use make_relative_prefix if !VMS.
+       (free_split_directories): Conditionalize on !VMS.
+       (DIR_UP): Conditionalize on !VMS.
 
-       * cccp.c (make_definition): Convert newline to newline-newline.
+Wed Jun  9 16:57:11 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 
-       * Makefile.in (hard-params): Depend on gnulib.
+       * gcc.c (STANDARD_BINDIR_PREFIX): Provide default.
 
-       * m88k.md (divsi3): Delete declarations of gen_... functions.
+Fri Feb  5 14:22:01 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 
-Tue Oct 30 14:26:20 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * gcc.c (make_relative_prefix): Handle the HAVE_EXECUTABLE_SUFFIX
+       case.
 
-       * cse.c: Rework handling of comparisons to generalize better to
-       machines that use registers to hold condition code information.
-       (prev_insn_cc0*): Just store last rtx assigned to cc0 in prev_insn_cc0.
-       (find_comparison_args): New function.
-       (fold_rtx): Folded value of cc0 is the value previously stored into it.
-       Rework handling of comparisons:  use find_comparison_args to see what
-       is being compared.  If they are constants, compute the result of the
-       comparison.  If not, see if the two operands are equivalent (only for
-       non FP or non-IEEE FP).  Then see if we have already seen a comparison
-       involving these operands that lets us give a value to this comparison.
-       True comparisons return STORE_FLAG_VALUE, not 1.
-       (fold_cc0): Deleted.
-       (predecide_loop_entry): Call cse_insn on a copy of each insn at the
-       loop test to propagate the values of items at the start of the loop.
-       Then use fold_rtx to see if we know the result of the jump.
-       (record_jump_equiv): Use new function find_comparison_args.
-       (cse_insn): Just record value of CC0 if set; don't call fold_cc0.
-       Don't modify PREV_INSN (insn) if INSN is a copy.
-       (cse_main): Initialize const_true_rtx to rtx for STORE_FLAG_VALUE.
+Mon Nov  8 14:16:57 1999  Michael Meissner  <meissner@cygnus.com>
+
+       * invoke.texi (Environment Variables): Document relative path
+       lookup.
+       * gcc.c (DIR_UP): If not defined, define as "..".
+       (standard_bindir_prefix): New static, holds target location to
+       install binaries.
+       (split_directories): New function to split a filename into
+       component directories.
+       (free_split_directories): New function, release memory allocated
+       by split_directories.
+       (make_relative_prefix): New function, make a relative pathname if
+       the compiler is not in the expected location.
+       (process_command): If GCC_EXEC_PREFIX was not specified, see if we
+       can figure out an appropriate prefix from argv[0].
+       * Makefile.in (DRIVER_DEFINES): Use unlibsubdir in definition of
+       STANDARD_STARTFILE_PREFIX and TOOLDIR_BASE_PREFIX.  Define
+       STANDARD_BINDIR_PREFIX.
+
+Wed Nov 10 11:47:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x-protos.h: New file.  Prototypes for functions defined
+       in c4x.c.
+       * config/c4x/c4x.h: Moved prototypes to c4x.h.
+       * config/c4x/c4x.c (c4x_preferred_reload_class, c4x_limit_reload_class,
+       c4x_secondary_memory_needed) Delete.
+       (fp_zero_operand): Add mode argument.
+
+Thu Nov  4 15:52:35 1999  Andrew Haley  <aph@cygnus.com>
+
+       * reload1.c (reload_reg_free_for_value_p): Don't use a register
+       that is in reload_reg_used.
+
+Tue Nov  9 16:43:00 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm-protos.h: New file: Prototypes for functions
+       defined in arm.c and pe.c.
+       * config/arm/arm.h: Fix compile time warnings.
+       * config/arm/arm.c: Fix compile time warnings.
+       * config/arm/pe.h: Fix compile time warnings.
+       * config/arm/aout.h: Fix compile time warnings.
+
+Tue Nov  9 14:55:44 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/m32r/m32r-protos.h: New file: Prototypes for functions
+       defined in m32r.c
+
+       * config/m32r/m32r.h: Move prototypes to m32r-protos.h
+       Add support for subtargets.
+       Add prototypes for new predicates.
+       Add scheduling macros.
+
+       * config/m32r/m32r.c: Fix compile time warnings.
+       (int8_operand): New predicate function.
+       (reg_or_cmp_int16_operand): New predicate function.
+       (extend_operand): New predicate function.
+       (m32r_adjust_code): New scheduling function.
+       (m32r_adjust_priority): New scheduling function.
+       (m32r_sched_init): New scheduling function.
+       (m32r_sched_reorder): New scheduling function.
+       (m32r_sched_variable_issue): New scheduling function.
+       (direct_return): New codegen function.
+       (m32r_not_same_reg): New rtl testsing function.
+
+       * config/m32r/m32r.md: Fix compile time warnings.
+       Add support for pre decrement and post increment memory
+       references.
+       Add S<cc> patterns.
+       Add fabs patterns.
+
+Mon Nov  8 22:20:13 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * global.c (EXECUTE_IF_CONFLICT): Don't define.
+       (prune_preferences): Use EXECUTE_IF_SET_IN_ALLOCNO_SET instead.
+       (find_reg): Likewise.
+
+Mon Nov  8 13:16:46 1999  Jason Eckhardt  <jle@cygnus.com>
+
+       * config/pa/pa.md (fmpynfadd,{sgl,dbl} insns): Use %fr0 rather than 0
+       to avoid assembler errors.
+
+Mon Nov  8 15:38:41 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/v850/v850-protos.h: New file: Prototypes for functions
+       defined in v850.c
+       * config/v850/v850.h: Move prototypes to v850-protos.h
+       * config/v850/v850.c: Move prototypes to v850-protos.h
+       * config/v850/v850.md: Fix compile time warnings.
+
+       * config/fr30/fr30-protos.h: New file: Prototypes for functions
+       defined in fr30.c
+       * config/fr30/fr30.h: Move prototypes to fr30-protos.h
+       * config/fr30/fr30.c: Fix compile time warnings.
+       * config/fr30/fr30.md: Fix compile time warnings.
+
+Mon Nov  8 07:25:37 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.h (get_containing_scope): Declare it.
+       * tree.c (get_containing_scope): New fucntion.
+       (decl_function_context): Use it.
+       * toplev.c (rest_of_compilation): Use get_containing_scope.
+
+aMon Nov  8 03:03:07 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+       * Makefile.in (rtl.o): Depend on toplev.h.
+
+Sun Nov  7 20:55:14 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * cse.c (delete_trivially_dead_insns): Replace alloca with
+       xmalloc/xcalloc.
+       * except.c (update_rethrow_references): Likewise.
+       (init_eh_nesting_info): Likewise.
+       * function.c (identify_blocks): Likewise.
+       * gcse.c (dump_hash_table): Likewise.
+       * graph.c (print_rtl_graph_with_bb): Likewise.
+       * loop.c (combine_movables): Likewise.
+       (move_movables): Likewise.
+       (count_loop_regs_set): Likewise.
+       (strength_reduce): Likewise.
+       * profile.c (compute_branch_probabilities): New function, split
+       out from ...
+       (branch_prob): Here.  Replace alloca with xmalloc/xcalloc.
+       * regclass.c (regclass): Likewise.
+       * regmove.c (regmove_optimize): Likewise.
+       * toplev.c (compile_file): Likewise.
+       (main): Don't mess with the stack rlimit.
 
-       * jump.c (comparison_code_p, comparison_dominates_p): New functions.
-       (thread_jumps): Use comparison_dominates_p.
-       Remove debugging code.
-       * reorg.c (condition_dominates_p): Use new function
-       comparison_dominates_p.
+Sun Nov  7 19:41:17 1999  Catherine Moore  <clm@cygnus.com>
+
+       * config/elfos.h (ASM_DECLARE_FUNCTION_NAME): Conditionally define.
+       (ASM_DECLARE_FUNCTION_SIZE): Conditionally define.
+
+Sun Nov  7 10:23:28 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns.
+
+Sun Nov  7 02:58:48 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * global.c (EXECUTE_IF_CONFLICT): Undo Robert's change.
+       (EXECUTE_IF_SET_IN_ALLOCNO_SET): Put curleys around CODE in
+       macro expansion.
+
+Sat Nov  6 23:48:30 1999  Robert Lipe  (robertlipe@usa.net)
+
+       * global.c (EXECUTE_IF_CONFLICT): Correct quoting typo.
+
+Sat Nov  6 17:34:39 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * gcse.c (post_dominators): Kill.
+       (alloc_code_hoist_mem, free_code_hoist_mem); Kill post_dominators.
+       (compute_code_hoist_data): Use compute_flow_dominators.  Do not
+       pass in a pdom array since we do not need pdoms.
+       * haifa-sched.c (schedule_insns): Similarly.
+       * flow.c (compute_dominators): Remove dead function.
+       (compute_flow_dominators): Do not compute doms or pdoms if the
+       caller does not request them.  Split up loop to build doms and
+       pdoms.  Use a worklist to compute doms and pdoms.
+       * basic-block.h (compute_dominators): Remove prototype.
 
-       * emit-rtl.c (next_cc0_user): Don't get confused by being call with a
-       copy of an insn; use INSN_UID to check for an insn in a delay slot.
+Sat Nov  6 11:38:39 1999  Richard Henderson  <rth@cygnus.com>
 
-       * rtl.c (reg_note_name): Add name for new REG_LABEL note.
+       * haifa-sched.c (struct haifa_insn_data, h_i_d): New.
+       (insn_luid, insn_priority, insn_costs, insn_units): Remove.
+       (insn_reg_weight, insn_depend, insn_dep_count): Remove.
+       (insn_blockage, insn_ref_count, line_note, insn_tick): Remove.
+       (cant_move, fed_by_spec_load, is_load_insn): Remove.
+       (schedule_region): Remove unused variable.
+       (schedule_insns): Allocate h_i_d, and not all the separate arrays.
 
-       * emit-rtl.c (make_insn_raw): No longer have JUMP_LABEL for INSN.
+Sat Nov  6 10:00:34 1999  Mark Mitchell  <mark@codesourcery.com>
 
-Tue Oct 30 09:26:15 1990  Tom Wood  (wood at dg-rtp.dg.com)
+       * local-alloc.c (local_alloc): Use xmalloc/xcalloc, not alloca.
+       (update_equiv_regs): Likewise.
+       (block_alloc): Likewise.
+       * reg-stack.c (reg_to_stack): Likewise.
+       (convert_regs_2): Likewise.
+       * reload1.c (reload_as_needed): Likewise.
 
-       * Update what strings in files edited so far.
-       * tm-m88k.h, tm-m88kdgux.h, tm-m88ksv4r.h: Introduce VERSION_STRING
-       and VERSION_INFO to more appropriately identify the compiler.
+Sat Nov  6 09:57:59 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * tm-m88k.h (ASM_OUTPUT_OPCODE): Stop processing the opcode if `%'
-       is encountered.
-       * out-m88k.c (print_operand): Add a tab to %L output.  Delete
-       unused cases.
+       * Makefile.in (dbxout.o): Depend on ggc.h.
+       (dwarf2out.o): Likewise.
+       (xcoffout.o): Likewise.
+       * dbxout.c: Include ggc.h.
+       (dbxout_init): Register lastfile as a root.
+       * dwarf2out.c: Include ggc.h.
+       (dwarf2out_line): Register lastfile as a root.
+       * xcoffout.c: Include ggc.h.
+       (xcoffout_source_line): Register xcoff_lastfile as a root.
+
+Sat Nov  6 09:52:09 1999  Richard Henderson  <rth@cygnus.com>
 
-       * m88k.md:  Rework the movstrsi pattern and provide call_block_move
-       and call_block_move_loop to support expand_block_move.
-       * out-m88k.c:  Rework the block move functions.
-       * make-m88k, make-m88kdgux:  Eliminate movstr.h.
+       * i386.md (movdf_1, movxf_1): Earlyclobber general regs destination.
 
-       * m88k.md, out-m88k.c: Eliminate assembler comments.
+Sat Nov  6 07:48:59 1999  Catherine Moore  <clm@cygnus.com>
 
-       * m88k.md (ashlsi3 ashrsi3 lshlsi3 lshrsi3): Eliminate warnings
-       about out of range shifts.
+       * config/svr4.h (ASM_DECLARE_FUNCTION): Check if already
+       defined.
+       (ASM_DECLARE_FUNCTION_SIZE): Likewise.
 
-       * tm-m88k.h, out-m88k.c: Rename CONDITION_CODE_REGNUM CC0_REGNUM.
+Fri Nov  5 18:33:39 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-Mon Oct 29 18:06:54 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * global.c (EXECUTE_IF_SET_IN_ALLOCNO_SET): New macro.
+       (EXECUTE_IF_CONFLICT): Likewise.
+       (ALLOCNO_LIVE_P): Avoid signed division.
+       (SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Likewise.
+       (prune_preferences, find_reg): Use EXECUTE_IF_CONFLICT.
+       (record_one_conflict): Use EXECUTE_IF_SET_IN_ALLOCNO_SET.
 
-       * final.c (final_end_function): Handle dwarf output.
-       (final_scan_insn): Likewise.
-       (output_source_line): Likewise, using ASM_OUTPUT_DWARF_LINE.
-       * toplev.c (rest_of_decl_compilation): Likewise.
-       (rest_of_compilation, main): Likewise.
-       * varasm.c (assemble_variable): Likewise.
-       * flags.h (enum debugger): Define DWARF_DEBUG.
+Fri Nov  5 12:04:02 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cccp.c (do_define): Rewrite criterion for warning.
-       Don't warn if -D redefining symbol with constant numeric value.
+       * haifa-sched.c (schedule_block): Don't crash if there's no
+       next insn for an interblock movement.
+       (add_branch_dependences): Don't allow clobber insns to move either.
 
-       * toplev.c (output_file_directive): New function.
-       * sdbout.c (sdbout_filename): Deleted.
-       * tm-3b1.h, tm-att386.h, tm-encore.h, tm-m88k.h,
-       tm-mot3300.h, tm-tahoe.h, tm-vaxv.h (ASM_FILE_START): Use that.
+Fri Nov  5 10:18:11 1999  Richard Henderson  <rth@cygnus.com>
 
-       * c-decl.c (named_labels): No longer static.
-       (pushlevel): Clear named_labels.
-       (poplevel): Don't clear it here.
+       * i386.c (split_xf): New.
+       * i386-protos.h: Declare it.
+       * i386.md (movxf_1): Add general regs alternatives.
+       (movxf_1+1): New splitter for same.
 
-Mon Oct 29 13:32:57 1990  Michael Tiemann  (tiemann at cygnus.com)
+Fri Nov  5 12:05:52 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * Makefile.in: Update dependencies for various files, mostly cplus-*
-       files.
+       * function.c (purge_addressof_1): Add missing return values.
 
-       * rtl.def: Remove Sep 26 that added JUMP_LABELs to INSN and
-       CALL_INSN.
-       * rtl.h: Add REG_LABEL register note.  For INSN and CALL_INSN, the
-       presence of this register note has the same meaning that a non-NULL
-       JUMP_LABEL would have with the Sep 26 change.
-       * jump.c (jump_optimize): Revert to clearing JUMP_LABEL field of
-       JUMP_INSNs only.
-       (mark_jump_label): If INSN is an INSN or a CALL_INSN, add a
-       REG_LABEL note if a LABEL appears (and no such note already exists).
-       ??? Once recorded, this information appears never to be used.
-
-       * jump.c (delete_jump): The deletion of INSN must take place when
-       INSN is a simple jump.  Also, don't try to optimize if we come
-       across an insn with the reorg-generated pattern (USE (INSN ...)).
-
-       * cplus-lex.c, cplus-dbxout.c: Remove vestigial support for dumping
-       and undumping the compiler.
-
-       * Merge cplus diffs from Kenner.
-       * cplus-cvt.c (convert_to_integer): Fold the COND_EXPR we construct.
-       * cplus-typeck.c (build_conditional_expr): Ditto in three places.
-       * cplus-lex.c (yylex,do_pending_inlines): Add conditionals for
-       _IBMR2.  This hair will disappear when pcccp support is merged, but
-       needed for now.
-       * cplus-tree.h: Conditionalize use of non-int bitfield types on
-       ONLY_INT_FIELDS.  Also, remove duplication declarations of
-       get_temp_name, get_temp_aggr, and get_temp_regvar; add declaration
-       of build_decl_list.
+Fri Nov  5 10:07:25 1999  Nick Clifton  <nickc@cygnus.com>
 
-Mon Oct 29 11:45:03 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * function.c (is_addressof): New function.  Returns true if
+       the given piece of RTL is an ADDRESSOF.
+       (purge_addressof_1): Make boolean.  Return false if the
+       ADDRESSOFs could not be purged.
+       (purge_addressof): If ADDRESSOFs could not be purged from the
+       notes attached to an insn, remove the offending note(s),
+       unless they are attached to a libcall.
 
-       * fixincludes: Fix missing semi in rusers.h.
+1999-11-05  Andreas Jaeger  <aj@suse.de>
 
-Mon Oct 29 07:07:47 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * genoutput.c (null_operand =): Initialize all fields.
 
-       * flow.c (mark_used_regs): When converting "...*p...; q = p + size"
-       to "q = p, ...*q..., q = q + size", show that Q is needed after INSN.
+       * errors.h: Add extern to prototypes.
 
-       * romp.md (negdi): Directly generate assembly code rather than
-       converting this into a MINUS.
+Fri Nov  5 01:44:09 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * fold-const.c (fold, case COND_EXPR): Add missing condition in test
-       for (A ? 0 : A).
+       * configure.in (m68k-next-nextstep4): Handle Openstep 4.2.
+       * configure: Rebuilt.
 
-Sun Oct 28 15:01:19 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Fri Nov  5 01:24:37 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-       * flow.c (find_basic_blocks): An indirect jump can go
-       to any label whose address is used as data.
+       * global.c (CONFLICTP, SET_CONFLICT): Avoid signed division.
+       (mirror_conflicts): New function.
+       (global_alloc): Call it.
+       (expand_preferences): Remove redundant CONFLICTP test.
+       (find_reg, dump_conflicts): Likewise.
+       (prune_preferences): Process conflicts one word at a time.
 
-       * m68k.md (zero-extend QI): Use gen_rtx, not change_address.
+Fri Nov  5 01:05:21 1999  Richard Henderson <rth@cygnus.com>
 
-       * Makefile.in (USER_H): List va-*.h explicitly.
-       (toplev.o): Depend on RTL_H.
-       (stamp-*): Depend on move-if-change.
-       (install-headers): Depend on various header files.
-       (install-man): Depend on gcc.1.
-       (gcc.o): Depend on gvarargs.h and obstack.h.
+       * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_BITMAP
+       instead of an explicit loop.
 
-       * Makefile.in: Make sure every `if' has an `else'.
+Thu Nov  4 23:07:14 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * c-typeck.c (build_binary_op_nodefault): Prevent warning for
-       variable shift count.
+       * cse.c (cse_insn): Revert Oct 31 change.  When computing src_elt,
+       if REG_RETVAL check succeeds, then put classp in src_elt.
 
-       * i860.md (movsf): Handle moving from CONST_DOUBLE to reg or mem.
+Thu Nov  4 23:48:14 1999  Jeffrey A Law  (law@cygnus.com)
 
-Sun Oct 28 09:39:14 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * function.c (pad_to_arg_alignment): Only update argument_pad
+       if the argument's alignment is greater than STACK_BOUNDARY.
 
-       * jump.c (delete_jump): The deletion of INSN must take place when
-       INSN is a simple jump.  Also, don't try to optimize if we come
-       across an insn with the reorg-generated pattern (USE (INSN ...)).
+Thu Nov  4 16:44:53 1999  Richard Henderson  <rth@cygnus.com>
 
-       * sparc.md, tm-sparc.h, out-sparc.c: Significantly rewritten to take
-       advantage of new 2.0 optimization capabilities.
-       * old-sparc.md, tm-old-sparc.h, out-old-sparc.c: These are copies of
-       the above files before the rewrite.  They may be interesting for
-       measuring performance of old vs. new machine description idioms.
+       * bitmap.h (BITMAP_XFREE): New.
+       * flow.c (life_analysis): Use it.
+       (life_analysis_1): Free blocks.
 
-Sun Oct 28 00:22:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * combine.c (undo_commit): New.
+       (try_combine): Use it.  Don't zap undobuf.undos.
+       (combine_instructions): Don't zap undobuf.undos; free the
+       undobuf.frees list.
 
-       * loop.c (scan_loop): Don't think that a branch to an end-test of
-       a containing look is actually the branch to the end-test of the
-       outer loop.
+       * local-alloc.c (local_alloc): Free qty_phys_num_sugg.
 
-       * reload.c (indirect_ok): Deleted.
-       (find_reloads): Accept new arg IND_LEVELS instead of old IND_OK;
-       pass this to find_reloads_address and find_reloads_toplev.
-       (find_reloads_toplev): Accept IND_LEVELS and pass to
-       find_reloads_address.
-       (find_reloads_address): Accept IND_LEVELS and pass it on to 
-       find_reloads_address_1.
-       When calling ourself recursively for a MEM as an address, show
-       one indirect level has been used.
-       (find_reloads_address_1): Accept IND_LEVELS and pass it to ourselves
-       in recursive calls and to find_reloads_address.
-       * reload1.c (spill_indirect_levels): New var; used to be
-       spill_indirect_ok.
-       (reload): Compute number of levels of indirection and set it into
-       spill_indirect_levels.
-       (reload, reload_as_needed): Pass spill_indirect_levels not
-       spill_indirect_ok.
+       * stmt.c (cost_table_): New.
+       (estimate_case_costs): Use it instead of xmalloc.
 
-       * reload.c (find_reloads): Make similar change to "V" as "O".
+       * toplev.c (compile_file): Reuse dumpname memory instead
+       of strdup'ing it.
 
-       * reload1.c (eliminate_regs): For binary operations, don't call
-       recursively on second arg if null (for EXPR_LIST).
-       (eliminate_regs_in_insn): Perform register elmination in the
-       REG_NOTES of an insn when we are doing it for the last time.
+Thu Nov  4 16:36:44 1999  Richard Henderson  <rth@cygnus.com>
 
-       * vax.md (call_value_pop): Use correct operand number for number
-       of bytes popped.
+       * reg-stack.c (convert_regs_1): Initialize target_stack->top
+       after verifying an EH edge.
 
-       * tm-romp.h (EXTRA_CONSTRAINT): Ensure we ignore reg_renumber if
-       register allocation hasn't been done yet.
+       * haifa-sched.c (init_rgn_data_dependences): Correctly
+       size bb_pending_lists_length when zeroing.
 
-       * function.c (init_function_start): Initialize reg_renumber to zero;
-       it is checked in rtx_renumbered_equal_p.
+Thu Nov  4 16:36:36 1999  Richard Henderson  <rth@cygnus.com>
 
-       * loop.c (loop_optimize): Ensure we assign a new LUID to all
-       special notes, including NOTE_INSN_FUNCTION_BEG (0).
+       * function.c (diddle_return_value): New.
+       (expand_function_end): Use it.
+       * stmt.c (expand_null_return): Likewise.
+       (expand_value_return): Likewise.
 
-Sat Oct 27 12:22:46 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * reg-stack.c (subst_stack_regs_pat): Handle clobbers at top-level.
 
-       * out-a29k.c (print_operand, output_prolog): Don't try to fill delay
-       slots with parts of epilogue or prologue unless -O -fdelayed-branch.
+       * reload1.c (reload): Don't remove return value clobbers.
 
-       * tm-rs6000.h (STRUCTURE_SIZE_BOUNDARY): Should be 8.
+Thu Nov  4 13:33:46 1999  Richard Henderson  <rth@cygnus.com>
 
-       * reorg.c (mark_target_live_regs): Ignore REG_DEAD notes for pseudos;
-       they must not have gotten hard registers.
+       * rtl.c (read_rtx): Use fatal_with_file_and_line not fatal.
 
-Fri Oct 26 11:30:28 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Thu Nov  4 12:49:52 1999  Richard Henderson  <rth@cygnus.com>
 
-       * gcc.c (main): Set machine_suffix before reading specs file.
+       * cse.c (cse_main): Use xmalloc, not alloca.
+       (cse_basic_block): Likewise.
+       * local-alloc.c (local_alloc): Likewise.
 
-       * c-typeck.c (build_binary_op_nodefault): Warn for bad shift counts.
+Thu Nov  4 14:22:12 1999  David Billinghurst  <David.Billinghurst@riotinto.com.au>
+                         Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
-       * stor-layout.c (layout_record):
-       BITFIELD_NBYTES_LIMITED affects bitfields only.
+       * rtl.c: Include toplev.h.
+       (fatal): Remove declaration.
 
-       * loop.c (note_addr_stored): Don't assume PLUS in address is aggregate.
+Thu Nov  4 06:39:47 1999  Jeffrey A Law  (law@cygnus.com)
 
-Fri Oct 26 00:46:09 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * haifa-sched.c (schedule_block): Fix thinko.
 
-       * cplus-tree.h: Declare `build_type_conversion' once instead of
-       three times.
+1999-11-03  James McKelvey <mckelvey@fafnir.com>
 
-       * loop.c (loop_skip_over): Handle machines without cc0.
-       (labels_in_range_p): Fixed typo where this function returned 0 when
-       it meant to return 1.
-       (check_for_endtest): New function.  Returns non-zero when
-       argument is a simple conditional test insn (suitable for being the
-       endtest of a loop).
-       (strength_reduce): Use `check_for_endtest' to identify the endtest.
-       Also fixed some typos in comments.
-       (can_eliminate_biv): Use `check_for_endtest' here, too.
-       (get_condition): Generalized to handle machines without cc0.  Now
-       THIS_CC_RTX is the value of the cc rtx.
+       * fixinc/fixincl.c(create_file):  Allow for systems that do not have
+       S_IR* defined values
 
-       * integrate.c (expand_inline_function): Conditionalize away
-       cc0-specific code with HAVE_cc0.
-       (try_constants): Add appropriate declaration for ORIG.
-       (try_fold_condition): Generalized to work for non-cc0 condition
-       values.
+1999-11-03  Philippe De Muyter  <phdm@macqel.be>
 
-       * cplus-type2.c (digest_init): Add missing declaration of FIELD.
-       * rtl.h: Add missing declaration of plus_constant_for_output.
-       * jump.c (can_reverse_comparison): Fixed typo.
-       (delete_jump): Made to work without cc0_rtx.
+       * fixlib.c (load_file_data): Do not call `realloc' with a NULL pointer;
+       call `malloc' instead.
 
-Fri Oct 26 00:01:27 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Wed Nov  3 23:05:14 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * reorg.c: Conditionalize references to CC0_RTX on HAVE_cc0.
+       * flags.h (flag_renumber_insns): Declare.
+       * emit-rtl.c (renumber_insns): Check flag_renumber_insns.  Print
+       renumbering table.
+       * rtl.h (renumber_insns): Change prototype.
+       * toplev.c (flag_renumber_insns): Define.
+       (rest_of_compilation): Pass rtl_dump_file to flag_renumber_insns.
 
-       * reload.c (find_reloads): For the `o' constraint, if IND_OK is
-       true, use offsettable_memref_p instead of the nonstrict version.
+Wed Nov  3 15:11:27 1999  David S. Miller  <davem@redhat.com>
 
-       * jump.c (delete_jump): If HAVE_cc0 is not defined, it is not safe to
-       delete previous insn that sets a condition code register, because it
-       might not be dead.  Rework to look at all registers dying in this insn
-       and delete the first previous insn that sets any such register if that
-       is all it does.
+       * config/sparc/sparc.md: Remove insn type fpsqrt, add fpsqrts
+       and fpsqrtd.  Use them and create fdiv function unit to more
+       accurately represent fpu sqrt pipeline semantics on UltraSPARC.
+       * config/sparc/sparc.c: Account for fpsqrt{s,d} changes.
 
-       * jump.c (jump_optimize): Remove extraneous call to next_active_insn
-       in optimization of "if (...) x = 1; else ...; if (x) ...".
+Wed Nov  3 15:11:27 1999  Matteo Frigo <athena@fftw.org>
 
-       * cse.c (predecide_loop_entry): Don't set cc_value to null and then
-       stick it in the rtl.
+       * config/sparc/sparc.md: Adjust FADD/FMUL result latencies to
+       3 on UltraSPARC.
+       * config/sparc/sparc.c (ultra_schedule_insn): Insert launched
+       insn into ready list, do not use just a raw swap.
 
-       * rtlanal.c (find_next_ref): Deleted from here.
-       * explow.c: Include hard-reg-set.h for find_next_ref.
-       (find_next_ref): Moved to here.
-       * Makefile.in (explow.o): Includes hard-reg-set.h.
+Wed Nov  3 14:51:59 1999  Mark P. Mitchell  <mark@codesourcery.com>
 
-Thu Oct 25 21:37:15 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * rtl.h (renumber_insns): New function.
+       (remove_unnecessary_notes): Likewise.
+       * emit-rtl.c (renumber_insns): Define.
+       (remove_unnecessary_notes): Likewise.
+       * toplev.c (rest_of_compilation): Remove dead code.
+       Use renumber_insns and remove_unnecessary_notes.
 
-       * va-mips.h (va_list): Put __ in member names.
-       (va_dcl): Rename _va_alist to __va1_alist.
-       * va-i860.h (__va_struct): Put __ in member names.
-       * gvarargs.h, va-*.h: (__va_ellipsis): New macro.
-       (va_dcl): Use that.
+       * gcse.c (struct null_pointer_info): New type.
+       (get_bitmap_width): New function.
+       (current_block): Remove.
+       (nonnull_local): Likewise.
+       (nonnull_killed): Likewise.
+       (invalidate_nonnull_info): Take a null_pointer_info as input.
+       (delete_null_pointer_checks_1): New function.
+       (delete_null_pointer_checks): Use it.
 
-       * c-typeck.c (convert_for_assignment): For functions, reverse the
-       usual criterion for warning about const vs non-const.  Volatile also.
+       * haifa-sched.c (find_rgns): Replace uses of alloca with xmalloc.
+       (split_edges): Likewise.
+       (schedule_block): Likewise.
+       (compute_block_backward_dependencies): Likewise.
+       (schedule_region): Likewise.
+       (schedule_insns): Likewise.
 
-       * m88k.md, tm-m88k.h, out-m88k.c: Rewrites by wood@dg-rtp.dg.com.
-       * tm-m88kdgux.h, tm-v88r32.h, tm-m88ksvr4.h: New files.
-       * xm-m88kdgux.h, xm-v88r32.h, xm-m88ksvr4.h: New files.
-       * make-m88k, make-m88kdgux: New files.
-       * config.gcc (m88k-dgux, m88k-v88r32, m88k-svr4): New alternatives.
-
-       * gvarargs.h, gstdarg.h: Include alternate file for m88k.
-
-       * expr.c (expand_expr): For ARRAY_REF, preserve const and volatile.
-
-       * expr.c (expand_builtin): Handle strcmp and memcmp with function calls
-       if can't be open coded.
-
-       * function.c (expand_function_end): Round trampoline addr to init.
-       (round_trampoline_addr): Fix braino in alignment.
-
-Thu Oct 25 14:54:18 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * jump.c: Now includes insn-config.h.
-       (jump_optimize): inequality_comparisons_p takes only one operand again.
-       (can_reverse_comparison_p): Handle case where a register is used
-       for the condition code; if we can't easily find the COMPARE that
-       was used to set the register, say we can't reverse the comparison.
-       * Makefile.in (jump.o): Now includes insn-config.h.
-
-       * jump.c (jump_optimize): Put back change removed on Oct 21st;
-       emit_store_flag has now been updated.
-
-       * rtlanal.c (inequality_comparisons_p): Reject any ordered
-       comparison; we need not just reject when comparing against
-       cc0_rtx.
-       * recog.c (next_insn{,s}_test_no_inequality): inequality_comparisons_p
-       again has only one operand.
-       * genattrtab.c (cc0_rtx): No longer needed; remove change of Oct 21.
-
-       * genconfig.c (have_cc0_flag): New variable.
-       (walk_insn_part): Set it when we see CC0.
-       (main): Write #define HAVE_cc0 when it is set.
-       * flow.c: Now includes insn-config.h.
-       * Makefile.in (flow.o): Likewise.
-
-       * combine.c (subst): If X and FROM are the same register number,
-       but in different modes, force the combine not to be done.
-       Add missing initialization of undobuf.storage.
-
-Thu Oct 25 11:34:35 1990  Michael Tiemann  (tiemann at cygnus.com)
-
-       * sched.c (new_sometimes_live): Protect this function in case it is
-       called with (OFFSET,BIT) that evaluates to >= MAX_REGNO.
-
-       * jump.c (sets_cc0_p): Conditionalized to abort if called when
-       machine does not support cc0.
-
-       * rtlanal.c (reg_set_p): Now non-static.
-       * rtlanal.c (rtx_varies_p): Handle LO_SUM more accurately.
-       * rtlanal.c (find_next_ref): New function.  Returns the insn that
-       next references REG after INSN, or 0 if REG is clobbered before next
-       referenced or it cannot easily find a reference to REG.
-
-       * recog.c (next_insn_tests_no_inequality): Conditionalized on
-       HAVE_cc0.
-
-       * rtlanal.c (inequality_comparisons_p): Takes new argument
-       THIS_CC0_RTX which is the rtl for the condition code value we are
-       concerned about testing.  All callers changed.
-
-       * flow.c (propagate_block,mark_used_regs): Conditionalize
-       specialized cc0 handling only if HAVE_cc0 is defined.
-
-       * genemit.c (gen_exp): In REG case, If CC0_REGNUM is defined,
-       save space by using REG_CC0_RTX instead of allocating a new
-       (REG, mode, CC0_REGNUM) rtx if the mode is SImode.
-
-       * final.c (output_addr_const): Handle PC for P.I.C. code generation.
-       Also, put parens around CONST expressions so that precedence can be
-       maintained.
-       * final.c (final_scan_insn): Don't look for redunant compares
-       except when HAVE_cc0 is defined.
-       Also, use `find_cc' to locate the rtx functioning as the
-       condition code register in order to perform appropriate calls
-       to `alter_cond'.
-
-       * expr.c (expand_expr): Supply missing arg in calls to `store_expr'.
-
-       * expmed.c (emit_store_flag): New argument COMPARISON is the
-       comparison operation whose result we store.
-
-       * recog.c (offsettable_address_p,adj_offsettable_operand): Use
-       `plus_constant_for_output' instead of `plus_constant' since we
-       are testing conditions which rely on being able to add small
-       offsets to e.g. LO_SUM operands.
-       * explow.c (plus_constant): No special handling for LO_SUM.  It is
-       not valid to add a constant to a term with LO_SUM, since the
-       constant may need to be added to the high bits that form the sum,
-       and those high bits are not readily available.
-       * explow.c (plus_constant_for_output): Same as `plus_constant'
-       except that we do allow adding constants to LO_SUM terms.  This
-       function works only in special cases such as for
-       `adj_offsettable_operand' and `offsettable_address_p'.
-
-       * emit-rtl.c: Declare reg_cc0_rtx which is like cc0_rtx, but
-       is a register instead of a special form.  reg_cc0_rtx should
-       be used when representing the condition code register on a
-       machine where condition codes are only set if explicitly set.
-       For machines which allow arbitrary registers to be used as
-       condition code registers (such as the MIPS and 88k), normal
-       pseudo registers should be used instead.
-       * emit-rtl.c (next_cc0_user,prev_cc0_setter): Conditionalized
-       on HAVE_cc0.
-       * emit-rtl.c (find_cc): New function.  Given INSN, returns
-       the rtx of what functions as the condition code register for
-       INSN.  On machines which use cc0_rtx, this is always cc0_rtx.
-       On machines which have a dedicated register for cc0, this is
-       that register.  On machines which allocate pseudos for holding
-       condition codes, this is the pseudo found in a REG_CC0 note.
-       Otherwise, this function returns 0.
-       * emit-rtl.c (init_emit_once): Allocate `reg_cc0_rtx' if
-       CC0_REGNUM is defined.
-
-       * cse.c (make_regs_equiv): Don't consider making a reg
-       equivalent to another reg whose class is NO_REGS.
-       * cse.c (canon_reg): Don't canonicalize a register to
-       one whose class is NO_REGS.
-       * cse.c (fold_rtx): Conditionalize code for handling cc0_rtx
-       with HAVE_cc0.
-       * cse.c (predecide_loop_entry): Generalize code to use either
-       a register or cc0_rtx.
-       * cse.c (cse_insn): Conditionalize code for handling cc0_rtx
-       with HAVE_cc0.
-
-       * combine.c (combine_instructions,try_combine,subst):
-       Conditionalize code handling cc0_rtx with HAVE_cc0.
-       * combine.c (simplify_set_cc0_and): Abort if HAVE_cc0 is not
-       defined.
-       * combine.c (try_distrib): Add break at end of switch cases.  It is
-       dangerous to leave the last cases of a switch statement to fall
-       through since new cases added after will get fallen into.
-
-       * recog.c (validate_change): Always succeed for an asm insn,
-       since recog always fails to recognize asm insns.  This is
-       needed for virtual register instantiation in asm insns.
-
-       * cse.c (cse_main): When following jumps, notice whether a
-       particular basic block causes CSE_JUMPS_ALTERED to become set.  When
-       this happens, repeat the scan.
-       * cse.c (refers_to_mem_p): Changed parameter name REG to BASE,
-       which is more accurate.  Also, taught it how to cope with
-       LO_SUM rtl constructs.
-
-Wed Oct 24 15:36:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * calls.c (store_one_arg): Accept additional arg, FNDECL.
-       Don't save argument area if it is within the REG_PARM_STACK_SPACE
-       area, but mark the area in use.
-       (expand_call): If ACCUMULATE_OUTGOING_ARGS and REG_PARM_STACK_SPACE,
-       treat the stack area for the registers as be clobbered by the called
-       routine (e.g., if it was compiled without -O) and save and restore
-       it if it was previously used for arguments in a similar manner to
-       the remainder of the argument area (done by store_one_arg).
-
-       * calls.c (expand_call): Support new description macro,
-       STACK_PARMS_IN_REG_PARM_AREA.
-       * function.c (assign_parms): Likewise.
+Wed Nov  3 15:40:23 1999  Catherine Moore  <clm@cygnus.com>
 
-Wed Oct 24 12:47:21 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Provide default.
+       * emit-rtl.c (gen_label_rtx): Support LABEL_ALTERNATE_NAME.
+       * final.c (final_scan_insn): Emit LABEL_ALTERNATE_NAME.
+       * ggc-common.c (ggc_mark_rtx_children): Mark LABEL_ALTERNATE_NAME.
+       * jump.c (delete_unreferenced_labels): Don't delete if
+       LABEL_ALTERNATE_NAME is set.
+       * print-rtl.c (print_rtx): Dump alternate name.
+       * rtl.def (CODE_LABEL): Change format to "iuuis00s".
+       * rtl.h (LABEL_ALTERNATE_NAME): Define.
+       * rtl.texi (LABEL_ALTERNATE_NAME): Document.
+       * tm.texi (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Document.
 
-       * c-typeck.c (build_array_ref): Use main variant for value type.
+Wed Nov  3 15:39:19 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * genoutput.c (output_prologue): Let SEPARATE_AUX_OUTPUT
-       cause aux-output.c not to be included.
-       Makefile.in (aux-output2.c): Copy aux-output.c and then compile it.
+       * fix-header.c (recognized_extern, recognized_function): Constify
+       a char*.
 
-       * reload.c (subst_reg_equivs): Treat HIGH like other constants.
+       * lcm.c (compute_laterin): Remove unused variable `temp_bitmap'.
+       (pre_edge_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED.
+       (compute_available): Remove unused variable `last'.
+       (compute_nearerout): Remove unused variable `temp_bitmap'.
+       (pre_edge_rev_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED.
+       Remove unused variable `x'.
 
-       * reload.c (push_reload): When testing hard reg for validity,
-       test subsequent regs only against class, not for HARD_REGNO_MODE_OK.
+       * scan.h (recognized_function, recognized_extern): Constify a
+       char*.
 
-Tue Oct 23 22:49:33 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * simplify-rtx.c (simplify_rtx): Remove unused variable `new'.
 
-       * cccp.c (collect_expansion): Skip ## at start after the error.
+Wed Nov  3 10:40:53 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
-       * gcc.c (default_compilers): Handle - as suffix.
-       (main): Make that a special case; it matches only exactly `-'.
+       * varasm.c (decode_rtx_const): Use XSTR to access the string
+       of a SYMBOL_REF.
 
-Tue Oct 23 22:40:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Wed Nov  3 10:10:58 1999  Richard Henderson  <rth@cygnus.com>
 
-       * romp.md (store{s,h,q}i pattern): Allow "b" for clobbered pseudo
-       in addition to "d" in first alternative.
+       * c-decl.c (duplicate_decls): Copy DECL_MODE too.
 
-       * reload1.c (eliminate_regs): IF_THEN_ELSE isn't a unary operation.
+Wed Nov  3 12:12:59 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-Tue Oct 23 20:35:13 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * reload1.c (eliminate_regs_in_insn): If copying insn, also copy notes.
 
-       * m68k.md (zero-extend QI): When pushing, store value at 1(sp).
+Wed Nov  3 03:26:28 1999  Jeffrey A Law  (law@cygnus.com)
 
-Mon Oct 22 12:27:08 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * pa.c (ireg_operand): New function.
+       * pa.h (PREDICATE_CODES): Handle ireg_operand.
+       * pa.md (parallel_addb, parallel_movb): Use ireg_operand.
+       Fix out of date comment.
 
-       * cccp.c (rescan): In the loop that handles numbers, discard \newline.
-       Also make `..' terminate a preprocessing number.
+       * pa.md (negdi2): Turn into expander + anonymous pattern.
 
-       * Makefile.in (tmpgnulib, stamp-gnulib2): Do `set -e'.
+       * reload.c (find_reloads): Fix typos in recent change.
 
-       * gcc.c (default_compilers): Give __GNUC__ value 2.
-       Don't define it for .S files.
+       * dwarf2out.c: Do not include ctype.h.
 
-Mon Oct 22 07:33:42 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Nov  2 21:53:44 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * optabs.c (emit_indirect_jump): New function; now checks predicate
-       of indirect_jump.
-       * stmt.c (expand_computed_goto, expand_goto): Use new function instead
-       of directly emitting indirect jump.
+       * regclass.c (record_reg_classes): Always use may_move_cost when
+       seeing how operand fits with various register classes.
 
-       * flow.c (mark_set_1): Make LOG_LINKS for hard registers.
-       * combine.c (subst): Make new macro COMBINE_RTX_EQUAL_P which
-       considers things equal if they are the identical RTX or the same
-       register with the same mode; use to see if something changed and
-       if we have a match.
+Tue Nov  2 15:38:17 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cccp.c (S_ISREG): Use argument instead of global.
-       (main): Correct sense of S_ISREG usage.
-       (check_precompiled): Use S_ISREG.
+       * resource.c: Revert Oct 26 20:42 and Oct 27 00:56 changes.
+       * toplev.c: Revert Nov 1 13:22 change.
 
-       * flow.c (mark_used_regs): Don't allow reg_next_use to point to
-       a NOTE; either point it to replacement insn or invalidate it.
+Tue Nov  2 14:21:37 1999  Jason Eckhardt  <jle@cygnus.com>
 
-Mon Oct 22 00:13:12 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * config/pa/pa.md (height reduction patterns): Add checks for
+       overlapping operands to avoid semantic-destroying splits for
+       height reduction patterns.
 
-       * c-parse.y (xdecls): No warning unless -pedantic.
+Tue Nov  2 15:27:31 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
-Sun Oct 21 17:49:24 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * configure.in (m68k-hp-hpux*, xm_alloca.h): The underscore should
+       have been an hyphen, fixed.
+       * configure: Rebuilt.
 
-       * genattrtab.c (cc0_rtx): Define, referenced in rtlanal.c.
+Tue Nov  2 17:04:36 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * jump.c (jump_optimize): Remove code that depends on changes to
-       emit_store_flag that haven't been made yet.
+       * config/arm/tpe.h: Add prototypes for exported functions.
+       * config/arm/pe.c: Fix compile time warnings.
+       * config/arm/semi.h: Fix compile time warnings.
+       * config/arm/arm.c: Fix compile time warnings.
+       * config/arm/arm.h: Fix compile time warnings.
+       * config/arm/arm.md: Fix compile time warnings.
+       * config/arm/thumb.c: Fix compile time warnings.
+       * config/arm/thumb.h: Fix compile time warnings.
+       * config/arm/thumb.md: Fix compile time warnings.
 
-       * expmed.c (extract_bit_field): Correctly check for bitfield
-       completely filling a mode.
+Tue Nov  2 04:10:24 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       * out-romp.c (output_epilogue): Correctly write number of words of
-       arguments into trace table.
+       * jump.c (jump_optimize_1): Swap the incscc and the conditional mode
+       detection code
 
-       * calls.c (store_one_arg): Fix error in change of Oct 19th.
+       * unroll.c (unroll_loop): Remove LOOP notes when loop is
+       completely unrolled.
 
-       * reorg.c (mark_target_live_regs): Revert back to old behavior
-       of scanning all insns, even those in delay slots.
-       (fill_simple_delay_slots): Need only call update_block if we move
-       an insn across a label.
+Tue Nov  2 16:57:22 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * Makefile.in (LIBFUNCS): Use consistent naming convention for
-       comparison routines; gnulib.c was always correct.
+       * cse.c (simplify_plus_minus, check_fold_const): Delete declarations.
 
-       * function.c (assign_parms): Don't overwrite DECL_INCOMING_RTL when
-       we are called for the second time.
+Tue Nov  2 09:43:00 1999  Catherine Moore  <clm@cygnus.com>
 
-       * integrate.c (initialize_for_inline): Don't make a new return label
-       here; the maximum label number has already been computed.
-       (save_for_inline_copying, save_for_inline_no_copy): Do it here instead.
+       * Makefile.in (genattrtab): Don't use (HOST_RTLANAL).
+       * rtl.h (rtx_equal_p): Move prototype.
+       * rtl.c (rtx_equal_function_value_matters): Move from
+       rtlanal.c
+       (rtx_equal_p): Likewise.
+       * rtlanal.c (rtx_equal_function_value_matters): Delete.
+       (rtx_equal_p): Likewise.
 
-       * reload.c (find_reloads_address): For indirect address where the
-       underlying address is also invalid, ensure that we substitute into
-       the MEM that we will use.
+Mon Nov  1 23:21:17 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
-Sun Oct 21 14:12:47 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * libgcc2.c (__do_global_dtors): Only do EH frame stuff if
+       ! HAS_INIT_SECTION.
 
-       * reload.c (find_equiv_regs): Reject reg that overlaps goal.
+Mon Nov  1 23:37:38 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * expmed.c (extract_bit_field): For big fields, make sure
-       value really goes in the target.
+       * gcc.1 (PA options): Remove obsolete -mshared-libs options.
 
-       * expr.c (expand_builtin): Delete __builtin_varargs.
-       (EXPAND_BUILTIN_SAVEREGS): New macro says how to do __builtin_saveregs.
+       * pa.h (ADDR_VEC_ALIGN): Define.
 
-       * calls.c (expand_call): No "can't inline" warning if -fno-inline.
+       * jump.c (jump_optimize_1): Also move LOOP_VTOP and LOOP_CONT
+       notes when presented with "if (foo) break; end_of_loop" and
+       the break sequence gets moved out of the loop.
 
-       * stddef.h: Add missing #endif.
+       * unroll.c (unroll_loop): Allocate memory for MAP using xcalloc.
+       Remove explicit zero initializations of entries within MAP.
 
-Sat Oct 20 14:33:14 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Mon Nov  1 18:09:14 1999  Richard Henderson  <rth@cygnus.com>
 
-       * function.c (round_trampoline_addr): New function.
-       (trampoline_address): Use that.
+       * reg-stack.c (convert_regs_1): Handle EH edges specially.
 
-Fri Oct 19 15:13:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Nov  1 15:41:01 1999  Mark P. Mitchell  <mark@codesourcery.com>
 
-       * calls.c (store_one_arg): Don't mark stack area used until after
-       we have written into it; if we do it before, the restore might
-       clobber a function result being put into that stack area.
+       * bitmap.h (BITMAP_XMALLOC): New macro.
+       * flow.c (CLEAN_ALLOCA): Remove.
+       (delete_unreachable_blocks): Use xmalloc/xcalloc instead of alloca.
+       (life_analysis): Likewise.
+       (update_life_info): Don't use CLEAN_ALLOCA.
+       (life_analysis_1): Use xmalloc/xcalloc instead of alloca.
+       (calculate_global_regs_live): Likewise.
+       (print_rtl_with_bb): Likewise.
+       (verify_flow_info): Likewise.
+       * global.c (global_alloc): Likewise.
+       (global_conflicts): Likewise.
+       * integrate.c (save_for_inline_nocopy): Likewise.
+       (expand_inline_function): Likewise.
+       * jump.c (jump_optimize_1): Likewise.
+       (duplicate_loop_exit_test): Likewise.
+       (thread_jumps): Likewise.
+       * loop.c (loop_optimize): Likewise.
+       (combine_givs): Likewise.
+       (recombine_givs): Likewise.
+       * reorg.c (dbr_schedule): Likewise.
+       * unroll.c (unroll_loop): Likewise.
 
-       * objc-actions.c (print_lang_statistics): Add empty function.
+       * combine.c (combine_instructions): Use xmalloc instead of alloca.
 
-       * recog.c (inequality_comparisons_p): Deleted from here.
-       * rtlanal.c (inequality_comparisons_p): Moved to here; not static.
+Mon Nov  1 13:22:30 1999  Richard Henderson  <rth@cygnus.com>
 
-       * a29k.md (extendhisi2): Fix typo in define_split.
+       * toplev.c (rest_of_compilation): Don't optimize the CFG
+       when rebuilding, just before dbr.
 
-       * Makefile.in (integrate.o): Includes integrate.h.
-       (reorg.o): Includes insn-flags.h.
+Mon Nov  1 14:35:50 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Fri Oct 19 14:49:26 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * output.h (assemble_end_function, assemble_destructor,
+       assemble_constructor, assemble_gc_entry, assemble_global,
+       assemble_label, output_constant_pool) Constify a char*.
 
-       * sdbout.c (sdbout_symbol): If a variable belongs to an inline
-       function, the decl's rtl may not be rewritten by alter_reg.  So if
-       we have a variable allocated to a pseudo, just get the hard register
-       number from `reg_renumber'.  ?? But I thought that COFF was so
-       losing that it was decided one could not represent debug info for
-       inline functions in COFF.
+       * varasm.c (assemble_destructor, assemble_constructor,
+       assemble_gc_entry, assemble_end_function, assemble_global,
+       assemble_label, output_constant_pool): Likewise.
 
-Fri Oct 19 13:21:25 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Mon Nov  1 14:22:51 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * fold-const.c (split_tree): Use NEGATE_EXPR to negate *conp.
+       * config/arm/thumb.c (thumb_expand_prologue): Add comments
+       explaining what is goin on in this function.
 
-Fri Oct 19 00:15:21 1990  Michael Tiemann  (tiemann at cygnus.com)
+Mon Nov  1 08:03:15 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * version.c: Bumped to 1.90.03.
+       * regclass.c (record_reg_classes): In matching case, recompute
+       costs since the direction of movement is different.
 
-       * tree.c: Added facility for gathering statistics on the number of
-       tree nodes allocated and the size in bytes they occupy.  The
-       statistics are by tree_node_kind, which is almost like using the
-       tree code letter, but has more resolution for dealing with different
-       kinds of `x' nodes.  The facility is enabled by compiling the
-       compiler with -DGATHER_STATISTICS and using the -fstats flag.
+Sun Oct 31 21:59:34 MST 1999  Diego Novillo <dnovillo@cygnus.com>
 
-       * expr.c (do_tablejump): Emit a BARRIER after the jump that performs
-       the tablejump.
+       * resource.c (mark_target_live_regs): For unconditional branches,
+       the resources found at the branch target should be added to the
+       resources found so far, not intersected.
 
-       * cplus-typeck.c (c_expand_return): Rewritten so that the function
-       value return register is not used except as a target of the function
-       return value.
+Sun Oct 31 15:48:49 1999  Philippe De Muyter  <phdm@macqel.be>
 
-       * cplus-tree.c (build_cplus_new): New argument WITH_CLEANUP_P
-       controls whether this functino should build its result with a
-       cleanup or not.  All callers changed.
+       * fixinc/fixtests.c, fixinc/fixfixes.c : Keep `#' in first column for
+       old cpp's.
+       * fixinc/fixincl.c (fcntl.h) : Do not include this file twice.
+       (sys/mman.h): Include this file only if #HAVE_MMAP.
+       (run_compiles): Initialize `esac_fmt' with one old KR string, not
+       with automatically concatenated ANSI strings.
 
-       * cplus-lex.c: File updated to latest changes to c-parse.y's lexical
-       analyzer.
+Sun Oct 31 23:57:07 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * cplus-except.c (cplus_expand_raise): New parameter FOR_RERAISE
-       is used to control whether to output extra gotos or not.  When
-       nonzero, the compiler can avoid writing out the extra gotos that are
-       otherwise needed to avoid warning messages.
+       * ggc-page.c (struct page_entry): Remove save_num_free_objects.
+       (DIV_ROUND_UP): Robustify.
+       (ggc_recalculate_in_use_p): New function.
+       (release_pages): Don't inline it.
+       (ggc_alloc_obj): Don't refuse to allocate objects on pages for
+       outer contexts.
+       (ggc_pop_context): Use ggc_recalculate_in_use_p.
+       (clear_marks): Always save in_use_p.
+       (sweep_pages): Use ggc_recalculate_in_use_p.
+       (ggc_page_print_statistics): Avoid signed/unsigned comparisons.
+       Release pages before counting statistics.
 
-       * cplus-decl2.c (flag_short_double): Add support for this option.
+Sun Oct 31 23:42:37 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * cplus-decl.c (finish_function): Always cause returns to jump to
-       the return label.  This allows -Wreturn to give meaningful error
-       messages.
+       * toplev.c (rest_of_compilation): Fix thinko in this change:
 
-       * jump.c (invert_exp): Make this non-static.
-       (jump_optimize): Reorganization and simplification of main inner
-       loop.  Comments added explaining what the optimizers are looking
-       for.  New optimization added that optimizes for consecutive testing
-       of an inequality test followed by an equality test (or vice-versa).
-       Changes made to accommodate reorg.c on Sparc.  Code for
-       cross-jumping return statements was previously dead in this
-       function; as a result of the reorganization, it is now live.
-       (find_cross_jump): Added temporary variable PREV1 to hold return
-       value of `prev_nonnote_insn' instead of calling the function 3 times
-       in a row.  Also changed so that USE or CLOBBERS are not cross-jumped
-       unless some real insns are also cross-jumped.  This helps reorg.
-       (redirect_jump): Fixed a return that returned no value so that it
-       returns 1.
-       (rtx_renumbered_equal_p): Test that reg_renumber is nonzero before
-       using it.  We may want to call this function earlier than by the
-       time that array has been initialized.
+       Fri Oct 29 15:25:07 1999  Arnaud Charlet  <charlet@ACT-Europe.FR>
 
-       * integrate.c (save_for_inline_{copying,nocopy}): New functions to
-       replace `save_for_inline'.  save_for_inline_copying saves the rtl
-       for inline functions by copying the rtl to the
-       maybepermanent_obstack.  It is called when the rtl of the current
-       function is going to be compiled immediately.
-       save_for_inline_nocopy takes advantage of the fact that inline
-       function rtl is already allocated to the maybepermanent_obstack, and
-       need therefore not be copied if it's not going to be modified by the
-       compiler (such as by `rest_of_compilation').
-       ({initialize_for,finish}_inline): New helper routines for
-       save_for_inline_... functions.
-       (note_modified_parmregs): Function called by `mark_stores' to note
-       whether parameters are assigned to in the body of an inline
-       function.
-       New interface, integrate.h, provides declarations for functions used
-       by other routines that might want to copy chunks of rtl.
-       ({save,try}_constants): Now global (for integrate.h).
-       (mark_stores): Ditto.
-       (try_fold_condition): Ditto.
-
-       * dbxout.c (dbxout_symbol): If a variable belongs to an inline
-       function, the decl's rtl may not be rewritten by alter_reg.  So if
-       we have a variable allocated to a pseudo, just get the hard register
-       number from `reg_renumber'.
-
-       * varasm.c (output_const_pool): No longer static.
-       (assemble_variable): Do output debugging information for global
-       register variables.  GDB does the right thing for global register
-       variables.
+       (rest_of_compilation): If inside an inlined external function,
+       pretend we are just being declared.
+
+Sun Oct 31 23:03:25 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * flow.c (calculate_global_regs_live): Fix thinko.
 
-       * toplev.c: New flag `warn_inline' for warning when a function
-       declared inline was not in fact inlined.  Also, new flag
-       `flag_no_inline' which disables function inlining, but retains
-       other properties of inline functions (such as lazy compilation
-       and write-only-if-needed).
-       * toplev.c (compile_file): Changed logic for inline function
-       handling to work with `warn_inline' and `flag_no_inline'.
-       Also modified to call `save_for_inline_nocopy' when insns are to be
-       saved but not immediately compiled.
-
-       * function.c (instantiate_decls): If instantiating a function
-       which was saved for inline expansion, preserve the rtl created
-       by the instantiation as well.
-
-       * flags.h (flag_no_inline): New flag; if nonzero, then no
-       calls are inlined, regardless of their declaration.  We still
-       save the insns for these functions in DECL_SAVED_INSNS so that
-       the functions need not be written if they are never called.
-
-       * calls.c (expand_call): If `flag_no_inline' is set, don't
-       inline the call, regardless of whether it was declared inline
-       or not.
-
-Thu Oct 18 13:10:26 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * rtl.def (CODE_LABEL): Add new string field.
-       * rtl.h (LABEL_NAME): Define macro for access.
-       * emit-rtl.c (gen_label_rtx): Initialize it to 0.
-       * stmt.c (expand_label): Store proper name of label.
-       * final.c (final_scan_insn): Call sdbout_label.
-
-       * tree.h (built_in_function): Add BUILT_IN_VARARGS.
-       * c-decl.c (init_decl_processing): Declare __builtin_varargs.
-       * expr.c (expand_builtin): Generate code for it.
-       Uses new macro EXPAND_BUILTIN_VARARGS.
-
-       * sdbout.c (SDB_IS_FAKE): Macro deleted.
-       (MAKE_LINE_SAFE): New macro.
-       (sdbout_begin_block, sdbout_end_block, sdbout_end_function): Use it.
-       (sdbout_one_type): Delete spurious second arg in all callers.
-       (sdbout_types, sdbout_end_function):
-       Use sdbout_dequeue_anonymous_types.
-       (sdbout_label): New function.
-
-       * expr.h (FUNCTION_ARG_BOUNDARY): Default is now PARM_BOUNDARY.
-
-       * gvarargs.h, va-*.h (va_dcl):
-       Add ellipsis so current_function_varargs is set.
-
-       * jump.c (jump_optimize): Exit push-optimize loop at end of insns.
-
-Thu Oct 18 07:09:06 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * reorg.c: Major reorganization.  Many special cases have been moved
-       into more general code and an overall restructuring has been done.
-       Numerous bugs have been fixed.  Highlights:
-       (dbr_schedule): First make list of all insns needing filling.  Then
-       iterate for two passes.  In each pass, try two methods of filling
-       delay slots, then do some canonicalizations, which may create more
-       insns to fill.
-       (fill_simple_delay_slots): Now uses list of insns that need filling,
-       rather than making such a list.
-       Enhance code that finds insns when code paths merge to allow multiple
-       uses of the label as long as all uses are in the skipped code.
-       (struct resource): Notice volatile memrefs.
-       (stop_search_p): Allow option to continue when label is reached.
-       (find_end_label, make_return_insns): New functions; when we have a
-       filled branch that is really a RETURN, first convert it to a jump
-       to a return label and then later see if the insns in the delay slots
-       are also valid for a RETURN.
-       (mostly_true_jump): Test for branch to loop beginning rather than
-       branch at end of loop.  Also, conditional return insns predict false.
-       (own_thread_p): New function to replace fall_through_to_p.
-       (try_merge_delay_insns): Only support merging insns already in an
-       insns delay list.
-       (get_branch_condition, condition_dominates_p): New functions.
-       (steal_delay_list_from_{target,fallthrough}): New functions to
-       replace steal_delay_list.
-       (redundant_insn_p): New function.
-       (update_block, mark_target_live_regs, dbr_schedule): When moving
-       an insn not at the front of the basic block to a delay slot,
-       leave a "ghost" USE so that we can track things livened and killed.
-       (fill_slots_from_thread): Eliminate use of static vars for number
-       of slots to fill and already filled.
-       Try to modify an insn that follows a register-register copy to use
-       the original register; this may create a delay-slot opportunity.
-       (try_hoist_target{,_1}): Deleted.
-       (relax_delay_slots): Rewritten to just perform canonicalizations
-       previously done elsewhere.  No actual delay slot filling is done
-       here.  Any new delay slots created will hopefully be filled in the
-       next pass around the loop in dbr_schedule.
-
-       * expr.c (emit_push_insn): Don't try to compute a SUBREG of a
-       hard register in a non-integer mode when pushing a "partial" arg.
-
-       * recog.c (validate_change, apply_change_group): After reload, ensure
-       that operands meet the constraints by calling constrain_operands.
-       (validate_replace_rtx_1): Consider two rtx equal if they refer to
-       the same register.
-
-       * jump.c (jump_optimize): Extend change of Oct 16th to handle
-       the other usage of find_equiv_reg; remove invalid death notes there.
-
-       * rs6000.md, tm-rs6000.h, out-rs6000.c, xm-rs6000.h, make-rs6000:
-       New files.
-
-       * out-a29k.c (extract_subword): Use gen_{high,low}part from
-       an FP CONST_DOUBLE if host and target float formats are the same
-       or REAL_IS_NOT_DOUBLE.
-
-       * out-romp.c (output_fpop, output_fpops): Provide fr0 as a scratch
-       register unless it is used in the insn.
-
-       * romp.md: In combined set CC0 and move, optimize case where move
-       is nop.
-       (DF moves): Fix typo in generation of `get' insn.
-       Don't split if input is CONST_DOUBLE because we can't easily
-       generate the proper constants.
-       (call patterns): Copy data area address via a pseudo to allow
-       better CSE'ing.
-
-       * tm-romp.h (RTX_COSTS): Memory is expensive, except for a reference
-       to our own data area, which is very cheap.
-       (ADDRESS_COST): References to the constant pool are as cheap as
-       register + offset, since that's what it will be.
-
-       * emit-rtl.c (gen_{low,high}part): Can often extract word from FP
-       CONST_DOUBLE when host and target floating formats agree.
-       (add_insn_after): No longer static.
-
-       * reload1.c (reg_equiv_memory_loc): Renamed from reg_equiv_stack_slot
-       and now static.
-       (reload): If have equivalence with constant that is not a legitimate
-       constant operand, force it into memory and handle this as an
-       equivalence to memory.
-       * reload.h (reg_equiv_stack_loc): Deleted.
-
-Wed Oct 17 20:50:58 1990  Richard Stallman  (rms at mole.ai.mit.edu)
-
-       * gcc.c, cccp.c (main): Use TARGET_VERSION if -v.
-
-       * expmed.c (extract_bit_field): Typo in last change.
-
-       * Makefile.in (tmpgnulib): Support assembler files named *.asm.
-
-       * gcc.c (do_spec_1): Null-terminate error message.
-
-       * sdbout.c (sdbout_symbol): Handle subreg as DECL_RTL.
-       This happens for vars from the parms of inline functions.
-       * dbxout.c (dbxout_symbol): Likewise.
-
-       * genattr.c (fancy_abort): New function, as in gen*.c.
-
-Wed Oct 17 14:53:48 1990  Michael I. Bushnell  (mib at geech.ai.mit.edu)
-
-       * pcp.h: New file.
-
-       * cccp.c: Support use of precompiled files
-       Include "pcp.h".
-       (no_precomp, stringlist, stringlist_tailp): New variables. 
-       (union hashval): New field `keydef'.
-       (enum nodetype): New alternative `T_PCSTRING'.
-       (main): Support -noprecomp.
-       Use write_output to write output.
-       (rescan): Call pcstring_used for T_PCSTRING symbols.
-       (do_include): New local variables pcftry, pcfname, pcf, pcfbuf, 
-       pcfbuflimit, and pcfnum.
-       Check for possible use of precompiled files.
-       (check_precompiled): New function.
-       (check_preconditions): New function.
-       (pcfinclude): New function.
-       (pcstring_used): New function.
-       (write_output): New function.
-       (create_definition): New function.
-       (do_define): Moved most of the work into create_definition.
-       (dump_single_macro): New function.
-       (dump_all_macros): Moved most of the work into dump_single_macro.
-       (dump_defn_1): New argument OF.
-       (dump_arg_n): New argument OF.
+       * integrate.c (expand_inline_function): Fix bugs in previous
+       change from Oct 28, 1999.
 
-       * cccp.c: Support generation of precompiled files
-       (pcp_outfile, pcp_inside_if): New variables.
-       (struct definition): New field `predefined'.
-       (main): Support -pcp.
-       (rescan): Don't expand macros outside #if during -pcp.
-       (special_symbol): Error for most special symbols during #if in -pcp.
-       Output precondition for T_CONST and T_SPEC_DEFINED symbols.
-       (eval_if_expression): Set and clear pcp_inside_if.
-       (do_ifxdef): Output preconditions.
+Sun Oct 31 20:27:45 1999  Mark Mitchell  <mark@codesourcery.com>
 
-Tue Oct 16 13:22:05 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * stmt.c (expand_value_return): Fix typo in this change:
 
-       * stor-layout.c (layout_record): For PCC_BITFIELD_TYPE_MATTERS,
-       make it true that zero-length field affects alignment of next field.
+       Thu Oct 28 18:06:50 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+       (expand_value_return): Correctly convert VAL when promoting function
+       return; support RETURN_REG being a PARALLEL.
 
-       * rtlanal.c (get_integer_term, get_related_value): Moved from cse.c.
+Sun Oct 31 20:25:42 1999  Mark P. Mitchell  <mark@codesourcery.com>
 
-       * jump.c (jump_optimize): When reusing value via find_equiv_reg,
-       delete obsolete death note.
+       * expr.c (readonly_fields_p): Ignore everything except FIELD_DECLs.
 
-       * expmed.c (extract_bit_field, store_bit_field):
-       Handle fields wider than a word.
-       Restrict special case for word-sized field to aligned words.
+Sun Oct 31 20:42:17 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * expmed.c (extract_bit_field, store_bit_field): Don't let
-       BESTMODE be bigger than the insn can handle.
+       * hard-reg-set.h (reg_names): Constify a char*.
 
-       * Makefile.in (tmpgnulib): Fix typos handling LIBFUNCS_EXTRA.
+       * regclass.c  (reg_names): Likewise.
 
-       * cccp.c (handle_directive): Turn on code to handle # LINENUM,
-       and move initializations past the label `old_linenum'.
+       * regs.h (reg_names): Likewise
 
-       * c-decl.c (grokdeclarator): If traditional, make bitfields unsigned.
-       (finish_struct): Don't do that here.
+       * a29k/a29k.c (reg_names): Delete declaration.
 
-       * fixincludes (CTRL): Don't put quotes around a quote.
+       * a29k/a29k.h (CONDITIONAL_REGISTER_USAGE): Constify a char*.
 
-       * stddef.h (size_t): Also inhibit if _SIZE_T_.
+       * arc/arc.c (arc_save_restore, arc_output_function_prologue,
+       arc_output_function_epilogue): Likewise.
 
-Mon Oct 15 13:15:30 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * elxsi/elxsi.c (reg_names): Likewise.
 
-       * c-decl.c (grokdeclarator): Make flag_signed_bitfields work
-       for int and for typedefs.
+       * gmicro/gmicro.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
 
-Sun Oct 14 21:28:32 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * m32r/m32r.c (m32r_output_function_epilogue, emit_cond_move):
+       Likewise.
 
-       * flow.c (life_analysis): No hard regs for any pseudos live at setjmp.
+       * m88k/m88k.c (output_function_profiler): Likewise.
 
-       * c-decl.c (duplicate_decls): Don't suppress warning for fn defn
-       after implicit declaration, if fn has already been defined.
+       * sparc/sparc.c (sparc_flat_output_function_prologue,
+       sparc_flat_output_function_epilogue): Likewise.
 
-Fri Oct 12 15:54:11 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Sun Oct 31 13:32:15 CET 1999  Marc Lehmann <pcg@goof.com>
 
-       * c-parse.y (xdecls): Allow ellipsis after parm decls.
-       Call c_mark_varargs.
-       * c-decl.c (start_function): Clear c_function_varargs.
-       (c_mark_varargs): New function.  Set it.
-       (store_parm_decls): Maybe call mark_varargs.
-       * function.c (init_function_start): Clear current_function_varargs.
-       (mark_varargs): New function.  Set it.
+       * toplev.c (rest_of_compilation): Separate the setjmp/vfork clobber
+       warning from -Wuninitialized and put it under -W.
+       * function.c (uninitialized_vars_warning): Warn only when the
+       corresponding flag is set.
 
-Thu Oct 11 13:15:36 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Sun Oct 31 01:53:30 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * genattrtab.c (fancy_abort): New function, as in gen*.c.
+       * cse.c (cse_insn): If an insn has only a single set, SRC_EQV
+       is nonzero and the single set does not have an elt, then assign
+       it an elt.
 
-       * expr.c (saveregs_value): New variable.
-       (init_expr, save_expr_status, restore_expr_status):
-       Init, save, restore the variable.
-       (expand_builtin): Don't call __builtin_saveregs twice in one function.
+       * simplify-rtx.c: New file.
+       * Makefile.in (OBJS): Add simplify-rtx.o
+       (simplify-rtx.o): Add dependencies.
+       * rtl.h (simplify_gen_binary, simplify_rtx): Add prototypes.
+       * cse.c: Use simplify_gen_binary intead of cse_gen_binary.
+       (cse_gen_binary, simplify_unary_operation): Delete.
+       (simplify_binary_operation, simplify_plus_minus): Likewise.
+       (check_fold_consts, simplify_relation_operation): Likewise.
+       (simplify_ternary_operation): Likewise.
+       (delete_trivially_dead_insns): Simplify the contents of the
+       REG_EQUAL note before trying to substitute it into the source
+       of the reg-reg copy at the end of a libcall sequence.
 
-       * va-*.h: Rename all structure fields to start with __.
-       * va-pyr.h: Rename variables also.
-       (va_start): Delete the unmatched {.
-       (va_end): Now a nop.
+       * combine.c (combine_simplify_rtx): Renamed from simplify_rtx.  All
+       references/callers changed.
 
-Wed Oct 10 22:03:20 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * mn10200.c (mn10200_va_arg): Force the return value into a
+       register.
 
-       * va-sparc.h (__va_ctl): Rename fields to start with __.
+       * fr30.h (EXTRA_CC_NAMES): Remove obsolete macro.
 
-Tue Oct         9 12:55:48 1990  Michael Meissner  (meissner at osf.org)
+       * cccp.c (macroexpand): Avoid out of range accesses for omitted
+       arguments.
 
-       * Allow configuration to specify size of a wide character.
-       (WCHAR_TYPE_SIZE): New parameter.
-       (WCHAR_UNSIGNED): New parameter, says whether type is signed.
+Sat Oct 30 22:42:50 1999  Stephen L Moshier <moshier@mediaone.net>
 
-       * c-decl.c (WCHAR_TYPE_SIZE): Define if not defined.
-       (WCHAR_UNSIGNED): Likewise.
-       (wchar_type_node, signed_wchar_type_node, unsigned_wchar_type_node):
-       (wchar_array_type_node): New variables.
-       (init_decl_processing): Init them.
-       * c-tree.h: Make them extern.
+       * c-lex.c (yylex): Accept 'f' in mantissa of hex float constant.
 
-       * c-common.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Define them.
-       (combine_strings): Handle them.
-       * c-parse.y (init_lex, yylex): Likewise.
+Sat Oct 30 22:19:26 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * c-typeck.h (digest_init): Use wchar_type_node and
-       signed_wchar_type_node to get the base type of wide strings, rather
-       than using int and unsigned.
+       * fold-const.c (fold): Fix thinko when optimizing comparisons
+       against -0.0.
 
-Tue Oct         9 14:16:37 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Sat Oct 30 21:32:17 1999  David Starner  <dstarner98@aasaa.ofe.org>
 
-       * expmed.c (extract_bit_field): Typo; section for extv used extzv.
+       * gcc.texi (Passes): Update front-end files to their current
+       location.
 
-       * c-typeck.c (digest_init): Error if union has no name field.
-       (process_init_constructor): For union, use first named field.
+Sat Oct 30 14:41:40 1999  Richard Henderson  <rth@cygnus.com>
 
-       * flow.c (propagate_block): Include NOTE at end of block in scan.
+       * alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Call secondary_reload_class.
+       (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
+       (PREDICATE_CODES): Add addition_operation.
+       * alpha-protos.h (addition_operation): Declare.
+       (secondary_reload_class): Likewise.
+       * alpha.c (addition_operation): New.
+       (secondary_reload_class): New, from old SECONDARY_INPUT_RELOAD_CLASS.
+       * alpha.md (adddi3): Turn into expander.
+       (*lda, *adddi_2): New.
+       (movsf, movdf patterns): Don't preference integer regs.
+       (movsi, movdi patterns): Don't preference fp regs.
 
-       * fixincludes: Fix missing semicolon in rstat.h.
+Sat Oct 30 14:38:22 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cccp.c (main): Record the option names used for assertions.
-       Call make_assertion properly.
+       * genrecog.c (write_switch): Check for duplicate CODE cases.
 
-Tue Oct         9 06:18:38 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Sat Oct 30 14:31:48 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cse.c (fold_rtx): Call find_best_addr before seeing if we know
-       what is located at that address.
-       Don't try to return the contents of an ADDR_DIFF_VEC table; we have
-       no simple way of representing it.
-       (cse_insn): Detect SRC == DEST even when DEST is not the canonicalized
-       form of the value represented by SRC.
+       * ggc-common.c: Update pre-function commentary.
+       * ggc-page.c: Likewise.
+       (poison): Remove.
+       (poison_pages): Use memset directly.
+       (ggc_alloc_obj): Likewise.  Use a different pattern than poison_pages.
+       (ggc_collect): Poison before sweeping.
+       * ggc-simple.c: Update pre-function commentary.
+       (ggc_alloc_obj): Poison nonzeroed memory.
 
-       * loop.c (scan_loop): Don't set THRESHOLD until LOOP_HAS_CALL
-       has been set.
-       (struct induction): Add field MEM_MODE.
-       (find_mem_givs, combine_givs_p): Record mode used to access memory
-       when making DEST_ADDR giv and use it to test validity of
-       derived address.
+Sat Oct 30 14:28:52 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * jump.c (delete_jump): No longer static.
-       (invert_jump): Allow changing RETURNs to branches and vice versa.
-       Now returns success/failure indication like redirect_jump.
-       * rtl.h (delete_jump): Define.
+       * ggc-common.c (ggc_print_statistics): Make arguments to fprintf
+       match format string, even on 64-bit hosts.
+       * gcc-page.c (ggc_page_print_statistics): Likewise.
 
-       * calls.c (store_one_arg): Don't expand a `partial' arg into
-       arg->stack and don't set arg->value to arg->stack_slot for
-       such args.
-       Clean up by breaking out common code.
+Sat Oct 30 14:38:04 1999  Catherine Moore  <clm@cygnus.com>
 
-Mon Oct         8 15:09:31 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * config/i386/i386.c (ix86_cpu): Revert last patch.
+       * config/i386/i386.h (ix86_cpu): Ditto.
 
-       * loop.c (can_eliminate_biv_p): Insist that mult_val be positive.
+Fri Oct 29 17:00:42 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * Makefile.in (insn-*): Remove semicolon from these rules.
-       (INSTALL_PROGRAM, INSTALL_FILE): New variables.
-       (install-*): Use those variables.
-       (mandir): Default based on manext.
+       * stor-layout.c (layout_type): When compute TYPE_SIZE_UNIT from
+       TYPE_SIZE, convert type of result to sizetype.
 
-Mon Oct         8 10:57:14 1990  Michael Tiemann  (tiemann at cygnus.com)
+Fri Oct 29 14:34:17 1999  Richard Henderson  <rth@cygnus.com>
 
-       * stmt.c (expand_catch_default): Return 1 if EXCEPT_STACK is
-       nonzero.
+       * flow.c (count_or_remove_death_notes): Equate NULL with the
+       universal set.
 
-       * c-decl.c (finish_enum): Argument to floor_log2 in
-       calculation of negprecision was not negated.
+       * jump.c, reg-stack.c, toplev.c: Revert Oct 27 change.
+       * toplev.c (rest_of_compilation): Rebuild CFG immediately before
+       dbr_schedule.
 
-Mon Oct         8 06:50:15 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * i386.c (pic_label_no): Delete.
+       (ix86_attr_length_default): Don't use single_set to peek
+       inside a parallel.
 
-       * rtl.h (INSN_ANNULLED_BRANCH_P, INSN_FROM_TARGET_P): New fields.
+       * recog.c (peephole2_optimize): Allow recog_next_insn to index
+       the first insn after bb->end.
+       * i386.md (push mem peeps): Scratch is live after evaluation
+       of the memory.
+       (cmp mem peep): Similarly.
 
-Sun Oct         7 23:33:24 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Fri Oct 29 11:50:11 1999  Catherine Moore  <clm@cygnus.com>
 
-       * tm-i386v.h (STARTFILE_SPEC): Handle -p here.
-       (LIB_SPEC): Not here.
+       * calls.c (emit_library_call_value): Fix declaration of alignment_pad.
+       * function.c (pad_to_arg_alignment): Add missing braces.
 
-Thu Oct         4 05:06:02 1990  Michael Tiemann  (tiemann at cygnus.com)
+Fri Oct 29 13:53:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * gcc.c (default_compilers): Define __OPTIMIZE__ for %{O*}, not just
-       %{O}. This permits the use of -O2, -O3, etc., with predictable
-       results.
+       * alpha/alpha-protos.h (literal_section): Add prototype.
+       (alpha_need_linkage, alpha_start_function,alpha_end_function):
+       Constify a char*.
 
-       * expr.c (expand_expr): Do not build new cleanups for
-       TARGET_EXPRs.  Their cleanups are now handled entirely by the
-       language-specific code that causes them to be generated.
+       * alpha/alpha.c (alpha_ra_ever_killed, set_frame_related_p): Add
+       prototype.
+       (alpha_start_function, alpha_end_function, float_strings,
+       alpha_need_linkage): Constify a char*
 
-       * function.c ({push,pop}_temp_slots): Do not change
-       temp_slot_level if within a sequence.  GNU C++ must be able to
-       emit a sequence it is building anywhere at the level the sequence
-       was initiated.  If the level is changed when building a sequence,
-       temporaries could be unwittingly shared.
+       * alpha/alpha.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_MI_THUNK): Likewise.
 
-       * cplus-tree.def: change print strings for NEW_EXPR and
-       CPLUS_CATCH_DECL.
+       * alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
 
-       * cplus-dem.c (do_type): Support `long long' types.
+       * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
 
-       * cplus-decl.c (finish_file): No longer try to emit _init,_fini
-       records for GNU C++.  This was supposed to help the SunOS dynamic
-       linker link C++ code, but it turned out not to work.
+       * alpha/vms.h (ASM_OUTPUT_SECTION_NAME): Likewise.
 
-       * cplus-decl.c ({start,finish}_function): Don't emit an extra
-       binding contour if not in a constructor or destructor.  It is not
-       needed, and saves writing out unneeded debugging info.
+Fri Oct 29 13:49:39 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cplus-class.c (build_method_call): Conditionalize handling of
-       wrappers and operator->(); these are now only compiled if ESKIT is
-       #defined.
+       * flow.c (debug_flow_info): Add prototype.
 
-       * cplus-decl.c (define_label): Updated to treat labels in the same
-       new fashion that c-decl.c treats them.
+       * gcc.c (main): Likewise.
 
-       * cplus-*.c: C++ front-end files now support a generic
-       class-browser interface.  It is up to some adventurous hacker to
-       implement the class browser.
+       * gcse.c (expr_reaches_here_p_work, pre_expr_reaches_here_p_work):
+       Likewise.
 
-       * cplus-*.c: C++ front-end files no longer #include rtl.h.
+       * reload1.c (failed_reload, set_reload_reg): Likewise.
 
-Sun Sep 30 15:53:02 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * mips-tfile.c (main): Likewise.
+       (pfatal_with_name, fancy_abort, botch, fatal, catch_signal): Mark
+       with ATTRIBUTE_NORETURN.
 
-       * cccp.c (make_assertion): New function.
-       (main): Handle -A by calling make_assertion.
-       -A- gets rid of predefined macros and those specified earlier.
+Fri Oct 29 18:16:03 1999  Andrew Haley  <aph@cygnus.com>
 
-       * print-tree.c (print_node_brief): Declare i for printing REAL_CST.
+       * config/i386/i386.h (ENCODE_SECTION_INFO): Don't do anything if
+       DECL is not a memory ref.
 
-       * recog.c (immediate_operand, nonmemory_operand): Don't accept
-       integer constants if caller wants a floating mode.
+Fri Oct 29 09:05:34 1999  Catherine Moore  <clm@cygnus.com>
 
-Sat Sep 29 18:40:08 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * config/i386/i386.h (ix86_cpu): Remove extern attribute.
+       * config/i386/i386.c (ix86_cpu): Add extern attribute.
 
-       * reload1.c (emit_reload_insns): Handle preserving death info
-       with find_equiv_reg.
+Fri Oct 29 16:30:04 1999  Andrew Haley  <aph@cygnus.com>
 
-       * reload.c (find_equiv_reg): Handle INSN_CLOBBERS_REGNO_P.
+       * config/mips/elf.h: remove NAME__MAIN and SYMBOL__MAIN.
+       * config/mips/elf64.h: ditto.
 
-       * fixincludes: For link pointing outside /usr/include,
-       use $x rather than $dest.
+Fri Oct 29 08:03:57 1999  Catherine Moore  <clm@cygnus.com>
 
-       * optabs.c (expand_float, expand_fix): Use dconst1, not 1.0.
+       * expr.c (emit_push_insn): New argument alignment_pad.
+       Update all callers.  Adjust stack pointer based on alignment pad.
+       * function.c (pad_to_arg_alignment):  New argument alignment_pad.
+       Update all callers.  Track alignment_pad if boundary > PARM_BOUNDARY.
+       (locate_and_pad_parm): New argument alignment_pad.  Update all
+       callers.
+       * expr.h (emit_push_insn): Update prototype.
+       (locate_and_pad_parm): Update prototype.
+       * calls.c (arg_data):  Add new field alignment_pad.
+       (initialize_argument_information): Initialize alignment_pad.
 
-Sat Sep 29 06:38:38 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Fri Oct 29 02:51:35 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * emit-rtl.c (try_split): Use emit_insn_after and delete_insn to
-       ensure that the correct insn chain is maintained in the presence of
-       SEQUENCEs; be careful if the insn being split has a following BARRIER.
-       * jump.c (delete_insn): Correctly update insn chain when deleting
-       insn following or preceeding a SEQUENCE.
+       * except.c (free_eh_nesting_info): Free the info itself.
+       * function.c (free_after_compilation): Don't free NULL.
+       * gcse.c (alloc_pre_mem): Free the temp_bitmap, too.
+       (pre_edge_insert): Free inserted.
+       * stmt.c (free_stmt_status): Don't free NULL.
 
-Fri Sep 28 16:07:42 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Fri Oct 29 15:25:07 1999  Arnaud Charlet  <charlet@ACT-Europe.FR>
 
-       * c-parse.y (yylex): Use REAL_VALUE_TRUNCATE for `f' suffix.
+       * gcov.c (DIR_SEPARATOR): Provide default.
+       (output_data): Add test for MS-DOS format absolute filename.
+       (fancy_abort): Correct program name.
+       (open_files): Open all files in binary mode.
+       * libgcc2.c (__bb_exit_func): Likewise.
 
-       * fold-const.c (const_binop): Don't initialize REAL_VALUE_TYPE decls.
+       * profile.c (init_branch_prob): Specify binary when opening files.
 
-Thu Sep 27 14:06:37 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * flags.h (flag_unwind_tables): New decl.
+       * toplev.c (flag_unwind_table): New definition.
+       (f_options): Add -funwind-tables.
+       (decode_g_option): Clarify warning when unknown -g option is given.
+       (rest_of_compilation): If inside an inlined external function,
+       pretend we are just being declared.
 
-       * expr.c (expand_expr): Set MEM_VOLATILE_P from TREE_THIS_VOLATILE.
+       * dwarf2out.c (dwarf2out_do_frame): Check -funwind_tables.
+       (dwarf2out_frame_finish): Likewise.
 
-Wed Sep 26 00:21:23 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Fri Oct 29 07:44:26 1999  Vasco Pedro  <vp@di.fct.unl.pt>
 
-       * tm-mips-news.h: New file.
+       * fold-const.c (merge_ranges): If not in0, but in1, handle
+       upper bounds equal like subset case.
 
-       * out-i860.c (output_size_for_block_move): Don't decrement.
-       (output_block_move): Decrement initial storing address instead.
+Thu Oct 28 19:22:24 1999  Douglas Rupp <rupp@gnat.com>
 
-       * c-parse.y (yylex): Always try unsigned int if `u' is written.
+       * dbxout.c (dbxout_parms): Generate a second stabs line for parameters
+       passed in a register but moved to the stack.
 
-       * c-typeck.c (build_unary_op): Don't let &* make an lvalue.
+Thu Oct 28 19:12:57 1999  Sam Tardieu  <tardieu@act-europe.fr>
 
-       * c-parse.y (initlist): Use [N] rather than case N: for array index.
+       * gcc.c (pass_exit_codes, greatest_status): New variables.
+       (struct option_map): Add entry for "--pass-exit-codes".
+       (execute): Update greatest_status if error.
+       (display_help): Add documentation for -pass-exit-codes.
+       (process_command): Handle -pass-exit-codes.
+       (main): Look at pass_exit_codes and greatest_status on call to exit.
 
-       * tm-seq386.h (LINK_SPEC): Define it.
+Thu Oct 28 18:06:50 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * c-parse.y (yylex): Don't try signed int for nondecimal constant
-       if -traditional.  Improve messages for -Wtraditional.
+       * reload.c (find_reloads): Refine test for no input reload
+       case to not includes reloads emitted after insn.
 
-       * stor-layout.c (layout_record): Avoid using DECL_SIZE_UNIT.
+       * function.c (find_temp_slots_from_address): Handle sum involving
+       a register that points to a temp slot.
+       (update_temp_slot_address): Make recursive call if both old and
+       new are PLUS with a common operand.
+       * calls.c (expand_call): Mark temp slot for result as having
+       address taken.
 
-       * jump.c (jump_optimize): Scan all insns for label refs.
-       (mark_jump_label): Quickly ignore uninteresting rtl types.
-       * rtl.def (INSN, CALL_INSN): Add a slot for JUMP_LABEL.
+       * rtlanal.c (reg_referenced_p, case IF_THEN_ELSE): New case.
 
-       * jump.c (jump_optimize): Try combining stack adjusts with pushes.
+       * gcc.c (process_command): Add standard_exec_prefix with "GCC"
+       component as well as "BINUTILS".
 
-Mon Sep 24 07:31:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * integrate.h (copy_rtx_and_substitute): New arg, FOR_LHS.
+       * integrate.c (copy_rtx_and_substitute): Likewise.
+       (expand_inline_function, integrate_parm_decls, integrate_decl_tree):
+       All callers changed.
+       * unroll.c (inital_reg_note_copy, copy_loop_body): Likewise.
+
+       * dbxout.c (dbxout_type, case INTEGER_TYPE_NODE): If can use
+       gdb extensions, write size of type; also be more consistent
+       in using references when this is a subtype.
+
+       * pa.md (extv, extzv, insv): Use define_expand to reject constant
+       that is out of range.
+
+       * loop.c (unknown_constant_address_altered): New variable.
+       (prescan_loop): Initialize it.
+       (note_addr_stored): Set it for RTX_UNCHANGING_P MEM.
+       (invariant_p, case MEM): Remove handling for volatile and readonly;
+       check new variable if readonly.
+       (check_dbra_loop): Chdeck unknown_constant_address_altered.
+
+       * cse.c (canon_hash, case MEM): Do not record if BLKmode.
+       (addr_affects_sp_p): Removed from note_mem_written and only
+       define #ifdef AUTO_INC_DEC.
+
+       * alpha.c (input_operand, case ADDRESSOF): Treat as REG.
+
+       * regclass.c (record_reg_classes): Properly handle register move
+       directions.
+
+       * varasm.c (initializer_constant_valid_p, case MINUS_EXPR):
+       Don't think valid if both operands are invalid.
+       (struct constant_descriptor): New field RTL.
+       (mark_const_hash_entry): Mark it.
+       (record_constant{,_rtx}): Initialize it.
+       (output_constant_def): Allocate RTL in permanent obstack and
+       save in table.
+       ({record,compare}_constant_1): Modes must match for
+       CONSTRUCTOR of ARRAY_TYPE.
+
+       * c-common.h (initializer_constant_valid_p): Delete decl from here.
+       * output.h (initializer_constant_valid_p): Move decl to here.
+       * c-common.c (initializer_constant_valid_p): Delete function from here.
+       * varasm.c (initializer_constant_valid_p): Move function to here.
+
+       * tree.h (STRIP_SIGN_NOPS): New macro.
+       * fold-const.c (optimize_minmax_comparison): New function.
+       (invert_truthvalue, case WITH_RECORD_EXPR): New case.
+       (fold): Use STRIP_SIGN_NOPS instead of STRIP_TYPE_NOPS.
+       (fold, case EQ_EXPR): Call optimize_minmax_comparison and add
+       cases with ABS_EXPR, NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR, and
+       widening conversions.
+       (fold, case LE_EXPR): Rework changing unsigned to signed comparisons
+       to look at size of mode, not precision of type; also add missing cases.
+       (optimize_bit_field_compare, decode_field_reference): Don't try to
+       optimize COMPONENT_REF of a PLACEHOLDER_EXPR.
+
+       * dwarf2out.c (ctype.h): Include.
+       (dwarf2out_set_demangle_name_func): New function.
+       (size_of_line_info): Deleted.
+       (output_line_info): Compute size of line info table from difference
+       of labels.
+       (base_type_die, add_name_attribute): Call demangle function, if any.
+       (field_byte_offset): Use bits per word for variable length fields.
+       (gen_array_type_die): Add array name.
+       (gen_subprogram_die): Ignore DECL_INLINE if -fno-inline.
+       (dwarf2out_add_library_unit_info): New function.
+
+       * explow.c (set_stack_check_libfunc): New function.
+       (stack_check_libfunc): New static variable.
+       (probe_stack_range): Allow front-end to set up a libfunc to call.
+
+       * combine.c (simplify_comparison): When making comparison in wider
+       mode, check for having commuted an AND and a SUBREG.
+       (contains_muldiv): New function.
+       (try_combine): Call it when dividing a PARALLEL.
+       (simplify_rtx, case TRUNCATE): Don't remove for umulsi3_highpart.
+       (simplify_comparison, case ASHIFTRT): Recognize sign-extension of
+       a PLUS.
+       (record_value_for_reg): If TEM is a binary operation with two CLOBBERs,
+       use one of the CLOBBERs instead.
+       (if_then_else_cond): If comparing against zero, just return thing
+       being compared.
+
+       * optabs.c (expand_abs): If machine has MAX, ABS (x) is MAX (x, -x).
+       Don't generate shifts and subtract if have conditional arithmetic.
+
+       * rtl.h (delete_barrier): New declaration.
+       * jump.c (jump_optimize): Set up to handle conditional call.
+       In conditional arithmetic case, handle CALL_INSN followed by a BARRIER.
+       (delete_barrier): New function.
+
+       * rtl.c (read_rtx): Call fatal if bad RTL code; check for bad mode.
+
+       * recog.c (nonmemory_operand): Accept ADDRESSOF.
+
+       * tree.c (build_type_attribute_variant): Push to obstack of
+       ttype around type_hash_canon call.
+
+       * expr.c (placeholder_list): Move decl to file scope.
+       (expand_expr): Don't force access to volatile just because its
+       address is taken.
+       If ignoring reference operations, just expand the operands.
+       (expand_expr, case COMPONENT_REF): Propagate
+       EXPAND_CONST_ADDRESS to recursive call when expanding inner.
+       Refine test for using bitfield operations vs pointer punning.
+       (expand_expr, case CONVERT_EXPR): If converting to
+       BLKmode UNION_TYPE from BLKmode, just return inner object.
+       Use proper mode in store_field call.
+       Properly set sizes of object to store and total size in store_field
+       call for convert to union.
+       (expand_expr, case ARRAY_REF): If OP0 is in a register, put it in
+       memory (like for ADDR_EXPR).  Also, don't put constant in register if
+       we'll want it in memory.
+       (readonly_fields_p): New function.
+       (expand_expr, case INDIRECT_REF): Call it if LHS.
+       (expand_assignment): Handle a RESULT_DECL where
+       DECL_RTL is a PARALLEL.
+       (do_jump, case WITH_RECORD_EXPR): New case.
+       (get_inner_reference): Always go inside a CONVERT_EXPR
+       and NOP_EXPR if both modes are the same.
+       (store_field): Use bitfield operations if size of bitsize is not same
+       as size of RHS's type.
+       Check for bitpos not a multiple of alignment in BLKmode case.
+       Do block move in largest possible alignment.
+       (store_constructor): Set BITSIZE to -1 for variable size and properly
+       in case of array of BLKmode.
+       (expand_expr_unaligned): New function.
+       (do_compare_and_jump): Call it.
+
+       * mips/iris5.h (SWITCHES_NEED_SPACES): New macro.
+       * collect2.c (main): Only allow -ofoo if SWITCHES_NEED_SPACES
+       does not include 'o'.
+
+       * function.c (instantiate_virtual_regs_1, case SET): Handle case where
+       both SET_DEST and SET_SRC reference a virtual register.
+       (gen_mem_addressof): Copy RTX_UNCHANGING_P from new REG to old REG.
+
+       * integrate.c (expand_inline_function): Handle case of setting
+       virtual stack vars register (from built in setjmp); when parameter
+       lives in memory, expand virtual_{stack_vars,incoming_args}_rtx early.
+       (subst_constant): Add new parm, MEMONLY.
+       (expand_inline_function, integrate_parm_decls): Pass new parm.
+       (integrate_decl_tree): Likewise.
+       (copy_rtx_and_substitute, case MEM): Do copy RTX_UNCHANGING_P.
+       (try_constants): Call subst_constants twice, with MEMONLY 0 and 1.
+       (copy_rtx_and_substitute, case SET): Add explicit calls to
+       copy_rtx_and_substitute for both sides.
+
+       * stmt.c (expand_asm_operands): Don't use TREE_STRING_LENGTH for
+       constraints.
+       (pushcase{,_range}): Convert to NOMINAL_TYPE after checking for
+       within INDEX_TYPE, instead of before.
+       (fixup_gotos): Use f->target_rtl, not the next insn,
+       since latter may be from a later fixup.
+       (expand_value_return): Correctly convert VAL when promoting function
+       return; support RETURN_REG being a PARALLEL.
+       (expand_return): When checking for result in regs and having
+       cleanup, consider PARALLEL in DECL_RTL as being in regs.
+
+1999-10-28 21:27 -0700  Zack Weinberg  <zack@bitmover.com>
+
+       * cpplib.h (struct cpp_buffer: fname, nominal_fname,
+       last_nominal_fname): Mark const.
+       (struct include_hash: name, nshort, control_macro): Mark
+       const.
+       (struct macrodef: symnam): Mark const.
+       (struct if_stack: fname): Mark const.
+       (is_idchar, is_idstart, is_hor_space, trigraph_table): Delete.
+       (IStable): New character-syntax array which encompasses all
+       the old is_foo arrays.
+       (is_idchar, is_numchar, is_idstart, is_numstart, is_hspace,
+       is_space): New macros for interrogating IStable.
+       (check_macro_name): Kill last argument.  All callers changed.
+
+       * cppinit.c (initialize_char_syntax): Delete.
+       (is_idchar, is_idstart, is_hor_space, is_space,
+       trigraph_table): Delete.
+       (IStable): New.  Initialize with clever macros to avoid
+       information duplication.
+       (builtin_array): Table of builtins to get rid of explicit list
+       in initialize_builtins.
+       (initialize_builtins): Use builtins_array.
+       (cpp_start_read): Call init_IStable, and set IStable['$'] if
+       opts->dollars_in_ident.
+
+       * cppexp.c: Change all refs to is_xyz[] arrays to use new
+       is_xyz() macros.
+       (cpp_parse_expr): Avoid 'format string is not constant'
+       warning. Use ISGRAPH to identify printable chars.
+       * cppfiles.c: Change all refs to is_xyz[] arrays to use new
+       is_xyz() macros.
+       (read_and_prescan): Map trigraphs to chars with open-coded
+       if-else-if-... sequence, not a lookup table.
+       * cpphash.c: Change all refs to is_xyz[] arrays to use new
+       is_xyz() macros.
+       * cpplib.c: Change all refs to is_xyz[] arrays to use new
+       is_xyz() macros.  Kill SKIP_ALL_WHITE_SPACE (unused).
+       (check_macro_name): Remove ability to report an invalid
+       assertion name, which is never used.
+       (do_line): Constify a couple of char *'s.
+       * cppmain.c (main): Call cpp_cleanup before returning.
+
+Thu Oct 28 21:16:35 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * ggc.h (struct ggc_statistics): New type.
+       (ggc_get_size): New function.
+       (ggc_print_statistics): Likewise.
+       * ggc-common.c (ggc_stats): New variable.
+       (ggc_mark_rtx_children): Keep statistics.
+       (ggc_mark_tree_children): Likewise.
+       (ggc_print_statistics): New function.
+       * ggc-page.c (struct globals): Add bytes_mapped field.
+       (alloc_anon): Update it.
+       (release_pages): Likewise.
+       (ggc_get_size): New function.
+       (ggc_page_print_statistics): New function.
+       * ggc-simple.c (ggc_get_size): New function.
+
+Fri Oct 29 06:32:44 1999  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * flow.c (propagate_block): When the last reference to a label
+       before an ADDR_VEC is deleted because the reference is a dead
+       store, delete the ADDR_VEC.
+
+Thu Oct 28 12:28:50 1999  Richard Henderson  <rth@cygnus.com>
+
+       * resource.c (find_free_register): Don't use the frame pointer
+       if frame_pointer_needed.
+
+Thu Oct 28 10:02:00 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * config/mips/mips.c (mips_va_arg): Delete gen_jump as emit_jump arg.
+       (function_arg_pass_by_reference): Check for a NULL pointer in cum.
+
+       * config/i960/i960.c (i960_va_start): New locals base, num.
+       Use INDIRECT_REF instead of ARRAY_REF on valist.
+       (i960_va_arg): Use INDIRECT_REF instead of ARRAY_REF on valist.
+
+Thu Oct 28 09:45:48 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * gcse.c (delete_null_pointer_checks): Fix typo in previous change.
+
+Thu Oct 28 03:37:50 1999  Peter Gerwinski <peter@gerwinski.de>
+
+       * tree.def (PLACEHOLDER_EXPR): Update comments.
+
+Thu Oct 28 06:47:32 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-common.c (check_format_info): Avoid non-literal format string
+       warnings when `first_arg_num' is zero.
+
+Thu Oct 28 12:28:48 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * rtl.texi: Delete explicit Prev, Up and Next entries in "@node"s.
+
+Thu Oct 28 11:05:13 1999  Richard Earnshaw <rearnsha@arm.com>
+
+       * arm.md (casesi_insn): Add a clobber of the condition code
+       register.
 
-       * stmt.c (expand_computed_goto): Emit barrier after jump.
+Mon Oct 18 21:16:06 1999  Fred Fish  <fnf@be.com>
 
-       * expr.c (case LABEL_DECL): Return a MEM, so we can take its
-       address; correctly form LABEL_REF.
+       * tm.texi (CC1PLUS_SPEC): Make it clear in the docs that CC1_SPEC is
+       used by both cc1 and cc1plus.
 
-Sun Sep 23 22:54:38 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Oct 28 10:00:48 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * loop.c (struct movable): Delete field SET_EQUAL; new field MOVE_INSN.
-       (scan_loop): Only use REG_EQUAL note under very restricted
-       cirsumstances.  Set MOVE_INSN field in movables when appropriate.
-       (combine_movables): Simplify matching test now that we only have one
-       source field.
-       (move_movables): Handle MOVE_INSN movables by emitting a new move
-       insn in front of the loop.
-       Correct typo in checking for CALL_INSN.
-       Don't try to make a REG_EQUAL note.
-       (count_loop_regs_set): Remove extraneous assignment to MAY_NOT_MOVE.
+       * config/arm/arm.c: Initialize arm_structure_size_boundary to
+       DEFAULT_STRUCTURE_SIZE_BOUNDARY.
+       * config/arm/arm.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define
+       to the value 32 if it has not already been defined.
+       * config/arm/netbsd.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY):
+       Override definition in arm.h with a value of 8.
 
-Sun Sep 23 14:59:21 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Thu Oct 28 03:12:02 1999  David Starner  <dstarner98@aasaa.ofe.org>
 
-       * cccp.c (S_ISREG): Define it unless overridden.
-       (main, finclude): Use that.
+       * c-pragma.c (push_alignment): Don't check the return value
+       of xmalloc.
 
-       * reload1.c (reload): If insn after a function call uses the
-       function value, and that reg is spilled, and the insn might
-       use it for reloading, add an extra need.
-       (reload_as_need): Detect such insns for new arg to choose_reload_regs.
-       (choose_reload_regs): In that case, don't choose function value reg.
+Thu Oct 28 03:08:38 1999  Matteo Frigo <athena@fftw.org>
 
-       * tm-convex1.h, tm-convex2.h (CPP_SPEC): Define __NO_INLINE_MATH.
+       * sparc.h (ADJUST_COST): Fix thinko.
 
-Sun Sep 23 07:52:32 1990  Michael Tiemann  (tiemann at cygnus.com)
+Thu Oct 28 02:44:03 1999  Glen Nakamura  <glen.nakamura@usa.net>
 
-       * version.c (version_string): Bumped to 1.90.02.
+       * cccp.c (rescan): Fixed obp pointer handling around call to
+       check_expand subroutine.
 
-       * final.c (leaf_function): Variable now non-static.
-       * final.c (only_leaf_regs_used): Function now non-static.
-       * final.c (leaf_function_p): Move initialization of
-       `leaf_function' from here...
-       * toplev.c (compile_file): ...to here.  We want to know the
-       value of `leaf_function' when we perform code reorginization.
-       * final.c (leaf_function_p): If profiling arcs, we cannot have
-       a leaf function.  Also, we have to look at insns in
-       `epilogue_delay_list' to know that all our constraints are
-       satisfied.
-       * final.c (only_leaf_regs_used): Have to look in
-       `epilogue_delay_list' to know that all our constraints are
-       satisfied.
+Thu Oct 28 02:15:22 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * toplev.c (warning_with_file_and_line,warning): Declare third
-       argument V3 for warnings that require 3 `%' expressions in S.
-       * toplev.c (strip_off_ending): New helper function that removes
-       a GCC-recognized filename extension.  Call this function in
-       GCC instead of expanding it inline in C code everywhere.
+       * gcse.c (delete_null_pointer_checks): Only record non-null info
+       for pseudos when examining stores.
 
-       * sched.c (schedule_block): The last basic block does not have
-       no live registers.  Also, check that we don't copy from an
-       entry in `basic_block_live_at_start' that does not exist.
-       * sched.c (update_reg_first_use): When splitting insns, the
-       insn that is in REG_FIRST_USE might become a NOTE, and a new
-       insn become the insn that should be considered the first use.
-       `update_first_use' keeps REG_FIRST_USE up to date.
-       * sched.c (update_links): Call note_stores with
-       `update_first_use' when an insn splits.
+       * arm.md (adddi3, adddi_sesidi_di, adddi_sesidi_di): Add
+       splitters for these patterns.  Use "#" for output templates.
+       (addsi3_carryin_shift): New pattern.
 
-Sun Sep 23 00:05:49 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Thu Oct 28 10:20:02 1999  Geoffrey Keating  <geoffk@cygnus.com>
 
-       * c-decl.c (grokdeclarator): Put var array bound in save_expr.
+       * config/rs6000/rs6000.md (movsf): Don't convert a SUBREG
+       of the function return register into a plain REG until
+       after function inlining is done.
 
-Sat Sep 22 14:01:00 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Wed Oct 27 15:21:46 1999  Richard Henderson  <rth@cygnus.com>
 
-       * tree.c (build_index_type): Don't hash variable-bound type.
+       * jump.c (jump_optimize_1): If we did cross-jumping, and
+       the data will matter, rebuild the CFG.
+       * reg-stack.c (reg_to_stack): Only (re)build the CFG if
+       not optimizing.  Don't run shorten_branches.
+       * toplev.c (rest_of_compilation): Run shorten_branches after
+       reg_to_stack.
 
-       * c-decl.c (start_decl): Error here if var-size object initialized.
-       (grokdeclarator, finish_struct): Record types & decls
-       with array sizes not written as constants.
-       * c-tree.h (C_TYPE_VARIABLE_SIZE, C_DECL_VARIABLE_SIZE): New macros.
+Wed Oct 27 12:33:40 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * tm-aix386.h (LIB_SPEC): Different library name for -p.  Always -lc.
-       (LINK_SPEC): Don't pass -lg or -g.
-       (CPP_PREDEFINES): Define _I386 and _AIX.  Don't define unix.
-       (SDB_DEBUGGING_INFO): Define it.
-       (DBX_DEBUGGING_INFO): Undefine it.
-       (ASM_FILE_START): Output .noopt if not optimizing.
-       (PCC_BITFIELD_TYPE_MATTERS): Define it.
-       (FUNCTION_PROFILER): Add definition.
+       * rtl.h (note_stores): Add additional parameter.
+       * rtlanal.c (reg_set_p_1): Take additional parameter.
+       (reg_set_last_1): Likewise.
+       (reg_set_p): Adjust call to note_stores.
+       (reg_set_last): Likewise.
+       (note_stores): Pass data parameter to worker function.
+       * alias.c (record_set): Take additional parameter.
+       (init_alias_analysis): Pass it.
+       * caller-save.c (mark_set_regs): Take additional parameter.
+       (save_call_clobbered_regs): Pass NULL to note_stores.
+       * combine.c (set_nonzero_bits_and_sign_copies): Take additional
+       parameter.
+       (record_dead_and_set_regs_1): Likewise.
+       (reg_dead_at_p_1): Likewise.
+       (combine_instructions): Adjust calls to note_stores.
+       (try_combine): Likewise.
+       (record_dead_insn): Remove.
+       (record_dead_and_set_regs): Adjust calls to note_stores.
+       (reg_dead_at_p): Likewise.
+       * cse.c (invalidate_skipped_set): Take additional parameter.
+       (cse_check_loop_start): Likewise.
+       (cse_check_loop_start_value): Remove.
+       (cse_set_around_loop): Adjust calls to note_stores.
+       * flow.c (notice_stack_pointer_modification): Take additional
+       parameter.  Remove duplicate declaration.
+       (record_volatile_insns): Adjust calls to note_stores.
+       * gcse.c (record_set_info): Take additional parameter.
+       (record_last_set_info): Likewise.
+       (invalidate_nonnull_info): Likewise.
+       (record_set_insn): Remove.
+       (compute_sets): Adjust calls to note_stores.
+       (last_set_insn): Remove.
+       (compute_hash_table): Adjust calls to note_stores.
+       (insert_insn_end_bb): Likewise.
+       (delete_null_pointer_checks): Likewise.
+       * global.c (mark_reg_store): Take additional parameter.
+       (mark_reg_clobber): Likewise.
+       (reg_becomes_live): Likewise.
+       (global_conflicts): Adjust calls to note_stores.
+       (build_insn_chain): Likewise.
+       * integrate.c (note_modified_parmregs): Take additional parameter.
+       (mark_stores): Likewise.  Make it static.
+       (save_for_inline_nocopy): Adjust calls to note_stores.
+       (try_constants): Likewise.
+       * integrate.h (mark_stores): Remove declaration.
+       * jump.c (mark_modified_reg): Take additional parameter.
+       (thread_jumps): Adjust calls to note_stores.
+       * local-alloc.c (validate_equiv_mem_from_store): Take additional
+       parameter.
+       (no_equiv): Likewise.
+       (reg_is_set): Likewise.
+       (validate_equiv_mem): Adjust calls to note_stores.
+       (update_equiv_regs): Likewise.
+       (block_alloc): Likewise.
+       * loop.c (note_set_pseudo_multiple_uses_retval): Remove.
+       (note_addr_stored): Take additional parameter.
+       (note_set_pseudo_multiple_uses): Likewise.
+       (record_initial): Likewise.
+       (prescan_loop): Adjust calls to note_stores.
+       (strength_reduce): Likewise.
+       (check_dbra_loop): Likewise.
+       * regmove.c (flags_set_1): Take additional parameter.
+       (mark_flags_life_zones): Adjust calls to note_stores.
+       * reload1.c (mark_not_eliminable): Take additional parameter.
+       (forget_old_reloads_1): Likewise.
+       (reload_cse_invalidate_rtx): Likewise.
+       (reload_cse_check_clobber): Likewise.
+       (reload_combine_note_store): Likewise.
+       (move2add_note_store): Likewise.
+       (reload): Adjust calls to note_stores.
+       (reload_as_needed): Likewise.
+       (emit_reload_insns): Likewise.
+       (reload_cse_regs_1): Likewise.
+       (reload_cse_record_set): Adjust calls to reload_cse_invalidate_rtx.
+       (reload_combine): Adjust calls to note_stores.
+       * resource.c (update_live_status): Take additional parameter.
+       (mark_target_live_regs): Adjust calls to note_stores.
+       * stupid.c (find_clobbered_regs): Take additional parameter.
+       (stupid_life_analysis): Adjust calls to note_stores.
+
+Wed Oct 27 19:26:12 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/coff.h (STRUCTURE_SIZE_BOUNDARY): Delete
+       definition.
+
+       * config/arm/elf.h (STRUCTURE_SIZE_BOUNDARY): Delete
+       definition.
+
+       * config/arm/arm.h (STRUCTURE_SIZE_BOUNDARY): Define in terms
+       of the variable arm_structure_size_boundary.
+
+Wed Oct 27 02:05:58 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * alias.c (init_alias_analysis): Allocate reg_known_value and
+       reg_known_equiv_p on the heap.  Likewise for new_reg_base_value
+       and reg_seen.
+       (end_alias_analysis): Free reg_known_value and reg_known_equiv_p.
+       * cse.c (cse_main): Call end_alias_analysis.
+       * haifa-sched.c (schedule_insns): Likewise.
+       * local-alloc. (update_equiv_regs): Likewise.
+       * reload1.c (reload_cse_regs): Likewise.
+
+Wed Oct 27 01:49:17 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * sparc/sparc.c (sparc_override_options): Clear MASK_FPU_SET.
+       * sparc/sparc.h (TARGET_SWITCHES): Add "fpu" entry for reverse
+       mapping from MASK_FPU.
+
+Wed Oct 27 01:42:26 1999  Scott Christley  <scottc@net-community.com>
+
+       * sparc.md (call): Don't bound structure return size to 0xfff.
+
+Wed Oct 27 00:56:59 1999  Richard Henderson  <rth@cygnus.com>
+
+       * resource.c (mark_target_live_regs): Check that the target
+       insn wasn't created after compute_bb_for_insn.
+
+Tue Oct 26 23:15:03 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * ggc-page.c (poison_pages): Don't be overzealous.
+
+Tue Oct 26 23:29:18 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * alias.c: Update comments for ADDRESS.
+       (nonlocal_reference_p): Look inside the ADDRESS to determine if
+       it is a local memory reference.
+
+       * c-typeck.c (build_function_call): Check that the built-in
+       function is of class BUILT_IN_NORMAL before trying to recongize
+       it as BUILT_IN_ABS.
+       * calls.c (calls_function_1): Similarly for BUILT_IN_ALLOCA.
+       * stmt.c (expand_end_cae): Similarly for BUILT_IN_CLASSIFY_TYPE.
+
+Wed Oct 27 00:14:13 1999  Robert Lipe  <robertlipe@usa.net>
+
+       * gcse.c (expr_reaches_here_p): Use xcalloc and explit free instead
+       of alloca.
+       (pre_gcse): Likewise.
+       (hoist_expr_reaches_here_p): Likewise.
+       (hoist_code): Likewise.
+       (pre_expr_reaches_here_p): Replace alloca with xcalloc.  Move core
+       code to ...
+       (pre_expr_reaches_here_p_work): ... here.
+       (expr_reaches_here_p): Replace alloca with xcalloc.  Move core
+       code to ...
+       (expr_reaches_here_p_work): ... here.
+
+Tue Oct 26 20:42:45 1999  Richard Henderson  <rth@cygnus.com>
+
+       * resource.c (find_basic_block): Delete.
+       (mark_target_live_regs, incr_ticks_for_insn): Use BLOCK_NUM instead.
+       (init_resource_info): Call compute_bb_for_insn.
+
+Tue Oct 26 20:21:02 1999  Richard Henderson  <rth@cygnus.com>
 
-Fri Sep 21 16:26:51 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * flow.c (merge_blocks_move_predecessor_nojumps): Cope
+       with already adjacent blocks, but no fallthru.
+       (merge_blocks_move_successor_nojumps): Simplify.
+       (debug_flow_info): New.
 
-       * function.c (current_function_epilogue_list): Define this here.
-       * reorg.c: Not here.
+       * toplev.c (rest_of_compilation): Open jump1 dump file before
+       jump and close after, as opposed to just using dump_rtl.
 
-Fri Sep 21 13:11:11 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Wed Oct 27 03:09:23 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-       * varasm.c (assemble_external_libcall): Frob SYMBOL_REF_USED here.
+       * reload.h (earlyclobber_operand_p): Declare.
+       * reload.c (earlyclobber_operand_p): Don't declare.  No longer static.
+       * reload1.c (reload_reg_free_for_value_p):  RELOAD_OTHER reloads with
+       an earlyclobbered output conflict with RELOAD_INPUT reloads - handle
+       case where the RELOAD_OTHER reload is new.  Use earlyclobber_operand_p.
 
-Thu Sep 20 15:29:44 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Tue Oct 26 18:23:38 1999  Jan Hubicka  <hubicka@freesoft.cz>
+                         Richard Henderson  <rth@cygnus.com>
 
-       * expr.h (struct optab): Field libfunc, an rtx, replaces lib_call.
-       * rtl.h (SYMBOL_REF_USED): New macro.
-       * optabs.c (init_optabs): Initialize that field properly.
-       Also initialize new variables *_libfunc.
-       (various functions): Use those vars; use libfunc field.
-       * expr.c (convert_move, emit_block_move, clear_storage): Use the vars.
-       (emit_push_insn, expand_assignment): Likewise.
+       * emit-rtl.c (emit_block_insn_before): New.
+       (emit_block_insn_after): New.
+       * basic-block.h: Declare them.
 
-Thu Sep 20 13:51:18 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * bitmap.h: Protect from multiple inclusion.
 
-       * out-a29k.c (current_function_epilogue_delay_slot): Renamed from
-       epilogue_delay_slot.
+       * recog.c (scratch_operand): Handle VOIDmode correctly.
 
-       * romp.md (movdi): Fix missing short/long qualifier on memory ref.
-       (SFmode/DFmode move patterns): Add explicit alternatives for
-       storing and loading general registers from memory; also add
-       DEFINE_SPLITs for these cases for DFmode.
-       (negsf2,negdf2): Don't use XOR if an operand is a hard FP register.
+       * rtl.h (JUMP_CROSS_JUMP_DEATH_MATTERS): New.
 
-       * tm-romp.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Use correct
-       register numbers for FP registers.
+       * builtins.c (expand_builtin_apply_args_1): Remove STACK_REGS hack.
+       * function.c (assign_parms): Likewise.
+       * global.c (global_conflicts): Clarify STACK_REGS commentary.
 
-       * output.h (current_function_epilogue_delay_list): New var.
-       * function.c: Include output.h and initialize new var above.
-       * Makefile.in (function.o): Now includes output.h.
-       * reorg.c (epilogue_delay_list): Renamed to
-       current_function_epilogue_delay_list.
+       * reg-stack.c (max_uid): Remove.
+       (blocks, block_begin, block_end, block_drops_in): Remove.
+       (block_stack_in, block_out_reg_set, block_number): Remove.
+       (struct block_info_def, BLOCK_INFO): New.
+       (enum emit_where): New.
+       (current_block): New.
+       (BLOCK_NUM): Remove.
+       (mark_regs_pat, record_label_references): Remove.
+       (record_reg_life_pat, record_reg_life, find_blocks): Remove.
+       (nan): New.
+       (goto_block_pat, print_blocks, dump_stack_info): Remove.
+       (reg_to_stack): Simplified test for existence of fp code.  Use
+       flow.c code.  Call shorten_branches after cross-jump opt.
+       (check_asm_stack_operands): Renamed from record_asm_reg_life.
+       Return false if the asm doesn't use stack regs.  Don't do life
+       analysis on the asm.
+       (emit_pop_insn): Replace function pointer arg `when' with
+       enum `where'.  Update all callers.
+       (change_stack): Likewise.  Update basic block end.
+       (emit_swap_insn): Use current_block->head to limit reverse search
+       for start of block.  Use emit_block_insn_after.
+       (subst_stack_regs_pat): Handle USE and CLOBBER patterns.
+       (subst_asm_stack_regs): Use check_asm_stack_operands.  Use direct
+       structure assignment instead of bcopy.
+       (print_stack): New.
+       (convert_regs_entry, convert_regs_exit): New.
+       (convert_regs_1, convert_regs_2): Split out from convert_regs.
+       Work on basic blocks and the CFG.
+       (convert_regs): Use them.
+
+       * i386.c (output_fix_trunc): Remove code for DImode input operand
+       not at top-of-stack.
+       * i386.c (fix_truncdfdi2, fix_truncsfdi2): Use scratch with
+       appropriate mode.
+       (fix_truncdi_1): Allow any mode scratch.
+
+Tue Oct 26 13:30:35 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.h (TARGET_MEM_FUNCTIONS): Define here.
+       * linux.h, netbsd.h, vms.h: Not here.
 
-       * final.c (final_scan_insn): Don't delete no-op insn if in delay slot
-       or if we have already pre-scanned.
+1999-10-26  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * config/mips/mips.h (ISA_HAS_64BIT_REGS,ISA_HAS_BRANCHLIKELY,
+       ISA_HAS_FP4,ISA_HAS_CONDMOVE): New.
+       (GENERATE_BRANCHLIKELY,HAVE_SQRT_P,
+       CONDITIONAL_REGISTER_USEAGE): Use them.
+       * config/mips/mips.c (mips_move_1word,mips_move_2words,
+       gen_conditional_branch,override_options) : Use them.
+       * config/mips/mips.md : Use them.
 
-       * genconfig.c (max_insns_per_split): Rename from
-       max_insns_per_split_flag and default to 1 instead of 0.
+Tue Oct 26 13:09:23 1999  Richard Henderson  <rth@cygnus.com>
 
-       * genattrtab.c (n_comma_elts): Return zero for null string.
+       * i386.md (zero_extendqihi2): Use SImode register name with andl.
 
-       * sdbout.c (MIN,MAX): Add to here; required by recent changes.
+Tue Oct 26 12:35:38 1999  Richard Henderson  <rth@cygnus.com>
 
-       * expr.c (safe_from_p): A MEM rtx is not safe from an INDIRECT_REF.
+       * integrate.c (function_cannot_inline_p): Don't allow inlining
+       if setjmp is used.
 
-       * c-parse.y (ridpointers): Move definition in front of first use.
+Tue Oct 26 14:10:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * reorg.c (mark_referenced_resources): Allow for CODE_LABELs between a
-       CALL_INSN and USE insns preceeding it.
-       (mark_set_resources): Likewise, for following CLOBBERs.
+       * c-parse.in (cast_expr): Constify.
 
-Wed Sep 19 17:45:49 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * cccp.c (special_symbol): Likewise.
 
-       * assert.h (printf): Don't define; should be in stdio.h.
+       * cse.c (hash_cse_reg_info, cse_reg_info_equal_p): Likewise.
 
-       * rtl.h (PUT_REG_NOTE_KIND): New macro.
-       * sched.c (attach_deaths): Use it.
+       * dwarf2out.c (base_type_die): Likewise.
 
-       * reorg.c (mark_referenced_resources): If we put insns to load
-       parameters into the delay slot of a CALL, ignore the USE insns
-       for those parameters.
+       * global.c (allocno_compare): Likewise.
 
-       * function.c (fixup_var_refs_1): Don't call fixup_memory_subreg unless
-       its would-be operand is a SUBREG.
+       * local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.
 
-Wed Sep 19 00:26:59 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * regclass.c (fix_register): Likewise.
 
-       * print-tree.c (print_node): Indent before printing RTL.
+       * rtl.h (fix_register): Likewise.
 
-       * Makefile.in (protoize.o, unprotoize.o): Look for SYSCALLS.c.X
-       in libsubdir.
+       * stupid.c (stupid_reg_compare): Likewise.
 
-Tue Sep 18 21:55:01 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * toplev.c (decode_f_option): Likewise.
 
-       * cse.c (fold_rtx): For MEM with constant address, split the
-       address into possible base and offset; ensure constant pool
-       value is same mode as our reference unless we are getting a
-       word of a DImode CONST_INT.
-       Treat SYMBOL_REF and LABEL_REF as constants.
-       If we are getting a word at a constant offset from a jump table,
-       replace with the contents of that jump table entry.
-       (cse_insn): When folding jump to variable location (e.g., tablejump),
-       LABEL_REF is the cheapest of all, since the branch would be simple.
-       Special-case changing variable branch to normal unconditional
-       because the RTL may be different (e.g., the variable branch may
-       include a USE).
+       * tree.c (build_complex_type): Likewise.
 
-Tue Sep 18 18:33:19 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Tue Oct 26 18:35:25 1999  Richard Earnshaw  <rearnsha@arm.com>
 
-       * toplev.c (count_error): Handle warnings_are_errors.
-       (W_options): Handle -Werror.
+       * output.h: Don't unnecessarily conditionalize prototypes on TREE_CODE.
 
-Mon Sep 17 00:02:12 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Tue Oct 26 15:42:56 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * c-decl.c (lookup_label): Use void as type of label.
-       * stmt.c (label_rtx): No longer static.
-       * expr.c (expand_expr): Handle LABEL_DECL.
+       * reload.c (find_reloads): Compute mode and nregs fields of all
+       reloads.
+       * reload1.c (calculate_needs_all_insns): Simplify a bit.
+       (calculate_needs): Use precomputed mode/nregs values.
+       (allocate_reload_reg): Likewise.
+       Break out two...
+       (failed_reload, set_reload_reg): ... new functions.
+       (choose_reload_regs_init): New function, mostly broken out from...
+       (choose_reload_regs): ... here.  Lose all the save_xxx nonsense.
+       Also lose one #if 0 block.
 
-Sun Sep 16 16:27:29 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Tue Oct 26 02:48:32 1999  Marc Espie <espie@cvs.openbsd.org>
 
-       * expr.c (expand_builtin): Error for __builtin_nextarg
-       if function definition doesn't have `...'.
+       * Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET):  Fix target name
+       substitution.
 
-       * expmed.c (store_bit_field): Adjust BITPOS to UNIT all at once.
-       for insv, use mode of operand 3 instead of SImode.  Define MAXMODE.
-       Adjust XBITPOS along with mode of XOP0.
-       (extract_bit_field): Adjust XBITPOS along with mode of XOP0.
-       for extv and extzv, use mode of operand 3 thoroughly instead of SImode.
+Tue Oct 26 01:27:32 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * sdbout.c (CHAR_TYPE_SIZE,...): Default definitions of these macros.
-       (plain_type_1): Use those macros to distinguish int and floating types.
+       * tree.h (BLOCK_TYPE_TAGS): Remove.
+       (BLOCK_END_NOTE): Likewise.
+       (BLOCK_LIVE_RANGE_FLAG): Likewise.
+       (BLOCK_LIVE_RANGE_START): Likewise.
+       (BLOCK_LIVE_RANGE_END): Likewise.
+       (tree_block): Remove live_range_flag, live_range_var_flag, and
+       type_tags.  Remove end_note, live_range_start, and live_range_end.
+       (remember_end_note): Remove prototype.
+       * tree.c (build_block): Don't set BLOCK_TYPE_TAGS.
+       * c-decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call
+       remember_end_note.
+       * ggc-common.c (ggc_mark_tree_children): Don't mark
+       BLOCK_TYPE_TAGS or BLOCK_END_NOTE.
+       * integrate.c (adjust_copied_decl_tree): Remove.
+       * print-tree.c (print_node): Don't print BLOCK_TYPE_TAGS.
+       * stmt.c (last_block_end_note): Remove.
+       (init_stmt): Don't add a GC root for it.
+       (expand_fixup): Don't set it.
+       (remember_end_note): Remove.
+       (expand_end_bindings): Don't set last_block_end_note.
 
-       * toplev.c (rest_of_decl_compilation): Output TYPE_DECL here for sdb
-       only if top_level.
+Tue Oct 26 00:41:54 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * c-parse.y (unary): Don't forget to look up the label.
+       * reload1.c (reload_reg_free_for_value_p): Show
+       RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER
+       reloads.
 
-       * c-typeck.c (build_conditional_expr): Don't skip arg promotion.
+Mon Oct 25 23:54:45 1999  Geoff Keating  <geoffk@cygnus.com>
 
-Sun Sep 16 14:54:03 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * expmed.c (extract_bit_field): Allow for the case of non-integer
+       objects that are smaller than a word (like SFmode on a 64-bit
+       machine).
 
-       * combine.c (try_combine): If we don't recognize the combined insn,
-       try it without any CLOBBERs.
+       * loop.c (basic_induction_var): A non-integer variable which is
+       being set by a paradoxical subreg is probably not a biv.
 
-       * final.c (final_scan_insn): Prevent CC tracking from thinking
-       that the CC was set by an insn in the delay slot of a CALL_INSN.
+1999-10-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
 
-       * expmed.c (init_expmed, expand_divmod): Allow machine to have
-       low cost specified for divides by powers of two if it can do it by
-       a method that if cheaper than the normal shift/branch/adjust mechanism.
+       * prefix.c (translate_name) Check for empty prefix string.
 
-       * cse.c (fold_rtx): When putting constant last, ensure that the
-       resulting insn is valid.
+Mon Oct 25 23:10:45 1999  Andreas Schwab  <schwab@suse.de>
 
-       * objc-actions (finish_objc): Remove dup defn of gen_declaration_file.
+       * Makefile.in (CPP_CROSS_NAME): New variable.
+       (install-cpp): Use it instead of CPP_INSTALL_NAME for the cross
+       xcpp.
+       (uninstall-cpp): Use CPP_INSTALL_NAME and CPP_CROSS_NAME for the
+       names of the files to be uninstalled.
 
-       * objc-parse.y (ridpointers, token_buffer): Define before use.
+Mon Oct 25 23:03:09 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * reload1.c (scan_paradoxical_subregs): Declare correctly.
+       * collect2.c (IS_DIR_SEPARATOR): Define.
+       (prefix_from_string): Use IS_DIR_SEPARATOR and DIR_SEPARATOR.
 
-       * tm-romp.h (ENCODE_SEGMENT_INFO): Use INTEGRATED bit to mark
-       SYMBOL_REFs that are addresses of functions (really their data blocks).
-       (LEGITIMATE_CONSTANT_P): Data block addresses of functions are not
-       valid operands.
-       * out-romp.c (symbolic_operand): Likewise.
-       * romp.md (call*): emit_move_insn will now do force_const_mem
-       so it needn't be done explicitly.
+       * som.h (ASM_DECLARE_FUNCTION_NAME): Set PRIV_LEV for static
+       functions too.
 
-       * out-romp.c (output_fpop): Work around yet another RT fp bug;
-       cannot merge output and first operand for SFmode if general reg.
+       * haifa-sched.c (add_dependence): Update the true dependency
+       cache the first time we add a true dependence to the LOG_LINKS chain.
 
-       * romp.md: Add new pattern to match combination of copy and test.
-       Use nilo instruction to set CC.
+Mon Oct 25 22:27:40 1999  Jim Kingdon  <http://developer.redhat.com/>
 
-Fri Sep 14 07:07:01 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * fold-const.c (fold): Fix comment.
 
-       * c-tree.h: Define all *_type_node trees defined in c-decl.c, in the
-       same order as defined there.
+Mon Oct 25 22:49:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Fri Sep 14 08:39:17 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * dbxout.c (lastfile, cwd, dbxout_type_method_1,
+       dbxout_symbol_location, dbxout_symbol_name, dbxout_init,
+       dbxout_start_new_source_file, dbxout_source_file,
+       dbxout_source_line, dbxout_finish, dbxout_type_fields,
+       dbxout_type_methods, dbxout_symbol, dbxout_prepare_symbol):
+       Constify a char*.
+       (dbxout_types, dbxout_args, dbxout_symbol): Delete prototypes.
+       (dbxout_symbol): Mark parameter `local' with ATTRIBUTE_UNUSED.
+       (dbxout_block): Initialize variable `blocknum'.
 
-       * cplus-typeck.c (build_c_cast): Convert READONLY_DECLs to make up
-       for the fact that we do not call `default_conversion' anymore.
+       * dbxout.h (dbxout_init, dbxout_finish,
+       dbxout_start_new_source_file, dbxout_source_file, dbxout_types,
+       dbxout_args, dbxout_source_line): Constify a char*.
+
+       * dwarfout.c (dwarf_tag_name, dwarf_attr_name,
+       dwarf_stack_op_name, dwarf_typemod_name, dwarf_fmt_byte_name,
+       dwarf_fund_type_name, name_attribute, stmt_list_attribute,
+       low_pc_attribute, high_pc_attribute, body_begin_attribute,
+       body_end_attribute, comp_dir_attribute, sf_names_attribute,
+       src_info_attribute, mac_info_attribute, producer_attribute,
+       lookup_filename, generate_macinfo_entry, fundamental_type_code,
+       dwarfout_line, dwarfout_start_new_source_file, dwarfout_define,
+       dwarfout_undef): Constify a char*.
+       (add_incomplete_type, retry_incomplete_types): Add prototypes.
 
-       * function.c (instantiate_virtual_regs): If the function is inline,
-       we don't need to worry about making valid rtl, but we do need to
-       worry about instantiating all virtual registers.  Otherwise we must
-       make the rtl valid, and we have other opportunities to eliminate the
-       virtual registers during the compilation.
+       * dwarfout.h (dwarfout_define, dwarfout_undef,
+       dwarfout_start_new_source_file, dwarfout_line): Constify a char*.
 
-Thu Sep 13 16:00:05 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+1999-10-25  Gavin Romig-Koch  <gavin@cygnus.com>
 
-       * reload.c (MATCHES): Check for different rtx's with same reg number.
+       * config/mips/mips.h (MIPS_ISA_DEFAULT): Insure it's defined.
+       (MULTILIB_ISA_DEFAULT): New.
+       (MULTILIB_DEFAULTS): Use it.
+       * config/mips/mips.c (): Remove the now unnecessary definition
+       of MIPS_ISA_DEFAULT.
+       * config/mips/elf64.h (MULTILIB_DEFAULTS): Remove the now
+       unnecessary definition.
+
+Mon Oct 25 22:08:35 1999  Richard Earnshaw (rearnsha@arm.com)
+
+       * arm.md (pic_load_addr): Add constraints to operand 1.
+
+1999-10-25  Bruce Korb  <autogen@linuxbox.com>
+
+       * fixinc/genfixes:  Provide a means for specifying -D options to
+       AutoGen
 
-       * fixincludes: Discard `.' from value of `files'.
+Mon Oct 25 00:42:35 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * c-parse.y (unary_expr): Use unary && to get address of label.
-       (stmt): Handle `goto *EXPRESSION;'.
-       * stmt.c (expand_computed_goto): New function.
+       * arm.c (arm_override_options): Correct initialization of
+       arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched,
+       arm_is_strong, and arm_is_6_or_7.
 
-       * gstdarg.h: New name for stdarg.h.
-       * Makefile (install-headers): Rename gstdarg.h while installing it.
+       * loop.c (note_set_pseudo_multiple_uses_retval): New variable.
+       (note_set_pseudo_multiple_uses): New function.
+       (check_dbra_loop): Use not_set_pseudo_multiple_uses to determine
+       if a pseudo set in the loop exit is used elsewhere.
 
-       * sdbout.c (PUT_SDB_LAST_DIM): Get rid of SDB_DELIM.
-       (plain_type): Output accumulated array dims and size.
-       (plain_type_1): Eliminate arg NOSIZE.  Save up dims and size.
-       Call self rather than plain_type for pointers and functions.
-       (sdbout_array_type, sdbout_array_depth): Functions deleted.
+Sun Oct 24 20:52:40 1999  Mark Mitchell  <mark@codesourcery.com>
 
-Thu Sep 13 16:12:15 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.
 
-       * cplus-class.c (build_method_call): Fix typo in deciding whether to
-       do hairy or trivial pointer conversions on `this'.
+Sun Oct 24 21:02:46 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-tree.c (layout_vbasetypes): Don't double-count space taken
-       up by virtual baseclasses.
+       * i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into
+       a single load-address pattern.
 
-Wed Sep 12 18:14:19 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Sun Oct 24 19:33:24 1999  Mark P. Mitchell  <mark@codesourcery.com>
 
-       * tm-m68k.h: Use asm_fprintf widely.
-       (REG_PREFIX, IMMEDIATE_PREFIX, LOCAL_LABEL_PREFIX, USER_LABEL_PREFIX):
-       New macros.
+       * haifa-sched.c (schedule_insns): Don't assign LUIDs differently
+       depending on whether or not line-number notes are present.
 
-       * final.c (asm_fprintf): New function.
+Sun Oct 24 20:29:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Wed Sep 12 06:07:50 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * cccp.c (progname, file_buf, default_include, include_file,
+       macrodef, definition, hashval, wchar_type, user_label_prefix,
+       directive, out_fname, if_stack, safe_write, index0, get_lintcmd,
+       expand_to_temp_buffer, is_system_include, base_name,
+       absolute_filename, read_name_map, open_include_file,
+       record_control_macro, check_precompiled, check_preconditions,
+       pcfinclude, pass_thru_directive, create_definition,
+       check_macro_name, comp_def_part, collect_expansion,
+       check_assertion, read_token_list, assertion_install,
+       assertion_lookup, eval_if_expression, conditional_skip,
+       validate_else, skip_quoted_string, quote_string, macarg1,
+       error_from_errno, install, lookup, hashf, dump_defn_1,
+       perror_with_name, pfatal_with_name, main, trigraph_pcp,
+       check_white_space, rescan, handle_directive, monthnames,
+       special_symbol, do_include, remap_include_file, write_output,
+       arglist, do_assert, do_unassert, do_line, do_error, do_once,
+       do_ident, do_sccs, do_xifdef, skip_if_group,
+       output_line_directive, macroexpand, macarg, change_newlines,
+       initialize_builtins, make_definition): Constify a char*.
 
-       * cplus-dbxout.c (dbxout_type): Output basetype size and offset info
-       in bits, not bytes.
+       * pcp.h (stringdef): Likewise.
 
-       * cplus-decl.c (finish_{decl,function}): Set CLASSTYPE_ASM_WRITTEN
-       bit of types used by non-extern VAR_DECLs.  Set it also for types of
-       PARM_DECLs and return types of functions defined in the file being
-       compiled.
+Sun Oct 24 13:29:28 1999  Richard Henderson  <rth@cygnus.com>
+
+       * unroll.c (copy_loop_body): Examine SET_DEST of single_set
+       not of pattern.
+
+Sun Oct 24 13:14:20 1999  Graham  <grahams@rcp.co.uk>
+                         Richard Henderson  <rth@cygnus.com>
+
+       * alias.c: Include ggc.h.
+       (reg_base_value, new_reg_base_value, reg_base_value_size): Make static.
+       (record_set): Verify enough room in reg_base_value.
+       (init_alias_analysis): Allocate reg_base_value with xcalloc.
+       Register it as a GC root.
+       (end_alias_analysis): Free reg_base_value.  Remove it as a GC root.
+       * Makefile.in (alias.o): Depend on ggc.h.
 
-Tue Sep 11 13:21:40 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * unroll.c (unroll_loop): Verify the insn before a barrier
+       is a JUMP_INSN before checking JUMP_LABEL.
+
+Sun Oct 24 15:46:44 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * sdbout.c (plain_type_1): New argument NOSIZE.  Inhibits size output.
-       (sdbout_array_type): Call plain_type_1 directly; set NOSIZE.
+       * mips/bsd-5.h (ASM_OUTPUT_ASCII): Constify a char*.
+       * mips/iris4.h (ASM_OUTPUT_ASCII): Likewise.
+       * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
+       * mips/mips.h (ASM_OUTPUT_ASCII): Likewise.
+       * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
+       * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
 
-       * sdbout.c (sdbout_array_type): New argument DEPTH.
-       Don't output more than SDB_MAX_DIM dimensions.
-       (sdbout_array_depth): New function.
-       (plain_type_1): Start DEPTH by calling sdbout_array_depth.
+Sun Oct 24 15:35:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * gnulib2.c (_bb_init_func): Library member now named _bb.
+       * output.h (ctors_section, dtors_section, bss_section): Prototype.
 
-       * tree.h: Add comments.
+       * alpha/alpha-interix.h (text_section): Delete prototype.
+       * alpha/elf.h (text_section): Likewise.
+       * arm/linux-elf.h (text_section): Likewise.
+       * arm/linux-telf.h (text_section): Likewise.
+       * c4x/c4x.h (text_section): Likewise.
+       * dsp16xx/dsp16xx.h (bss_section): Likewise.
+       * elfos.h (text_section): Likewise.
+       * i386/aix386ng.h (text_section): Likewise.
+       * i386/i386-interix.h (text_section): Likewise.
+       * i386/sco5.h (text_section): Likewise.
+       * i386/svr3gas.h (text_section): Likewise.
+       * nextstep.h (text_section): Likewise.
+       * psos.h (text_section): Likewise.
+       * ptx4.h (text_section): Likewise.
+       * svr3.h (text_section): Likewise.
+       * svr4.h (text_section, ctors_section, dtors_section): Likewise.
 
-Mon Sep 10 17:20:06 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Sun Oct 24 15:20:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile.in (install): Fix typo.
+       * final.c (peephole): Delete prototype.
 
-       * cccp.c (macarg1): With -traditional, backslash quotes chars.
+       * gcse.c (process_insert_insn, pre_edge_insert): Add prototypes.
+       (pre_insert_copies): Remove unused variable `bb'.
 
-Mon Sep 10 16:37:01 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * genrecog.c (debug_decision_0, debug_decision_list, main): Add
+       prototypes.
+
+       * output.h (peephole): Add prototype.
 
-       * jump.c (jump_optimize): Don't swap THEN and ELSE parts during jumps
-       runs after reload.
+Sun Oct 24 11:35:30 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * config/mips/iris6.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Define to
+       -O0.
+
+Sat Oct 23 21:13:00 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * integrate.c (integrate_decl_tree): Tweak setting of DECL_CONTEXT
+       for inlined declarations.
+
+Fri Oct 22 18:05:43 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * arm.c (logical_binary_operator): New fucntion.
+       * arm.h (logical_binary_operator): Declare it.
+       (PREDICATE_CODES): Handle logical_binary_operator.
+       * arm.md (anddi3, anddi_zesidi_di, anddi_sesdi_di): Use "#" for
+       output constraints.  Add appropriate splitters.
+       (anddi_notdi_di, anddi_notzesidi_di, anddi_notsesidi_di): Likewise.
+       (iordi3, iordi_zesidi_di, iordi_sesidi_di): Likewise.
+       (xordi3, xordi_zesidi_di, xordi_sesidi_di): Likewise.
+
+Fri Oct 22 23:46:50 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * genoutput.c (struct operand_data): New elt eliminable.
+       (output_operand_data): Write it.
+       (scan_operands): Set it for MATCH_OPERAND, clear for other matchers.
+       (compare_operands): Take it into account.
+       * recog.h (struct insn_operand_data): New elt eliminable.
+       * reload1.c (check_eliminable_occurrences, elimination_effects): New
+       functions.
+       (old_asm_operands_vec, new_asm_operands_vec): Delete.
+       (eliminate_regs): Move code that detects changes to elimination
+       target regs into new function elimination_effects.
+       Delete one #if 0 block.
+       Abort for USE, CLOBBER, ASM_OPERANDS and SET.
+       (eliminate_regs_in_insn): Return immediately for USEs, CLOBBERs,
+       ADDR_VECs, ADDR_DIFF_VECs and ASM_INPUTs.
+       Only call eliminate_regs for real operands of the insn, not for parts
+       of its structure or parts matched by things like match_operator.
+       Use elimination_effects and check_eliminable_occurrences.  Use
+       copy_insn to duplicate the pattern when not in the final pass.
 
-Mon Sep 10 13:07:39 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Fri Oct 22 09:03:44 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * cccp.c (collect_expansion): Don't actually substitutee into a
-       string if ANSI; just consider warning.
+       * i386.md: Add missing `y' modifiers to uses of fst, fstp, fld,
+       and fld.
 
-       * gnulib2.c (div_qrrnd for i386): Fix typo.  Rename some args.
+1999-10-22  Bruce Korb  <autogen@linuxbox.com>
 
-       * sdbout.c (sdbout_array_type): New argument DEPTH.
-       Don't output more than SDB_MAX_DIM dimensions.
-       (plain_type_1): Start DEPTH at 1.
+       * fixinc/README: document the "mach" machine matching test
+       * fixinc/fixfixes.c: Implement the #else/#endif label fix
+       * fixinc/fixtests.c: Implement the #else/#endif label test
+       * fixinc/inclhack.def: utilize these tests and fixes
+       * fixinc/inclhack.sh:  regen
+       * fixinc/fixincl.x:  regen
+       * fixinc/fixincl.sh:  regen
 
-Sun Sep         9 22:02:24 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Oct 21 20:37:19 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * out-a29k.c (gen_reg_operand): Exclude SUBREG of a special
-       register.
+       * Makefile.in (cse.o): Depend on hashtab.h, not splay-tree.h.  Also
+       depend on ggc.h.
 
-       * cse.c: (fold_rtx): Get equivalent for register before seeing if
-       memory reference is to constant pool.
-       (cse_ins): Only call force_const_mem if we actually try to use
-       the constant (i.e., we haven't found anything cheaper).
+Thu Oct 21 20:30:19 1999  Matthias Klose  <doko@debian.org>
 
-Sun Sep         9 21:49:18 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * gcc.1: Document exit codes.
 
-       * ..._BIG_ENDIAN: Now expect definition to be 0 or 1.
-       All refs and defs changed.
+Thu Oct 21 12:49:05 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * tm-mips.h (CPP_SPEC): Error for -EL (for -EB, if DECSTATION).
+       * calls.c: Include tm_p.h later, so everything we need is defined.
+       * expr.c: Likewise.
+       * function.c: Likewise.
 
-       * sdbout.c (sdbout_one_type): Set TREE_ASM_BEING_WRITTEN before
-       recursion, and TREE_ASM_WRITTEN after.
+       * except.c: Include tm_p.h.
 
-Sat Sep         8 16:47:27 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * sparc.c: Likewise.
+       (dwarf2out_cfi_label): Don't prototype.
+       (check_return_regs, epilogue_renumber,
+       ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
+       ultra_find_type, ultra_build_types_avail, ultra_flush_pipeline,
+       ultra_rescan_pipeline_state, set_extends, ultra_code_from_mask,
+       ultra_schedule_insn): Add static prototype.
+       (data_segment_operand, text_segment_operand): Call itself with the
+       proper number of arguments.
+       (sparc_flat_save_restore, sparc_v8plus_shift): Constify a char*.
 
-       * hard-params.c (main): Don't try to malloc all memory.
+       * sparc.h: Move all declarations to sparc-protos.h.
+       (SELECT_RTX_SECTION):  Pass a missing MODE argument to
+       symbolic_operand.
 
-Sat Sep         8 16:38:53 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * sparc/sysv4.h (SELECT_RTX_SECTION): Likewise.
 
-       * reload1.c (reload): Set reg_equiv_constant if the equivalence
-       is any constant, not just a legitimate constant operand.
+       * config/svr4.h (text_section, ctors_section, dtors_section): Add
+       Prototypes.
+       (ASM_OUTPUT_SECTION_NAME, UNIQUE_SECTION,
+       ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
+       ASM_OUTPUT_ASCII): Constify a char*.
 
-       * final.c (get_attr_length, shorten_branches, final_scan_insn):
-       If JUMP_TABLES_IN_TEXT_SECTION is defined, don't put jump tables
-       in readonly data section, even if it exists.
+       * sparc-protos.h: New file for sparc prototypes.
 
-Sat Sep         8 14:07:05 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Thu Oct 21 12:23:40 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile.in (bootstrap*): Pass null ALLOCA definition to recursive
-       makes when compiling with GCC since it never needs alloca.c.
+       * function.c (record_insns, contains): Always declare and define.
+       (record_insns): Mark with ATTRIBUTE_UNUSED.
 
-       * c-typeck.c (build_binary_op_nodefault): Warn for signed < unsigned.
-       Controlled by -W.
+Thu Oct 21 13:03:49 1999  Jonathan Larmour  <jlarmour@cygnus.co.uk>
 
-       * tm-i386v4.h: New file.
+       * config/arm/telf.h (ASM_OUTPUT_SECTION_NAME): Add %nobits option
+       to .section when outputting a .bss section to deal with multiple
+       .bss input sections (as happens with -fdata-sections)
+       Also output %progbits, not @progbits so the assembler doesn't treat as
+       a comment.
+       * config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Likewise
 
-Fri Sep         7 13:10:24 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * config/arm/lib1funcs.asm (_call_via_rX): Allow compilation of
+       thumb parts even when building with non-thumb CPUs, by forcing
+       thumb mode.
 
-       * cccp.c (STDC_VALUE): New macro, defaulting to 1.
-       (intialize_builtins): Use that.
+Wed Oct 20 22:57:58 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * m68k.md (movqi): `st' does not set cc's.
+       * sparc.md (movsf_const_intreg): If splitting, length must be > 1.
+       (movdf_const_intreg_sp64): Similarly.
 
-Fri Sep         7 07:49:23 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * local-alloc.c (update_equiv_regs): Check the correct insn
+       for pre-existing REG_EQUIV notes.
 
-       * genemit.c (gen_expand): Fix test for no C code.
-       If no C code, no MATCH_DUPs, and only one insn to write, handle
-       like DEFINE_INSN and return that insn rather than making a sequence.
+Wed Oct 20 20:41:46 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * emit-rtl.c (add_insn_after): If previous or next insn is a
-       SEQUENCE, update the NEXT_INSN in the last insn in the SEQUENCE or
-       PREV_INSN of the first, as appropriate.
-       (emit_insn_before, emit_jump_insn_before, emit_note_before):
-       Call add_insn_after.
+       * cse.c (cse_end_of_basic_block): Don't return the end of a basic
+       block reached by a branch if we're not going to actually process
+       this block.
 
-       * stmt.c (check_for_full_enumeration_handling): If a switch whose index
-       is an enumerated type contains labels for every enumeration value,
-       make the label for the last value the default label since such a
-       switch can never fall through.
+Wed Oct 20 15:18:42 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * genattr.c (fatal): Declare first arg correctly.
+       * integrate.c (integrate_decl_tree): Set DECL_CONTEXT to 0 if this is
+       a local extern function declaration.
 
-       * combine.c (try_combine): No longer check REG_FUNCTION_VALUE_P;
-       its value shouldn't matter once RTL generation is complete.
-       (subst): If NOT is present as an operand in commutative operation,
-       put it last to reduce the number of required patterns.
+Wed Oct 20 13:56:01 1999  Richard Henderson  <rth@cygnus.com>
 
-       * out-romp.c (output_fpops): Align to word boundary before writing
-       any floating-point blocks.
+       * i386.c (ix86_expand_prologue): Properly wrap USE around
+       reg for CALL_INSN_FUNCTION_USAGE.
 
-       * function.c (instantiate_virtual_regs_1): Fix typo in previous change.
-       When a MEM must be copied, use copy_rtx; the PLUS may also be shared.
+Thu Oct 14 18:51:37 1999  Andrew Haley  <aph@cygnus.com>
 
-Thu Sep         6 15:19:42 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * config/mips/mips.md (movdf_internal1a): Allow floating-point
+       move between GP_REGs.
 
-       * gcc.c (do_spec_1): Don't add __ to -D if __ already present.
+Wed Oct 20 15:36:11 1999  Andrew Haley  <aph@cygnus.com>
 
-       * c-typeck.c (convert_for_assignment):
-       Better warning for FCN * vs. void *
-       Specific warning for char * vs. unsigned char *.
+       * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Take account of
+       the mode size when finding out if an offset is legal.
 
-Thu Sep         6 14:52:08 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Wed Oct 20 06:26:58 1999  Richard Henderson  <rth@cygnus.com>
 
-       * reorg.c (find_basic_block): Return -1, not 0, if we can't find
-       the basic block.
-       (mark_target_live_regs): Clear PENDING_DEAD_REGS unconditionally.
-       (relax_delay_slots): Don't call optimize_skip for unconditional jump.
-       Only try to remove jump if it is a simple conditional or
-       unconditional jump (but not a tablejump or similar such).
+       * basic-block.h (PROP_*): Move constants from ...
+       * flow.c: ... here.
+       (compute_bb_for_insn): Free the array before reallocating.
+       (update_life_info): New arg PROP_FLAGS; pass on to propagate_block.
+       (allocate_reg_life_data): Reset all reg variables collected by
+       propagate_block.
+       (get_block_head_tail): Don't convert from bb to block.
+       (get_bb_head_tail): New.  Update all callers of get_block_head_tail.
+       (find_insn_reg_weight): Take block not bb.
+       (schedule_block): Don't set block num for moved insns.
+       (schedule_region): Don't update_life_info or find_insn_reg_weight.
+       (schedule_insns): Do it here instead.
+       * combine.c (combine_instructions): Invoke compute_bb_for_insn
+       before update_life_info.
+       * recog.c (split_all_insns, peephole2_optimize): Update for
+       new arg to update_life_info.
+       * rtlanal.c (remove_note): Cope with NULL note.
+       * toplev.c (rest_of_compilation): Don't invoke recompute_reg_usage
+       if we did sched1.
 
-       * cse.c (invalidate, refers_to_mem_p, cse_rtx_addr_varies_p):
-       Consider (plus (reg) (const_int)) to be a fixed address if REG
-       is constant; old code just handled REG.
+Wed Oct 20 10:46:41 1999  Richard Earnshaw (rearnsha@arm.com)
 
-       * genrecog.c (enum routine_type): Use to distinguish two types of
-       routines that we write: recog and split_insns.
-       (make_split_sequence): Write out extern for gen_split_ function.
-       (break_out_subroutines, write_subroutine, write_tree, main):
-       Use new enum routine_type instead of passing "split" or "recog".
-       (write_subroutine): Write correct type for splitting functions and
-       return 0, not -1.
-       (main): Write includes before declarations of gen_split_ functions
-       since "rtx" is needed for them.
-       * rtl.h (try_split, split_insns): Added definitions.
+       * jump.c (jump_optimize_1): More accurately detect casesi insns.
 
-Wed Sep         5 16:20:07 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * flow.c (merge_blocks_move_predecessor_nojumps): Re-order the basic
+       block records so that merge_blocks_nomove will clean up correctly.
+       (split_edge): Handle casesi insns.
 
-       * Makefile.in (includes): Use proper directory.
+       * gcc-page.c: Try MAP_ANON if we don't have MAP_ANONYMOUS.
 
-Tue Sep         4 13:59:31 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Tue Oct 19 23:43:50 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * c-decl.c (store_parm_decls): Let extra_warnings control
-       warnings about parms not declared.
+       * pa.md (call, call_value): Do not emit a blockage after restoring
+       the PIC register.
 
-       * flow.c (life_analysis): Move code to detect stack-adjust insns.
-       It was unreachable.
+Tue Oct 19 17:22:39 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * gnulib.c, gnulib2.c (abort): #undef in case config.h defines it.
+       * c-typeck.c (c_expand_asm_operands): Fix typo.
 
-Mon Sep         3 17:50:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Oct 19 18:42:58 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * calls.c (expand_call): If SETUP_INCOMIMG_VARARGS is defined, pass
-       unnamed args in registers.
-       * function.c (assign_parms): Call SETUP_INCOMING_VARARGS for
-       stdargs as well as varargs; ensure we only call it once.
+       * arm.c (fpu_rhs_operand): Verify modes.
+       (fpu_add_operand): Likewise.
+       (di_operand): Likewise.
+       (soft_df_operand): Likewise.
 
-       * function.c (instantiate_virtual_regs_1): Don't assume all memory
-       addresses are valid for all insns.
+Tue Oct 19 15:26:11 1999  Richard Earnshaw  (rearnsha@arm.com)
 
-Sun Sep         2 22:17:40 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * arm.c (arm_return_in_memory): APCS rules state that the elements
+       of a structure returned in a register must be 'integer-like'.
 
-       * expr.c (emit_library_call): Push all stack args, then load regs.
+1999-10-19  Bruce Korb  <autogen@linuxbox.com>
 
-       * c-decl.c (c_build_type_variant): For an ARRAY_TYPE,
-       put the qualifier into the array as well as the element.
-       (grokdeclarator): When a field or variable is supposed to be
-       a const or volatile array, make the array elements const or
-       volatile, but also make the field or variable so.
+       * fixinc/Makefile.in: Change the generation rules to run `genfixes'
+       in the source tree when the generated targets are out of date
+       * fixinc/genfixes: Alter it to run individual fixes for make.
+       * fixinc/README: rewrite
+       * fixinc/inclhack.def: moved initial comments to README
 
-       * c-decl.c (grokdeclarator): Turn off the warning for const or volatile
-       function type when making an array.  It was useless.
+Tue Oct 19 14:01:34 1999  Nick Clifton  <nickc@cygnus.com>
 
-Fri Aug 31 16:26:40 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * toplev.c (main): Do not generate an error message if an
+       unrecognized command line switch is recognizable by another
+       language.  If extra_warnings are enabled, then generate a
+       warning message instead.
 
-       * c-common.c (truthvalue_conversion): Let the
-       language-specific code decide how to convert EXPR
-       if it is not one of the special forms we recognize.
+Tue Oct 19 11:41:12 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 
-Fri Aug 31 15:08:19 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-pragma.h (PRAGMA_INSERT_ATTRIBUTES): Delete macro.
+       (insert_pack_attributes): Delete prototype.
 
-       * gcc.c (execute): Use I instead of undefined var J if DEBUG defined.
+       * c-pragma.c (default_alignment): New static variable.
+       (push_alignment): Initialize to current effective alignment.
+       (pop_alignment): Use to set new alignment.
+       (insert_pack_attributes): Delete function.
+       (handle_pragma_token): Set default_alignment as well each time
+       a #pragma pack(<n>) is encountered.
 
-Fri Aug 31 14:37:36 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Tue Oct 19 02:03:00 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * sdbout.c (sdbout_begin_block): Delete excess arg to sdbout_block.
+       * reg-stack.c (stack_result): Aggregates are not returned in
+       stack registers.
 
-Thu Aug 30 21:31:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Oct 19 01:26:48 1999  Alasdair Baird <alasdair@wildcat.demon.co.uk>
 
-       * expmed.c (extract_bit_field): Fix typos in computations of UNIT.
+       * fold-const.c (fold): Fix thinko in x+(-0) -> x transformation.
 
-Wed Aug 29 12:33:33 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Mon Oct 18 15:19:41 1999  Richard Henderson  <rth@cygnus.com>
 
-       * sdbout.c (sdbout_reg_parms): Don't advance parm twice.
+       * basic-block.h (set_block_num): Declare.
+       * flow.c (update_life_info): Don't call compute_bb_for_insn
+       or free_basic_block_vars.
+       * haifa-sched.c (remove_dependence): Conditionalize on HAVE_cc0.
+       (insn_orig_block): Remove.
+       (INSN_BLOCK): Remove.  Update all callers to use BLOCK_NUM.
+       (schedule_block): Keep BLOCK_NUM up-to-date.
+       (schedule_insns): Use compute_bb_for_insn.
+       * recog.c (split_all_insns): Likewise.
+       (peephole2_optimize): Likewise.
 
-Tue Aug 28 22:49:41 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Mon Oct 18 18:50:51 1999  Andreas Schwab  <schwab@suse.de>
 
-       * cccp.c (delete_newlines): New function.
-       (macroexpand): Remove newlines from args used more than once.
+       * config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word
+       if the pic register is used.
 
-Tue Aug 28 22:16:50 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Oct 18 02:38:46 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * Makefile.in (sched.o): Add to list of files to compile.
+       * c-decl.c (pushdecl): Use TYPE_CONTEXT rather than TREE_PERMANENT.
+       (finish_decl): Duplicate test for TREE_ASM_WRITTEN in else branch of
+       if that tests TREE_PERMANENT.
 
-       * c-parse.y (position_after_white_space): Declare with correct type.
+Mon Oct 18 01:41:35 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * fold-const.c (optimize_bit_field_compare): Fix typo.
+       * cse.c (invalidate_for_call): Do not remove memory references from
+       the table here.  It's handled elsewhere.
 
-       * reorg.c (split_insns): No longer need extern for this here.
+       * haifa-sched.c (add_dependence): Protect references to the
+       true dependency cache with #ifdef INSN_SCHEDULING.
+       (remove_dependence): Similarly.
 
-       * toplev.c (sched_dump_file): Define.
-       (compile_file): Initialize and print sched_time and sched2_time.
+       * mn10200.md (outline_epilogue_jump): Embed a (return) to indicate
+       to the cfg code that this is a return instruction.
+       * mn10300.md (return_internal): Similarly.
 
-       * local-alloc.c (block_alloc): Fix typo in allocation of insn_map.
+       * combine.c (get_last_value): If the last set of a register
+       is after subst_low_cuid, then we can not use it to determine
+       the register's last value.
 
-       * cse.c (cse_insn): Try related value in case where CONST is seen
-       first and SYMBOL_REF later.
+Sun Oct 17 11:02:52 1999  Mark Mitchell  <mark@codesourcery.com>
 
-Tue Aug 28 16:26:50 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * Makefile.in: Back out previous change.
 
-       * cccp.c (main): Don't modify or validate arg of -D here.
-       (make_definition): Do it all here.
+Sun Oct 17 15:22:50 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * function.c (assign_parms): Reenable `register' for parms.
+       * pa.c (move_operand): Reject (lo_sum (reg) (unspec ...)).
 
-Tue Aug 28 07:12:19 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * haifa-sched.c (add_dependence): Only check/update the cache
+       if it exists.
+       (remove_dependence): Likewise.
+       (schedule_insns): Only create the true_dependency_cache if the
+       average number of instructions in a basic block is very large.
 
-       * tm-a29k.h (CONST_COSTS): All CONST_INTs are cost zero; adjust
-       SYMBOL_REF and CONST_DOUBLE costs to reflect their actual cost.
+Sun Oct 17 11:02:52 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * expr.c (expand_expr): Don't suppress EXPAND_SUM here if not Pmode.
-       (expand_expr, case *_DECL): Return constant address if
-       EXPAND_SUM or EXPAND_INTO_STACK in addition to EXPAND_CONST_ADDRESS;
-       all of these cases will later call memory_address.
-       (expand_expr, case COMPONENT_REF): Always make recursive call with
-       EXPAND_SUM.
-       (expand_expr, case PLUS_EXPR): Try to form constant if X + CONST and
-       mode is Pmode without EXPAND_SUM; if not EXPAND_SUM, use force_operand.
-       Check for MODE != Pmode with EXPAND_SUM here.
-       (expand_expr, case MINUS_EXPR): Always process X - CONST_INT as
-       X + (-CONST_INT)).
+       * Makefile.in (ggc-common.o): Depend on genrtl.h.
+       (ggc-simple.o): Likewise.
+       (ggc-page.o): Likewise.
 
-Sun Aug 26 23:10:10 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Sun Oct 17 02:09:50 1999  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * c-decl.c (c_decode_option): Handle -funsigned-bitfields. 
-       (grokdeclarator): Do the real work.
-       (grokfield): Pass either FIELD or BITFIELD to grokdeclarator.
+       * basic-block.h (pre_edge_lcm, pre_edge_rev_lcm, compute_available):
+       Prototype for exported functions.
+       (pre_lcm, pre_rev_lcm): Remove prototypes.
+       * gcse.c (compute_ae_kill): Add ae_gen and ae_kill as parameters.
+       (compute_available): Move to lcm.c, and change parameter order.
+       (one_classic_gcse_pass): Call compute_ae_kill with parameters.
+       (pre_insert, s_preds, s_succs, num_preds, num_succs): Delete.
+       (gcse_main): No longer call compute_preds_succs.  Rebuild the
+       set table after reach pre pass.
+       (pre_insert_map, pre_delete_map, edge_list): New.
+       (alloc_pre_mem): Allocate edge vectors.
+       (free_pre_mem): Delete edge vectors.
+       (compute_pre_data): Call new edge based lcm routines.
+       (process_insert_insn): New function.
+       (insert_insn_end_bb): Use it.
+       (pre_edge_insert): New function.
+       (pre_insert_copy_insn): Formatting fixes.  Update BLOCK_END as
+       needed.
+       (pre_insert_copies): Revamp using new edge based lcm outputs.
+       (pre_delete): Likewise.
+       (one_pre_gcse_pass): Insert & remove fake edges to the exit
+       block.
+       (compute_code_hoist_vbeinout): New new edge based routines.
+       * lcm.c: Remove all the old LCM functions.  Replace with new ones
+       that work with the new cfg datastructures and work with edges
+       instead of blocks.
 
-       * tm-att386.h (asm_output_common): Use SIZE, not ROUNDED.
+Sun Oct 17 00:44:17 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-Sat Aug 25 17:17:27 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * reload.h (struct reload): Add new fields "mode" and "nregs".
+       * reload1.c: Change all occurrences of reload_mode and reload_nregs
+       to reference the "mode" and "nregs" field within struct reload.
 
-       * c-parse.y (unary_expr): Turn off handling of &...
-       * c-decl.c (store_parm_decls): Turn off extra dummy parameter.
+Sat Oct 16 21:50:28 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-att386.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): New macros.
-       (BSS_SECTION_ASM_OP): New macro.
-       (ASM_OUTPUT_LOCAL): Call bss_section, don't just print .bss.
+       * haifa-sched.c (true_dependency_cache): New.
+       (add_dependence): Use the true dependency cache to avoid expensive
+       walks down the LOG_LINKS dependency list.  Add entries to the
+       cache as necessary.
+       (remove_dependence): Remove entries from the true dependency cache
+       as needed.
+       (schedule_insns): Allocate and initialize and free the true
+       dependency cache.
 
-       * combine.c (subst): Handle shift within mem, as multiplication.
+       * haifa-sched.c (schedule_insns): Do not remove inter-block
+       dependencies anymore.
 
-Sat Aug 25 11:43:09 1990  Michael Tiemann  (tiemann at cygnus.com)
+Sat Oct 16 11:19:52 1999  Richard Henderson  <rth@cygnus.com>
 
-       * final.c (alter_cond): Handle CC_INVERTED.
+       * i386/t-cygwin (winnt.o): Depend on RTL_H and TREE_H.
+       * i386/t-winnt: Likewise.
 
-       * conditions.h (CC_INVERTED): New flag indicating that the condition
-       tested leaves the falgs set opposite to the condition tested.  This
-       is unsafe for IEEE floating point operations, but useful for integer
-       operations which can combine with condition-code setting operations.
+Sat Oct 16 11:11:54 1999  Richard Henderson  <rth@cygnus.com>
 
-       * c-parse.y (position_after_white_space): New function.  Skips
-       all of the whitespace at the current location in the input
-       file, taking NEXTCHAR into account.  Changed all callers of
-       `skip_white_space' in grammar to use this function instead.
+       * ggc-page.c (init_ggc): Work around SunOS unaligned mmap bug.
 
-       * genrecog.c (main): Generate code which is more easily optimized by
-       GCC's cse.  In particular, start each recognizer with the address of
-       `recog_operands' in a register.
+1999-10-16  Manfred Hollstein  <mhollstein@cygnus.com>
 
-       * reload.c (combine_reloads): Can only combine reloads if the
-       register we find can hold the entire output reload (i.e., SFmode
-       register may not be suitable for combining with DFmode register).
+       * Makefile.in (LANGUAGES): Omit "proto".
+       (clean): Remove stale comment about removing unprotoize.c.
 
-       * optabs.c (have_sub2_insn): Fixed typo.
-       * combine.c (combine_instructions): Fixed typo in comment.
+Sat Oct 16 11:29:14 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * function.c (expand_function_end): Emit a barrier after a RETURN
-       jump.
+       * protoize.c (safe_read, safe_write): Avoid the gcc extension of
+       using arithmetic on void pointers.
 
-       * Added diffs for new instruction scheduling code.
-       * emit-rtl.c (try_split): Moved here from reorg.c and made
-       public.  Both instruction scheduling and delayed branch
-       filling now use the same code to split insns.
-       * flags.h: Add new flags FLAG_SCHEDULE_INSNS for instruction
-       scheduling before register allocation and
-       FLAG_SCHEDULE_INSNS_AFTER_RELOAD for insn scheduling after
-       register allocation.
-       * recog.c (constrain_operands): Recognize pseudo registers as
-       registers for the purpose of insn constraint matching before
-       register allocation.  Otherwise, the insn scheduler assumes
-       the operands will be memory, which is usually wrong (and
-       causes it to build bad schedules).
-       * sched.c (order_calls): New function.  For two CALL_INSNS in
-       the rtl chain, we set up a constraint that the second
-       CALL_INSN may not be scheduled to run before the first.
-       (sched_analyze_*): Three kinds of dependencies (true, anti,
-       and output) constrain the order in which insns can be
-       rearranged and still preserve their execution semantics.
-       We now handle dependencies for pseudo and hard register usage
-       and for memory usage in these functions.
-       (launch_links): The ordering of which newly ready insns to
-       execute is now preserved according to their `priority' in the
-       insn chain, and no longer on their order in the dependency
-       list from which they were launched.
-       (schedule_block): Removed support for trying to schedule insns
-       taking branch delays into account.  Reorg.c should be hacked
-       to understand which insns to pull into delay slots and which
-       insns to leave alone.
-       (schedule_block): (Re-)compute all register life information here.
-       No longer dependent on flow to keep `basic_block_live_at_end'
-       allocated.
-       (schedule_insns): Recompute LABEL->BASIC BLOCK mapping, so we
-       can compute register life information.
-       * rtl.c (add_dependence): New function to add and remove insn
-       dependencies.  If an insn (I2) must execute after another
-       (I1), we add an INSN_LIST containing I1 to I2's LOG_LINKS.
-       If such an INSN_LIST is already in I2's LOG_LINKS, we don't
-       add a second.
-       (remove_dependence): Similar, but removes dependencies.  May
-       not actually be needed.
-       * toplev.c (compile_file,rest_of_compilation): Added code for
-       dumping info about insn scheduling.
+Sat Oct 16 02:48:22 1999  Jeffrey A Law  (law@cygnus.com)
 
-Fri Aug 24 17:24:03 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * haifa-sched.c (compute_block_forward_dependencies): Only check
+       for notes, deleted insns and duplicates if ENABLE_CHECKING is defined.
 
-       * Implement `aligned (INTEGER)' attribute for real.
-       * c-parse.y (attrib): Really record info for `aligned' attribute.
-       Don't warn for any integer alignment.
-       (attribute_list): Make a list.
-       (initdcl, notype_initdcl, component_declarator): Handle that info.
-       * c-common.c (decl_attributes): New function.
+Sat Oct 16 00:07:01 1999  Richard Henderson  <rth@cygnus.com>
 
-Fri Aug 24 07:12:05 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
+       (expr_equiv_p): Reject memories with different alias sets.
 
-       * genattrtab.c (insn-config.h): This is really needed after all.
-       * Makefile.in (genattrab.o): Show dependency on insn-config.h.
+Fri Oct 15 15:17:29 1999  Greg McGary  <gkm@gnu.org>
 
-       * local-alloc.c (block_alloc): Don't update qty_birth for a
-       register whose quantity is <= 0.
+       * flags.h (flag_bounds_check, flag_bounded_pointers): New extern decls.
+       * toplev.c (flag_bounds_check, flag_bounded_pointers): New flags.
+       (f_options): Add "bounded-pointers" and "bounds-check" entries.
+       * c-lang.c (lang_init_options): Set flag_bounds_check as "unspecified".
+       (lang_init): Set default for flag_bounds_check if still "unspecified".
 
-       * fold-const.c (decode_field_reference): Actually obtain unsigned
-       type where one is wanted.
-       (merge_component_references): Correctly test for mutually exclusive
-       conditions.
+Sat Oct 16 13:42:29 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-Thu Aug 23 14:56:44 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * config/c4x/c4x.md (HF mode patterns):  Add missing modes.
 
-       * c-typeck.c (digest_initializer): No pedantic warning for string
-       and array of unsigned char.
+Sat Oct 16 13:37:46 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * tree.c (get_identifier): Do id_clash_len stuff if length equals that.
+       * config/c4x/c4x.md (movstrqi_small): Utilize parallel move
+       instructions.
 
-Thu Aug 23 10:30:10 1990  Michael Tiemann  (tiemann at cygnus.com)
+Sat Oct 16 13:26:47 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * cplus-tree.h (CLASSTYPE_CID): Key off of TYPE_MAIN_VARIANT.
+       * config/c4x/c4x.md (*db_noclobber,
+       *decrement_and_branch_until_zero_noclobber): New patterns and
+       associated splitters.
 
-Thu Aug 23 06:44:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Sat Oct 16 13:13:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * out-romp.c (romp_pushes_stack): Don't count
-       current_function_pretend_args_size in size of stack.
+       * config/c4x/c4x.md (parallel instruction patterns): Rework
+       constraints to keep reload happy.
 
-Wed Aug 22 18:00:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Sat Oct 16 13:03:16 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * tm-a29k.h, tm-a29kunix.h, xm-a29k.h, a29k.md, out-a29k.c: New files.
+       * config/c4x/c4x.md (*absqi2_noclobber, *negqi2_noclobber,
+       *one_cmplqi2_noclobber, *subqi3_noclobber, *andqi3_255_noclobber,
+       *andqi3_65535_noclobber, *andnqi3_noclobber, *xorqi3_noclobber):
+       Add new patterns and associated post-reload splitters.
 
-       * config.gcc (a29k-unix): New target.
+Sat Oct 16 12:42:12 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * calls.c (expand_call): Allow FUNCTION_ARG to return an EXPR_LIST
-       specifying multiple registers to load.
-       (store_one_arg): Likewise; also delete handling of fully-in-register
-       case, which hasn't been handled here for a while.
-       * expr.c (emit_library_call): Our subset of calling sequence for
-       library routines does not include multiple registers for an arg.
+       * config/c4x/c4x.c (c4x_emit_libcall): Use ggc_alloc_string.
 
-Tue Aug 21 17:44:49 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Sat Oct 16 12:34:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * make-cc1.com: Compile and link version.c.
+       * config/c4x/c4x.c (c4x_rptb_insert): Emit rpts_top pattern
+       if appropriate.
+       * config/c4x/c4x.md (rpts_top): New pattern and splitter.
 
-       * Makefile.in (install-gnulib): Create libg.a if none already.
+Sat Oct 16 12:26:30 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * expr.c (convert_move): Handle expand_unop retval not same as target.
+       * config/c4x/c4x.c (src_operand):  Check SYMBOL_REF and LABEL_REF
+       memory mode.
 
-       * reload.c (find_reloads): For register letters, don't win if BLK.
+Fri Oct 15 17:02:09 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * sdbout.c (sdbout_toplevel_data): Fix error message.
+       * pa.c (move_operand): Rely on memory_address_p to determine the
+       validity of non-indexed memory addresses.
+       * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow LO_SUM with a symbolic
+       operand in DFmode and SFmode when generating PA2.0 code.
 
-       * protoize.c (open): Prototype deleted.
+Fri Oct 15 14:25:19 1999  Richard Henderson  <rth@cygnus.com>
 
-       * flow.c (mark_set_1, mark_used_regs): Update reg_first_use.
-       (allocate_for_life_analysis): Allocate and clear it.
-       * local-alloc.c (block_alloc): Calculate INSN_MAP.
-       Get first use of each reg from reg_first_use.
+       * print-rtl.c (print_rtx): Limit last 'u' change to LABEL_REF.
 
-       * tm-vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Distinguish C from C++.
-       (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Add a const data section.
-       (ASM_OUTPUT_EXTERNAL): Use that section.
-       (SELECT_SECTION): Go to that section when appropriate.
+Fri Oct 15 13:48:45 1999  Richard Henderson  <rth@cygnus.com>
 
-Tue Aug 21 18:26:47 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * mips.c (function_prologue): Fix argument types.
+       * mips.md (casesi): Use emit_jump_insn for casesi_internal.
+       (casesi_internal): Write to the scratch register.
 
-       * reorg.c (fill_simple_delay_slots): Mark anything referenced by an
-       insn that will be placed in a delay slot in the epilogue as being
-       needed at the end of the function.
+1999-10-15 11:16 -0700  Zack Weinberg  <zack@bitmover.com>
 
-       * cse.c (constant_pool_entries_found): New static var.
-       (cse_main): Initialize it.
-       (use_related_value): Correctly look for registers in hash table.
-       (fold_rtx): Fold constant pool entries to their constants and
-       set constant_pool_entries_found.
-       (cse_insn):  If we weren't able to place a constant in an insn
-       and we have previously seen constant pool entries used, set up
-       to try the constant pool entry also.
+       * cppexp.c (cpp_parse_escape): Make static.  Change second arg
+       to U_CHAR **.
+       (parse_charconst): Delete unnecessary cast when calling
+       cpp_parse_escape.
+       (cpplib.h): Kill prototype of cpp_parse_escape.
 
-Mon Aug 20 12:14:27 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Fri Oct 15 11:02:46 1999  Richard Henderson  <rth@cygnus.com>
 
-       * function.c (assign_parms): Set LAST_NAMED for parm before dummy.
-       See August 9 change in c-parse.y.
+       Based on patch from Michael Gschwind <mikeg@watson.ibm.com>:
+       * unroll.c (unroll_loop): Cast return value of alloca.
+       * i370/i370.c: Include function.h and toplev.h.
+       (i370_label_scan): Remove c++ commented abort.
+       * i370/i370.h (HANDLE_PRAGMA): Takes three arguments.
+       (ASM_OUTPUT_LABELREF): Fix TOUPPER/else broken 16 Sept.
+       * i370/xm-i370.h (HOST_BITS_PER_LONGLONG): Define.
+       * i370/xm-mvs.h, i370/xm-oe.h: Likewise.
 
-       * gcc.c (process_command): Split -oFOO into two arguments.
+Fri Oct 15 03:01:01 1999  Loren Rittle  <ljrittle@acm.org>
 
-       * stmt.c (expand_asm_operands): Handle COMPONENT_REF and
-       ARRAY_REF directly as output operands.  Avoids crash if BLKmode.
+       * config/t-freebsd: Do not override USER_H.
+       * ginclude/stddef.h: Generalize check for _MACHINE_ANSI_H_.
 
-       * c-parse.y, cplus-parse.y, objc-parse.y: Include stdio before input.h.
-       * input.h: Declare finput.
+Fri Oct 15 02:37:28 1999  Alastair J. Houghton <ajh8@doc.ic.ac.uk>
+                         Mumit Khan  <khan@xraylith.wisc.edu>
 
-       * expr.c (emit_push_insn): Don't adjust for EXTRA separately
-       if will have to adjust the stack anyway.
+       * c-parse.in (component_decl): Support anonymous struct/union.
+       (%expect): Update.
+       * c-parse.y: Regenerate.
+       * c-parse.c: Likewise.
+       * objc/objc-parse.y: Likewise.
+       * objc/objc-parse.c: Likewise.
+       * c-decl.c (finish_struct): Don't sort the fields.
+       (field_decl_cmp): Delete unused function.
 
-       * m68k.md (*sh*si3): On 68000, optimize case of >= 16 bits.
+Fri Oct 15 01:20:52 1999  Richard Henderson  <rth@cygnus.com>
 
-       * varasm.c (decode_rtx_const): Don't dereference a PLUS
-       subexpression of a CONST twice.
+       * sparc.md (movsf_const_intreg): Revert last constraint change.
+       (movdf_const_intreg_sp32): Likewise.
 
-Sun Aug 19 21:51:51 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Fri Oct 15 01:47:51 1999  Vladimir Makarov  <vmakarov@loony.cygnus.com>
 
-       * toplev.c (finput): Define here.
-       * *-parse.y (lineno, finput): Duplicate definitions deleted.
+       * cse.c: Include hashtab.h instead of splay-tree.h
+       (struct cse_reg_info): No longer use variant union.  Add new
+       field "regno".  All references changed to avoid union.
+       (cse_reg_info_used_list, cse_reg_info_used_list_end): New variables.
+       (free_cse_reg_info): Remove.
+       (hash_cse_reg_info, cse_reg_info_equal_p): New functions.
+       (get_cse_reg_info): Revamp to use expandable hash tables instead
+       of splay trees.  Initialize new fields in cse_reg_info structure.
+       (new_basic_block): Similarly.
 
-       * global-alloc.c (find_reg): Test best_reg against 0,
-       not first_pseudo_register.
+Thu Oct 14 23:51:56 1999  Richard Henderson  <rth@cygnus.com>
 
-Sun Aug 19 17:48:22 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * genrecog.c (message_with_line): Prototype.
+       (validate_pattern): Pass along the set for the dest, not a flag.
+       Fix non-lvalue message.  Don't warn for VOIDmode SET_DEST of CALL.
+       Check for PC/CC0 as sources.
+       (nodes_identical): Check for children position match before
+       allowing the combination.
 
-       * explow.c (plus_constant): If adding to constant pool constant,
-       return a new one.
+       * rtl.c (read_rtx): Track line number across \\\n.
 
-       * genattrtab.c: Need not include insn-config.h.
+Thu Oct 14 23:50:25 1999  Richard Henderson  <rth@cygnus.com>
 
-Sun Aug 19 17:23:10 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * mips.h (SPECIAL_MODE_PREDICATES): New.
+       * mips.md (*) Use nonimmediate_operand not general_operand for outputs.
+       (movdi+1, movsi+1): Add output reload constraint.
+       (casesi_internal): Likewise.  Fix commentary.
+       (return_internal): Use pmode_register_operand.
 
-       * tm-hp9k320bsd.h (CPP_SPEC): Def __HAVE_68881__ like __HAVE_FPU__.
+Thu Oct 14 23:19:34 1999  Richard Henderson  <rth@cygnus.com>
 
-       * Makefile.in (USE_ALLOCA): Test was backwards.
-       (USE_HOST_ALLOCA): Likewise.
+       * 1750a.md (movstrqi): Add missing output reload constraint.
+       (call_value): Likewise.
+       * a29k.md (cpxxx patterns): Add missing match_operator mode.
+       (jmpfdec): Add missing inout reload constraint.
+       * elxsi.md (addsi patterns): Add missing output reload constraint.
+       (move from sp): Use @ alternates.
+       (call_value): No constraint on output.
+       * fr30.md (movsi_pop): Add missing output reload constraint.
+       (movsf_constant_store): Likewise.
+       (splits): Remove constraints.
+       (subsi3): Add missing mode.
+       * i370.md (cmpstrsi+1): Add missing output reload constraint.
+       (call_value): Likewise.
+       * i960.md (cmpinc/cmpdec patterns): Add inout reload constraints.
+       * m32r.h (PREDICATE_CODES): Add seth_add3_operand.
+       * m32r.md (movsicc_internal): Add output reload constraint.
+       (movstrsi_internal): Add inout reload constraints.
+       * m88k.h (reg_names): Don't declare.
+       (SPECIAL_MODE_PREDICATES): New.
+       * m88k.md (*): Use register_operand not reg_or_0_operand
+       on destinations.
+       * mn10200.h (PREDICATE_CODES): New.
+       * ns32k.md (ffs pattern): Add output reload constraint.
+       * pdp11.md (sob pattern): Add inout reload constraint.
+       * sh.md (splits): Remove constraints.
+       (indirect_jump_scratch, fpu_switch): Add output reload constraint.
+       * v850.md (pattern_is_ok_for_epilogue): Likewise.
+       * vax.md (jgequ pattern): Add inout reload constraint.
 
-Sun Aug 19 09:58:16 1990  Michael Tiemann  (tiemann at cygnus.com)
+Fri Oct 15 00:05:00 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * stmt.c: Fixes from 2.0 for fixup_goto incorporated here.
+       * configure.in (djgpp): Revert previous patch.
+       * configure: Rebuit.
+       * config/i386/djgpp.h: Revert previous patch.
 
-       * cplus-decl2.c (write_vtable_entries): Don't test TREE_EXTERNAL
-       of DECL_CONTEXT (FN).  TREE_EXTERNAL is not meaningful for types.
+Fri Oct 15 00:00:24 1999  Loren J. Rittle <ljrittle@acm.org>
 
-Fri Aug 17 22:14:09 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * fixinc/inclhack.def: Restore patch lost during last merge of
+       "no_bogosity" branch.
+       * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
 
-       * optabs.c (emit_cmp_insn): Don't abort after floating lib cmp.
+Thu Oct 14 23:57:56 1999  Gavin Romig-Koch  <gavin@cygnus.com>
 
-Thu Aug 16 23:16:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * fixincludes: Add a HPUX 11 fix for inttypes.h.
+       * fixinc/inclhack.def: Same.
+       * fixinc/inclhack.sh, fixinc/fixincl.sh, fixinc/fixincl.x: Regenerate.
 
-       * varasm.c (assemble_variable, assemble_static_space): Don't
-       call data section if -fshared-data.  If this section is needed,
-       it should be entered from elsewhere, and this is believe to be
-       done in all known cases.
-       (output_constant_pool): Add support for ASM_OUTPUT_SPECIAL_POOL_ENTRY
-       which writes certain constant pool entries specially; used for TOC
-       on RS/6000.
-       (assemble_external_libcall): New function.
-       * expr.c (emit_library_call): Call it.
+Thu Oct 14 22:51:55 1999  Richard Henderson  <rth@cygnus.com>
 
-       * reorg.c (mark_target_live_regs): Don't follow around infinite loops.
+       * alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Accept ADDRESSOF
+       as the base of a PLUS.
 
-       * varasm.c (struct rtx_cont): Don't use enums in bit fields if
-       ONLY_INT_FIELDS is defined.
+Fri Oct 15 18:36:07 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * cse.c (remove): Rename to remove_from_table to avoid conflict
-       with `remove' defined in stdio.h.
+       * config/c4x/c4x.md:  Define mode for remaining unspec operators.
+       * config/c4x/c4x.c (dst_operand):  Use nonimmediate_operand.
 
-Thu Aug 16 22:44:35 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Thu Oct 14 22:14:23 1999  Richard Henderson  <rth@cygnus.com>
 
-       * stmt.c: fixup_gotos must ignore blocks started after the goto.
-       (block_start_count): New variable, and slot in some structures.
-       (expand_function_start): Initialize it.
-       (expand_start_bindings): Increment it and store in struct nesting.
-       (expand_goto): Store it in struct goto_fixup.
-       (fixup_gotos): Compare fixup's count with block's count.
-       (save_stmt_status, restore_stmt_status): Handle block_start_count.
-       * function.h (struct function): Make slot to save it.
+       * pa.md (post_stw+1): Use pmode_register_operand.
+       (dcacheflush, icacheflush): Likewise.
 
-Thu Aug 16 18:02:03 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+       * i386.md (movstricthi_1): Allow r/r.
 
-       * obtabs.c (expand_fix, expand_float): Support direct conversion
-       between SFmode and fixed modes by library call.
+Thu Oct 14 19:44:08 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-Wed Aug 15 18:36:28 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * fold-const.c (fold): Convert (or (not arg0) (not arg1))
+       to (not (and (arg0) (arg1))). Similary for and.
 
-       * cccp.c (main): Allow -M to work on .s files by checking for .s
-       and .S suffixes when writing dependencies.
+       * fold-const.c (fold): Move bit_rotate code to the EXPR_PLUS case,
+       fallthrough to associate code.
+       Convert XOR to OR in code like (a&c1)^(a&c2) where c1 and c2 don't have
+       bits in common.
 
-       * reorg.c (optimize_skip, fill_eager_delay_slots, try_host_target):
-       Don't need to call can_reverse_comparison_p because invert_jump is
-       safe for floating-point; only reverse_condition isn't.
+       * combine.c (simplify_logical): Convert XOR to IOR if operands have
+       no bits in common; remove XOR to ROTATE conversion.
 
-Wed Aug 15 15:50:36 1990  Michael Tiemann  (tiemann at cygnus.com)
+Fri Oct 15 17:40:11 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * dbxout.c (dbxout_type): Skip past const and volatile qualifiers
-       that might appear in method names.
+       * config/c4x/c4x.h (c4x_va_start, c4x_va_arg): Declare.
 
-Wed Aug 15 15:44:17 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+Fri Oct 15 17:27:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * c-parse.y (hash, is_reserved_word): Use __inline.
+       * config/c4x/c4x.c (dst_operand): New.
+       (PREDICATE_CODES): Update.
+       * config/c4x/c4x.h (dst_operand): Declare it.
+       * config/c4x/c4x.md:  Define mode for each unspec usage.
+       (move patterns):  Use dst_operand predicate instead of src_operand.
+       (movqi_update, movqf_update): Delete.
 
-       * cccp.c (main): Support -dN and -dD.  Support -lint.
-       (dump_macros): Two new alternatives.
-       (handle_directive): Output macro definitions if -dN or -dD.
-       (rescan): Check comments if -lint.
-       (get_lintcmd): New subroutine.
+Thu Oct 14 18:48:54 1999  Richard Henderson  <rth@cygnus.com>
 
-       * c-decl.c (c_decode_option): Handle -fshort-double.
-       (init_decl_processing): Create double_type_node accordingly.
+       * recog.c (pmode_register_operand): New.
+       * recog.h: Declare it.
+       * genrecog.c (pred_codes): Likewise.
+       (special_mode_pred_table): Likewise.
+       (validate_pattern): Don't warn no mode for address_operand.
 
-       * c-decl.c (c_decode_option): Handle -Wno...
+       * print-rtl.c (print_rtx) [LABEL_REF]: Only do full subexpression
+       if the operand is not insn-like.
 
-Tue Aug 14 23:10:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Oct 14 19:38:42 1999  Jeffrey A Law  (law@cygnus.com)
+                         Sylvian Pion <Sylvain.Pion@sophia.inria.fr>
 
-       * explow.c (break_out_memory_refs): Don't break out reference if
-       constant but not legitimate constant for a machine insn.
-       (memory_address): Only put legitimate constants, rather than all
-       constants, into registers if they are used as an address.
+       * fold-const.c (fold): Handle more simplifications allowed by IEEE.
 
-Tue Aug 14 14:34:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Oct 14 17:30:14 1999  Richard Henderson  <rth@cygnus.com>
 
-       * reorg.c (steal_delay_list): Can't put something in a
-       non-annulled delay slot that can trap.
+       * sparc.md (*): Use {nonimmediate,register}_operand as appropriate
+       instead of general_operand in a SET_DEST.  Use const_double_operand
+       instead of an explicit test against CONST_DOUBLE.
+       (movsf_const_lo): Add missing register mode.
+       (goto_handler_and_restore): Add auxiliary test for Pmode.
+       (flush): Adjust to use address_operand.
+       (return_sf_no_fpu): Add missing output constraint.
 
-       * tm-i860.h (GO_IF_LEGITIMATE_ADDRESS): Typo testing offset alignment.
+Thu Oct 14 17:21:26 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cccp.c (do_assert, do_unassert, check_assertion): New functions.
-       (compare_keyword_lists, read_keyword_list, free_keyword_list):
-       New functions.
-       * cexp.y (yylex): Allow `#' as token.
-       Return name and length of symbol.
-       (keywords): New nonterminal.
-       (expr): Recognize # to test an assertion.
-       (U_CHAR, struct arglist): Data types copied from cccp.c.
-       (%union): New alternatives `keywords' and `name'.
-
-Mon Aug 13 22:26:19 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * tm-romp.h (SLOW_BYTE_ACCESS): Set to 0.
-
-       * expmed.c (store_bit_field, extract_bit_field): Use get_best_mode
-       to select mode to use for accessing memory when bitfield insns don't
-       accept memory.
-
-       * c-common.c (rewrite_for_merged_ref, make_merged_ref): Deleted.
-       (merge_component_comparisons): Delete from here.
-       * c-tree.h (merge_component_comparisons): No longer global.
-       * c-convert.c (build_binary_op_nodefault): Don't try to merge component
-       references here; now done in fold.
-       * cplus-typeck.c (build_binary_op_nodefault): Likewise.
-       * Makefile.in (fold-const.o): Now includes flags.h.
-       * fold-const.c: Likewise.
-       (STRIP_NOPS): New macro.
-       (decode_field_reference, all_ones_mask): New functions.
-       (merge_component_references): Put rewritten version here.
-       This fixes bugs in the way that comparisons with non-equal
-       constants (!p->a && p->b) are handled and in endianness checking.
-       Also accepts more general comparisons, and, in particular, its
-       own output so more than a pair of operations can be merged.
-       (fold): Call it for TRUTH_{AND*,OR*}_EXPR.
-
-       * tree.def (BIT_FIELD_REF): New tree code.
-       * expr.c (get_inner_reference): Support BIT_FIELD_REF.
-       If bitfield is a complete mode-sized unit, return that mode; if it
-       is a subset of bits within a mode-sized unit, return VOIDmode.
-       (expand_assignment): Check for BIT_FIELD_REF.
-       Use mode returned from get_inner_reference to see if bit field.
-       (store_constructor): Likewise.
-       (store_field): Don't pass arg BIT_FIELD; use MODE == VOIDmode
-       instead.  All callers changed.
-       (expand_expr, case BIT_FIELD_REF): New case.  Handled same as
-       COMPONENT_REF.
-       Use mode returned from get_inner_reference rather than DECL_BIT_FIELD.
-       (expand_increment): Must stabilize BIT_FIELD_REF.
-       (do_jump, case NOP_EXPR): Check for inner BIT_FIELD_REF and ARRAY_REF.
-       (do_jump, case COMPONENT_REF): Generalize to handle BIT_FIELD_REF
-       and some ARRAY_REFs also.
-       * fold-const.c (operand_equal_p): Handle BIT_FIELD_REF.
-       * tree.c (staticp): Rework to use switch instead of if-then-else.
-       Add support for BIT_FIELD_REF.
-       (stabilize_reference, simple_cst_equal): Support BIT_FIELD_REF.
-
-       * c-common.c (truthvalue_conversion): Rework to use switch rather
-       than if-then-else.
-       Generate either TRUTH_{OR*|AND*}_EXPR or comparison operations as
-       much as possible.
-       Handle REAL_CST, ADDR_EXPR, ABS_EXPR, FLOAT_EXPR, FFS_EXPR,
-       LROTATE_EXPR, RROTATE_EXPR, BIT_XOR_EXPR, and MINUS_EXPR.
-       Call fold for COND_EXPRs that we make.
-       * c-convert.c (build_unary_op): invert_truthvalue can't return 0,
-       so don't check for it.
-       (invert_truthvalue): Delete from here.
-       (convert_to_integer, build_conditional_expr): Try to fold COND_EXPR.
-       * c-plus-cvt.c (convert_to_integer): Likewise.
-       * cplus-typeck.c (build_conditional_expr): Likewise.
-       (build_unary_op): invert_truthvalue can't return 0.
-       (invert_truthvalue): Delete from here.
-       * fold-const.c (invert_truthvalue): Move to here.
-       Don't invert floating-point test.
-       Look inside conversions.
-       Use recursive call to negate inside logical operations rather than
-       building a TRUTH_NOT_EXPR.
-       Allow only certain TREE_CODEs as operands; abort for the rest.
-       (fold_convert): Accept second argument that is item being
-       converted to ensure that NOPs have been stripped.
-       (operand_equal_p): Return 0 if either operand has side effects.
-       If both integer or real constants, check the values.
-       Do a more thorough test to see if two items are identical;
-       specifically, compare the operands of simple TREE_CODEs.
-       (omit_one_operand, distribute_bit_expr): New functions.
-       (make_bit_field_ref, optimize_bit_field_compare): Likewise.
-       (fold): Remove LOSES; now done explicitly or by calling
-       omit_one_operand.  Some previous uses weren't needed.
-       Try to fold any COND_EXPRs and some COMPOUND_EXPRs we make.
-       Remove pair of NEGATE_EXPRs and BIT_NOT_EXPRs.
-       Convert "- (a - b)" to "b - a" for non-floating-point.
-       ABS_EXPR applied to ABS_EXPR or NEGATE_EXPR is ABS_EXPR of inner arg.
-       Convert "a + (-b)" to "a - b" and "a - (-b)" to "a + b".
-       If adding ANDs with constants that have no bits, in common, try
-       bitwise-or, since we may then be able to distribute the operation,
-       e.g., (a & 7) + (a & 0x70) -> a & 0x77.
-       Add missing last arg to operand_equal_p call.
-       Call distribute_bit_expr for BIT_AND_EXPR and BIT_IOR_EXPR.
-       Exclusive-or with all ones is bit negation.
-       If second arg of BIT_AND_TC_EXPR is constant, convert to BIT_AND_EXPR.
-       Handle TRUTH_NOT_EXPR by calling invert_truthvalue.
-       Call optimize_bit_field_compare for comparisons of bitfields.
-       Handle "a ? 1 : 0" and "a ? 0 : 1" as test or negated test.
-       Simplify "a & 4 ? a & 4 : 0" and "a ? a : 0" to remove conditonal.
-       * stor-layout.c (get_best_mode): New function.
-       * machmode.h: Define it.
-       * tree.c (integer_pow2p): New function.
-       * tree.h: Declare new functions and functions no longer static.
-
-Mon Aug 13 17:45:13 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * config.gcc (sun3-mach): New alternative.
-       * tm-sun3mach.h: New file.
-
-       * m68k.md (bfextu patterns): Set CC_NOT_NEGATIVE.
-
-Mon Aug 13 10:14:37 1990  Michael Tiemann  (tiemann at cygnus.com)
-
-       * cplus-decl2.c (flag_minimal_debug): Now is default is
-       -fflag-minimal-debug.
-
-       * cplus-tree.c (virtual_member): Return the assoc of a non-virtual
-       basetype that comes from a virtual baseclass.  Changed callers
-       which used to call `value_member' to call virtual_member instead.
-
-Mon Aug 13 06:54:04 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * optabs.c (expand_twoval_binop): Fix typo.
-
-       * cse.c (lookup_as_function): Don't assume CODE is a unary
-       operation.  It might be a binary op or REG.
-
-Sun Aug 12 21:42:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * expr.c (expand_expr, case COND_EXPR): Don't abort if first arg of
-       COND_EXPR isn't a comparison; just suppress the do_store_flag call.
-
-Sun Aug 12 14:26:45 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * tree.h (enum built_in_function): Delete comma after last name.
-       * c-parse.h (enum rid): Likewise.
-       * expr.h (enum optab_methods): Likewise.
-       * stab.h: Add dummy enum name at end.
+       * rs6000.md (call_value_indirect_aix32): Use wildcard match_operand
+       for call return value.
+       (call_value_indirect_aix64, call_value_indirect_nt): Likewise.
+
+Thu Oct 14 13:54:25 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * toplev.c (main): Only warn about options for other languages.
+       * collect2.c (main): Pass -w to sub-gcc.
+
+Thu Oct 14 16:27:50 1999  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (propagate_block): Add call-clobbered registers to
+       significant too.
+
+       * flow.c (propagate_block): Use free_EXPR_LIST_list instead of
+       zapping mem_set_list.
+       (invalidate_mems_from_autoinc): Use free_EXPR_LIST_node.
+       (mark_set_1, mark_used_regs): Likewise.
+
+Thu Oct 14 10:51:49 1999  Richard Henderson  <rth@cygnus.com>
+
+       * m68k.md (zero_extendsidi2): Add missing output reload constraint.
+
+Wed Oct 13 00:09:18 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * invoke.texi: Label -Wbad-function-cast, -Wmissing-prototypes,
+       -Wnested-externs, -Wstrict-prototypes, and -Wtraditional as C only
+       options. Also add a new item "C-only Warning Options" to the
+       option summary.
+
+1999-10-14  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * libgcc2.c (__do_global_dtors): Protect __deregister_frame_info
+       from multiple calls.
+
+Thu Oct 14 04:54:54 1999  Richard Henderson  <rth@cygnus.com>
+
+       * i386.md (call value patterns): Move to the end of the file.
+       (prologue_set_got, prologue_get_pc): Use register_operand for op 0.
+
+1999-10-14 Mark Elbrecht <snowball3@bigfoot.com>
+
+       * configure.in (djgpp configuration): Define extra_objects..
+       * configure: Rebuilt.
+       * config/i386/djgpp.h (CTORS_SECTION_ASM_OP): Define.
+       (DTORS_SECTION_ASM_OP): Define.
+       (INIT_SECTION_ASM_OP): Define.
+       (FINI_SECTION_ASM_OP): Define.
+       (DATA_SECTION_ASM_OP): Define.
+       (TEXT_SECTION_ASM_OP): Define.
+       (EH_FRAME_SECTION_ASM_OP): Define.
+       (LINK_COMMAND_SPEC): Remove -Tdjgpp.djl.
+       (STARTFILE_SPEC): Add crtbegin.o.
+       (ENDFILE_SPEC): Define and add crtend.o. Move argument -Tdjgpp.djl
+       to here from LINK_COMMAND_SPEC.
+       (DO_GLOBAL_CTORS_BODY): Define.
+       (CRTSTUFF_USE_FINI_SECTION): Define
+       (HAS_INIT_SECTION): Delete.
+
+Thu Oct 14 05:08:14 1999  Andreas Schwab  <schwab@suse.de>
 
-       * config.gcc (genix): Set tm_file.
-       * tm-genix.h (ASM_OUTPUT_DOUBLE): New overriding definition.
+       * Makefile.in (all.cross): Depend on xcpp$(exeext).
 
-       * tree.h (struct tree_type, struct tree_decl): Handle ONLY_INT_FIELDS.
-       * rtl.h (struct rtx_def): Likewise.  That macro goes in xm-*.h.
+Thu Oct 14 04:00:40 1999  Richard Henderson  <rth@cygnus.com>
 
-Sat Aug 11 16:56:19 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * pa.h (PREDICATE_CODES): New.
 
-       * cplus-decl.c (finish_function): Check value of HAVE_return before
-       calling gen_return.
+       * genrecog.c (validate_pattern): Condense the destination
+       non-lvalue message.
 
-       * reorg.c (optimize_skip): Don't reject skip when we jump around an
-       insn and merge at the return point.
+Thu Oct 14 03:23:08 1999  Richard Henderson  <rth@cygnus.com>
 
-Fri Aug 10 17:00:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * alpha.md (call-1): Supply missing mode for operator.
+       (*): Add missing output reload constraints.  Remove constraints
+       from define_splits.
 
-       * dbxout.c (dbxout_parms, dbxout_reg_parms): Ignore nameless parms.
-       * sdbout.c (sdbout_parms, sdbout_reg_parms): Ignore nameless parms.
+       * i386.h (SPECIAL_MODE_PREDICATES): New.
+       * i386.md (movstricthi_1): Use nonimmediate_operand for op 0.
+       (movqi_1, movdi_1, movdi_2, some splits): Likewise.
+       (addsi_lea_3): Add missing mode for op 3.
+       (prologue_set_got, prologue_get_pc): Add missing modes.
+       (*) Add missing output reload constraints.
 
-Fri Aug 10 14:14:08 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Oct 14 03:59:57 1999  Stephane Carrez  <stcarrez@worldnet.fr>
 
-       * recog.c (indirect_operand): Modes need not agree if MODE == VOIDmode;
-       remove test from here since it is in memory_operand, which this calls.
+       * stor-layout.c (layout_union): Use HOST_WIDE_INT for const_size;
+       check for member bit-size overflow and use var_size if it occurs.
+       (layout_record): Use bitsize_int() to define the type size in bits.
+       Likewise for computation and assignment to DECL_FIELD_BITPOS.
+       (layout_decl): Likewise when assigning to DECL_SIZE.
 
-Thu Aug         9 15:19:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Oct 14 02:57:05 1999  Richard Henderson  <rth@cygnus.com>
 
-       * c-decl.c (store_parm_decls): If function has variable number of args,
-       put a dummy decl at end of parmlist.
-       * c-parse.y (unary_expr): Handle &... with address of dummy decl.
+       * genrecog.c (validate_pattern): Typo last change.  Verify
+       that output operands have output reloads.
 
-       * tm-*.h (LEGITIMIZE_ADDRESS): Go to WIN instead of returning.
+Thu Oct 14 01:49:54 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cccp.c (handle_directive): Add code to support `# DIGIT'
-       but disable it for the time being.
+       * genrecog.c (special_mode_pred_table): New.
+       (NUM_SPECIAL_MODE_PREDS): New.
+       (find_operand): New.
+       (validate_pattern): New argument `insn'.  Warn for assignment to
+       any predicate accepting non-lvalues.  Conditionally warn for
+       match_operand without a mode.  Try much harder to match source
+       and destination modes on a set.
+       * tm.texi (SPECIAL_MODE_PREDICATES): Document.
 
-       * tm-hp9k320.h (CPP_SPEC): Define _HPUX_SOURCE if not ANSI.
-       (CPP_PREDEFINES): Don't define it here.
-       Do define alternatives with __ prepended.
+Thu Oct 14 02:54:13 1999  Jeffrey A Law  (law@cygnus.com)
 
-Wed Aug         8 14:00:26 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * fold-const.c (fold): Detect rotates built from BIT_XOR_EXPRs.
 
-       * out-romp.c: Don't include hard-reg-set; already in insn-output.c.
-        
-       * explow.c: insn-flags.h is needed to see if "probe" insn exists.
-       * Makefile.in (explow.o): Likewise.
+Thu Oct 14 02:18:19 1999  Marc Espie <espie@cvs.openbsd.org>
 
-Wed Aug         8 13:35:00 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * combine.c (simplify_logical): Recognize xor pattern that encodes
+       rotation.
 
-       * cccp.c (check_macro_name): Warn if name is `defined'.
+Wed Oct 13 23:23:45 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
-       * tm-sun386i.h (ASM_IDENTIFY_GCC): If profiling, put a NOP after
-       gcc_compiled.
+       * rs6000.c (expand_block_move): Use INTVAL, not XINT to access
+       alignment.
 
-Tue Aug         7 23:51:38 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Oct 13 21:47:18 1999  Richard Henderson  <rth@cygnus.com>
 
-       * toplev.c (main): Handle -W options like -f options.
-       This supports -Wnounused, and such like.
-       (warn_uninitialized): New variable, controls those warnings.
-       Set it for -Wuninitialized, and for -W.
+       * ggc-page.c (MAP_FAILED): Provide default.
 
-Tue Aug         7 13:24:58 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Wed Oct 13 21:41:59 1999  Richard Henderson  <rth@cygnus.com>
 
-       * genextract.c (walk_rtx): Fix typo in MATCH_PARALLEL case.
+       * sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE.
+       * sparc.h (PREDICATE_CODES): Update.
 
-       * explow.c (allocate_dynamic_stack_space): Pass size of allocated stack
-       to gen_probe.
+Wed Oct 13 21:18:17 1999  Richard Henderson  <rth@cygnus.com>
 
-Tue Aug         7 12:19:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * alpha.c (some_ni_operand): New.
+       * alpha-protos.h: Declare it.
+       * alpha.h (PREDICATE_CODES): Update.
+       * alpha.md (sXaddq reload insns): Use some_ni_operand
+       for SET_DEST instead of some_operand.
+
+Wed Oct 13 21:04:45 1999  Richard Henderson  <rth@cygnus.com>
+                         Jim Wilson  <wilson@cygnus.com>
+
+       * genrecog.c (maybe_both_true_2): Don't compare modes of
+       two DT_pred tests.
+       (process_tree): Elide peephole2_insns.  Invoke simplify_tests
+       after find_afterward.
+       (debug_decision_1): Dump next and afterward codes.
+
+Wed Oct 13 20:35:16 1999  Richard Henderson  <rth@cygnus.com>
+
+       * rtl.c (dump_and_abort): Remove.
+       (fatal_with_file_and_line): New.
+       (fatal_expected_char): New.
+       (read_rtx_lineno, read_rtx_filename): New.
+       (read_skip_spaces): Track line number.
+       (read_name): Use fatal_with_file_and_line.
+       (read_rtx): Use fatal_expected_char.  Track line number.
+       * rtl.h (read_rtx_filename, read_rtx_lineno): Declare.
+
+       * print-rtl.c (print_rtx): Don't special case LABEL_REF argument
+       if it isn't a CODE_LABEL.
+
+       * genattr.c (main): Set read_rtx_filename.
+       * genattrtab.c (main): Likewise.
+       * gencodes.c (main): Likewise.
+       * genconfig.c (main): Likewise.
+       * genemit.c (main): Likewise.
+       * genextract.c (main): Likewise.
+       * genflags.c (main): Likewise.
+       * genopinit.c (main): Likewise.
+       * genoutput.c (main): Likewise.
+       * genpeep.c (main): Likewise.
+
+       * genrecog.c (decision_test.u.insn): Add `lineno'.
+       (pattern_lineno, error_count): New variables.
+       (message_with_line): New.
+       (add_to_sequence): Break out checking code to ...
+       (validate_pattern): ... here.  Detect SET_DEST matching CONST_INT.
+       (merge_insn): Use message_with_line.
+       (make_insn_sequence): Use validate_pattern.  Record insn lineno.
+       (main): Set read_rtx_filename, pattern_lineno.  Exit early on error.
+
+Wed Oct 13 22:01:35 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * expr.c (store_constructor): Clear union if constructor is empty.
+
+Wed Oct 13 15:19:04 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * config/rs6000/sysv4.h (CC1_SPEC): Fix errors from Jan 19 change.
+       Add !endian checks.  Change %{...} to %(...).
+
+Wed Oct 13 13:30:34 1999  Richard Henderson  <rth@cygnus.com>
+
+       * i386.md (*addsi3_cc): Renamed from addcsi3.
+       (*addsi3_carry): Renamed from addxsi3.
+       (*subsi3_cc): Renamed from subcsi3.
+       (*subsi3_carry): Renamed from subxsi3.
+       (*xorqi_cc_1): Renamed from xorcqi_1.
+       (xorqi_cc_ext_1): Renamed from xorcqi_ext_1.
+       * i386.c (ix86_expand_fp_compare): Update for xorqi_cc_ext_1.
+
+Wed Oct 13 13:10:46 1999  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (ggc-common.o): Depend on RTL_H not RTL_BASE_H.
+       (ggc-simple.o, ggc-page.o, ggc-none.o, ggc-callbacks.o): Likewise.
+
+1999-10-13  Brendan Kehoe  <brendan@cygnus.com>
+
+       * regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we
+       climb up the chain of insns.
+
+Wed Oct 13 10:20:58 1999  Richard Henderson  <rth@cygnus.com>
+
+       * genrecog.c (write_subroutine): Careful for null trees.
+       (process_tree): Don't elide empty functions.
+
+Wed Oct 13 10:07:54 1999  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (genrtl.o): Depend on ggc.h.
+       * configure.in (valloc): Probe for it.
+       (with-gc): Use ggc-page if valloc present.
+       * ggc-common.c (ggc_mark_rtx_children): Use ggc_mark_if_gcable.
+       (ggc_mark_rtvec_children): New from corpse of ggc_mark_rtvec.
+       (ggc_alloc_string): Moved from ggc-page.c.
+       * ggc-none.c (ggc_alloc_obj): New.
+       (ggc_alloc_rtx, ggc_alloc_rtvec): Remove.
+       * ggc-page.c (sys/mman.h): Only include if HAVE_MMAP.
+       (struct globals): Likewise for dev_zero_fd.
+       (init_ggc): Likewise for it's initialization.
+       (ggc_allocated_p): Move careful dereference from ...
+       (ggc_lookup_page_table): ... here.  Delete.
+       (lookup_page_table_entry): Don't use ggc_lookup_page_table.
+       (alloc_anon): Use valloc if no mmap.
+       (release_pages): Use free if using valloc.
+       (ggc_alloc_obj): Renamed from alloc_obj.
+       (ggc_set_mark): Renamed from mark_obj.
+       (ggc_mark_if_gcable): Renamed from ggc_mark_string_if_gcable.
+       (ggc_alloc_rtx, ggc_alloc_rtvec): Delete.
+       (ggc_alloc_tree, ggc_alloc_string, ggc_alloc): Delete.
+       (ggc_set_mark_rtx, ggc_set_mark_rtvec): Delete.
+       (ggc_set_mark_tree, ggc_mark_string, ggc_mark): Delete.
+       (ggc_collect): Use fp printing instead of our own rounding.
+       * ggc-simple.c (IS_MARKED, IGNORE_MARK): Delete.
+       (GGC_STRING_MAGIC, GGC_STRING_MAGIC_MARK): Delete.
+       (GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): Delete.
+       (struct ggc_rtx, struct ggc_rtvec, struct ggc_tree): Delete.
+       (struct ggc_string, struct ggc_any): Delete.
+       (offsetof): Provide default definition.
+       (GGC_BALANCE, GGC_ALWAYS_COLLECT, GGC_ALWAYS_VERIFY): New.
+       (PTR_KEY): New.
+       (struct ggc_mem): New, from corpse of ggc_any.
+       (struct ggc_status): Delete.
+       (ggc_chain, ggc_allocated_strings, ggc_strings_used): Delete.
+       (n_rtxs_collected, n_vecs_collected, n_trees_collected): Delete.
+       (n_strings_collected, n_anys_collected): Delete.
+       (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Delete.
+       (ggc_alloc_string, ggc_alloc): Delete.
+       (ggc_free_rtx, ggc_free_rtvec, ggc_free_tree): Delete.
+       (ggc_free_string, ggc_free_any): Delete.
+       (ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Delete.
+       (ggc_compare_addresses, ggc_mark_string): Delete.
+       (ggc_mark_string_if_gcable, ggc_mark): Delete.
+       (search_data): Delete.
+       (struct globals): New.
+       (GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED): New.
+       (tree_insert, tree_lookup): New.
+       (ggc_alloc_obj, ggc_set_mark, ggc_mark_if_gcable): New.
+       (clear_marks, sweep_objs): New.
+       (ggc_collect): Gut.  Use clear_marks, sweep_objs.
+       (init_ggc): Set allocated_last_gc.
+       (ggc_push_context): Gut.  Use G.context.
+       (ggc_pop_context): Likewise.
+       (ggc_pop_context_1): New.
+       (debug_ggc_tree): New.
+       (debug_ggc_balance, tally_leaves): New.
+       * ggc.h (ggc_mark_rtvec, ggc_mark_string, ggc_mark): Remove decl.
+       (ggc_mark_string_if_gcable): Remove decl.
+       (ggc_mark_rtx, ggc_mark_tree): Use ggc_set_mark.
+       (ggc_mark_rtvec_children): New.
+       (ggc_mark_rtvec, ggc_mark_string, ggc_mark): New.
+       (ggc_mark_if_gcable): New decl.
+       (ggc_alloc_rtx, ggc_alloc_rtvec): Remove decl.
+       (ggc_alloc_tree, ggc_alloc): Likewise.
+       (ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Likewise.
+       (ggc_alloc_obj): New decl.
+       (ggc_alloc_rtx, ggc_alloc_rtvec): New macros.
+       (ggc_alloc_tree, ggc_alloc): Likewise.
+       (ggc_set_mark): New decl.
+       * rtl.h (struct rtx_def): Remove gc_mark.
+       (struct rtvec_def): Likewise.
+       * tree.h (struct tree_common): Likewise.
+
+Wed Oct 13 01:44:29 1999  Carol LePage  <carolo@hal.com>
+
+       * configure.in (sparc-hal-solaris2*): Fix xm_file, xm_defines,
+       float_format and thread_file definitions.
+       * configure: Rebuilt.
+
+Wed Oct 13 09:25:03 1999  Niels Möller <nisse@lysator.liu.se>
+
+       * extend.texi (Function Names): Document types of function names.
+
+Wed Oct 13 00:45:04 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * reload1.c (reload_reg_free_for_value_p):  RELOAD_OTHER reloads with
+       an earlyclobbered output conflict with RELOAD_INPUT reloads.
+
+Tue Oct 12 23:28:28 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.h (BOOL_TYPE_SIZE): Don't use INT_TYPE_SIZE / CHAR_TYPE_SIZE.
+
+Tue Oct 12 23:19:32 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.h (REGISTER_MOVE_COST): Change PR_REG to PR_REGS.
+
+Tue Oct 12 17:09:38 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * collect2.c (main): Do prelimnary link on AIX if rflag.
+
+Tue Oct 12 09:45:19 1999  Jonathan Larmour  <jlarmour@cygnus.co.uk>
+
+       * config/rs6000/eabi-ctors.c (__do_global_ctors): Run through
+       __CTOR_LIST__ in opposite order, which is the correct order for sorted
+       constructors.
+       (__do_global_dtors): similarly for __DTOR_LIST__.
+
+Fri Oct  8 19:46:03 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+                               Diego Novillo <dnovillo@cygnus.com>
+
+       * config/sh/sh.h (REGISTER_MOVE_COST): Handle moves from T_REGS to
+       FPUL_REGS.
+
+Tue Oct 12 07:38:41 1999  Bruce Korb  <autogen@linuxbox.com>
+
+       * fixincl/*: Merged "no_bogosity" branch
+       * fixincl/fixlib.h: protect against doubly defining t_bool
+       * fixincl/server.h: protect against doubly defining t_bool
+
+Mon Oct 11 20:18:41 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * genoutput.c: Include toplev.h.
+
+Mon Oct 11 18:56:14 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * config/sparc/liteelf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
+       Undef.
+       * configure.in (sparclite-*-elf, sparc86x-*-elf): Don't use libgloss.h.
+       * configure: Regenerate.
+
+Mon Oct 11 16:07:49 1999  Richard Henderson  <rth@cygnus.com>
+
+       * gcse.c (delete_null_pointer_checks): Returns void.
+
+Mon Oct 11 20:31:51 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * pyr.md (extendsfdf2, truncsfdf2, float*, fix*): Use `&'.
+       * rtl.c (copy_rtx): Don't use accessor macros to copy fields.
+       * emit-rtl.c (copy_insn_1): Likewise.
 
-Tue Aug         7 07:13:54 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Oct 11 13:29:06 1999  Geoffrey Keating  <geoffk@cygnus.com>
 
-       * jump.c (find_cross_jump): Include a USE or CLOBBER in cross jump
-       but don't count it against minimum size.
-       Never return when cross-jump hasn't actually been done.
+       * config/mips/mips.c (mips_build_va_list): Correct
+       TREE_CHAIN setting when hard-float.
+       (mips_va_start): Use corrected setting.
+       (mips_va_arg): Likewise.  Also pass a tree to build of
+       POSTINCREMENT_EXPR rather than a naked 'int'.
 
-Mon Aug         6 18:50:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Sun Oct 10 18:27:27 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * varasm.c: Include regs.h.
-       (decode_reg_name): Remove extern for reg_names; it is in regs.h.
-       * Makefile.in (varasm.o): Depends on regs.h.
+       * ggc.h (ggc_push_context): Fix comment.
+       (ggc_pop_context): Likewise.
+       (mark_string_if_gcable): Likewise.
+       * ggc-common.c (ggc_mark_rtx_children): Use
+       ggc_mark_string_if_gcable.
+       * ggc-page.c (ggc_lookup_page_table): New function.
+       (ggc_allocated_p): Likewise.
+       (mark_obj): Fix formatting.
+       (ggc_mark_string_if_gcable): New function.
+       * ggc-simple.c (ggc_allocated_strings): New variable.
+       (ggc_strings_used): Likewise.
+       (ggc_compare_addresses): New function.
+       (ggc_pop_context): Pop the `any' memory too.
+       (ggc_mark_string_if_gcable): New function.
+       (ggc_collect): Initialize and tear down ggc_allocated_strings.
 
-Mon Aug         6 12:46:07 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Oct 10 20:05:21 1999  David Edelsohn  <edelsohn@gnu.org>
 
-       * c-decl.c (grokdeclarator): Don't warn if initialized fcn is extern.
-       (start_decl): Don't warn at all for initialized extern.
+       * rs6000.md (movstrsi_?reg): Use preferred rD/rS = r5 form.
+       (scc patterns): Disable most SImode variants if TARGET_POWERPC64.
+       * rs6000.c (expand_block_move): Match movstrsi_?reg register
+       changes.
 
-       * final.c (final_start_function): Handle PROFILE_BEFORE_PROLOGUE.
-       (profile_function): New subroutine.
+Sun Oct 10 16:37:01 1999  Richard Henderson  <rth@cygnus.com>
 
-       * tm-i386sco.h: New file.
-       * config.gcc (i386-sco): New alternative.
+       * haifa-sched.c (sched_reg_n_calls_crossed): Delete.
+       (sched_reg_live_length, sched_reg_basic_block): Delete.
+       (current_block_num, bb_live_regs, old_live_regs): Delete.
+       (dead_notes, struct sometimes): Delete.
+       (sched_note_set, birthing_insn_p): Delete.
+       (adjust_priority): Gut useless reg lifetime code.
+       (create_reg_dead_note, attach_deaths): Delete.
+       (attach_deaths_insn, new_sometimes_live): Delete.
+       (finish_sometimes_live): Delete.
+       (find_pre_sched_live, find_post_sched_live): Delete.
+       (update_reg_usage): Delete.
+       (find_insn_reg_weight): New, from corpse of find_pre_sched_live.
+       (schedule_insns): Delete reg lifetime code.
+       (sched_analyze): Use REG_SAVE_NOTE to stuff NOTE_INSN notes away.
+       (unlink_other_notes): Adjust REG_NOTE commentary.
+       (reemit_notes): Use REG_SAVE_NOTE.
+       (schedule_block): Likewise.
+       (schedule_region): Allocate bitmap of blocks in region.  Use
+       count_or_remove_death_notes.  Use update_life_info.
 
-       * gcc.c (ENDFILE_SPEC): New macro.
-       (do_spec_1): Handle %E.
-       (link_spec): Use %E.
+       * rtl.h (REG_SAVE_NOTE): New.
+       * rtl.c (reg_note_name): Update.
 
-       * xm-i386.h (alloca): Define without arg.
+Sun Oct 10 16:14:16 1999  Richard Henderson  <rth@cygnus.com>
 
-       * Makefile.in (stage*): Use RANLIB_TEST.
-       (LIMITS_H): New variable.
-       (USER_H): Use that.
-       * make-i386sco: New file.
+       * combine.c (refresh_blocks, need_refresh): New.
+       (combine_instructions): Allocate refresh_blocks.  Invoke
+       update_life_info if needed.
+       (distribute_notes): Mark refresh_blocks instead of installing
+       USE insns.
+       * flow.c (update_life_info): Remove notes if GLOBAL_RM_NOTES.
+       * basic_block.h (enum update_life_extent): Add GLOBAL_RM_NOTES.
 
-Sun Aug         5 13:11:04 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * Makefile.in (recog.o): Depend on basic-block.h.
+
+Sun Oct 10 12:03:21 1999  Richard Henderson  <rth@cygnus.com>
+
+       * genrecog.c (add_to_sequence): Thinko last change: delete
+       shadowing allow_const_int variable.
+
+Sun Oct 10 08:40:00 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cppinit.c: Use HAVE_GCC_VERSION instead of explicitly testing
+       __GNUC__ and __GNUC_MINOR__.
+
+       * gansidecl.h: Likewise.
+
+       * rtl.c: Likewise.
+
+       * rtl.h: Likewise.
+
+       * toplev.h: Likewise.
+
+       * tree.c: Likewise.
 
-       * rtl.h: Delete all machine mode defns; include machmode.h instead.
        * tree.h: Likewise.
-       * machmode.h: New file.
-       * stor-layout.c: No longer include rtl.h.
-       * Makefile.in: (RTL_H, TREE_H): Add machmode.h.
-       (stor-layout.o): No longer depends on RTL_H.
 
-       * c-common.c  (binary_op_error, shorten_compare): Should no longer
-       have been static when moved here.
+       * varray.c: Likewise.
+
+       * varray.h: Likewise.
+
+Sun Oct 10 13:28:48 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * loop.c (find_and_verify_loops): When looking for a BARRIER, don't
+       use one before a jump table.
+
+       * rtl.def (ADDRESS): Change documentation to match reality.
+       * md.texi: Don't document it.
+       * gmicro.md (load address pattern): Use 'p' constraint, delete use
+       of ADDRESS rtx.
+
+       * emit-rtl.c (copy_insn_1): Make format_ptr a const char *.
+
+Sun Oct 10 02:41:41 1999  Richard Henderson  <rth@cygnus.com>
+
+       * genrecog.c (add_to_sequence): Move allow_const_int test outside
+       known predicate block; default allow_const_int true.
+       (debug_decision_list): New.
+
+Sun Oct 10 00:43:08 1999  Richard Henderson  <rth@cygnus.com>
+
+       * i386.h (CC1_SPEC): Typo -- use cc1_cpu.
+
+Sat Oct  9 23:26:55 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * gcse.c (gcse_main): Avoid global optimizations if we have a
+       large number of basic blocks and the ratio of edges to blocks
+       is high.
+       (delete_null_pointer_checks): Likewise.
+
+Sat Oct  9 23:16:01 1999  Ken Raeburn  <raeburn@mit.edu>
+
+       * c-common.c (check_format_info): Warn if format string isn't a
+       string literal.
+
+Sat Oct  9 23:04:02 1999  Jonathan Larmour  <jlarmour@cygnus.co.uk>
+
+       * configure.in (arm*-*-*): Don't let autoconf remove brackets
+       * configure: regenerate
+
+Sat Oct  9 13:15:53 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md (extendsidi2): Turn into a splitter.  Allow f/f.
+       If TARGET_FIX, allow r/f.  Remove cvtlq unspec pattern.
+       (peepholes): Re-enable.
+
+Sat Oct  9 12:18:16 1999  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (flow.o): Depend on TREE_H.
+       * basic-block.h (REG_SET_EQUAL_P): New.
+       (XOR_REG_SET): New.
+       (n_edges): Declare.
+       (free_regset_vector): Remove declaration.
+       (flow_delete_insn_chain): Declare.
+       (enum update_life_extent): New.
+       (update_life_info, count_or_remove_death_notes): Declare.
+       * combine.c (distribute_notes) [REG_DEAD]: Stop search at bb->head.
+       Verify register live at bb->global_live_at_start before adding USE.
+       * flow.c (HAVE_epilogue, HAVE_prologue): Provide default.
+       (CLEAN_ALLOCA): New.
+       (n_edges): New.
+       (PROP_*): New flags.
+       (find_basic_blocks_1): Use alloc_EXPR_LIST.
+       (clear_edges): Zero n_edges.
+       (make_edge): Increment n_edges.
+       (split_edge): Don't allocate bb->local_set.  Increment n_edges.
+       (flow_delete_insn_chain): Export.
+       (delete_block): Decrement n_edges.
+       (merge_blocks_nomove): Likewise.
+       (life_analysis): Give life_analysis_1 PROP flags.
+       (verify_wide_reg_1, verify_wide_reg): New.
+       (verify_local_live_at_start): New.
+       (update_life_info): Rewrite to call into propagate_block.
+       (mark_reg): New.
+       (mark_regs_live_at_end): After reload, if epilogue as rtl,
+       always mark stack pointer.  Conditionally mark PIC register.
+       After reload, mark call-saved registers, return regsiters.
+       (life_analysis_1): Accept PROP flags not remove_dead_code.
+       Call mark_regs_live_at_end before zeroing regs_ever_live.
+       Use calculate_global_regs_live.  Copy global_live_at_end before
+       calling final propagate_block.  Zero reg_next_use on exit.
+       (calculate_global_regs_live): New.
+       (allocate_bb_life_data): Don't allocate bb->local_set.
+       (init_regset_vector, free_regset_vector): Remove.
+       (propagate_block): Accept FLAGS not FINAL or REMOVE_DEAD_CODE.
+       Test flags before every operation.  Warn if prologue/epilogue insn
+       would have been deleted.
+       (mark_set_regs, mark_set_1): Accept and use FLAGS.
+       Use alloc_EXPR_LIST.
+       (mark_used_regs): Accept and use FLAGS, not FINAL.
+       Remove special handling for RETURN.
+       (try_pre_increment): Use alloc_EXPR_LIST.
+       (dump_flow_info): Dump n_edges.
+       (unlink_insn_chain, split_hard_reg_notes): Remove.
+       (maybe_add_dead_note, maybe_add_dead_note_use): Remove.
+       (find_insn_with_note, new_insn_dead_notes): Remove.
+       (update_n_sets, sets_reg_or_subreg_1, sets_reg_or_subreg): Remove.
+       (maybe_remove_dead_notes, prepend_reg_notes): Remove.
+       (replace_insns): Remove.
+       (count_or_remove_death_notes): New.
+       (verify_flow_info): Abort on error after all checks.
+       (remove_edge): Decrement n_edges.
+       (remove_fake_edges): Tweak format.
+       * haifa-sched.c (schedule_insns): Use split_all_insns.
+       * output.h (update_life_info): Remove declaration.
+       * recog.c (split_all_insns): From the corpse of split_block_insns,
+       do the whole function block by block.  Use update_life_info.
+       (recog_last_allowed_insn): New.
+       (recog_next_insn): Mind it.
+       (peephole2_optimize): Set it.  Walk backwards through blocks.
+       Use update_life_info.
+       * rtl.h (update_flow_info, replace_insns): Remove declarations.
+       (split_all_insns): Declare.
+       * toplev.c (rest_of_compilation): Thread prologue before flow2.
+       Use split_all_insns.
+
+       * i386.md (or -1 peep2s): Disable.
+
+Fri Oct  8 17:49:08 1999  Richard Henderson  <rth@cygnus.com>
+
+       * config/mips/mips.md (movstrsi+[123]) : Combine these into
+       a single pattern.  Scrap the 'd' versions as unnecessary.
+
+       * config/mips/mips.md (tablejump_internal3,tablejump_mips161,
+       tablejump_mips162,tablejump_internal4): The operands to a
+       label_ref must be VOIDmode.
+
+Fri Oct  8 16:12:42 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * configure.in (c-mbchar): Append, don't overwrite, `extra_c_flags'.
+
+Fri Oct  8 11:58:34 1999  Richard Henderson  <rth@cygnus.com>
+
+       * mips.c (mips_va_arg) [EABI]: Return addr_rtx.
+
+Fri Oct  8 11:58:34 1999  Richard Henderson  <rth@cygnus.com>
+
+       * lists.c (init_EXPR_INSN_LIST_cache): Don't need to zap the
+       cache every function if ggc_p.
+
+Fri Oct  8 18:46:11 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * jump.c (duplicate_loop_exit_test): Use copy_insn/copy_insn_1
+       instead of copy_rtx.  Accept sequences that contain asm statements.
+       * emit-rtl.c (copy_insn_1, copy_insn): New functions.
+       (copy_insn_scratch_in, copy_insn_scratch_out, copy_insn_n_scratches,
+       orig_asm_operands_vector, copy_asm_operands_vector,
+       orig_asm_constraints_vecotr, copy_asm_constraints_vector): New static
+       variables.
+       * rtl.h (copy_insn, copy_insn_1): Declare.
+
+Fri Oct  8 13:08:12 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (insn-recog.o): Depend on hard-reg-set.h and resource.h.
+
+       * alpha.h (ASM_OUTPUT_MI_THUNK): Pass the correct number of
+       arguments to `current_file_function_operand'.
+
+       * genrecog.c: Include hard-reg-set.h and resource.h in the
+       generated output file.
+
+       * real.c: Include tm_p.h.
+
+Fri Oct  8 18:46:11 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * i386.md (prologue_allocate_stack): Add '=' constraint letter on
+       output operand.
+
+Thu Oct  7 23:06:50 1999  Richard Henderson  <rth@cygnus.com>
+
+       * rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber
+       before the fctiwz insn.
+
+Thu Oct  7 22:53:00 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+                         Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.c (make_lang_type_fn): New function pointer.
+       (make_lang_type): Call it.
+       * tree.h (make_lang_type): Declare.
+       (make_lang_type_fn): Likewise.
+       * rs6000.c (rs6000_build_va_list): Use make_lang_type.
+
+Thu Oct  7 00:36:17 1999  Diego Novillo  <dnovillo@cygnus.com>
+
+       * config/rs6000/rs6000.c (secondary_reload_class): For TARGET_ELF
+       make sure that HIGH instructions are copied into BASE_REGS.
+
+Thu Oct  7 17:02:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * expr.c (expand_expr, TARGET_EXPR): Set TREE_USED sooner.
+
+Thu Oct  7 17:01:58 1999  Greg McGary  <gkm@gnu.org>
+
+       * c-decl.c (finish_struct): Use simpler method of
+       removing elements of a singly-linked list.
+
+Thu Oct  7 15:23:28 1999  Michael Meissner  <meissner@cygnus.com>
+
+       * alpha.md (peephole2's): Comment out peephole2's that generate
+       buggy code.
+
+Thu Oct  7 12:00:53 1999  Richard Henderson  <rth@cygnus.com>
+
+       * genrecog.c (add_to_sequence): Disable mode check for
+       wildcard matches.
+
+Thu Oct  7 20:14:16 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * ggc-simple.c (init_ggc): Set empty_string.
+
+Thu Oct  7 01:13:15 1999  Richard Henderson  <rth@cygnus.com>
+
+       * configure.in: Detect mmap.  Add --with-gc=foo to select
+       garbage collector; default to page if mmap available.
+       * Makefile.in (GGC): Substitute.
+
+Wed Oct  6 23:56:30 1999  Richard Henderson  <rth@cygnus.com>
+
+       * c-decl.c (ggc_p): Enable.
+
+Wed Oct  6 17:17:08 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * flow.c (verify_flow_info): Make it extern & unconditionally define.
+
+1999-10-06  Brendan Kehoe  <brendan@cygnus.com>
+
+       * sparc/sp86x-elf.h (SUBTARGET_SWITCHES): Add missing doc
+       string for little-endian-data.
+
+Wed Oct  6 16:10:35 1999  Michael Meissner  <meissner@cygnus.com>
+
+       * varray.h (VARRAY_CHECK): Fix up appropriate revision check, in
+       case somebody tries to compile --enable-checking code with gcc
+       1.34 or such.
+
+Wed Oct  6 12:22:50 1999  Richard Henderson  <rth@cygnus.com>
+
+       * genrecog.c (add_to_sequence): Verify operand to label_ref is
+       VOIDmode.
+
+Wed Oct  6 10:21:15 1999  Richard Henderson  <rth@cygnus.com>
+
+       * genconfig.c (main): Disable HAVE_conditional_arithmetic.
+       * jump.c (jump_optimize_1): Document why.
+
+Wed Oct  6 10:41:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * collect2.c (scan_prog_file, scan_libraries): Prototype function
+       pointers and casts for `int_handler' and `quit_handler'.
+
+       * flow.c (verify_flow_info, split_hard_reg_notes,
+       find_insn_with_note, sets_reg_or_subreg_1, prepend_reg_notes,
+       remove_edge, remove_fake_successors): Add static prototypes.
+       (verify_flow_info): Wrap with macro ENABLE_CHECKING.
+       (mark_set_1): Initialize variable `regno'.
+       (unlink_insn_chain): Likewise for variable `curr'.
+       (remove_fake_edges): Remove unused variables `e', `tmp' and `last'.
+
+       * loop.c (strength_reduce): Initialize variable
+       `unrolled_insn_copies'.
+       (cmp_combine_givs_stats, cmp_recombine_givs_stats): Add static
+       prototypes.  Change these functions to take const PTR parameters
+       to avoid prototype conflict when used as the comparson argument
+       for qsort.
+       (check_dbra_loop): Initialize variable `comparison_val'.
+
+       * reload.c (debug_reload_to_stream, debug_reload): Add prototypes.
+       (get_secondary_mem): Mark parameter `x' with ATTRIBUTE_UNUSED.
+       (find_valid_class): Initialize variable `best_class'.
+       (find_reloads): Call memcpy, not bcopy.
+
+       * reload1.c (gen_mode_int, dump_needs): Add prototypes.
+       (hard_reg_use_compare): Don't needlessly cast away const.
+       (reload_reg_class_lower): Likewise.
+       (choose_reload_regs): Initialize variable `regno'.
+
+Tue Oct  5 16:34:12 1999  Paul Burchard <burchard@pobox.com>
+
+       * ggc-page.c (GGC_ALWAYS_COLLECT): Fix typo when undef'ing.
+
+Tue Oct  5 16:14:40 1999  Michael Meissner  <meissner@cygnus.com>
+
+       * libgcc1-test.c (toplevel): Include stddef.h to get size_t.
+       ({,d}discard): Add forward declarations.  Declare parameter as
+       unused.
+       (main_without_main): Explicitly declare return type to be int.
+       (memcpy): Properly declare.
+
+       * libgcc2.c (toplevel): If inhibit_libc is defined and not
+       building the trampoline support, declare malloc, free, and
+       atexit.
+       (__clear_cache): Mark arguments as potentially unused.
+
+       * frame.c (toplevel): If inhibit_libc is defined, declare
+       malloc and free.
+
+Tue Oct  5 12:00:32 1999  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (make_edge): Accept an optional 2D bitmap in which
+       to cache edge existence.  Update all callers.
+       (make_label_edge, make_eh_edge): Pass through the edge cache.
+       (make_edges): Provide the cache.
+
+Tue Oct  5 12:16:49 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * mbchar.c (literal_codeset, local_mbtowc, local_mblen): Constify
+       a char*.
+       (local_mbtowc): Change the type of variable `i' from int to size_t.
+
+       * mbchar.h (ISSJIS1, ISSJIS2): Use parens around && within ||.
+       (local_mbtowc, local_mblen, literal_codeset): Constify a char*.
 
-Sun Aug         5 12:57:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Oct  5 11:34:52 1999  Michael Meissner  <meissner@cygnus.com>
 
-       * stor-layout.c (layout_record, layout_union): Test value of 
-       PCC_BITFIELD_TYPE_MATTERS for being nonzero, if it is defined.
-       * tm-*.h: Define with value 1.
-       * tm-vax.h (PCC_BITFIELD_TYPE_MATTERS): Depends on -mvaxc-alignment.
+       * ggc-common.c (toplevel): Reorder includes, so that ggc.h comes
+       after other includes that define the appropriate types.  Include
+       tm_p.h for getting user prototypes.
+       * ggc-callbacks.c (toplevel): Ditto.
+       * ggc-none.c (toplevel): Ditto.
+       * gcc-page.c (toplevel): Ditto.
+       * ggc-simple.c (toplevel): Ditto.
 
-       * proto.h: New file.
-       * Makefile.in (USER_H): Add that file.
+Mon Oct  4 16:48:16 1999  Diego Novillo <dnovillo@cygnus.com>
+                         Jonathan Larmour  <jlarmour@cygnus.co.uk>
 
-Sun Aug         5 00:04:08 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * config/mips/mips.c (mips_move_2words): Split doubles if
+       ISA >= 3, !TARGET_64BIT, and destination is not an FP register.
 
-       * cplus-decl2.c (grokfield): It is no longer legal to specify
-       the initializer for a static const member in the class
-       declaration.  Dealing with default initializers is basically
-       impossible.
+Mon Oct  4 21:47:31 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-init.c (build_delete): Don't wrap `addr' in a SAVE_EXPR
-       until it is in fact an address.  This allows us to call
-       destructors on the return values of function calls.
+       * genrecog.c (struct decision_test): New.
+       (struct decision): Remove test-related members, sort the rest by size.
+       (IS_SPLIT): Simplify.
+       (new_decision, new_decision_test): New.
+       (add_to_sequence): Use them.  No special handling for args of
+       non-MATCH codes.
+       (maybe_both_true): Renamed from not_both_true; return sense changed.
+       (maybe_both_true_1, maybe_both_true_2): New.  Broken out
+       of maybe_both_true and adjusted for decision_test.
+       (position_merit): Remove.
+       (nodes_identical, nodes_identical_1): New, broken out of merge_trees.
+       (merge_accept_insn): New, broken out of merge_trees.
+       (merge_trees): Use them.  No special case for c_test; no node
+       splitting; use test type instead of position_merit.
+       (factor_tests): New.
+       (simplify_tests): New.
+       (break_out_subroutines): Don't write code now.
+       (find_afterward): New.
+       (write_afterward, write_switch, write_cond): New.
+       (write_action, is_unconditional): New.
+       (write_node): New.  Use them.
+       (write_tree_1): Rewrite.  Use the new functions above.
+       (write_tree): Remove afterward processing.
+       (write_subroutine): Simplify function variant emission.
+       (write_subroutines): New.
+       (same_codes, clear_codes): Remove.
+       (same_modes, clear_modes): Remove.
+       (write_header): New, broken out of main.
+       (make_insn_sequence): Use new_decision and new_decision_test.
+       (process_tree): New, broken out of main.
+       (main): Adjust for merge_trees interface change.
+       Don't #define operands in the output file.
+       (record_insn_name): New, broken out of make_insn_sequence.
+       (debug_decision_2, debug_decision_1, debug_decision_0): New.
+       (debug_decision): New.
 
-       * cplus-typeck.c (commontype): Fixed bug in OFFSET_TYPE case which
-       led to infinite recursion (since we did not reduce the types
-       before we recursed).
+1999-10-04 21:58 -0700  Zack Weinberg  <zack@bitmover.com>
 
-       * cplus-lex.c (check_newline): Make `#pragma implementation' more
-       forgiving.
+       * resource.c (find_free_register): Mark class_str argument const.
+       * resource.h: Update prototype to match.
 
-       * cplus-init.c (expand_aggr_init): Changed Jan 20th change so that
-       we test whether TYPE has a constructor defined, and we do not test
-       at all whether INIT was from a GNU constructor expression or not.
+       * i386.h (PREDICATE_CODES): Add entry for long_memory_operand.
+       * i386.md: Give all anonymous insns names.
 
-       * cplus-typeck.c (build_modify_expr_1): Don't return
-       `error_mark_node' unless there really was an error.  If there is
-       no work to do, return `integer_zero_node'.
+Mon Oct  4 21:12:02 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * cplus-class.c (propagate_basetype_offsets): Count the space
-       between baseclasses, not just the space they occupy.
+       * flow.c (merge_blocks): Avoid assing BASIC_BLOCK for non-existent
+       blocks.
 
-       * cplus-typeck.c (commontype): Don't drop the exceptions that are
-       raised by functions and methods.
+Mon Oct  4 21:01:39 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-cvt.c (convert_to_real): Fix if/else level problem in
-       case where EXPR is of aggregate type.
+       * toplev.c (dbr_sched_time): Unconditional.
+       (peephole2_time): New.
+       (compile_file): Add pass numbers to all of the dump file suffixes.
+       Dump peephole2_time.  Don't dump times for non-applicable passes.
+       (rest_of_compilation): Add pass numbers to dump file suffixes.
+       Conditionalize calls to the scheduler.
+       * invoke.texi: Update.
 
-       * cplus-decl.c (finish_decl): Emit a line-number note to give
-       users a chance to set a breakpoint before the initialization of an
-       object takes place.
+Mon Oct  4 20:25:13 1999  Anthony Green  <green@cygnus.com>
 
-       * cplus-class.c (build_method_call): If the function we get is not
-       directly from the object we have, call `convert_pointer_to' if the
-       object uses multiple inheritance or virtual baseclasses.
+       * flow.c (make_edges): Fix insn iteration.
+       (find_basic_blocks): Assign NULL_RTX, not 0, to rtx.
+       (find_basic_blocks_1): Fix spelling mistake.
 
-       * cplus-typeck.c (build_binary_op_nodefault): Don't call
-       `convert_to_pointer' with an argument that might be
-       the integer zero.
+Mon Oct  4 16:56:11 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-method.c (hack_identifier): Look for DECL_REFERENCE_SLOT
-       in RESULT_DECLs as well.
+       * tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that
+       always have side-effects.  Use memset not bzero.
+       (make_node): Likewise.
 
-       * cplus-init.c (build_vec_delete): Don't forget to deallocate the
-       container if requested.  Really use AUTO_DELETE and
-       AUTO_DELETE_VEC with the same interpretation as `build_delete'
-       gives to its AUTO_DELETE parameter.
+Mon Oct  4 16:22:20 1999  Mark Mitchell  <mark@codesourcery.com>
 
-Sat Aug         4 22:08:44 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * stmt.c (expand_anon_union_decl): When any of the elements of the
+       union is addressable, so is the entire union.
 
-       * jump.c (find_cross_jump): Use prev_nonnone_insn.
-       Don't cross-jump into the middle of a USE-CALL_INSN-CLOBBER
-       block; doing so can confuse reorg.c.
+Mon Oct  4 11:38:33 1999  Richard Henderson  <rth@cygnus.com>
 
-       * optabs.c (expand_binop, expand_binop, expand_twoval_binop):
-       If predicate doesn't match, ensure that operand is in a pseudo
-       register.  Current code assumes that any register will suffice,
-       but an insn may want to reject certain hard registers.
-       (expand_unop, emit_unop_insn, emit_cmp_insn): Likewise.
+       * sbitmap.c (sbitmap_ones): Don't set too many bits.
 
-Sat Aug         4 15:29:09 1990  Michael Tiemann  (rms at sugar-bombs.ai.mit.edu)
+       * bitmap.h (enum bitmap_bits): Add BITMAP_XOR.
+       * bitmap.c (bitmap_operation): Return true iff TO changed.
+       (bitmap_equal_p): New.
+       (bitmap_bit_p): Tidy arithmetic.
+       (debug_bitmap_file): Likewise.
 
-       * function.c (assign_parms): For parms passed by reference,
-       make the memory object's mode agree with the parm's original
-       type mode.
-       * calls.c (expand_call): Fixed braino in building argument
-       reference when FUNCTION_ARG_PASS_BY_REFERENCE is defined.
+Mon Oct  4 11:28:37 1999  Richard Henderson  <rth@cygnus.com>
 
-       * varasm.c (assemble_variable): Hack our way around the problem
-       that static class members look like initialized variables for the
-       purposes of establishing FIRST_GLOBAL_OBJECT_NAME.
+       * toplev.c (rest_of_compilation): Turn on cse_not_expected
+       before cse2 instead of after.
 
-       * cplus-lex.c (reinit_parse_for_method): Give error message for
-       common mistake of forgetting the function body.
+Mon Oct 4 09:55:17 1999  Stan Cox  <scox@cygnus.com>
 
-       * cplus-typeck.c (build_component_ref): Make better error message
-       when field is not found.
+       * mips.h (GO_IF_LEGITIMATE_ADDRESS): Let leasi/liadi handle large
+       register offsets.
 
-       * cplus-class.c (finish_struct): TYPE_GETS_*_INIT_REF comes from
-       members as well.
+Mon Oct  4 08:54:12 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
-       * cplus-typeck.c (c_expand_return): Give warning about returning
-       non-lvalues that come from functional casts.
+       * cppinit.c (is_idchar initializer): Loosen tests to accept
+       gcc 2.>6 and >2.
 
-       * cplus-search.c (get_base_distance): Changed to follow leftmost
-       path only when PARENT == TYPE_MAIN_VARIANT (PARENT).
+Mon Oct  4 02:31:20 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * cplus-class.c (modify_vtable_entries): Call get_base_distance
-       with 0 path_ptr, since we do not appear to use the path computed.
+       * mips.md: Define conditional move patterns for floating point
+       operands and DI mode conditions.
 
-Fri Aug         3 07:37:30 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Oct  4 02:12:41 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * final.c (leaf_function_p): Delete line advertently retained
-       after change of July 29.
+       * tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
+       always have side-effects.
 
-       * reorg.c (optimize_skip, try_hoist_target): Don't invert jump
-       unless can_reverse_comparison_p says it is OK.  Use invert_jump
-       to do it.
-       (fill_simple_delay_slots): Another way flow of control can merge is
-       for two insns to jump to the same place; try to get insns from there.
-       (mostly_true_jump): Return 2 for a jump very likely to be true (the
-       branch back to the start of a loop).
-       (fill_slots_from_thread): Accept new arg LIKELY.  If true, see if can
-       put increment in delay slot and undo it after the end of the loop.
-       (fill_eager_delay_slots): Pass new arg to fill_slots_from_thread.
-       If previous insn is conditional jump that also didn't get a delay
-       slot, see if swapping targets helps.
-
-Fri Aug         3 00:18:35 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * cccp.c (MAKE_POS): Avoid constant of uncertain signedness.
-
-       * gnulib2.c (__bb_init_func): Add dummy function to prevent warning.
-
-Thu Aug         2 17:44:59 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * output.h (current_function_return_rtx): Add new variable.
-       * function.h (return_rtx): Likewise.
-       * function.c (push_function_context, pop_function_context): Save
-       and restore current_function_return_rtx.
-       (assign_parms, expand_function_start): Set current_function_return_rtx
-       to what is put in DECL_RTL (DECL_RESULT (current_function_decl)).
-       * reorg.c: No longer uses tree.h.
-       (dbr_schedule): Get result RTL from current_function_return_rtx instead
-       of reading it from current_function_decl.
-       * Makefile.in (reorg.o): No longer depends on TREE_H.
+Sun Oct  3 14:14:16 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * cse.c (remove_invalid_refs): Only invalidate an entry if it 
-       references the actual register, not merely something sharing its
-       quantity.
-       (cse_insn): Don't abort if SRC and SRC_EQUIV map to different
-       hash classes.  Merge them instead.
-
-       * romp.md (mulsi3): Emit call to lmul$$ as a regular insn
-       rather than a CALL_INSN.
-       (divsi3, modsi3, udivsi3, umodsi3, call_libfcn): Deleted.
-       (divmodsi4, udivmodsi4): New patterns to call ldiv$$ and uldiv$$
-       as a normal insn to allow CSE'ing of MOD with DIV.
+       * mn10200.c (asm_file_start): Fix typo.
 
-Wed Aug         1 21:56:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cppinit.c (is_idchar initializer): Tighten tests for when
+       to put the table into initialized memory.
 
-       * c-parse.y (yylex): Don't warn about non-decimal unsigned by default
-       if `u' was specified.  Add similar warning for long and long long.
+       * ggc-none.c (ggc_alloc_rtvec): An rtvec is an array of rtx,
+       not an array of rtunion.
+       * gcc-page.c (ggc_alloc_rtvec): Similarly.
+       * gcc-simple (ggc_free_rtvec): Similarly.
 
-Tue Jul 31 23:31:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * genattrtab.c (simplify_cond): Make TESTS an array of rtxs, instead
+       of rtunions.
 
-       * tm-encore.h (FUNCTION_PROFILER): Override, putting `.' in label.
+       * mbchar.h: Add missing #endif.
 
-       * xm-vms.h (const): Delete the definition.
+       * t-fr30 (LIB2FUNCS_EXTRA): Remove definition.
+       (FPBIT, DPBIT): Define.
 
-Mon Jul 30 18:33:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Oct  3 12:44:05 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * c-typeck.c (convert_for_assignment): Normally no warning
-       between char * and unsigned char *, etc.
-       (convert_arguments): Include arg number in incomplete type warning.
+       * print-tree.c (print_node, indent_to): Remove redundant prototypes.
 
-Mon Jul 30 07:38:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * profile.c (instrument_arcs, output_gcov_string,
+       tablejump_entry_p): Add static prototypes.
+       (output_gcov_string): Constify a char*.
 
-       * jump.c (invert_jump): Don't do anything with labels if NLABEL 
-       equals JUMP_LABEL.
-       (redirect_jump): Don't try to reference LABEL_NUSES if olabel is
-       zero (meaning this is a return insn).
-       (redirect_exp): Handle case of converting return to jump to
-       label.
-
-       * dbxout.c (dbxout_parms): Allow parameter at zero offset from
-       AP to be represented as (MEM (REG ...)).
-       * sdbout.c (sdbout_parms): Likewise.
-
-Sun Jul 29 22:51:00 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * optabs.c (expand_twoval_binop_convert): Deleted.
-       (expand_twoval_binop): Rework to be handle predicates, modes, and
-       failures in a manner consistent with expand_binop.
-       Move code from expand_twoval_binop_convert inline and rework to
-       no longer hard-wire SImode and to handle failure.
-
-       * config.gcc: Finish change of July 24th to have make_var_file depend
-       on host machine.
-
-       * jump.c: Now includes insn-flags.h.
-       (jump_optimize): Try to put a RETURN at the end of the function if
-       control flows through to it.
-       JUMP_LABEL can now be zero for a RETURN or conditional RETURN.
-       Try to convert jump to end of function into (possibly conditional)
-       RETURN.
-       Use next_active_insn instead of next_real_insn; these do the same
-       thing prior to reload, after which USE and CLOBBERs don't matter.
-       redirect_jump may now fail so don't set CHANGED if it does.
-       Delete optimization of jump to RETURN; now subsumed by follow_jumps.
-       Reset INSN_CODE if changing conditional jump to unconditional.
-       (cond_jump_p): Conditional RETURN is conditional jump.
-       (follow_jumps): Change argument name to AFTER_RELOAD.
-       If not after reload, do not chain across a USE or CLOBBER.
-       Recognize RETURN insns.
-       (tension_vector_labels): Likewise.
-       (redirect_jump, redirect_exp): If NLABEL is zero, turn JUMP into a
-       (possibly conditional) RETURN; use validate_change to see if such an
-       insn exists. 
-       Now returns non-zero if succeeds, 0 otherwise.
-       Unconditional RETURN looks like (RETURN), not (SET (PC) (RETURN)).
-       (thread_jumps): Ignore any type of RETURN insn.
-       * Makefile.in (jump.o): Depends on insn-flags.h.
-       * loop.c (strength_reduce): Don't confuse conditional return with
-       jump to top of loop when LOOP_TOP == 0.
-       * final.c (leaf_function_p): No longer static; no longer takes an arg.
-       (final_start_function): Don't pass START to leaf_function_p.
-       * romp.md (return pattern): Convert to a named pattern.
-
-Sun Jul 29 16:05:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * tm-vms.h (ASM_OUTPUT_EXTERNAL): Check TREE_READONLY.
-
-       * xm-vms.h (alloca): Use built-in alloca.
-
-Sun Jul 29 06:47:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * reorg.c (fill_slots_from_thread): Restore inadvertantly deleted
-       lines.
-
-Fri Jul 27 19:53:18 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * Makefile.in (reorg.o): Depends on tree.h, basic-block.h, regs.h,
-       and output.h
-
-Fri Jul 27 16:30:03 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * varasm.c (assemble_variable): Handle ASM_OUTPUT_SHARED_COMMON
-       and ASM_OUTPUT_SHARED_LOCAL.
-
-       * tm-encore.h (SHARED_SECTION_ASM_OP): New macro.
-       (ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_LOCAL): New.
-       All this waiting for papers from pabuhr@watmsg.waterloo.edu.
-
-Fri Jul 27 16:10:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * make-romp (CC): Set up to allow use of hc.
-
-Fri Jul 27 15:07:00 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * combine.c (subst): Handle (ASHIFT 1 x) in (EQ (AND ... y) 0)
-       only if little-endian.
-
-Thu Jul 26 23:19:15 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * expmed.c (expand_shift): Consistently call protect_from_queue
-       before doing anything else.
-       Always put operand1 of extzv into a register because it is SImode
-       and we assume that this means a register.
-
-Thu Jul 26 14:18:11 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * varasm.c (assemble_variable): Delete dead code.
-       DATA_ALIGNMENT takes tree and current alignment and gives new
-       alignment for a non-automatic variable of that type.
-       Also apply CONSTANT_ALIGNMENT to the initial value; it now takes
-       the constant and old alignment and gives the new alignment.
-       Adjust DECL_ALIGN to the resulting alignment.
-       Use floor_log2 consistently instead of duplicating its function.
-       (get_or_assign_label): Use CONSTANT_ALIGNMENT instead of DATA_ALIGNMENT
-       and pass type instead of decl.
-       * expr.c (get_pointer_alignment): Rework to: distinguish reliably
-       between expressions giving the address and those giving the item being
-       addressed; use the alignment from the type of the object being
-       pointer to; return 0 if the type is not a pointer; and other 
-       miscellaneous changes.
-       (string_constant): Skip CONVERT_EXPR and NON_LVALUE_EXPR as well
-       as NOP_EXPR.
-       (expand_builtin): Allow get_pointer_alignment to fail, in which case
-       we call the actual function.
-       * stmt.c (expand_decl): Set actual alignment obtained into DECL_ALIGN
-       since it may be better aligned than required and get_pointer_alignment
-       can take advantage of this.
-       * tm-gmicro.h, tm-pyr.h, tm.romp-h: Add or replace definitions of
-       CONSTANT_ALIGNMENT to word-align string constants and
-       DATA_ALIGNMENT to word-align character arrarys for builtin memory
+       * regmove.c (replacement_quality, fixup_match_2): Add static
+       prototypes.
+
+       * resource.h (reg_dead_p): Add extern prototype.
+
+       * rtl.c (trim_filename): Add static prototype.
+
+       * scan-decls.c (skip_to_closing_brace): Likewise.
+
+       * stmt.c (expand_decl_cleanup_no_eh): Hide definition.
+       (expand_end_case): Initialize variable `range'.
+       (emit_case_nodes): Remove unused prototype `rtx_fn'.
+
+       * varasm.c (asm_emit_uninitialised): Add static prototype.
+       (asm_emit_uninitialised, assemble_variable): Mark parameter with
+       ATTRIBUTE_UNUSED.
+
+Sun Oct  3 12:24:52 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cpplib.c (if_directive_nameo): Add static prototype.
+
+       * cse.c (cse_insn): Remove unused variable `p'.
+
+       * except.c (create_rethrow_ref, push_entry,
+       receive_exception_label, new_eh_region_entry, find_func_region,
+       clear_function_eh_region, process_nestinfo): Add static prototypes.
+       (get_reg_for_handler): Hide definition.
+       (process_nestinfo): Initialize variable `extra_handlers'.
+
+       * expr.h (expand_builtin_longjmp): Add extern prototype.
+
+       * final.c (final_addr_vec_align, align_fuzz): Add static prototypes.
+
+       * function.c (prepare_function_start): Likewise.
+       (pop_function_context_from): Mark parameter `context' with
+       ATTRIBUTE_UNUSED.
+       (push_temp_slots_for_block, flush_addressof): Hide definition.
+
+       * gcov.c (init_arc, reverse_arcs, create_program_flow_graph,
+       solve_program_flow_graph, calculate_branch_probs,
+       function_summary, main, fancy_abort): Add prototypes.
+
+       * gen-protos.c (add_hash, parse_fn_proto, main): Likewise.
+       (add_hash): Constify a char*.
+
+       * ggc-common.c (ggc_mark_rtx_ptr, ggc_mark_tree_ptr,
+       ggc_mark_tree_varray_ptr, ggc_mark_tree_hash_table_ptr,
+       ggc_mark_string_ptr, ggc_mark_tree_hash_table_entry): Add prototypes.
+
+       * integrate.c (expand_inline_function_eh_labelmap): Likewise.
+
+       * lists.c (free_list, zap_lists): Likewise.
+
+Sun Oct  3 12:05:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * alias.c (nonlocal_reference_p): Add static prototype.
+
+       * bitmap.c (bitmap_element_allocate): Prototype args in function
+       pointer cast.
+
+       * builtins.c (stabilize_va_list): Add static prototype.
+       (expand_builtin_va_arg): Constify a char*.
+
+       * c-lex.c (getch, put_back, extend_token_buffer_to,
+       read_line_number, token_getch, token_put_back): Add static
+       prototypes.
+
+       * c-parse.gperf (hash, is_reserved_word): Likewise.
+
+       * cccp.c (is_dir_separator): Likewise.
+
+Sat Oct  2 16:07:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * graph.h: New file to prototype functions exported by graph.c.
+
+       * Makefile.in (graph.o, toplev.o): Depend on graph.h.
+
+       * graph.c: Include graph.h.
+
+       * toplev.c: Likewise.  Remove redundant prototypes.
+
+Sat Oct  2 11:28:33 1999  Krister Walfridsson <cato@df.lth.se>
+
+       * invoke.texi: Removed duplicated description for -Q.
+
+Sat Oct  2 11:16:00 1999  Jim Kingdon  <http://developer.redhat.com>
+
+       * extend.texi: Grammar fix in __extension__ text.
+
+Sat Oct  2 11:06:31 1999  Richard Henderson  <rth@cygnus.com>
+
+       * md.texi (define_peephole2): New section.
+
+Sat Oct  2 10:57:56 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * i386.md (mov?i patterns): Fix handling of TARGET_USE_MOV0
+       (mov $-1 to or peepholer): Enable for pentium when optimizing for
+       speed.
+
+Sat Oct  2 10:55:25 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * builtins.c (expand_builtin_strlen): Fix best mode searching loop.
+
+Sat Oct  2 10:53:22 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * i386.md (ffs expander): Emit Pentium friendly code for
+       TARGET_PENTIUM.
+
+Sat Oct  2 02:48:21 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * tree.c (build): Don't look at TREE_SIDE_EFFECTS or TREE_RAISES
+       for non-trees.
+       (build1): Likewise.
+
+Fri Oct  1 18:01:11 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * i386elf.h (TARGET_DEFAULT): Use symbolic constants.
+
+Fri Oct  1 12:42:53 1999  Andreas Schwab  <schwab@suse.de>
+
+       * config/m68k/m68k.c (use_return_insn): Return false if the pic
+       register is in use.
+
+Fri Oct  1 10:56:06 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * md.texi (No Constraints): Delete section.
+       * Makefile.in (genattrtab.o): Don't depend on "insn-config.h".
+       * final.c (final_scan_insn): We always have register constraints.
+       * genattrtab.c: Don't include "insn-config.h".
+       (write_attr_case): We always have register constraints.
+       * genconfig.c (register_constraint_flag): Delete.
+       (walk_insn_part): Don't check whether we have register constraints.
+       (main): Don't write out "#define REGISTER_CONSTRAINTS".
+       * genoutput.c (have_constraints): Delete.
+       (main): Don't set it.
+       (output_operand_data): We always have constraints.
+       (scan_operands): Likewise.
+       (compare_operands): Likewise.
+       * local-alloc.c (block_alloc): We always have constraints.
+       (requires_inout): Always compile this function.
+       * recog.c (extract_insn): We always have constraints.
+       (constrain_operands, reg_fits_class_p): Always compile these
        functions.
+       * recog.h (struct recog_data): Delete non-REGISTER_CONSTRAINTS
+       fields.
+       (struct insn_operand_data): Likewise.
+       * regclass.c (regclass): We always have constraints.
+       (record_reg_classes, copy_cost, record_address_regs,
+       auto_inc_dec_reg_p): Always compile these functions.
+       * regmove.c (regmove_optimize): We always have constraints.
+       * reload.c (find_reloads): Likewise.
+       * reload1.c (reload): Likewise.
+       (reload_cse_simplify_operands): Likewise.
+       * i860.c (output_delay_insn): Likewise.
 
-       * fold-const.c (rshift_double): Reset carry after each shift of
-       one bit.
+Thu Sep 30 23:04:41 1999  Mark P. Mitchell  <mark@codesourcery.com>
 
-       * vax.md (ashrsi3): If right shift by constant, emit as ASHIFTRT.
-       (ashrsi3_const): New pattern  to match it.
-       (casel): Delete patterns no longer needed.
-       * cse.c (cse_insn): Remove unneeded part of change of July 23.
-       (fold_rtx): Convert shift with negative constant count to shift in
-       the opposite direction.
-       * combine.c (subst): Likewise.
+       * iris6.h (BUILD_VA_LIST_TYPE): Define.
 
-       * emit-rtl.c (init_emit_once): Initialize arg_pointer_rtx before
-       struct pointer and static chain values in case they want to use it.
+Thu Sep 30 18:44:50 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
-Thu Jul 26 12:31:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * rs6000.c (rs6000_build_va_list): Create a TYPE_DECL node
+       for the va_list record.
 
-       * final.c (final_scan_insn): Align label table to boundary appropriate
-       for items of its size.
-       (get_attr_length, shorten_branches): Allow for label table alignment.
+Thu Sep 30 18:34:54 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-Wed Jul 25 15:06:44 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * i386.c (ix86_adjust_cost): Ignore false ebp dependencies in
+       prologues.
 
-       * fixincludes: Handle uses of _IO* followed by spaces.
-       Change redirections for cd when testing that directory exists.
+Thu Sep 30 18:31:36 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       By Tiemann:
+       * alias.c: Include insn-flags.h.
+       * Makefile.in (alias.o): Update.
 
-       * emit-rtl.c (next_cc0_user): Handle insns in which cc0
-       is set and used in the same insn.
+Thu Sep 30 18:21:30 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       * final.c (leaf_function_p): Look inside INSNs which contain
-       a delayed-call sequence.
-       (final_start_function): Test `only_leaf_regs_used' before
-       `leaf_function_p', since that is likely to be faster.
-       (final_scan_insns): Normally we don't have NOTICE_UPDATE_CC
-       take action when processing the path of an annulled branch,
-       since that path does not affect the cc's of the fall-through
-       insns at all.  However, we cannot always ignore the effect of
-       the cc's when processing a delayed annulled branch: when the
-       delayed annulled branch follows a label and carries a
-       REG_CC_STATUS note, that note must be processed.
+       * i386.c (ix86_expand_int_movcc): Convert LEU and GTU comparisons
+       to LTU and GEU.  Handle more cases using sbb.
 
-       * genattr.c (main): Generate #defines for annulled branches
-       which are consistent with documentation.
+Thu Sep 30 18:18:39 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-       * reorg.c: Finish recent rework by modifying code specific to
-       machines that have annulling branches.
+       * i386.md (truncatexfdf splitters): Do not use subreg.
+       (fop XFmode patterns): Fix mode in operand testing.
 
-       * c-common.c (merge_component_comparisons): Previous logic did
-       not handle cases of (A == 1) && (B == 1), (A != 0) && (B != 0),
-       and (A != 1) || (B != 1).  Fixed by expanding the logic out
-       longhand and letting the compiler do the proper cross-jumping.
+Thu Sep 30 18:04:13 1999  Richard Henderson  <rth@cygnus.com>
 
-       * tm-vms.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
+       * jump.c (jump_optimize_1): Amend last change to test only the
+       form of the operand, not the insn.
 
-       * expr.c (expand_expr): For BIND_EXPR, do the init for all vars.
+       * jump.c (jump_optimize_1) [conditional_move]: Use general_operand
+       not register_operand to determine when B may need preloading.
 
-       * stupid.c: Include flags.h.
-       * genrecog.c (main): Make insn-recog.c include flags.h.
+Thu Sep 30 17:39:16 1999  Richard Henderson  <rth@cygnus.com>
 
-Sun Jul 22 12:04:43 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * alpha.md (*): Use nonimmediate not general_operand for SET_DEST.
+       (ffsdi2, extxl, insxh, mskxh): Add missing DImode to SET_SRC.
+       (call-value patterns): Move to end of file.
+       (*): Remove mode from label_ref in (pc) context.
+       (movstrqi): Use memory not general_operand for BLKmode operands.
+       (prologue_stack_probe_loop, builtin_longjmp): Add missing mode
+       to register_operand operands.
+       (peep2 patterns): Convert from commented-out peephole patterns.
 
-       * cplus-except.c (cplus_expand_end_except): If the user gives a
-       default handler, the exception is considered caught in that
-       handler.
-       * cplus-parse.y (except_stmts): Rest of fix went here, in DEFAULT
-       case.
+Thu Sep 30 14:39:17 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * cplus-decl.c (finish_decl): Don't emit cleanups twice.
+       * tree.h (enum built_in_function): Rename BUILT_IN_DWARF_REG_SIZE
+       to BUILT_IN_INIT_DWARF_REG_SIZES.
+       * builtins.c (expand_builtins, case BUILT_IN_INIT_DWARF_REG_SIZES):
+       Renamed from BUILT_IN_DWARF_REG_SIZE; call
+       expand_builtin_init_dwarf_reg_sizes.
+       * c-decl.c (init_decl_processing): Replace __builtin_dwarf_reg_size
+       with __builtin_init_dwarf_reg_size_table.
+       * dwarf2out.c (struct reg_size_range): Delete.
+       (expand_builtin_init_dwarf_reg_sizes): New function.
+       (expand_builtin_dwarf_reg_size): Delete.
+       * except.h (expand_builtin_init_dwarf_reg_sizes): Declare.
+       (expand_builtin_dwarf_reg_size): Don't declare.
+       * libgcc2.c (dwarf_reg_size_table_initialized): New.
+       (dwarf_reg_size_table): New.
+       (init_reg_size_table): New function.
+       (copy_reg): Use dwarf_reg_size_table.
+       (eh_context_initialize): Make sure dwarf_reg_size_table is initialized
+       before use.
 
-       * cplus-class.c (finish_struct_bits): Don't call
-       `fixup_vbase_offsets'.
-       * cplus-tree.c (fixup_vbase_offsets): #if 0 this function.
+Thu Sep 30 05:40:34 1999  Richard Earnshaw <rearnsha@arm.com>
 
-       * cplus-cvt.c (build_default_binary_type_conversion): Handle
-       arguments which are REFERENCE_TYPE.
+       * c-lang.c (finish_file case ndef ASM_OUTPUT_{CON,DE}STRUCTOR):
+       Correctly build argument list to constructor and destructor functions.
 
-       * cplus-method.c (prepare_inline): Set DECL_CONTEXT of this
-       function's parameters.
+Thu Sep 30 00:13:27 1999  Dirk Zoller  <duz@rtsffm.com>
 
-       * cplus-decl.c (grokfndecl): When adding a new virtual function
-       entry, RAISES may change a second time.
+       * c-tree.h (warn_float_equal): Declare.
+       * c-decl.c (warn_float_equal): Define.
+       (c_decode_option): Recognize -W[no-]float-equal.
+       * c-typeck.c (build_binary_op): Conditionally warn
+       about equality tests of floating point types.
+       * toplev.c (documented_lan_options): Add -W[no-]float-equal.
+       * invoke.texi: Add docs for -Wfloat-equal warning.
 
-Thu Jul         5 10:44:39 1990  Michael Tiemann  (tiemann at cygnus.com)
+Wed Sep 29 23:43:39 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * cplus-decl2.c (grokfield): Static consts need not be initialized
-       in the class definition.
+       * h8300.h (INIT_TARGET_OPTABS): Use init_one_optab instead of
+       generating RTL directly.
+       * mips.h (INIT_TARGET_OPTABS): Likewise.
+       * mn10200.h (INIT_TARGET_OPTABS): Likewise.
 
-Mon Jul         2 06:12:49 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * expr.h (init_mov_optab): Delete declaration
 
-       * cplus-init.c (resolve_offset_ref): If BASETYPE is not a base
-       type for the current class, give error and return.
+       * h8300.c (WORD_REG_USED): Update to avoid useless register
+       saves in interrupt functions and functions which never return.
 
-Sun Jul         1 00:18:47 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * cse.c (struct set): Delete inner_dest_loc field.
+       (cse_insn): Remove assignments to inner_dest_loc field.
 
-       * cplus-decl.c (finish_function): Throw away more code if we have
-       an inline function from the interface.
+Wed Sep 29 16:06:20 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-class.c (add_virtual_function): Set DECL_VINDEX from the
-       virtual function which comes from the vtable shared by
-       CURRENT_CLASS_TYPE, if possibe.
+       * ggc-page.c: Don't include <unistd.h> etc taken care of
+       by "system.h".  Include <sys/mman.h> afterward.
 
-       * cplus-typeck.c (build_binary_op): Call `default_conversion'
-       after doing type instantiation.
+Wed Sep 29 16:05:18 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cplus-init.c (build_new): New 2.0 interpretation: `new int (10)'
-       means allocate an int, and initialize it with 10.
+       * rs6000.c (rs6000_encode_section_info): If ggc_p, use
+       ggc_alloc_string.
 
-       * cplus-init.c (emit_base_init): Completion of fix for virtual
-       function table initialization.  @@ BTW, this may now cause extra
-       virtual function table initializations.  They will all be correct,
-       but they may also be redundant.  GCC's optimizer doesn't know how
-       to remove even the simplest such redundancy.
+Tue Sep 28 16:45:40 1999  David Edelsohn  <edelsohn@gnu.org>
 
-Sat Jun 30 13:54:30 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * xcoffout.c (xcoffout_declare_function): Add documentation.
+       * rs6000.c (num_insns_constant_wide): Use TARGET_POWERPC64 not
+       TARGET_64BIT.  Compare constant to -1, not bit pattern.
+       (easy_fp_constant): Use TARGET_POWERPC64 not TARGET_64BIT.
+       (expand_block_move): Allow 8 DImode loads for PowerPC64.  Fix
+       gen_movsi typos.
 
-       * cplus-class.c (finish_base_struct): Store BASETYPE in the
-       VFIELDS chain (in its TREE_TYPE).
+Tue Sep 28 16:43:14 1999  Nick Clifton  <nickc@cygnus.com>
 
-Fri Jun 29 09:26:17 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * dwarf2out.c (add_abstract_origin_attribute): Abort if
+       origin_die is NULL.
+       (gen_inlined_enumeration_type_die): Do not abort if the type has
+       not been writeen out.
+       (gen_inlined_structure_type_die): Do not abort if the type has
+       not been writeen out.
+       (gen_inlined_union_type_die): Do not abort if the type has
+       not been writeen out.
+       (gen_tagged_type_instantiation_die): Do not abort if the type
+       has not been written out.
 
-       * cplus-class.c (build_vtable,prepare_fresh_vtable): Stash the
-       type that caused this vtable to be defined in DECL_CONTEXT
-       * cplus-search.c (bfs_unmark_finished_struct): Work around
-       DECL_CONTEXT conflict for vtables.  @@ NOT A SOLUTION.
+Tue Sep 28 14:33:47 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * cplus-lex.c: Extend meaning of `#pragma implementation'
-       to allow files to `implement' types from general headers.
+       * c-decl.c (init_decl_processing): If MD_INIT_BUILTINS is defined,
+       call it.
+       * reg-stack.c (straighten_stack): Copy hard reg set with
+       COPY_HARD_REG_SET.
 
-Tue Jul 24 22:18:23 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Sep 28 01:11:05 1999  Richard Henderson  <rth@cygnus.com>
 
-       * reorg.c: Major rework.  Changes includes:
-       (mark_target_live_regs): Scan code to compute which registers are
-       live at particular insns.  Uses tables created by flow, REG_DEAD
-       notes, and registers set before they are used.
-       (emit_delay_sequence): Always write SEQUENCE as INSN.  Many routines
-       changed to reflect this.
-       (fill_simple_delay_slots): Loop for merge point when target of jump
-       comes back to fallthrough code.  Try to get insns from there.
-       (fill_eager_delay_slots): Fallthrough and target case merged into new
-       function fill_slots_from_thread.
+       * builtins.c (stabilize_va_list): Stabilize array type va_list
+       to a pointer type, not the base record type.
+       (expand_builtin_va_copy): Dereference the pointers explicitly;
+       use the correct size for the copy.
 
-       * tm-romp.h, romp.md, out-romp.c, xm-romp.h, make-romp: New files to
-       support the ROMP microprocessor, used in the IBM PC RT.
+       * rs6000.c (rs6000_va_start): Dereference valist to get to the record.
+       (rs6000_va_arg): Likewise.
 
-       * recog.c (comparison_operator): New function.
+Mon Sep 27 23:27:21 1999  Richard Henderson  <rth@cygnus.com>
 
-       * jump.c (jump_optimize): If putting constant into register, see
-       if it is already present in the register.
+       * rtl.h (struct rtx_def): Move gc_mark to align mode field.
 
-Tue Jul 24 15:35:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Sep 27 23:20:29 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * c-typeck.c (build_binary_op_nodefault): Allow compare of any
-       pointer with const void *, etc.
+       * tree.h (struct tree_decl): Use `bclass', not `class', in name of
+       field.
+       (DECL_BUILT_IN_CLASS): Adjust accordingly.
 
-Tue Jul 24 17:10:59 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Sep 27 23:03:16 1999  Richard Henderson  <rth@cygnus.com>
 
-       * expr.c (get_inner_reference): New function.
-       (expand_assignment): Use it to find out about our target.
-       (expand_expr, case COMPONENT_REF): Likewise.
-       (expand_expr, case COND_EXPR): If can do store-flag, convert
-       X ? A+1 : A to A + (X!=0); fold-const made the former from the latter.
-       Only create label when we know we will need it.
-       Simplify unnessarily complex call to safe_from_p.
-       (expand_expr): Make new variable UNSIGNEDP and use it instead
-       of TREE_UNSIGNED (type).  Also, consistently use existing
-       variable TYPE instead of TREE_TYPE (exp) and similarly for MODE.
+       * ggc-page.c (GGC_MIN_LAST_ALLOCATED): New.
+       (init_ggc): Use it instead of a constant.
+       (ggc_collect): Bound allocated_last_gc by it.
 
-Tue Jul 24 13:50:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Sep 27 19:06:04 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * cccp.c (collect_expansion): Error if ## at beg or end.
+       * fixinc/fixinc.irix (stdio.h): Hack stdio.h to avoid problems
+       with va_list.
 
-       * c-decl.c (grokdeclarator): Error for long, etc. with nonarith type.
-       Error for signed or unsigned with floating type.
-       Error for initialized parm.
+Mon Sep 27 19:40:17 CEST 1999  Marc Espie <espie@cvs.openbsd.org>
 
-       * config.gcc: Make make_var_file depend on host machine, not target.
+       * configure.in (mips*el-*-openbsd*):  Don't duplicate default settings.
+       (mips*-*-openbsd*):  Let big endian configuration be a fragment.
+       * configure:  Regen.
+       * config/mips/openbsd.h:  New, OpenBSD little endian target.
+       * config/mips/openbsd-be.h:  New, OpenBSD big endian target fragment.
+       * config/mips/xm-openbsd.h:  New, OpenBSD host.
 
-Tue Jul 24 13:40:35 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Sep 27 10:28:48 1999  Andreas Schwab  <schwab@suse.de>
 
-       * varasm.c (decode_reg_name): Make TABLE static for non-GCC compilers.
+       * config/m68k/m68k.c (output_function_prologue,
+       output_function_epilogue): Use
+       current_function_uses_pic_offset_table instead of regs_ever_live
+       to decide whether to save/restore pic register.
+       (legitimize_pic_address): Don't modify regs_ever_live any more.
 
-       * c-typeck.c (type_for_size, type_for_mode): Delete from here.
-       (binary_op_error, shorten_compare, truthvalue_conversion): Likewise.
-       * cplus-typeck.c: Delete second copy from here.
-       * c-common: Move above functions to here.
+Sun Sep 26 10:55:36 1999  Mark Mitchell  <mark@codesourcery.com>
 
-Tue Jul 24 12:20:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * function.h (struct function): Add x_dont_save_pending_sizes_p.
+       * stor-layout.c (variable_size): Don't add sizes to the pending
+       sizes list if x_dont_save_pending_sizes_p is set.
 
-       * cccp.c (path_include): Fix typo in var name.
+Sun Sep 26 16:36:52 1999  Robert Lipe  (robertlipe@usa.net)
 
-Mon Jul 23 17:46:57 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/i386/dgux.h (SELECT_RTX_SECTION): Provide dummy argument
+       for symbolic_operand().
+       * config/i386/sco5.h (SELECT_RTX_SECTION): Likewise.
 
-       * config.gcc: Remove redundant assignment to tm_file for 88000.
-       Fix typo when assigning to make_var_file.
+Sun Sep 26 07:37:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * function.c (optimize_bit_field): Fix typo in change_address call.
+       * combine.c (gen_rtx_combine): Add missing call to va_end().
 
-Mon Jul 23 16:59:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * final.c (asm_fprintf): Likewise.
 
-       * varasm.c (decode_reg_name): Ignore % at beginning of name.
-       Support extra names defined by ADDITIONAL_REGISTER_NAMES.
-       * tm-i386.h (ADDITIONAL_REGISTER_NAMES): Define it.
+       * genattrtab.c (attr_rtx): Likewise.
 
-       * dbxout.c (dbxout_init): Handle new macros
-       ASM_OUTPUT_MAIN_SOURCE_FILENAME and ASM_OUTPUT_MAIN_SOURCE_DIRECTORY.
-       * sdbout.c (sdbout_filename): Handle ASM_OUTPUT_MAIN_SOURCE_FILENAME.
+Sat Sep 25 13:11:07 1999  Jeffrey A Law  (law@cygnus.com)
 
-Mon Jul 23 16:50:32 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * cse.c: Update comments.
+       (cse_insn): When converting a conditional/computed jump into
+       an unconditional jump, always make sure a BARRIER immediately
+       follows the converted jump.  Do not delete unreachable code.
+       (cse_basic_block): Do not delete unreachable code.
+       * toplev.c (rest_of_compilation): Move call to
+       delete_trivially_dead_insns after the conditional call to
+       jump_optimize.
 
-       * tm-vax.h (NOTICE_UPDATE_CC): CALL clobbers CC if inside PARALLEL too.
+Sat Sep 25 09:03:17 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * vax.md (call_value_pop): Fix typo in argument number.
+       * collect2.c (make_temp_file): Don't prototype.
 
-       * cse.c (cse_insn): Shift's aren't associative if in different
-       directions, even if same rtx_code.
-       Try to fold result of associating the operation in case it is now
-       trivial.
+       * gcc.c (make_temp_file): Likewise.
 
-       * jump.c (mark_modified_reg): New function.
-       (thread_jumps): Look at insns between target of first jump and the
-       second jump.  Mark any registers that they modify and record if they
-       modify memory.
-       Don't go past a CODE_LABEL.
-       If we pass an unconditional jump, follow it.
-       Use prev_nonnote_insn instead of explicit loop.
-       (rtx_equal_for_thread_p): Consult recorded information to see if
-       memory of registers were modified prior to second jump.
-       * Makefile.in (jump.o): Now needs hard-reg-set.h.
+       * mips.c (mips_make_temp_file): Renamed from `make_temp_file'.
 
-Sat Jul 21 13:58:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Sep 25 13:42:15 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * cccp.c (O_RDONLY): Define it if not defined.
+       * varasm.c (asm_emit_uninitialised): New function: Generate
+       the assembler statements necessary to declare an uninitialized
+       variable.
+       (ASM_EMIT_LOCAL): New macro: Emit a local, uninitialized
+       variable.
+       (ASM_EMIT_BSS): New macro: Emit an entry in the bss section.
+       (ASM_EMIT_COMMON): New macro: Emit an entry in the common
+       section.
+       (assemble_variable): Use asm_emit_uninitialised to emit an
+       uninitialized variable.
 
-       * c-decl.c (finish_decl): No error for nonstatic incomplete array.
+Fri Sep 24 17:10:56 1999  Nick Clifton  <nickc@cygnus.com>
 
-Sat Jul 21 08:24:04 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * combine.c (simplify_comparison): Cope with downshifting a 32 bit
+       constant on a 64 bit host.  Patch supplied by Geoffrey Keating
+       <geoffk@cygnus.com>.
 
-       * alliant.md (call patterns): Function address must be memory operand.
-       * convex.md, m68k.md, mips.md, ns32k.md, tahoe.md, vax.md: Likewise.
+Fri Sep 24 10:48:10 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-Thu Jul 19 16:06:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * builtins.c (expand_builtin): Use MD_EXPAND_BUILTIN if defined.
+       * c-common.h (builtin_function): Don't declare.
 
-       * cccp.c (path_include): New function.
-       (main): Call that to handle CPATH envvar.
+       * c-decl.c (duplicate_decls): Use DECL_BUILT_IN_CLASS rather than
+       DECL_BUILT_IN.
+       (pushdecl): Likewise.
+       (finish_decl): Likewise.
+       (builtin_function): New arg CLASS.  Arg FUNCTION_CODE now of type
+       int.  All callers changed.
+       Set the builtin's DECL_BUILT_IN_CLASS.
+       * tree.h (enum built_in_class): New.
+       (enum built_in_function): Delete NOT_BUILT_IN.
+       (DECL_FUNCTION_CODE): The corresponding field in tree_decl is now
+       in a union.
+       (DECL_SET_FUNCTION_CODE): Likewise.
+       (DECL_BUILT_IN_CLASS): New macro.
+       (DECL_BUILT_IN): Use DECL_BUILT_IN_CLASS.
+       (struct tree_decl): Split builtin function code field into a
+       struct.
+       (builtin_function): Declare.
 
-       * varasm.c (assemble_variable): Error if size exceeds 2**32-1.
+Fri Sep 24 01:45:05 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * emit-rtl.c (init_emit_once): Pass write_symbols to this function
-       (init_emit): Not this one.  All callers changed.
+       * optabs.c (init_traps): Fix typo in last change.
 
-Tue Jul 17 21:24:08 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Fri Sep 24 01:10:11 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * local-alloc.c (update_equiv_regs): Don't replace a register with
-       an equivalence if the insn making the equivalence has a source
-       different from the equivalent value.
+       * toplev.c (rest_of_decl_compilation): Update comment.
 
-Tue Jul 17 16:47:42 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Sep 24 11:57:06 1999  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Put the symbol
+       in .sbss if appropriate.
+       (EXTRA_SECTION_FUNCTIONS): Add sbss.
+       (SBSS_SECTION_ASM_OP): New macro.
+       * config/mips/linux.h (EXTRA_SECTION_FUNCTIONS): Add sbss.
+       (EXTRA_SECTIONS): Add in_sbss.
+       * config/mips/mips.h: Prototype sbss_section.
+
+Thu Sep 23 18:18:55 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * stmt.c (expand_start_bindings): Don't allow cleanup instructions
+       to disappear.
+
+Thu Sep 23 18:07:01 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * expr.c (emit_block_move): Allow movstr* to fail.
+       * optabs.c (init_traps): Register trap_rtx as a GC root.
 
-Tue Jul 17 15:19:18 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Sep 23 17:41:47 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
-       * emit-rtl.c (change_address): Don't call memory_address if reload
-       is in progress, not just after it has completed.
+       * config/mips/mips.c (function_arg_pass_by_reference): Define
+       unconditionally, since it's called unconditionally.
 
-Mon Jul 16 00:34:27 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Sep 23 13:40:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * jump.c (can_reverse_comparison_p): New function.
-       (jump_optimize): In if (x) ... else x = 0; reverse comparison
-       if second operand of IF_THEN_ELSE is PC; use new function to
-       validate the reversal.
-       (jump_back_p): Use new function to see if safe to reverse comparison.
+       * toplev.c (documented_lang_options): Add -fshort-wchar.
+       * c-decl.c (c_decode_option): Likewise.
+       (init_decl_processing): If -fshort-wchar, use 'short unsigned int'
+       for wchar_t.
+       * c-common.c, c-lex.c: Get WCHAR_TYPE_SIZE from wchar_type_node.
+       * gcc.c (default_compilers): If -fshort-wchar,
+       override __WCHAR_TYPE__.
+       * tm.texi (C Dialect Options): Add -fshort-wchar.
 
-Sun Jul 15 17:03:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * dwarf2out.c (output_aranges): Use DW_AT_location to find the
+       symbol for a variable.
 
-       * jump.c (jump_optimize): Bug in last change; reject uncond jump
-       where conditional is expected.
+       * cpplib.h (CPP_PREPROCESSED): New macro.
+       * cpplib.c (handle_directive): Don't complain about `# NUMBER' if
+       we're seeing this input for a second time.
 
-       * flow.c (mark_used_regs): Handle autoincrement for *p
-       followed by q = p+size (neither one dead).
+Thu Sep 23 12:54:49 1999  Alex Samuel  <samuel@codesourcery.com>
 
-Sat Jul 14 22:37:45 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * emit-rtl.c (init_emit_once): Initialize modes first.
 
-       * combine.c (subst): Remove (zero_extend (subreg)) around lshiftrt.
-       Remove (and...) from second arg of shift.
-       Remove (and...) from around shift.
+Sun Sep 19 01:23:23 1999  Alex Samuel  <samuel@codesourcery.com>
 
-Sat Jul 14 21:35:50 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/i386/i386.c (pic_label_name): Change to char pointer.
+       (global_offset_table): New variable.
+       (load_pic_register): Fill global_offset_table if it hasn't
+       already been done.  Allocate pic_label_name dynamically.
+       * ggc.h (empty_string): New variable.
+       * ggc-simple.c (empty_string): Likewise.
+       (init_ggc): Allocate empty_string and add as root.
+       * stmt.c (digit_strings): New variable.
+       (init_stmt): Add last_block_end_note as root.  Allocate and
+       initialize digit_strings.
+       (expand_asm_operands): Use empty_string instead of string
+       constant.  Use digit_strings instead of string constants.
+       * profile.c (init_arc_profiler): Allocate string with
+       ggc_alloc_string instead of xmalloc.
+       (output_func_start_profiler): Likewise.
+       * c-typeck.c (digest_init): Check if init is error_mark_node.
 
-       * local-alloc.c (update_equiv_regs): New function.
-       (local_alloc): Call it.
-       (block_alloc): Don't handle REG_EQUIV notes here; now done in
-       update_equiv_reg.
-       
-       * calls.c: Include insn-flags.h.
-       * Makefile.in (calls.o): Likewise.
+Thu Sep 23 12:59:14 1999  Alex Samuel  <samuel@codesourcery.com>
+                         Richard Henderson  <rth@cygnus.com>
 
-Sat Jul 14 13:28:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * ggc-page.c: New file.
+       * Makefile.in (ggc-page.o): New.
 
-       * c-decl.c (duplicate_decls): Don't set DECL_FRAME_SIZE for builtins.
+Thu Sep 23 13:55:21 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * vax.md (SImode bit-field patterns): Use nonmemory_operand.
+       * invoke.texi: Document -fdelete-null-pointer-checks
+       * toplev.c (flag_delete_null_pointer_checks): New.
+       (f_options): Add entry for -fdelete-null-pointer-checks.
+       (rest_of_compilation): Conditionalize null pointer check
+       elimination on flag_delete_null_pointer_checks.
+       (main): If -O2 or greater, enable -fdelete-null-pointer-checks
 
-       * jump.c (jump_optimize):
-       For if (...) x = 1; else x = 0; x must be integer.
+1999-09-23 10:56 -0700  Zack Weinberg  <zack@bitmover.com>
 
-       * gcc.c (default_compilers): Pass -P to cpp.
+       * iso646.h, stdarg.h, stdbool.h, stddef.h, varargs.h: Add
+       copyright notice and special exception to GPL.
 
-Thu Jul 12 23:38:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Sep 23 13:40:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * stor-layout.c (layout_record): Handle BITFIELD_NBYTES_LIMITED.
+       * abi64.h (mips_function_value): Add prototype arguments.
 
-       * sparc.md (call recognizers): Don't allow address arithmetic.
+       * mips-protos.h: New file with mips prototypes.
 
-Thu Jul 12 21:47:45 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * mips.c: Include "tm_p.h".
+       (mktemp, lookup_name): Add prototype arguments.
+       (extern_list, string_constant, mips_fill_delay_slot,
+       mips_output_external, mips_output_external_libcall,
+       mips_output_filename, mips_declare_object, function_prologue,
+       mips_expand_prologue, function_epilogue, mips16_constant,
+       build_mips16_function_stub, mips_output_conditional_branch):
+       Constify a char*.
+       (mips_va_start): Remove unused variable `u'.
+       (mips_va_arg): Cast value to unsigned when comparing against one.
+       (trace): Delete.
+       (save_restore_insns, mips_expand_prologue): Add missing arg in
+       call to `large_int'.
 
-       * emit-rtl.c (change_address): If reload has completed, don't call
-       memory_address.  Instead, abort if address is not valid.
+       * mips.h: Move prototypes to mips-protos.h.
+       (data_section, memory_address_p, rdata_section,
+       readonly_data_section, simple_epilogue_p, text_section): Delete
+       prototypes delcared elsewhere.
+       (mips_epilogue_delay_slots, print_options): Delete unused decls.
+       (trace): Delete.
+       (GO_PRINTF, GO_PRINTF2): Call fprintf, not trace.
 
-Thu Jul 12 20:41:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * mips.md: Delete extra args in call to `mips_move_2words'.
 
-       * calls.c (emit_call_1): Handle vax, without call and call_value.
+       * xm-iris6.h (alloca): Add prototype argument.
 
-Thu Jul 12 20:39:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * genpeep.c: Include "tm_p.h" in generated output file.
 
-       * cse.c (merge_equiv_classes): New function, from record_jump_equiv.
-       (record_jump_equiv): Use new function.
-       (gen_lowpart_if_possible): New function, based on gen_lowpart.
-       (cse_insn): In some cases of (set (subreg (FOO) 0) (BAR)), note
-       that (subreg BAR) is an equivalent of FOO.
-       * integrate.c (expand_inline_function): Likewise.
+Thu Sep 23 10:36:55 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * combine.c (subst): Check for constant in merge of shift into
-       ZERO_EXTRACT.
-       (gen_lowpart_for_combine): Look for SIGN_EXTEND or ZERO_EXTEND:
+       * basic-block.h (find_edge_index): Change parameters.
+       * flow.c (verify_edge_list): Pass basic_block parameters to
+       find_edge_index instead of integers.
+
+Thu Sep 23 15:54:12 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * combine.c (simplify_comparison): Use an unsigned shift to adjust
+       the constant.
 
-       * emit-rtl.c (gen_lowpart, gen_highpart): If passed a hard register,
-       return a new rtx for it in the proper mode, rather than a SUBREG.
+Thu Sep 23 08:46:21 1999  Guy Harris  <guy@netapp.com>
 
-Wed Jul 11 17:05:04 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * gcc.1: Fix a formatting error.
 
-       * cse.c (cse_insn): If already have a REG_WAS_0 note, don't make
-       another one.
-       Rework some loops on SETs to eliminate duplicate code and clean up
-       a bit.
+Wed Sep 22 16:10:21 1999  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
 
-       * rtlanal.c (refers_to_regno_p, reg_overlap_mentioned): Allow these
-       to work on pseudos as well as hard registers.
+       * install.texi (Configurations): Remove pyramid. Add fr30, i686,
+       i786, mn10200, mn10300, pdp11, v850.
 
-       * optabs.c (emit_no_conflict_block): Use reg_overlap_mentioned
-       to see if register is mentioned in insn.
+Thu Sep 23 07:37:13 1999  Dan Nicolaescu  <dann@ics.uci.edu>
 
-Wed Jul 11 16:56:01 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * libgcc2.c (num_digits): Add prototype with
+       __attribute__((const)).
+       (__terminate): Add prototype.
 
-       * jump.c (jump_optimize): Don't optimize jumps to store-flags
-       if after register allocation.  And don't do it if memref is used.
+Thu Sep 23 05:32:06 1999  Richard Henderson  <rth@cygnus.com>
 
-Wed Jul 11 16:12:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * builtins.c, dbxout.c, varasm.c: Include tm_p.h.
 
-       * emit-rtl.c ({next,prev}_nonnote_insn, prev_label, prev_cc0_setter):
-       New functions.
-       ({next,prev}_{real,active}_insn, next_label): Rework to allow
-       argument of zero; return zero in that case.
-       (next_active_insn, prev_active_insn): If reload is not yet complete,
-       do the same thing as next_real_insn and prev_real_insn.
-       (next_cc0_user): Fix some bugs and typos.
+       * alpha/alpha.c (print_operand): Fix type of `code'.
+       (alpha_output_filename): Constify.
+       * alpha/alpha.h: Move all function declarations ...
+       * alpha/alpha-protos.h: ... here.  New file.
+       * alpha/elf.h (CONST_SECTION_FUNCTION): Prototype the function.
+       (SECTION_FUNCTION_TEMPLATE): Likewise.
 
-       * rtlanal.c (reg_mentioned_p): Allow searches for labels to work.
+Thu Sep 23 11:15:36 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-Wed Jul 11 12:25:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * expmed.c (do_cmp_and_jump): Pass ccp_jump to can_compare_p.
+       * expr.c (expand_expr): Likewise.
+       (do_jump): Likewise.
+       (do_store_flag): Pass ccp_store_flag to can_compare_p.
+       * expr.h (enum optab_index): Add cbranch, cmov, cstore optabs and
+       accessor macros.
+       (enum can_compare_purpose): New.
+       (can_compare_p): Adjust prototype.
+       (prepare_cmp_insn, prepare_operand): Declare.
+       * genopinit.c (optabs): Add cbranch_optab, cmov_optab, cstore_optab.
+       * optabs.c (cmp_available_p): Deleted.
+       (expand_abs): Pass ccp_jump to can_compare_p.
+       (can_compare_p): New arg PURPOSE.  Check for combined optabs.
+       (prepare_cmp_insn): No longer static.  Add arg PURPOSE.
+       Call can_compare_p rather than cmp_available_p.
+       (prepare_operand): No longer static.
+       (emit_cmp_and_jump_insn): Check for and use cbranch patterns.
+       (emit_cmp_and_jump_insns): Pass ccp_jump to prepare_cmp_insn.
+       (expand_float): Fix a slightly broken emit_cmp_insn/emit_jump_insn
+       sequence to use emit_cmp_and_jump_insns.
+       (init_optabs): Initialize cbranch_optab, cmov_optab, cstore_optab.
 
-       * c-decl.c (duplicate_decls): In prev fix, use TREE_PUBLIC both times.
+Wed Sep 22 17:58:01 1999  Stan Cox  <scox@cygnus.com>
 
-Tue Jul 10 22:54:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * mips.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept large
+       register offsets; let LEGITIMIZE_ADDRESS load it into a register.
+       (LEGITIMIZE_ADDRESS): Use plus_constant to avoid
+       (plus (reg) (const_int 0))
+       * mips.md (call_internal3c): New pattern for -mips16 -mlong-calls.
 
-       * rtl.def (trap): New code.
+Wed Sep 22 17:55:31 1999  David Edelsohn  <edelsohn@gnu.org>
 
-Tue Jul 10 17:48:26 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * rs6000.c (expand_block_move): DImode loads and stores require
+       word-aligned displacements.  Increment address registers with
+       adddi3 on 64-bit platform.  Use TARGET_POWERPC64 not TARGET_64BIT.
 
-       * tree.c (integer_zerop, integer_onep, integer_all_onesp): Look inside
-       a NON_LVALUE_EXPR.
-       (real_zerop, real_onep, simple_cst_equal): Likewise.
+Wed Sep 22 17:35:55 1999  Michael Meissner  <meissner@cygnus.com>
 
-Tue Jul 10 17:05:50 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * dwarf2out.c (base_type_die): Use the name __unknown__ if there
+       is no name for the base type, rather than segfault.  If we are
+       writing out a complex integer type, use DW_ATE_lo_user.
 
-       * c-parse.y, objc-parse.y, cplus-lex.c (yylex):
-       Terminate token_buf after integer.
+       * expr.c (emit_move_insn_1): If we are copying a complex that fits
+       in one word or less (complex char, complex short, or on 64 bit
+       systems complex float) to/from a hard register, copy it through
+       memory instead of dying in gen_{real,imag}part.  If we have a
+       short complex type, prevent inlining since it allocates stack
+       memory.
 
-Mon Jul         9 15:22:22 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * tree.c (build_complex_type): If we are writing dwarf2 output,
+       generate a name for complex integer types.
 
-       * c-decl.c (duplicate_decls): Correct test for extern followed by
-       static function declaration.
+Wed Sep 22 11:34:08 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
 
-Mon Jul         9 14:13:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * basic-block.h (add_noreturn_fake_exit_edges): Use correct name.
+       * flow.c (remove_edge): Remove extra whitespace.
+       (remove_fake_edges): Fix comment.
+       (add_noreturn_fake_exit_edges): Use the correct name.
 
-       * c-decl.c (grokdeclarator): Move warning and error
-       about initializer with extern to the same place.  Do one or the other.
+Wed Sep 22 16:12:40 BST 1999  Nathan Sidwell  <nathan@acm.org>
 
-       * rltanal.c (reg_mentioned_p): Don't look inside a CONST_DOUBLE.
+       * Makefile.in (INTL_MOSTLYCLEAN, INTL_CLEAN): New variables.
+       (mostlyclean): Depend on INTL_MOSTLYCLEAN.
+       (clean): Depend on INTL_CLEAN.
+       (maintainer-clean): Adjust.
 
-Sun Jul         8 14:12:21 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Sep 22 10:18:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * toplev.c (pedwarn, pedwarn_with_file_and_line, pedwarn_with_decl):
-       New functions.
-       (flag_pedantic_errors): New variable controls them.
-       * c-decl.c, c-parse.y, c-typeck.c: Use new functions for many warnings.
-       * varasm.c: Likewise.
-       * gcc.c (default_compilers): Pass -pedantic* to cc1, cpp, etc.
-       * cccp.c (pedwarn): New function.  Many calls to `warning' changed.
+       * configure.in (AC_PREREQ): Bump to 2.13.
+       (AC_C_STRINGIZE): Call this instead of using a custom macro.
 
-       * c-common.c (c_expand_expr_stmt): New function.
-       Error about incomplete type moved here.
-       * expr.c (expand_expr): Error deleted from here.
-       * c-parse.y: Use c_expand_expr_stmt where suitable.
+       * gansidecl.h (HAVE_STRINGIZE): Define, if stage2 gcc && __STDC__.
 
-       * flow.c (propagate_block): Set following_insn_dead on insn after test.
-       (mark_used_regs): Test that var; don't call insn_dead_p here.
+       * system.h (HAVE_STRINGIZE): Test this instead of HAVE_CPP_STRINGIFY.
 
-Fri Jul         6 13:05:01 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * acconfig.h (HAVE_CPP_STRINGIFY): Delete.
 
-       * c-typeck.c (build_indirect_ref):
-       No error if result is incomplete array.
+       * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Delete.
+       (HAVE_STRINGIZE): Define.
 
-       * expmed.c (store_bit_field, extract_bit_field): New arg TOTAL_SIZE.
-       Don't extract a bigger unit from memory than this.
-       * expr.c: Callers changed.
-       (store_field): New arg TOTAL_SIZE; callers changed.
+Wed Sep 22 06:25:15 1999  Jim Kingdon  <http://developer.redhat.com>
 
-       * out-ns32k.c (print_operand_address): Changes from Ian Dall.
-       * xm-ns32k.h: Use built in alloca.
-       * ns32k.md (ashlsi3): Don't forget to return a value.
-       (movsf): Output floating constants only if GAS_SYNTAX.
-       (call, call_value): Support JSR_ALWAYS.
-       Change handling of bsr if GAS_SYNTAX.
-       (bit test patterns): Use g constraint for op1 and rm for op0.
+       * c-parse.in: save and restore warn_pointer_arith on __extension__
+       along with pedantic.
+       (SAVE_WARN_FLAGS, RESTORE_WARN_FLAGS): Added.
+       Set the type of extension to itype rather than $<itype>1 kludge.
+       * extend.texi (Alternate Keywords): Adjust documentation.
+       * c-parse.c, c-parse.y, objc-parse.c, objc-parse.y: Rebuilt.
 
-Thu Jul         5 21:53:10 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Sep 22 06:06:57 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * c-typeck.c (build_c_cast): Don't do implicit arithmetic conversions.
-       * fold-const.c (fold): Don't combine two conversions if one is
-       signed and the other is unsigned.
-       * integrate.c (copy_parm_decls): Finish making last change.
+       * pa.c, pa.h, pa.md: Support multiple assembler dialects in
+       most assembler templates.
 
-Thu Jul         5 18:26:03 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * pa.c (hppa_legitimize_address): Handle full offsets for PA2.0
+       FP loads and stores.
+       (following_call): Always return zero for the PA8000.
+       * pa.h (GO_IF_LEGITIMATE_ADDRESS): Handle full offsets for PA2.0
+       FP loads and stores.
+       (LEGITIMIZE_RELOAD_ADDRESS): Similarly.
 
-       * expr.c (safe_from_p): If EXP is readonly memory, any memory location
-       is safe from it.
+       * pa.h (BRANCH_COST): Define.
 
-Thu Jul         5 15:05:19 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * pa.md (return, return_internal): Use bve for PA2.0.
 
-       * gnulib2.c (__fixunsdfsi): Change > to >=.
+       * pa.md (fused multiply): Add variants which reduce height for the
+       fused multiply, but which still generate 2 insns.
+       (fnegabs): Similarly.
 
-       * c-decl.c (start_struct, start_enum): Set C_TYPE_BEING_DEFINED.
-       (grokdeclarator): Don't warn of array if elt type being defined.
+       * pa.md (subsi3): Turn into an expander.  Create two anonymous
+       patterns.  One for PA2.0 one for PA1.x.  Use mtsarcm for PA2.0.
+       * pa.h (EXTRA_CONSTRAINT): Handle 'S'.
 
-       * c-typeck.c (build_conditional_expr): Handle ((void *) 0).
-       Allow 0 versus function pointer.
+       * pa.md (floatunssisf2, floatunssidf2): Generate different RTL
+       for TARGET_PA_20.
+       (floatunssidf2_pa20, floatunssisf2_pa20): New patterns for PA2.0
+       code generation.
+       (floatunsdisf2, floatunsdidf2, fixuns_truncsfsi2): Likewise.
+       (fixuns_truncdfsi2, fixuns_truncsfdi2, fixuns_truncdfsi2): Likewise.
 
-Thu Jul         5 08:05:09 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * regclass.c (init_regs): Add "top_of_stack" as a garbage
+       collection root.
 
-       * cse.c (cse_insn): If machine has post-increment, don't associate
-       PLUS operations if they are both adding the same constant that is
-       a power of two.  Similarly for post-decrement.
+       * flow.c (record_active_eh_regions): Terminate loop after finding
+       the last insn in the last basic block.
 
-Wed Jul         4 19:04:20 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Sep 22 20:25:00 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * flow.c (mark_used_regs): Don't scan a comparison if the following
-       insn that uses the cc's is dead.
+       * config/c4x/c4x.md: Delete parallel instruction peepholes.
 
-       * flow.c (propagate_block): If cc-using insn is dead, so is previous.
+Wed Sep 22 19:59:19 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * expmed.c (emit_store_flag): New function.
+       * config/c4x/c4x.c (c4x_add_gc_roots): Add tree roots.
 
-Wed Jul         4 18:45:04 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Wed Sep 22 19:56:25 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * c-typeck.c (common_type, comptypes, default_conversion):
-       Use TYPE_READONLY in type to indicate const type; use TREE_READONLY
-       in decl to indicate object will never change.
-       (build_unary_op, readonly_warning, build_modify_expr): Likewise.
-       (c_expand_asm_operands): Likewise.
-       * cplus-class.c (finish_struct_bits): Likewise.
-       * cplus-cvt.c (build_type_conversion): Likewise.
-       * cplus-type2.c (readonly_warning_or_error): Likewise.
-       * cplus-typeck.c (default_conversion, build_unary_op): Likewise
-       (build_modify_expr, c_expand_asm_operands): Likewise.
+       * config/c4x/c4x.c (c4x_process_after_reload): Rework machdep insn
+       splitting to not use output template.
 
-       * cplus-cvt.c (popclass): When making INDIRECT_REF, don't set
-       TREE_READONLY from TYPE_READONLY.
+Wed Sep 22 19:50:12 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-Wed Jul         4 15:16:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/c4x/c4x.h (EXPAND_BUILTIN_VA_START): Call c4x_va_start.
+       * config/c4x/c4x.c (c4x_va_start): New function.
 
-       * jump.c (jump_optimize): Fix bugs in last change.
+Tue Sep 21 18:40:01 1999  Jan Hubicka  <hubicka@freesoft.cz>
 
-Wed Jul         4 07:52:53 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * genrecog.c (not_both_true): Handle correctly cases when called for
+       tests with different positions in the insn.
 
-       * expr.c (expand_expr, case COMPONENT_REF): Delete extraneous test
-       for structure-value stack slot, which no longer exists.
+Tue Sep 21 18:29:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * reload1.c (bad_spill_regs): Should be static.
+       * machmode.h (HOST_PTR_PRINTF): Move from here ...
 
-       * combine.c (subst, gen_lowpart_for_combine): Propagate
-       RTX_UNCHANGING_P when making a new MEM.
-       * c-typeck.c, cplus-typeck.c (build_indirect_ref): ANSI says that
-       de-reference of pointer-to-const is not readonly so don't set
-       RTX_UNCHANGING_P.
-       * explow.c (validize_mem): Use change_address so flags get copied
-       to new MEM.
-       * expr.c (convert_move, block_block_{to,from}_reg, emit_move_insn):
-       Likewise.
-       (do_tablejump): Set RTX_UNCHANGING_P in MEM accessing address table.
-       * function.c (optimize_bit_field, instantiate_virtual_regs_1):
-       Preserve flags when making new MEM.
-       * loop.c (invariant_p): Memory references to an invariant address
-       are invariant if RTX_UNCHANGING_P is set.
-       * recog.c (adj_offsettable_operand): Propagate RTX_UNCHANGING_P
-       when making new MEM.
-       * reload.c (find_reloads_toplev): Likewise.
-       * reload1.c (alter_reg): Stack slot is readonly if pseudo was.
-       (eliminate_regs): Propagate RTX_UNCHANING_P in new MEM.
-       * varasm.c (force_const_double_mem): Set RTX_UNCHANGING_P in new MEM.
+       * system.h (HOST_PTR_PRINTF): ... to here.
 
-Tue Jul         3 21:50:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * mips-tfile.c: Don't include machmode.h.
 
-       * expmed.c (expand_and): New function.
+       * Makefile.in (MACHMODE_H): New variable.  Update to use it.
+       (mips-tfile.o): Don't depend on machmode.h.
 
-       * stmt.c (expand_expr_stmt): 
-       If value is volatile, fetch it and then ignore it.
+Tue Sep 21 18:27:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * expr.c (expand_expr): Error if variable type is incomplete.
+       * haifa-sched.c (sched_analyze): Rename local variable `region' to
+       avoid conflicts with typedef struct `region' at the top level scope.
 
-       * c-decl.c (grokdeclarator): Don't warn of incomplete array in typedef.
+Tue Sep 21 14:14:50 1999  Richard Henderson  <rth@cygnus.com>
 
-Tue Jul         3 18:03:24 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * basic-block.h (basic_block): Add eh_beg, eh_end.
+       * flow.c (entry_exit_blocks): Update.
+       (find_basic_blocks): Don't allocate bb_eh_end, or pass it around.
+       Call new functions.
+       (find_basic_blocks_1): Don't record eh_list at each bb.  Use
+       lists.c functions to allocate insn lists.
+       (make_edges): Use eh_beg+eh_end, not the lists.  Split out EH
+       edge creation ...
+       (make_eh_edge): ... here.  New.
+       (move_stray_eh_region_notes): New.
+       (record_active_eh_regions): New.
+       (delete_unreachable_blocks): Split out block merging ...
+       (try_merge_blocks): ... here.  New.
+       (merge_blocks_move_predecessor_nojumps): Remove edge arg.
+       Dump debugging data.
+       (merge_blocks_move_successor_nojumps): Likewise.
+       (merge_blocks): Use eh_beg+eh_end to validate block movement.
 
-       * fold-const.c (fold): Convert "(1 << foo) & bar" to "(bar >> foo) & 1"
-       In "(a & 1) != 0", can convert to simply "a & 1".
-       * combine.c (subst): Convert branch on sign bit to signed comparison
-       with zero (possibly adding a SUBREG).
-       Convert ZERO_EXTRACT of the low-order bit of a right shift into a
-       ZERO_EXTRACT of the proper bit.
+Tue Sep 21 11:15:03 1999  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
 
-Mon Jul         2 12:07:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * extend.texi (Bound member functions): Document unbound pmf
+       conversion.
 
-       * jump.c (jump_optimize): Convert conditionals for storing one
-       value into a store-flags insn.
+Tue Sep 21 14:55:11 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * vax.md (call_pop, call_value_pop): New names for call patterns.
-       Include the popping explicitly in the rtl. 
+       * flow.c (split_edge): Handle insertion on a fallthrough edge which
+       has the EXIT_BLOCK as a dest.
 
-       * jump.c (jump_optimize): Delete case for condjump followed
-       by unconditional to same label; was special case of another case.
-       Switch back to next_active_insn or prev_active_insn in a few cases.
+Tue Sep 21 14:51:23 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * function.c (init_function_start): Initialize
-       frame_pointer_needed to zero.
+       * flow.c (remove_edge): New function to remove an edge from the
+       flow graph.
+       (remove_fake_successors): New function to remove fake successor edges.
+       (remove_fake_edges): New function to remove all fake edges from the
+       flow graph.
+       (add_fake_exit_edges): New function to add fake edges from all blocks
+       with no successors to the exit block.
+       * basic-block.h (remove_fake_edges, add_fake_exit_edges): Add
+       prototypes for new functions.
 
-       * i386.md (tstsf): Clobber reg 0 in SImode.
+Tue Sep 21 14:49:53 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
 
-Sun Jul         1 14:31:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/mips/elf64.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
+       Use Pmode to determine whether to output .dword or .word.
 
-       * jump.c: Use next_real_insn instead of next_active_insn.
-       Likewise for prev_active_insn.  USE insns make a difference!
+Tue Sep 21 11:04:34 1999  Alex Samuel  <samuel@codesourcery.com>
 
-       * function.c (assign_stack_temp): Use largest alignment if BLKmode.
+       * tree.c (built_in_filename): New variable.
+       (BUILT_IN_FILENAME): New macro.
+       (init_tree_codes): Allocate built_in_filename.
+       (make_node): Use built_in_filename instead of string constant.
 
-       * stddef.h: Check __SIZE_T also.
+Tue Sep 21 14:13:27 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * toplev.c: Include types.h first.
+       * configure.in: Add fr30 target.
+       * configure: Regenerate.
+       * config/fr30: New directory.
+       * config/fr30/crti.asm: New file.
+       * config/fr30/fr30.c: New file.
+       * config/fr30/crtn.asm: New file.
+       * config/fr30/fr30.h: New file.
+       * config/fr30/fr30.md: New file.
+       * config/fr30/lib1funcs.asm: New file.
+       * config/fr30/t-fr30: New file.
+       * config/fr30/xm-fr30.h: New file.
 
-       * i386.md (trunc*2): Don't allow moving symbolic constant to memory.
-       Use wider move only for symbolic constant.
+Tue Sep 21 06:45:31 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-convex.h (LINK_SPEC): Posix link flags.
-       * tm-convex.h (STARTFILE_SPEC): Posix start files.
-       * tm-convex[12].h (CPP_SPEC): Posix defines.
-       * tm-convex[12].h (LIB_SPEC): Posix libraries.
-       * tm-conv[12]os7.h: New files.
-       * config.gcc: use tm-conv*os7 if /usr/include/stdlib.h isn't there.
+       * flow.c (merge_blocks_move_successor_nojumps): Delete the
+       BARRIER at the end of the successor, not the BARRIER before
+       the successor.
 
-       * xm-convex.h (S_IFMT, S_IFREG): make visible if hidden for posix.
-       * xm-convex.h (_PROTO): define to keep 8.0 includes from screwing up.
+       * pa.c (pa_add_gc_roots): Fix thinko in last change.
 
-       * tm-convex.h (ASM_OUTPUT_{FLOAT,DOUBLE}, PRINT_OPERAND):
-         use %e instead of %#g, which is broken or non-posix.
+Tue Sep 21 05:29:17 1999  Richard Earnshaw (rearnsha@arm.com)
 
-       * tm-convex.h (current_section_is_text): make extern.
-       * out-convex.c (current_section_is_text): define here.
-       * tm-convex.h (OVERRIDE_OPTIONS), out-convex.c (override_options):
-         useless; remove.
-       * tm-convex.h (CPP_PREDEFINES): remove parsec, long gone from
-         system includes.
+       * stmt.c (any_pending_cleanups): Don't crash when
+       current_function->stmt is unset.
 
-Sat Jun 30 14:01:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Sep 21 00:59:49 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
-       * c-decl.c (pending_xref_error): Fix typo in arg order.
+       * emit-rtl.c (init_emit_once): Initialize const_int_rtx before
+       other initializations that may use it for relative offsets.
 
-       * cccp.c (do_include): Mention non-ex system headers for -M.
-       Guess the directory.
-       (check_macro_name): Should not be static.
+Mon Sep 20 21:43:25 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
-       * rtl.def (inline_header): Add a vector at the end.
-       * rtl.h (ORIGINAL_ARG_VECTOR): New macro.
-       (RTVEC_ELT): New macro.
-       * emit-rtl.c (gen_inline_header_rtx): New argument for that vector.
-       * integrate.c (save_for_inline): Copy arg rtls if nec, then make
-       an arg vector to put in the header.
-       (expand_inline_function): Look in that vector for the rtl.
-       (copy_parm_decls): Likewise.
+       * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Use stabs.
+       (ASM_SPEC): Moved from sol2dbg.h.  Added work-around for gas.
+       * config/i386/sol2dbg.h: Removed.
+       * config/i386/sol2gas.h: New file, to enable gas work-around.
+       * configure.in: Use i386/sol2gas.h on Solaris/x86 --with-gas.
+       Don't use sol2dbg.h.
+       * configure: Rebuilt.
 
-       * c-decl.c (duplicate_decls): Warn if function declared external
-       and later static.
+Mon Sep 20 13:29:41 1999  Mark Mitchell  <mark@codesourcery.com>
 
-Fri Jun 29 13:29:24 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * invoke.texi (-fthis-is-variable): Remove documentation.
 
-       * cccp.c (handle_directive): Supply missing *.
+Mon Sep 20 12:59:16 1999  Richard Henderson  <rth@cygnus.com>
 
-Thu Jun 28 21:39:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * basic-block.h (compute_bb_for_insn): Declare.
+       * flow.c (compute_bb_for_insn): Export.  Don't accept the varray
+       to use; set size of basic_block_for_insn directly.
+       (find_basic_blocks): Update.
 
-       * m68k.md (muldf3 for 68881): Generate fscale if appropriate.
-       * out-m68k.c (floating_exact_log2): New function.
+Mon Sep 20 15:11:54 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Wed Jun 27 17:19:36 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * flow.c (verify_flow_info): Fix typo, "abort;" -> "abort ();".
 
-       * c-decl.c (finish_struct): New handling of zero-width bit fields.
-       Store appropriate data in them like other bit fields.
-       Don't delete them until after layout.
-       Don't mess with alignment of following field; set its own.
-       If PCC_BITFIELD_TYPE_MATTERS, get alignment from type.
-       * stor-layout.c (layout_record): For zero-width field, if
-       PCC_BITFIELD_TYPE_MATTERS, alignment does not affect that of structure.
-       (layout_decl): Don't abort for zero-width if no name.
+Mon Sep 20 14:56:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * function.c (expand_function_start):
-       Output ...FUNCTION_BEG note here, after assign_parms.
-       (init_function_start): Not here.
+       * crtstuff.c (ON_EXIT): Delete empty macro definition.
+       (__do_global_ctors_aux): Call atexit(), not ON_EXIT().
 
-       * sdbout.c (sdbout_record_type_name): Conditionalize for 
-       SDB_ALLOW_FORWARD_REFERENCES.  Don't use typedef names, just tags.
-       (sdbout_begin_block): Likewise.
-       (plain_type_1): Likewise.  Also move code to output structure size.
-       (sdbout_symbol): Output the type if not yet output.
-       Don't output top-level initialized variables yet.
-       Avoid crash if variable never got any rtl.
-       Add conditional for SDB_AUTO_NORMALIZE_OFFSET.
-       (sdbout_toplevel_data, sdbout_queue_anonymous_type): 
-       (sdbout_dequeue_anonymous_type): New functions.
-       (sdbout_tags): Reverse the list first.
-       Output enums before other things.
-       (sdbout_reg_parm): Fake a name if necessary.  Use C_REGPARM.
-       * toplev.c (compile_file): Call sdbout_toplevel_data.
+Mon Sep 20 15:25:35 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * c-typeck.c (convert_for_assignment): Disable warnings for pointers
-       to const and volatile functions.
+       * c-decl.c (c_decode_option): Extend comment.
 
-       * expr.c (expand_expr): Mark variable as used.
+Mon Sep 20 14:43:37 1999  Nick Clifton  <nickc@cygnus.com>
 
-Tue Jun 26 17:05:00 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * toplev.c (progname): Make 'const char *'
+       (flag_print_mem): Move out of main.
+       (version_flag): Move out of main.
+       (filename): Move out of main.
+       (debug_args): Remove g prefix from options.
+       (documented_lang_options): Remove cpplib specific options.
+       (display_help): Add g prefix to debug options.
+       (check_lang_option): Delete this function.
+       (decode_d_option): New function: Decode -d... option.
+       (decode_f_option): New function: Decode -f... option.
+       (decode_W_option): New function: Decode -W... option.
+       (decode_g_option): New function: Decode -g... option.
+       (independent_decode_option): New function: Decode a language
+       independent command line option.
+       (main): Invoke lang_decode_option and then
+       independent_decode_option on each command line option in
+       turn.
 
-       * tm-sparc.h (LINK_SPEC): Delete spurious `-'.
+Mon Sep 20 05:41:36 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Handle minus zero.
-       (ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
+       Revert this change.  Gavin's patch to operand_equal_p is a better fix.
+        * fold-const.c (fold_range_test): Do not try to fold the range
+        test if the rhs or lhs has side effects.
 
-       * stor-layout.c (layout_type): Check TYPE_NO_FORCE_BLK in union fields.
+       * basic-block.h (compute_flow_dominators): Declare.
 
-Tue Jun 26 01:48:57 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * gcse.c (alloc_code_hoist_mem): New function.
+       (free_code_hoist_mem, compute_code_hoist_vbeinout): Likewise.
+       (compute_code_hoist_data, hoist_expr_reaches_here_p): Likewise.
+       (hoist_code, one_code_hoisting_pass): Likewise.
+       (gcse_main): If optimizing for size, then hoist expressions
+       computed in multiple dominated basic blocks.
 
-       * tree.c (dump_tree_statistics): Dummy function.  To be filled in
-       later when we decide what tree statistics should be measured.
-       (build): Now ok to take arguments of length 1.  `build1' cannot be
-       used to allocate 's' tree nodes whcih might have length 1.
+       * gcse.c (invalid_nonnull_info): New function.
+       (delete_null_pointer_checks): Likewise.
+       * rtl.h (delete_null_pointer_checks): Declare.
+       * toplev.c (rest_of_compilation): Call delete_null_pointer_checks.
 
-       * All GNU C++ files updated to 1.37.2 (alpha 2).  NOTE: cplus-decl.c
-       needs to be fixed to not us RTL.  I'm leaving this file in its
-       current state so that the GNU C++ compiler at least compiles.
+       * flow.c (merge_blocks_move_predecessor_nojumps): New function.
+       (merge-blocks_move_successor_nojumps): Likewise.
+       (merge_blocks): Allow merging of some blocks, even if it requires
+       physical movement of the blocks, but not if it requires new jumps.
 
-       * All SPARC files: modified to use registers %f30 and %f31 as
-       temporaries for holding floating-point zero.  Used to use %f0 and
-       %f1, which made it impossible to compare function return values with
-       zero.
+       * bitmap.c (debug_bitmap_file): Renmaed from bitmap_debug_file.
+       Callers and prototype changed.
+       * bitmap.h: Fix debug_bitmap and debug_bitmap_file prototypes.
 
-Mon Jun 25 16:54:13 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Sep 20 06:56:32 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
-       * function.c (init_function_start): New args give file/line for first note.
-       * c-decl.c (store_parm_decls): Pass them.
-       * integrate.c (output_inline_function): Pass dummies for them.
-       * final.c (final_start_function): For sdb, don't output a line number, 
-       just set last_linenum.
+       * config/sparc/sol2.h (LINK_SPEC): Avoid the duplication of
+       -YP when both -p and -pg are present.  From i386/sol2.h.
 
-       * c-parse.y (hash, is_reserved_word): New keyword __label__.
+Mon Sep 20 10:49:05 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * stddef.h: Check _T_SIZE as well as _SIZE_T.
+       * Makefile.in (distclean): Delete tm_p.h.
+       * configure.in: Create a new file, "tm_p.h", from a list in
+       "tm_p_file". For ix86 systems, set up "tm_p_file" to include
+       "i386/i386-protos.h".
 
-Sun Jun 24 16:09:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * alias.c: Include "tm_p.h".
+       * c-typeck.c: Likewise.
+       * calls.c: Likewise.
+       * cse.c: Likewise.
+       * emit-rtl.c: Likewise.
+       * explow.c: Likewise.
+       * expmed.c: Likewise.
+       * expr.c: Likewise.
+       * final.c: Likewise.
+       * flow.c: Likewise.
+       * fold-const.c: Likewise.
+       * function.c: Likewise.
+       * gcse.c: Likewise.
+       * global.c: Likewise.
+       * haifa-sched.c: Likewise.
+       * integrate.c: Likewise.
+       * jump.c: Likewise.
+       * local-alloc.c: Likewise.
+       * loop.c: Likewise.
+       * optabs.c: Likewise.
+       * recog.c: Likewise.
+       * reg-stack.c: Likewise.
+       * regclass.c: Likewise.
+       * regmove.c: Likewise.
+       * reload.c: Likewise.
+       * reload1.c: Likewise.
+       * reorg.c: Likewise.
+       * resource.c: Likewise.
+       * stmt.c: Likewise.
+       * stor-layout.c: Likewise.
+       * toplev.c: Likewise.
+       * tree.c: Likewise.
+       * unroll.c: Likewise.
+       * genattrtab.c (main): Make generated file include "tm_p.h".
+       * genemit.c (main): Likewise.
+       * genoutput.c (main): Likewise.
+       * genrecog.c (main): Likewise.
+
+       * i386.h: Delete all prototypes.
+       * i386.c: Include "tm_p.h".
+       (ix86_attr_length_default): Call constant_call_address_operand
+       with correct number of arguments.
+       * i386-protos.h: New file.
+       * i386.md (unnamed patterns): Call constant_call_address_operand
+       with correct number of arguments.
+       (exception_receiver): Call load_pic_register with correct number
+       of arguments.
+
+Sun Sep 19 14:18:39 1999  Richard Henderson  <rth@cygnus.com>
+
+       * c-pragma.c (mark_align_stack): Dereference the void* properly.
+
+Sun Sep 19 09:03:40 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * rtl.h (insns_safe_to_move_p): New function.
+       * loop.c (find_and_verify_loops): Use it.
+       * rtlanal.c (insns_safe_to_move_p): Define it.
+
+Sun Sep 19 02:54:33 1999  Richard Henderson  <rth@cygnus.com>
+
+       * c-pragma.c: Include ggc.h.
+       * Makefile.in (c-pragma.o): Update.
+
+Sat Sep 18 16:01:18 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+       * config/i386/sol2.h (CPP_SPEC): Support -[p]threads
+       (LIB_SPEC): Likewise.
+       (LINK_SPEC): Do not assert -z text with -shared -mimpure-text.
+       Reindent -YP/-p/-pg.
+       Copied from config/sparc/sol2.h.
+
+Sat Sep 18 11:52:43 1999  Richard Henderson  <rth@cygnus.com>
+
+       * c-pragma.c (mark_align_stack): New.
+       (init_pragma): New.
+       * c-pragma.h (init_pragma): Declare it.
+       * c-lex.c (init_parse): Call it.
+
+Sat Sep 18 15:20:38 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+       * configure.in: Pick up thread library on Solaris/x86 just
+       like on Solaris/sparc.
+       * configure: Rebuilt.
+
+Sat Sep 18 11:15:58 1999  Alex Samuel  <samuel@codesourcery.com>
+
+       * rtl.h (global_rtx_index): New enum.
+       (global_rtl): Change to array of rtx.
+       (pc_rtx, cc0_rtx): Redefine accordingly.
+       (cc0_rtx, stack_pointer_rtx, frame_pointer_rtx): Likewise.
+       (hard_frame_pointer_rtx, arg_pointer_rtx): Likewise.
+       (virtual_incoming_args_rtx, virtual_stack_vars_rtx): Likewise.
+       (virtual_outgoing_args_rtx, virtual_cfa): Likewise.
+       (const_int_rtx): Change to array of rtx.
+       (const0_rtx, const1_rtx, const2_rtx, constm1_rtx): Redefine
+       accordingly.
+       * emit-rtl.c (global_rtl): Change to array of rtx.
+       (const_int_rtx): Change to aray of rtx.
+       (gen_rtx_CONST_INT): Redefine accordingly.
+       (init_emit_once): Allocate and initialize global_rtl.  Likewise
+       for const_int_rtx.  Add both as GC roots.
+       * genattrtab.c (global_rtl): Update declaration.
 
-       * expr.c (expand_expr): Do preserve_temp_slots for TARGET_EXPR.
+1999-09-17  Ulrich Drepper  <drepper@cygnus.com>
 
-Sat Jun 23 09:52:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * Makefile (USER_H): Add iso646.h back.
 
-       * genpeep.c (gen_peephole): Ignore USE and CLOBBER insn as well as
-       NOTE when matching peephole.
+Sat Sep 18 01:07:21 1999  Jeffrey A Law  (law@cygnus.com)
 
-Fri Jun 22 17:40:56 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * haifa-sched.c (sched_analyze): Use free_INSN_LIST_list instead of
+       zapping the LOG_LINKS of sched_before_next_call.
 
-       * c-typeck.c (process_init_constructor): Set up TREE_PURPOSE
-       in record constructor elements.
+       * pa.h (INSN_SETS_ARE_DELAYED): Delete.
+       * pa.c (insn_refs_are_delayed): Renamed from
+       insn_sets_and_refs_are_delayed.
 
-       * cexp.y (exp1): If pedantic, warn about commas.
-       (tokentab2): Add entries for ++ and --.
-       (yylex): Error if those are used.
+Fri Sep 17 15:19:01 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * c-decl.c (lookup_tag): For wrong kind of type, just set flag.
-       (shadow_tag): Clear the flag.
-       (pending_xref_error): Print the error message here if flag set.
-       * c-parse.y (setspecs): Call that.
+       * functiion.h (struct function): Add x_whole_function_mode_p.
+       (retrofit_block): Declare.
+       * function.c (retrofit_block): New function.
+       (identify_blocks): Add assertions.  Allow an incomplete set of
+       block notes if we're still generating code for the function.
+       * integrate.c: Include loop.h.
+       (expand_inline_function): Call find_loop_tree_blocks to map block
+       notes to blocks when in whole-function mode.  Use retrofit_block
+       to insert new BLOCKs for the inlined function, rather than
+       insert_block.
+       * stmt.c (expand_fixup): Likewise.  Don't use pushlevel/polevel.
+       * Makefile.in (integrate.o): Depend on loop.h.
 
-       * calls.c (emit_call_1): Use call_pop and call_value_pop insns
-       to record when the called function pops its args.
+Fri Sep 17 15:11:20 1999  Mark Mitchell  <mark@codesourcery.com>
 
-Fri Jun 22 16:43:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * tree.h (warn_about_unused_variables): Declare.
+       * stmt.c (warn_about_unused_variables): New function, split out
+       from ...
+       (expand_end_bindings): Here.
 
-       * local-alloc.c (wipe_dead_reg): Remove REG_DEAD note for unset reg.
+Fri Sep 17 15:07:37 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * tm-sparc.h: Replace FIX_FRAME_POINTER_ADDRESS with
-       INITIAL_FRAME_POINTER_OFFSET.
+       * stmt.c (preserve_subexpressions_p): Don't crash when
+       current_function->stmt is unset.
 
-       * tm-vax.h (RTX_COSTS): Show shifts are relatively expensive.
+Fri Sep 17 15:03:16 1999  Mark Mitchell  <mark@codesourcery.com>
 
-Fri Jun 22 15:05:24 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * stmt.c (expand_start_bindings): Allow callers to pass a flag
+       indicating that no NOTE_INSN_BLOCK_BEG note is required.
+       (expand_start_target_temps): Use it.
+       * except.c (expand_eh_region_start_for_decl): Likewise.
+       * expr.c (expand_expr): Likewise.
 
-       * Makefile.in (GEN): New variable.
-       (P): New variable.
-       (cc1, cc1plus, cc1obj): Use $(P).
+Fri Sep 17 15:05:27 1999  Gavin Romig-Koch  <gavin@cygnus.com>
 
-       * cccp.c (check_macro_name): New subroutine taken from do_define.
-       (do_define, do_undef): Use this.
-       (do_undef): Warn if junk follows name.
-       (handle_directive): Always ignore empty directive.
-       Warn if \f or \v in directive.  Error for malformed directive name.
+       * fold-const.c (operand_equal_p): Pay attention to side effects.
 
-       * tree.h (BUILT_IN_NEXT_ARG): Define it.
-       * c-decl.c (init_decl_processing): Declare __builtin_next_arg.
-       * expr.h (current_function_arg_offset_rtx): Declare it.
-       * function.c (assign_parms): Set that variable at end.
-       * expr.c (expand_builtin): Implement __builtin_next_arg.
-       * stdarg.h (va_start): Use __builtin_next_arg.
+Fri Sep 17 11:14:17 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * c-decl.c (grokdeclarator): Check for TRADITIONAL_RETURN_FLOAT.
+       * libgcc2.c (L_exit): Check for ON_EXIT, not HAVE_ON_EXIT.
+       * sparc/sunos4.h (HAVE_ON_EXIT): Remove.
 
-Fri Jun 22 07:07:53 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * tlink.c (scan_linker_output): Look for keywords before accepting
+       a mangled name in quotes.
 
-       * final.c (final_scan_insn): Put label for jump table in same section
-       (read-only data) as jump table.
+Thu Sep 16 16:47:08 1999  Richard Henderson  <rth@cygnus.com>
 
-       * loop.c: Allow tm.h to define ..._BENEFIT and COPY_PENALTY.
+       * alpha/alpha-interix.h (DWARF2_UNWIND_INFO): Define to zero.
+       * alpha/osf2or3.h (DWARF2_UNWIND_INFO): Likewise.
 
-Wed Jun 20 13:03:53 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Sep 16 16:35:41 1999  Richard Henderson  <rth@cygnus.com>
 
-       * tm-apollo68.h (FUNCTION_ARG_PADDING): Never pad.
-       (STACK_BOUNDARY): Make it 32.
-       (CPP_SPEC): Add spaces.  Define _APOLLO_SOURCE if not -ansi.
+       * alpha.md: Revert Thu Nov 26 change that came in through the
+       last gcc2 merge: reinstate (plus (plus ...)) reload patterns.
+       Avoid earlyclobber when possible.
 
-       * c-common.c (check_case_value): New function.
-       * c-parse.y (stmt, when parsing case): Use that.
-       Add new rule for case range.
+Thu Sep 16 18:44:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * reload1.c (reload_inheritance_insn): New variable.
-       (reg_reloaded_insn): New variable.
-       (choose_reload_regs): Update those variables.
-       (emit_reload_insns): Use them to remove deaths from insns
-       that used input reloads.
-       (reload_as_needed): Clear reg_reloaded_insn when necessary.
+       * libgcc2.c (__do_global_ctors): Call atexit with one arg.
 
-       * m68k.md (ashlsi3, lshlsi3): Use add to self to shift one bit.
+       * sparc/sunos4.h (on_exit): Wrap prototype parameters in PARAMS().
+       Define HAVE_ON_EXIT.
 
-       * dbxout.c (STAB_CODE_TYPE): New macro defined as type for stab codes.
-       Use in place of enum __stab_debug_code.
+Thu Sep 16 18:06:35 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Tue Jun 19 22:56:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * system.h (CTYPE_CONV, TOUPPER, TOLOWER): New macros.  Use
+       CTYPE_CONV in all ctype macros.
 
-       * expr.c (expand_increment): For preincrement, don't load value twice:
-       use TEMP as input to addition.
+       * cccp.c (initialize_char_syntax): Use uppercase ctype macro
+       from system.h.
 
-Tue Jun 19 06:53:13 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * cexp.y (initialize_random_junk): Likewise.
 
-       * explow.c (adjust_stack, anti_adjust_stack): Use expand_binop instead
-       of gen_{add,sub}2_insn since the latter will abort if the constant is
-       out of range for the machine.
+       * c4x.c (c4x_interrupt_function_p, c4x_handle_pragma): Likewise.
 
-Tue Jun 19 00:35:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * i370.c (handle_pragma): Likewise.
 
-       * local-alloc.c (post_mark_life): Don't decrement DEATH
-       if it equals BIRTH.  Don't ever increment DEATH.
+       * i370.h (ASM_OUTPUT_LABELREF, ASM_OUTPUT_ASCII): Likewise.
 
-       * varasm.c (output_constructor): Discard non_lvalue_expr, not nop_expr.
-       Handle missing values.  Use field in the tree_list, if any.
-       (output_addressed_constants): Don't die if value is missing.
-       * c-typeck.c (process_init_constructor): Handle index and field specs.
-       * c-parse.y (initlist): Parse them.
+       * v850.c (override_options): Likewise.
 
-Mon Jun 18 15:58:48 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * doprint.c (_doprnt): Likewise.
 
-       * c-decl.c, cplus-decl.c (duplicate_decls):
-       Types don't "match" if one is error.
+       * fixinc/fixincl.c (main, quoted_file_exists, extract_quoted_files):
+       Likewise.
 
-       * c-parse.y (label_decl): Use new keyword __label__, not colon.
+       * fixinc/server.c (load_data): Likewise.
 
-       * c-parse.gperf (__label__): New keyword.
+       * fold-const.c (real_hex_to_f): Likewise.
 
-       * mips.md (probe): Make a single insn, just a memref.
+       * genattr.c (write_upcase, gen_attr): Likewise.
 
-Mon Jun 18 14:27:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * genattrtab.c (convert_const_symbol_ref, evaluate_eq_attr,
+       write_upcase): Likewise.
 
-       * loop.c (loop_optimize): Set max_luid to last luid + 1, as documented.
+       * genemit.c (print_code): Likewise.
+
+       * genopinit.c (gen_insn): Likewise.
+
+       * genpeep.c (print_code): Likewise.
+
+       * genrecog.c (print_code): Likewise.
+
+       * optabs.c (init_libfuncs): Likewise.
+
+Thu Sep 16 14:03:32 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * local-alloc.c (qty_clobber): New variable.
-       (local_alloc): Allocate and initialize it.
-       (reg_is_set): Set qty_clobber for a clobber of a pseudo used only
-       in this insn.
-       (find_free_reg): Pass qty_clobber to post_mark_life.
-       (post_mark_life): If CLOBBER if non-zero, register isn't live after
-       its death insn.
+       * haifa-sched.c (sched_analyze): Keep the list of notes organized
+       in pairs.
+       (reemit_notes): Likewise.
 
-       * integrate.c (expand_inline_function): Don't call try_constants on
-       an insn that sets CC0 until we have processed the next insn.  Then
-       call it on both.  This is because the recognizer for these insns
-       may want to look at the user of CC0.
+Thu Sep 16 11:50:52 1999  Alex Samuel  <samuel@codesourcery.com>
 
-Mon Jun 18 13:25:59 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * ggc.h (ggc_root): Move to ggc-common.c.
+       (roots): Remove.
+       (ggc_mark_rtx, ggc_mark_tree): Change to macro.
+       (ggc_mark_rtvec, ggc_mark_tree_varray): Declare extern.
+       (ggc_mark_tree_hash_table, ggc_mark_string, ggc_mark): Likewise.
+       (ggc_mark_roots, ggc_mark_rtx_children, ggc_mark_tree_children): New.
+       * ggc-common.c (ggc_root): Move from ggc.h.
+       (roots): Declare, static.
+       (ggc_mark_rtx, ggc_mark_tree): Renamed to...
+       (ggc_mark_rtx_children, ggc_mark_tree_children): Don't check for
+       null or check/set mark bit.
+       (ggc_mark_roots): New.
+       * ggc-simple.c (ggc_collect): Call ggc_mark_roots.
+
+Thu Sep 16 11:37:32 1999  Richard Henderson  <rth@cygnus.com>
+
+       * m32r.c: Include toplev.h.
+       (*): Add ATTRIBUTE_UNUSED as needed to arguments.
+       (gen_compare): Rename swap_p to must_swap to match uses.
+       Add default abort case.
+       (m32r_output_function_epilogue): Remove unused variables.
+       (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
+       * m32r.h (PROTO, STDIO_PROTO): Rename XPROTO; unconditionally
+       define to empty parameter list.  Update all uses.
+       (predicate decls): Use enum machine_mode not int.
+       * m32r.md (movsi): Call abort, not fatal_insn.
+       (zero_branch_insn, rev_zero_branch_insn): Add default abort case.
+
+1999-09-14  Andrew Haley  <aph@cygnus.com>
+
+       * config/mips/mips.md (movsi_usw): if operand 1 is const_int 0,
+       use $0 instead of 0.
+
+Thu Sep 16 10:53:36 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * reload1.c (order_regs_for_reload): Move hard_reg_n_uses
+       computation out of loop over hard regs.
+
+Wed Sep 15 21:37:06 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * function.c (identify_blocks): Don't shadow a variable in an
+       outer scope.
+       * integrate.c (integrate_decl_tree): Don't use pushlevel,
+       pushdecl, or poplevel to build up the new BLOCK tree.
+       (expand_inline_function): Likewise.
+       (integrate_parm_decls): Likewise.
+
+Wed Sep 15 21:20:38 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-typeck.c (qualify_type): Merge qualifiers from both types.
+
+1999-09-15  Brad Lucier  <lucier@math.purdue.edu>
+
+       * toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math
+       * invoke.texi: Document this change.
+
+Wed Sep 15 17:56:00 1999  Richard Henderson  <rth@cygnus.com>
+
+       * emit-rtl.c (free_emit_status): Don't check DECL_DEFER_OUTPUT.
+       Free the struct.
+       (mark_emit_status): Renamed from mark_emit_state.
+       * except.c (mark_eh_status): Renamed from mark_eh_state.
+       Check not null before marking.
+       (free_eh_status): New.
+       * expr.c (mark_expr_status, free_expr_status): New.
+       * function.c (free_machine_status): New.
+       (free_after_parsing): New.
+       (free_after_compilation): Move bits to free_after_parsing; call
+       free_eh_status, free_expr_status; zero the marked members of the
+       function state.
+       (prepare_function_start): No can_garbage_collect.
+       Call init_eh_for_function.
+       (expand_dummy_function_end): Free up current_function state.
+       (mark_function_status): Renamed from mark_function_state.
+       (mark_function_chain): No can_garbage_collect.  Call mark_expr_status.
+       * function.h (struct function): No can_garbage_collect.
+       (free_machine_status, free_after_parsing): Declare.
+       (free_eh_status, free_expr_status): Declare.
+       * ggc.h (mark_expr_status): Declare.
+       * stmt.c (free_stmt_status): Free the struct.
+       (mark_stmt_status): Renamed from mark_stmt_state.
+       (init_stmt): Don't call init_eh.
+       (init_stmt_for_function): Don't call init_eh_for_function.
+       * toplev.c (compile_file): Call init_eh.
+       (rest_of_compilation): Free basic block info before ggc_collect.
+       Call free_after_parsing; conditionally call free_after_compilation.
+       * varasm.c (mark_varasm_status): Renamed from mark_varasm_state.
+       Check not null before marking.
+       (free_varasm_status): Don't check DECL_DEFER_OUTPUT.  Free the struct.
+
+Wed Sep 15 17:53:16 1999  Richard Henderson  <rth@cygnus.com>
+
+       * c-lex.c (yylex): Initialize warn.
+
+Wed Sep 15 18:35:38 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.c (emit_move_sequence): Properly set the mode of the scratch
+       register when performing secondary reloads for the SAR register.
+
+Wed Sep 15 15:51:52 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * rtl.h (NOTE_BLOCK_NUMBER): Replace with ...
+       (NOTE_BLOCK): New macro.
+       (NOTE_BLOCK_LIVE_RANGE_BLOCK): Remove.
+       * function.h (identify_blocks): Change prototype.
+       * function.c (identify_blocks): Simplify.
+       (reorder_blocks): Likewise.
+       * ggc-common.c (ggc_mark_rtx): Mark the BLOCK associated with a
+       NOTE_INSN_BLOCK_{BEG,END}.
+       * haifa-sched.c (sched_analyze): Don't put NOTE_BLOCK_NUMBER on
+       the list of saved notes if the note isn't a
+       NOTE_INSN_BLOCK_{BEG,END}.
+       (move_insn1): Use NOTE_EH_HANDLER in comment, rather than
+       NOTE_BLOCK_NUMBER.
+       (reemit_notes): Adjust recreation of notes to reflect new saved
+       note structure.
+       * print-rtl.c (print_rtx): Print the address of the BLOCK when
+       printing a block note.
+       * stmt.c (block_vector): Remove.
+       (find_loop_tree_blocks): Simplify.
+       (unroll_block_trees): Likewise.
+       * tree.h (reorder_block): Change prototype.
+
+Wed Sep 15 14:39:35 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * gbl-ctors.h: Lose HAVE_ATEXIT.  Don't define ON_EXIT.
+       * libgcc2.c: Lose obsolete defn of WEAK_ALIAS.
+       (__bb_init_func, __bb_init_prg): Use atexit instead of ON_EXIT.
+       (__do_global_dtors): Likewise.  Don't mess with _exit_dummy_decl.
+       (atexit, exit): Simplify.
+       * tm.texi: Document NEED_ATEXIT and ON_EXIT.  Remove HAVE_ATEXIT.
+       * config/lots: Remove defns of HAVE_ATEXIT.
+
+Wed Sep 15 10:25:12 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * calls.c (precompute_arguments): Fix typo in comment.
+       * expr.c (preexpand_calls): Don't preexpand the cleanup in a
+       TARGET_EXPR.
+
+Wed Sep 15 09:59:59 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * dsp16xx.c (override_options): Fix typos in GC root registration.
+
+Wed Sep 15 15:23:28 1999  Philip Blundell  <pb@nexus.co.uk>
+
+       * config/arm/linux-elf.h (MAKE_DECL_ONE_ONLY): Copy definition
+       from config/svr4.h.
+       (UNIQUE_SECTION_P, UNIQUE_SECTION): Likewise.
+       (FUNCTION_PROFILER): Redefine appropriately for Linux.
+       (CC1_SPEC): Likewise.
+
+Wed Sep 15 10:09:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * genattr.c (main): Add extern prototype.  Call return, not exit.
+       * genattrtab.c (main): Likewise.
+       * gencheck.c (main): Likewise.
+       * gencodes.c (main): Likewise.
+       * genconfig.c (main): Likewise.
+       * genemit.c (main): Likewise.
+       * genextract.c (main): Likewise.
+       * genflags.c (main): Likewise.
+       * gengenrtl.c (main): Likewise.
+       * genopinit.c (main): Likewise.
+       * genoutput.c (main): Likewise.
+       * genpeep.c (main): Likewise.
+       * genrecog.c (main): Likewise.
+
+       * genattr.c (get_insn_name): Mark parameter with ATTRIBUTE_UNUSED.
+       * genattrtab.c (get_insn_name): Likewise.
+       * gencodes.c (get_insn_name): Likewise.
+       * genconfig.c (get_insn_name): Likewise.
+       * genemit.c (get_insn_name): Likewise.
+       * genextract.c (get_insn_name): Likewise.
+       * genflags.c (get_insn_name): Likewise.
+       * genopinit.c (get_insn_name): Likewise.
+       * genpeep.c (get_insn_name): Likewise.
+
+       * gencheck.c (usage): Add static prototype.
+       * genextract.c (print_path): Constify a char*.
+       * genopinit.c (optabs): Likewise.
+       * genoutput.c (operand_data, data, output_predicate_decls,
+       compare_operands): Likewise.
+       * genrecog.c (write_tree): Add default case in switch.
+
+Wed Sep 15 09:59:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * rtl.h (get_insn_name, print_rtl_with_bb): Add prototypes.
+
+       * print-rtl.c (get_insn_name): Remove prototype.
 
-       * mips.md (ashlqi3, ashlhi3, one_cmplqi2, one_cmplhi2): Deleted.
-       (ashlsi3, ashrsi3, lshrsi3, neg*, one_cmplsi2): Simplified.
-       Don't output comments.  Use more specific predicates.
+       * toplev.h (progname): Declare const.
+
+       * toplev.c (init_decl_processing, init_obstacks, init_tree_codes,
+       init_regs, init_optabs, init_stmt, init_reg_sets, dump_flow_info,
+       dump_sched_info, dump_local_alloc, regset_release_memory,
+       print_rtl, print_rtl_with_bb, rest_of_decl_compilation,
+       error_with_file_and_line, error_with_decl, error_for_asm, error,
+       fatal, warning_with_file_and_line, warning_with_decl, warning,
+       pedwarn, pedwarn_with_decl, pedwarn_with_file_and_line, sorry):
+       Remove redundant prototypes.
+
+       (notice, check_lang_option, report_file_and_line, vnotice,
+       mark_file_stack): Add static prototype.
+       (set_fatal_function): Add prototype.
+       (vnotice, report_file_and_line, set_fatal_function,
+       check_lang_option): Constify a char*.
+       (main): Prototype.  Call return, not exit.
+
+Wed Sep 15 09:50:18 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * aclocal.m4 (AC_GCC_C_LONG_DOUBLE): New macro.
+
+       * configure.in (AC_GCC_C_LONG_DOUBLE): Call it.
 
-       * mips.md (movsf, movdf): Use L, M codes to avoid #ifdef's.
-       Also simplify and don't output comments.
-       (anonymous patterns for those insns): Deleted.
-       (loading floating constant): New patterns added.
-       (move qi to si pattern): Deleted; ridiculous.
-       (movdi, movsi, movhi, movqi): No need to check for moving reg to self.
+       * gansidecl.h (HAVE_LONG_DOUBLE): Define if gcc for stage2.
 
-       * mips.md (nop): Use .set noreorder to placate assembler.
+       * ggc-simple.c (HAVE_LONG_DOUBLE): Test before using long double.
 
-Sun Jun 17 20:01:38 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Wed Sep 15 11:04:43 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * gcc.c (set_spec): Don't use `name' for both old spec and name of
-       spec.  Use new var old_spec for the former use.
-       Don't use (char *) 0 for null spec; use a null string instead.
+       * function.c (assign_parms): Delete arg SECOND_TIME.  Don't test it,
+       behave as if it's zero in all cases.
+       (expand_function_start): Adjust call to assign_parms.
+       * tree.h (assign_parms): Adjust prototype.
+       * objc/objc-act.c (hack_method_prototype): Adjust call to
+       assign_parms.
 
-       * jump.c (jump_optimize): Don't special-case deleting an ADDR_DIFF_VEC.
-       Merge code to detect trivial ADDR_VEC and ADDR_DIFF_VEC.
-       (mark_jump_label): Don't count the use of a vector table label in 
-       ADDR_DIFF_VEC.
-       (delete_insn): Can now handle ADDR_DIFF_VEC.
-       (delete_labelref_insn): New function.
-       (redirect_tablejump): Call new function to delete insn that references
-       the jump table.
+Tue Sep 14 21:47:06 1999  Jeffrey A Law  (law@cygnus.com)
 
-Sun Jun 17 01:19:26 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to
+       arg_pointer_rtx fixed if the argument pointer register is
+       not fixed.
+       (NONZERO_BASE_PLUS_P): Likewise.
 
-       * genemit.c (gen_expand): Don't generate `operands' if size is 0.
+Tue Sep 14 20:26:02 1999  Richard Henderson  <rth@cygnus.com>
 
-       * tm-i860.h (GO_IF_LEGITIMATE_ADDRESS): Displacement must be multiple
-       of the alignment of the operand.
+       * rtl.def (match_insn, match_insn2): Remove match_insn; rename
+       match_insn2 to match_insn.
+       * genrecog.c (add_to_sequence): Rename MATCH_INSN2.
 
-       * i860.md (signed bit field recognizers): Don't shift by >31 bits.
+Tue Sep 14 20:10:29 1999  Richard Henderson  <rth@cygnus.com>
 
-       * out-i860.c (output_delayed_branch): Pass register properly to
-       load_opcode.
+       * Makefile.in (USER_H): Remove va-foo.h.
 
-       * mips.md (general/fp reg move patterns): Use codes L, M, D.
-       (movdi): Likewise.  And don't output useless comments.
-       Use the assembler temp reg for non-offsettable address.
-       (movsi, movhi, movqi): Output nothing for move from reg to itself.
-       Output li to load a constant.  Use `move' instead of `add'.
-       Don't output useless comments.
-       (load-address pattern): Deleted; handled by addsi3 pattern.
+       * ginclude/{va-alpha.h,va-arc.h,va-c4x.h,va-clipper.h,va-h8300.h,
+       va-i860.h,va-i960.h,va-m32r.h,va-m88k.h,va-mips.h,va-mn10200.h,
+       va-mn10300.h,va-pa.h,va-ppc.h,va-pyr.h,va-sh.h,va-sparc.h,
+       va-spur.h,va-v850.h}: Remove.
 
-       * mips.md (addsi3, mulsi3): Make both input predicates arith_operand
-       since they are commutative.
-       (andsi3, iorsi3, xorsi3): Likewise.
+Tue Sep 14 19:43:16 1999  Richard Henderson  <rth@cygnus.com>
 
-       * tm-mips.h (MOST_SIGNIFICANT_WORD, LEAST_SIGNIFICANT_WORD): New.
+       * sparc/sparc.md (eligible_for_return_delay): New attribute.
+       (in_return_delay): Use it instead of match_insn.
 
-       * tm-mips.h (PRINT_OPERAND): New codes D, L, M.
-       * mips.md (anddi3, iordi3, xordi3): Use earlyclobber to stop overlap.
-       Use new print code D.
+Tue Sep 14 23:05:37 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
-       * mips.md (andsi3, iorsi3, xorsi3): Make predicates more specific.
-       (andhi3, ..., andqi3, ...): Patterns deleted.
-       (patterns for nor): New anonymous patterns.
-       * out-mips.c (uns_arith_operand): New function.
+       * config/alpha/va_list.h (va-alpha.h): Do not include.
+       (__gnuc_va_list): Typedef as in varargs.h.
 
-       * mips.md (trunc*, zero_extend*, extend*, fix_trunc*, float*):
-       Use more specific predicates.
+Tue Sep 14 18:14:03 1999  Richard Henderson  <rth@cygnus.com>
 
-       * mips.md (addhi3, ..., addqi3, ...): Patterns deleted.
-       (addsi3, subsi3, mulsi3, divsi3): Make predicates more specific.
-       Delete useless comments from assembler code.
-       Use more generic op codes rather than special cases such as addiu.
-       (divmodsi4, udivmodsi4, udivsi3, modsi3, umodsi3): New patterns.
-       (abssf2, absdf2): New patterns.
+       * ggc-common.c (ggc_mark_tree): Mark DECL_SOURCE_FILE and
+       DECL_LIVE_RANGE_RTL.
 
-Sun Jun 17 06:56:10 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Sep 14 16:47:08 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * cse.c (COST, rtx_cost, make_regs_eqv): Indicate that hard registers
-       in fixed_regs are even cheaper than pseudos.
-
-       * function.c (instantiate_virtual_regs_1): If valid, replace PLUS
-       whose second operand would be zero with its first operand.
-
-Sun Jun 17 00:17:03 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * sdbout.c (sdbout_symbol): Get right regno for var-length object.
-
-       * combine.c (simplify_set_cc0_and): Strip SUBREGs, but only if
-       they truncate.  Handle ASHIFTRT like LSHIFTRT.
-       (try_combine): Call simplify_set_cc0_and in all those cases.
-       (subst): Handle (zero_extract (subreg (lshift (reg )))).
+       * except.c (expand_eh_region_start_for_decl): Use NOTE_EH_HANDLER,
+       not NOTE_BLOCK_NUMBER.
+       (expand_eh_region_end): Likewise.
+       (find_exception_handler_labels): Likewise.
+       (scan_region): Likewise.
+       (exception_optimize): Likewise.
+       (update_rethrow_references): Likewise.
+       (set_insn_eh_region): Likewise.
+       * final.c (final_scan_insn): Likewise.
+       * flow.c (make_edges): Likewise.
+       * integrate.c (expand_inline_function): Likewise.
+       * print-rtl.c (print_rtx): Likewise.
 
-Sat Jun 16 23:11:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Sep 14 16:30:16 1999  Richard Henderson  <rth@cygnus.com>
 
-       * tree.c (get_narrower, get_unwidened): Bit field test was backwards.
+       * ginclude/stdarg.h, ginclude/varargs.h: Implement in
+       terms of builtin functions and types.
 
-Sat Jun 16 19:07:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * mips.c (mips_build_va_list): New.
+       (mips_va_start, mips_va_arg): New.
+       * mips.h (BUILD_VA_LIST_TYPE): New.
+       (EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
 
-       * fold-const.c (fold): Fix typo in test for distributing binary
-       operator over conditional and compound expressions.
+       * sh.c (sh_builtin_saveregs): Use get_varargs_alias_set.
+       (sh_build_va_list, sh_va_start, sh_va_arg): New.
+       * sh.h (BUILD_VA_LIST_TYPE): New.
+       (EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
 
-       * genoutput.c: Remove vestiges of obsolete and never used
-       INSN_MACHINE_INFO.
+Tue Sep 14 16:20:24 1999  Richard Henderson  <rth@cygnus.com>
 
-       * rtl.def (MATCH_PARALLEL): Add new RTL code.
-       * genconfig.c (walk_insn_part): Support MATCH_PARALLEL.
-       * genemit.c (max_operand_1): Likewise.
-       (gen_exp): Just write operand for MATCH_PARALLEL.
-       (gen_expand, gen_split): Support MATCH_PARALLEL.
-       * genrecog.c (walk_rtx): Add support for MATCH_PARALLEL.
-       * genoutput.c (scan_operands): Suppport MATCH_PARALLEL
-       like MATCH_OPERATOR.
-       * genpeep.c (match_rtx): Add code to support MATCH_PARALLEL.
-       Don't write unnecessary cast to `rtx'.
-       * genrecog.c (add_to_sequence): Simplify handling of mode.
-       Support MATCH_PARALLEL.
+       * recog.h (struct recog_data): Make dup_num, operand_address_p,
+       n_operands, n_dups, n_alternatives `char' instead of `unsigned char'.
+       (struct insn_data): Likewise with n_operands, n_dups,
+       n_alternatives, output_format.
+       * regclass.c (scan_one_insn): Cast n_operands to int before
+       arithmetic inside comparison.
 
-       * expr.c (move_block_{to,from}_reg): Support load/store multiple.
-       * function.c (instantiate_virtual_regs_1): If can't substitute
-       new pseudo for virtual register, try doing the substitution
-       globally throughout the entire insn.  This lets load/store multiple
-       insns refer to virtual registers in their addresses.
-       
-       * genrecog.c (write_split_tree, write_split_subroutine): Deleted.
-       (break_out_subroutines, write_subroutine, write_tree):  Accept
-       parameters that indicate whether we are making gen_split or gen_recog.
-       (main): Pass new parameters to break_out_subroutines and write_tree.
+Tue Sep 14 15:13:36 1999  Richard Henderson  <rth@cygnus.com>
 
-       * final.c (final_scan_insn): Process insns that set CC whenever a
-       REG_CC_STATUS note is found; not only JUMP_INSNs can use CC.
-       When scanning REG_CC_STATUS insns, set cc_prev_status from cc_status
-       each time.
+       * toplev.c (compile_function): Unconditionally emit nop.
 
-       * recog.c (validate_replace_rtx): New function that tries to 
-       replace all occurrences of an object within an insn and see if the
-       resulting insn is valid.
+Tue Sep 14 14:41:47 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Thu Jun 14 06:58:26 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * haifa-sched.c (actual_hazard): Move declaration of variable
+       `this_cost' into the scope where it is used.
 
-       * optabs.c (emit_no_conflict_block): Write REG_NO_CONFLICT notes all
-       all insns in the block that modify the output.  Write them on the
-       final insn even if we don't put a REG_EQUAL note there.
+Tue Sep 14 14:14:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * stmt.c (expand_return): Only distribute return down a conditional
-       expression if tail recursion is possible in a branch.
+       * c-pragma.c (handle_pragma_token): Wrap variables `name' and
+       `value' in HANDLE_PRAGMA_WEAK.  Wrap variable `align' in
+       HANDLE_PRAGMA_PACK||HANDLE_PRAGMA_PACK_PUSH_POP.
 
-       * expr.c (expand_expr): Remove obsolete reference to when we had
-       a shared structure-value slot.
+       * genrecog.c (make_insn_sequence): Call memset, not bzero.
 
-       * jump.c (get_label_before, get_label_after, follow_jumps): No longer
-       static.
-       * rtl.h: Define them.
+       * jump.c (find_insert_position): Don't declare or define unless
+       !HAVE_conditional_arithmetic.
+       (returnjump_p_1, delete_prior_computation): Add static prototypes.
 
-Mon Jun 11 17:35:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * mips-tdump.c (fatal, fancy_abort, main): Add extern prototypes.
 
-       * loop.c (INSN_LUID): Check for INSN_UID above the area that we
-       know about.
-       (loop_optimize): Cannot use INSN_LUID as lhs.
-       (scan_loop): If first jump is to label made by loop, we can't
-       tell if it is in range or not, so reject loop.
-       Reject loop if SCAN_START was an insn previously made by loop since
-       we won't know its luid.
-       Only call loop_reg_used_before if argument has known luid.
-       Mark partial invariant as global if its insn was made by loop.
-       (ignore_some_movables): Don't assume all invariants have luids.
-       (strength_reduce): Use no_labels_between_p instead of
-       labels_in_range_p.
-       Don't look at luid of insns for which one doesn't exist.
-       (valid_initial_value_p): Reject initializations in insns whose
-       luid we don't know.
+       * recog.c (offsettable_address_p): Prototype function pointer.
+       (preprocess_constraints): Call memset, not bzero.
 
-       * loop.c (product_cheap_p): Put all our rtl into a separate obstack
-       and free memory from it.  If we use current_obstack, we may free
-       memory allocated by gen_reg_rtx, which must be preserved.
+       * tree.c (tree_node_kind_names): Constify a char*.  Make static.
+       (gcc_obstack_init): Don't declare.
+       (fix_sizetype): Add static prototype.
+       (gcc_obstack_init): Use prototype casts in call to _obstack_begin.
+       (tree_cons): Call memset, not bzero.
 
-       * c-common.c (rewrite_for_merged_ref): A non-zero one-bit signed field
-       is -1, not 1.
-       * c-typeck.c, cplus-typeck.c (build_binary_op_nodefault): If can't
-       merge comparisons, don't use result of rewrite_for_merged_ref;
-       comparisons with zero are more efficient.
+       * varasm.c (remove_from_pending_weak_list): Wrap declaration and
+       definition in macro ASM_WEAKEN_LABEL.
+       (mark_const_hash_entry): Add static prototype.
 
-       * protoize.c (main): Don't declare as extern.
+Tue Sep 14 12:22:50 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * c-aux-info.c (gen_aux_info_record): Don't declare extern.
+       * c-lex.c (handle_generic_pragma): Remove unused variable `c'.
 
-       * genemit (gen_split): Rework to fix numerous bugs and typos.
+       * unroll.c (find_common_reg_term, subtract_reg_term,
+       loop_find_equiv_value): Add static prototypes.
+       (unroll_loop): Wrap variable `prev' in macro HAVE_cc0.
+       (copy_loop_body): Remove unreachable break statement.
 
-       * function.c (assign_parms): Avoid generating (PLUS foo (const_int 0)).
+       * sparc.c (sparc_va_arg): Remove unused variable `tmp'.
 
-Wed Jun         6 20:03:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * sparc.h (sparc_va_start, sparc_va_arg): Add extern prototypes.
 
-       * gencodes.c (main): Count a code number for DEFINE_SPLIT.
+Tue Sep 14 15:28:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * rtlanal.c (note_store): Pass SUBREG of a hard register to function.
-       (reg_overlap_mentioned_p): Handle receiving SUBREG of hard register.
-       * integrate.c (mark_stores): Likewise.
-       * local-alloc.c (reg_is_set, reg_is_born): Likewise.
-       * reload1.c (mark_not_eliminable): Likewise.
-
-       * loop.c (move_movables): Don't blow up if moving last real insn
-       in function.
+       Undo some changes from the gcc2 merge:
+       * rtl.def (CONSTANT_P_RTX): Fix the comment for this rtx code.
+       * emit-rtl.c (gen_rtx_REG): Don't test special reg rtx's for null
+       pointers.
 
-Wed Jun         6 19:44:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       Undo this change:
+       Sat Oct  3 07:20:28 1998  Stephen L Moshier  <moshier@world.std.com>
+       * emit-rtl.c (gen_lowpart_common): Disable optimization of
+       initialized float-int union if the value is a NaN.
 
-       * gcc.c (default_compilers): Pass -traditional before -f*.
-       Delete -gg option.
+Tue Sep 14 04:03:44 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 
-Sun Jun         3 22:44:12 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * gthr-win32.h: New file.
 
-       * c-decl.c (grokdeclarator): Warn about extern with initializer.
+       * i386/winnt.c (i386_pe_valid_decl_attribute_p): Recognize
+       shared as a valid attribute.
+       * i386/cygwin.h (ASM_OUTPUT_SECTION): Handle shared attribute.
+       * extend.texi: Document `shared' variable attribute.
 
-Sun Jun         3 22:32:19 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Sep 14 04:01:46 1999  Loren Rittle  <ljrittle@acm.org>
 
-       * genrecog.c (main): Don't call write_tree with null if no insns
-       were in file.
+       * configure.in: Handle --enable-threads on FreeBSD.
+       * configure: Rebuit.
 
-Sat Jun         2 21:49:24 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Sep 14 03:58:44 1999  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
 
-       * expr.c (expand_expr, cases ABS_EXPR, MAX_EXPR, MIN_EXPR): Use target
-       unless zero or safe_from_p rejects it.
-       (expand_expr, conditional cases): Likewise.
+       * configure.in: Add crtbeginS.o, crtendS.o for mips-linux; add
+       thread support.
+       * configure: Rebuilt.
 
-Sat Jun         2 14:46:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Sep 14 03:47:23 1999  Joel Sherrill <joel@OARcorp.com>
+                         Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>
+                         Rosimildo DaSilva <rdasilva@connecttel.com>
 
-       * c-decl.c (grokdeclarator): Handle const and volatile with parm
-       specified as function type.
+       * configure.in (m68k-*-rtemscoff*): Added.
+       * configure.in (mips64orion-*-rtems*): Converted to ELF.
+       * configure.in (sparc-*-rtemsaout*): Added as alias for old
+       sparc-rtems configuration.
+       * configure.in (sparc-*-rtemself*): Added.
+       * configure.in (sparc-*-rtems*): Now ELF not a.out.
+       * config/i386/rtems.h: Added comment.
+       * config/sparc/rtemself.h: New file.
 
-Fri Jun         1 16:13:39 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * configure.in (m68k-rtemself): Added.
+       * config/elfos.h: Added ifndef wrapper for DWARF2_DEBUGGING_INFO
+       and DWARF_DEBUGGING_INFO.
+       * config/m68k/crti.s: New file.
+       * config/m68k/crtn.s: New file.
+       * config/m68k/t-crtstuff: New file.
+       * config/m68k/rtemself.h: New file.
 
-       * rtl.def (DEFINE_FUNCTION_UNIT): Change specifications so
-       it now is one per operation type, rather than one per
-       function unit.
-       * genattr.c (write_units): Write out new function names and
-       function unit table structure.
-       * genattrtab.c (struct function_unit_op): New structure.
-       (struct function_unit): Updated for new definition of
-       DEFINE_FUNCTION_UNIT.
-       (SIMPLIFY_TEST_EXP): New macro to reduce number of function calls
-       to simplify_test_exp.  Replace all call to the function with
-       uses of the macro.
-       (check_attr_test, make_alternative_compare): Show that EQ_ATTR with
-       attribute of "alternative", MATCH_OPERAND, and comparison cases can't
-       be simplified.
-       (expand_units, gen_unit, write_function_unit_info): Support new
-       meaning of DEFINE_FUNCTION_UNIT.
-       (simplify_test_expr): Rework AND and IOR cases to reduce rescans.
-       Once an expression has been simplified, set RTX_UNCHANGING_P so
-       we won't try simplifying it again.  Don't do this if INSN_CODE == -2.
-       (write_attr_set): Don't make a recursive call if we know that
-       the test we are writing will always be false.  Also clean up a bit.
-       (main): true_rtx and false_rtx don't need to be simplified.
-       Write gen_attr_... routines before special routines.
+       * configure.in (i[[34567]]86-*-rtemself*): Now uses crtstuff for
+       global ctor/dtor and C++ exception handling.
+       * config/i386/rtemself.h: Now uses crtstuff (crti.o + crtbegin.o)
+       for STARTFILE_SPEC and crtstuff (crtend.o + crtn.o) for
+       ENDFILE_SPEC.
+       * config/i386/t-rtems-i386: New File.
 
-Fri Jun         1 14:17:48 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Sep 14 09:47:41 1999  Andreas Schwab  <schwab@suse.de>
 
-       * tm-sparc.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
-       Round frame size to multiple of STACK_BOUNDARY.
+       * stmt.c (expand_end_case): Return right away if the case stack is
+       empty.
 
-Fri Jun         1 09:38:51 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Sep 14 01:47:19 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * optabs.c (emit_no_conflict_block): Place REG_NO_CONFLICT notes on
-       insn that contains REG_EQUAL note instead of insn doing computation.
+       * Makefile.in (version.c): Remove rule incorrectly brought in from
+       the gcc2 merge.
 
-       * cplus-decl2.c, cplus-lex.c: Rename gettime to get_run_time.
-       Likewise for my_gettime to my_get_run_time.
+Tue Sep 14 01:42:27 1999  Marc Espie <espie@cvs.openbsd.org>
 
-       * Makefile.in (varasm.o, calls.o, explow.o, integrate.o, loop.o):
-       These do not depend on insn-codes.h.
-       * function.c: Explicitly include insn-codes.h to make it clear that it
-       is needed for the values of the CODE_FOR_... macros.
+       * Makefile.in:  Prepend $(SHELL) to move-if-change calls.
+       * msdos/top.sed:  Take into account a prepended $(SHELL) to
+       move-if-change.
+       * winnt/config-nt.sed:  Likewise.  Kill bogus substitution.
 
-Thu May 31 12:59:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * objc/Make-lang.in: Prepend $(SHELL) to move-if-change calls.
 
-       * gnulib2.c (__trampoline): New function.
-       * Makefile.in (LIB2FUNCS): Compile it.
-       * tm-m68k.h (TRAMPOLINE_ALIGN): Define it.
-       * function.c (trampoline_address): Handle extra alignment.
-       * tm-m68k.h (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): 
-       Redefine to transfer via __trampoline.
-       (TRANSFER_FROM_TRAMPOLINE): Define it, for gnulib2.c.
+Tue Sep 14 01:38:52 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
-       * fold-const.c (fold): Preserve sign on constant when other terms
-       cancel (after call to split_tree).
+       * regmove.c (fixup_match_1): Don't change an unchanging register.
+       (stable_but_for_p): Renamed to:
+       (stable_and_no_regs_but_for_p).  Reject unchanging registers too.
+       Changed all callers.
 
-Thu May 31 12:39:51 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Sep 14 01:33:15 1999  Andreas Schwab  <schwab@suse.de>
 
-       * expr.c (preexpand_calls): Ignore BLOCK to avoid infinite recursion.
+       * loop.c (strength_reduce): Don't call reg_used_between_p if the
+       insn from BL2 is after the insn from BL.
 
-       * function.c (assign_parms): Fix typo getting mode of result.
-
-       * cse.c (cse_basic_block): Don't go past TO if it is target of
-       followed jump.
-
-Wed May 30 21:31:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * c-parse.y (fndef, nested_function, notype_nested_function):
-       Use YYERROR1 instead of YYERROR. 
-       (YYERROR1): New macro.
-       * cplus-parse.y, objc-parse.y: Likewise.
-
-Tue May 29 21:53:19 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * optabs.c (expand_float): Don't use hard reg as intermediate.
-
-       * c-parse.y, objc-parse.y (yylex): Fix typo checking for ERANGE.
-       * cplus-lex.c (yylex): Copy current code for ERANGE from c-parse.y.
-
-       * toplev.c (get_run_time): Renamed from gettime.
-
-Mon May 28 15:47:48 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * expr.c (emit_push_insn): Don't push by pieces if alignment
-       forces use of small pushes that do problematical padding.
-
-       * tm-sparc.h (SELECT_SECTION): Use TREE_SIDE_EFFECTS.
-       (STACK_POINTER_OFFSET): Now 68; does not include REG_PARM_STACK_SPACE.
-       (REG_PARM_STACK_SPACE): Now takes arg and has value.
-       (ACCUMULATE_OUTGOING_ARGS): Define this.
-       (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE, EXIT_IGNORE_STACK): Use
-       current_function_outgoing_args_size, not ..._pretend_...
-       (INITIALIZE_TRAMPOLINE): Use size_int.
+Mon Sep 13 21:06:01 1999  Richard Henderson  <rth@cygnus.com>
 
-       * varasm.c (make_decl_rtl, make_function_rtl): Run ENCODE_SEGMENT_INFO
-       if it is defined.
-
-       * tree.def (BIND_EXPR): Add operand, which holds the BLOCK.
-       * expr.c (expand_expr): When BIND_EXPR is seen, flag the BLOCK.
-       * dbxout.c (dbxout_block): Test the flag in the BLOCK.
-       * sdbout.c (sdbout_block): Likewise.
-       * symout.c (symout_function): Likewise.
-       * c-parse.y (stmt expr rule): Corresponding change.
-
-Sun May 27 20:53:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * caller-save.c (save_call_clobbered_regs): Correctly mark registers
-       live for multi-word pseudos.
-
-Sat May 26 13:42:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * recog.h (INSN_OUTPUT_FORMAT_*): New.
+       (struct insn_data): Merge `template' and `outfun' into `output'.
+       Add `output_format'.
+       * genoutput.c (INSN_OUTPUT_FORMAT_*): New.
+       (struct data): Remove `outfun'; add `output_format'.
+       (name_for_index): Remove declaration.
+       (output_insn_data): Handle output formats.
+       (process_template): Emit the bare array for @.
+       (gen_expand, gen_split): Set output_format to NONE.
+       * output.h (get_insn_template): Declare.
+       * final.c (get_insn_template): New.
+       (final_scan_insn): Use it.
+       * toplev.c (compile_file): Likewise.
 
-       * sdbout.c (sdb_begin_function_line): Now -1 if not in use.
-       (sdbout_end_function): Set it to -1.
+       * c4x/c4x.c (c4x_process_after_reload): Likewise.
+       * i860/i860.c (output_delayed_branch): Likewise.
+       (output_delay_insn): Likewise.
 
-       * tree.def: Rename EXIT_STMT to EXIT_EXPR and likewise for LOOP_STMT.
-       Also LET_STMT to BIND_EXPR, and GOTO_STMT, LABEL_STMT, RETURN_STMT
-       to ..._EXPR.
-       (struct tree_stmt, struct tree_if_stmt, struct tree_bind_stmt):
-       (struct tree_case_stmt): Types deleted.
+1999-09-13  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
-       * tree.c (make_node, copy_node): Treat 's' like 'e' for size of node.
-       In make_node, make BLOCK and BIND_EXPR savable.
-       * expr.c (expand_expr): Rename, and use TREE_OPERAND to get body.
-       * cplus-init.c (build_vec_delete): Likewise, and build appropriately.
-       * print-tree.c (print_node): No special handling for these and IF_STMT.
-       * stmt.c (warn_if_unused_value): Likewise.
+       * rtl.c (obstack_alloc_rtx): Removed.
 
-       * tree.def (BLOCK): New tree code for binding blocks.
-       * tree.h (BLOCK_VARS, BLOCK_TYPE_TAGS):
-       (BLOCK_SUBBLOCKS, BLOCK_SUPERCONTEXT): Renamed from STMT_...
-       (STMT_...): Except for those, all deleted.
-       (BLOCK_CONTROLLER): Points to corresponding BIND_EXPR, if any.
-       (BLOCK_CHAIN): New macro.
-       * tree.c (build_block): Renamed from build_let.
-       (decl_type_context, decl_function_context): Corresponding change.
-       * print-tree.c (print_node): Likewise.
-       * c-decl.c, cplus-decl.c (poplevel): Likewise.
-       * integrate.c (copy_decl_tree): Likewise.
-       * function.c (setjmp_protect, uninitialized_vars_warning):
-       (instantiate_decls_1): Likewise.
-       * c-parse.y, cplus-parse.y, objc-parse.y (stmt expr rule): Likewise.
-       * dbxout.c (dbxout_block): Expect only BLOCKs in this tree.
-       Ignore those with controllers that are not marked used.
-       * sdbout.c (sdbout_block): Likewise.
-       * symout.c (symout_function): Likewise.
+1999-09-13 17:03 -0700  Zack Weinberg  <zack@bitmover.com>
 
-       * tree.def: Delete IF_STMT, COMPOUND_STMT, WITH_STMT.
-       * expr.c (expand_expr): Delete handling of IF_STMT.
-       * tree.c (build_if, build_loop, build_case, build_goto): Deleted.
-       (build_expr_stmt, build_asm_stmt, build_return, build_exit): Likewise.
-       (build_compound): Likewise.
-       * cplus-init.c (build_vec_delete): Use COND_EXPR instead of IF_STMT.
+       * config/gmicro/gmicro.md: Disable move DF->DI anonymous pattern.
 
-Sat May 26 13:23:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Sep 13 15:21:46 1999  Richard Henderson  <rth@cygnus.com>
 
-       * calls.c (struct arg_data): Add new fields slot_offset and stack_slot.
-       (expand_call): Compute both location of start of stack slot and the
-       place in the stack slot where the first byte of the argument will be
-       placed.
-       Use stack_slot when loading a BLKmode object into registers.
-       When loading into registers, don't check reg_parm_seen, just look
-       at args[i].reg.
-       (expand_call, store_one_arg): Save and restore stack slot starting
-       from beginning of slot, not begining location where arg is stored.
-       (store_one_arg): After calling emit_push_insn, argument is really
-       at arg->stack_slot instead of arg->stack because if we want to
-       load it into registers, we include any padding.
-
-Sat May 26 01:37:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * tree.h (struct tree_type): Rename sep=>minval, sep_unit=>precision.
+       * i386.c (call_insn_operand): Reject const_int.
+       (expander_call_insn_operand): Use call_insn_operand.
 
-       * tree.c (init_obstacks, init_tree_codes): init_tree split in two.
-       * toplev.c (compike_file): Call them.
-
-Fri May 25 16:40:45 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * stor-layout.c (layout_record): Nuke excess set of DECL_FIELD_BITPOS.
-       * varasm.c (output_constructor): Bitpos is zero for array (field == 0).
-
-Fri May 25 00:48:45 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * final.c (final_scan_insn): Restore inadvertent deletion in change
-       of May 24th.
-
-Fri May 25 00:13:12 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * print-tree.c (print_node): Print some missing fields for decls.
-       (print_node_brief): Always print value of integer or real constant.
-
-Thu May 24 21:28:36 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * fold-const.c (real_zerop): Function deleted; was redundant.
-
-       * tree.h (DECL_OFFSET): Macro deleted.
-       (struct tree_decl): Field deleted.
-
-       * c-typeck.c (build_unary_op): For ADDR_EXPR of COMPONENT_REF,
-       use DECL_FIELD_BITPOS and handle non-constant values.
-       * stor-layout.c (layout_record, layout_union): Likewise.
-       * expr.c (expand_assignment, store_constructor, expand_expr): Likewise.
-       * dbxout.c (dbxout_type): Likewise.
-       * sdbout.c (sdbout_one_type): Likewise.
-       * c-common.c (merge_component_comparisons, make_merged_ref): Likewise.
-       * print-tree.c (print_node): Likewise.
-       * varasm.c (decode_addr_const, output_constructor): Likewise.
-       * objc-actions.c (build_ivar_list_initializer): Likewise.
-       * cplus-typeck.c (build_component_addr): Likewise.
-       And preserve TREE_CONSTANT flag.
-       (unary_complex_lvalue): Likewise.
-       
-       * tree.h (DECL_FUNCTION_CODE): Use the frame_size field, not `offset'.
-       Now meaningful only if function is built in.
-       (DECL_BUILT_IN): New flag macro.
-       * c-decl.c (builtin_function): Set the flag.
-       (pushdecl, duplicate_decls): Use and set it.
-       * c-typeck.c, cplus-typeck.c (build_function_call): Test it.
-       * cplus-decl.c (define_function): Set the flag.
-       (pushdecl, duplicate_decls): Use and set it.
-       * expr.c (expand_expr, preexpand_calls): Test it.
-
-       * tree.h (DECL_INCOMING_RTL): New macro.
-       * function.c (assign_parms): Set up that field.
-       * dbxout.c (dbxout_parms, dbxout_reg_parms): Don't try to use
-       DECL_OFFSET for a parm; it is not set.  Use DECL_INCOMING_RTL.
-       (PARM_PASSED_IN_MEMORY): New macro.
-       * sdbout.c (sdbout_parms, sdbout_reg_parms): Likewise.
-       (PARM_PASSED_IN_MEMORY): New macro.
-
-       * cccp.c (macarg): When popping frame, free via free_ptr, not buf.
-
-Thu May 24 18:04:06 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * emit-rtl.c (next_cc0_user): New function.
-       * recog.c (next_insn_tests_no_inequality): Use next_cc0_user.
-       * rtl.h: Define next_cc0_user.
-
-       * cse.c (cse_insn): Make canon_reg calls in separate loop over the
-       SETs to avoid problems when MATCH_DUPs are present in an insn
-       pattern.
-       Don't canon CLOBBER in PARALLEL.  Instead, canon MEM of CLOBBER,
-       both within a PARALLEL and standalone.  Also, call note_mem_clobbered
-       only for MEM.
+Mon Sep 13 17:44:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Thu May 24 13:08:25 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * gcc.c (getrusage): Wrap prototype arguments in PROTO().
 
-       * gnulib2.c (__negdi2): Make this inline for other functions.
+1999-09-13 12:18 -0700  Zack Weinberg  <zack@bitmover.com>
 
-Thu May 24 07:15:04 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/i370/i370.md (mulsi, divsi, modsi anonymous insns):
+       Use DImode operation.
 
-       * jump.c (no_labels_between_p, prev_real_insn, next_real_insn):
-       (prev_active_insn, next_active_insn, next_label): Delete from here.
-       * rtlanal.c (no_labels_between_p): Put here.
-       * emit-rtl.c (prev_real_insn, next_real_insn, prev_active_insn):
-       (next_active_insn, next_label): Add to here.
+1999-09-13 12:13 -0700  Zack Weinberg  <zack@bitmover.com>
 
-       * c-common.c: Define NULL so NULL_TREE macro will work.
+       * gcc.c: Include sys/resource.h.
+       (report_times): New flag.
+       (execute):  If report_times is set, calculate and report the
+       CPU time consumed by each subprocess.
 
-       * cplus-typeck.c (common_parms): Use oballoc and obfree to
-       avoid external current_obstack.
+       (rus, prus): New globals.
+       (option_map): Add --time.
+       (display_help): Document -time.
+       (process_command): Set report_times if -time is given.
+       Turn off -pipe if -time is given.
 
-       * cse.c (fold_cc0, cse_insn): Use HASH macro instead of call to
-       canon_hash.
-       (cse_insn): When just recording jump insn, show it doesn't set CC0
-       and set it as previous insn.
+       * invoke.texi: Document new option -time.
 
-       * genoutput.c (gen_split): Fix typo in comment.
+       * configure.in: Check for getrusage.  Check if we have to
+       prototype getrusage.
+       * acconfig.h: Add NEED_DECLARATION_GETRUSAGE.
+       * configure: Regenerate.
+       * config.in: Regenerate.
 
-       * reorg.c: No longer need define next_label and next_real_insn as
-       extern.
+Mon Sep 13 12:57:06 1999  Dave Brolley  <brolley@cygnus.com>
 
-       * toplev.c (rest_of_compilation): Use DELAY_SLOTS instead of
-       obsolete HAVE_DELAYED_BRANCH; include insn-attr.h.
+       * cppinit.c (append_include_chain): Initialize 'next' and 'alloc'
+       fields.
 
-       * final.c (dbr_sequence_length): Now present #ifdef DELAYED_BRANCHES.
-       Eliminate references to obsolete DBR_INSN_SLOTS.
-       (get_attr_length): Support ADJUST_INSN_LENGTH.
-       (get_attr_length, shorten_branches): Handle a SEQUENCE built for an
-       insn with filled delay slots.
-       (final_scan_insn): Avoid unnecessary call to recog_memoized.
-       Use validate_change instead of assuming replacement of CC0 by
-       STORE_FLAG_VALUE or const0_rtx is valid.
+Mon Sep 13 10:01:33 1999  Nick Clifton  <nickc@cygnus.com>
 
-Wed May 23 16:32:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/fp-bit.c: Define L_thenan_sf or L_thenan_df (as
+       appropriate) if FINE_GRAINED_LIBRARIES is not defined.
+       (nan): Return _thenan_sf or _thenan_df as appropriate.
+       (L_thenan_sf): Define _thenan_sf.
+       (L_thenan_df): Define _thenan_df.
 
-       * out-m68k.c, out-alliant.c (output_btst):
-       Use next_insn_tests_no_inequality, not next_insns_test_...
-       * recog.c (next_insns_test_no_inequality): Function deleted.
+       * Makefile.in (FPBIT_FUNCS): Add _thenan_sf.
+       (DPBIT_FUNCS): Add _thenan_df.
 
-Wed May 23 13:26:57 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Sep 13 09:38:53 1999  Andreas Schwab  <schwab@suse.de>
 
-       * expmed.c (store_bit_field): Don't bother making a SUBREG when we
-       call ourself recursively; the recursive call will just strip it off.
+       * tree.c (fix_sizetype):  Exchange the types for TYPE_SIZE and
+       TYPE_SIZE_UNIT.
 
-       * reorg.c: Include insn-attr.h before testing DELAY_SLOTS.
-       (emit_delay_sequence): Assign new INSN_UID to the SEQUENCE.
-       Chain insns through the sequence via NEXT_INSN and PREV_INSN.
-       * emit-rtl.c (next_insn, prev_insn): Go inside a SEQUENCE to
-       find the next or previous insn.
-       (make_insn_raw): No longer static.
-       * rtl.h: Define make_insn_raw, prev_active_insn, next_active_insn,
-       next_insn, and previous_insn.
+Sun Sep 12 23:28:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * genattrtab.c (write_eligible_delay): Always use "*delay_type";
-       annuling only applies to candidate insn, not insn needing slot.
+       * Makefile.in (gcc.o, gccspec.o, cppspec.o): Depend on gcc.h.
 
-       * tree.c (init_tree): tree_node_counter doesn't exist any more.
-       (make_node, copy_node, make_tree_vec, build1): No longer set TREE_UID.
+       * gcc.h: New file.
+       (lang_specific_driver): Don't take a function pointer parameter.
+       All callers changed.
 
-Wed May 23 00:48:57 1990  Michael Tiemann  (tiemann at cygnus.com)
+       * gcc.c: Include gcc.h.
+       (do_spec, fancy_abort,lang_specific_driver,lang_specific_pre_link,
+       lang_specific_extra_outfiles, fatal): Don't declare.
+       (multilib_defaults_raw): Constify.
+       (read_specs): Call memset, rather than bzero.
+       (main): Call return, not exit.
+       (lookup_compiler): Call memcpy, not bcopy.
+       (fatal): Make extern.
+
+       * cppspec.c: Include gcc.h.
+       (lang_specific_driver): Initialize variable `quote'.  Constify a
+       char*.  All calls to the function pointer parameter now
+       explicitly call `fatal'.
+
+       * gccspec.c (lang_specific_driver): Include gcc.h.
+
+Sun Sep 12 19:52:10 1999  Richard Earnshaw <rearnsha@arm.com>
+
+       * arm.c (note_invalid_constants): Use recog_data.operand_type
+       for recog_op_type.
+
+Sun Sep 12 15:53:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * tree.h (build_common_tree_nodes, build_common_tree_nodes_2):
+       Declare.
+
+       * reload.h (reload_in, reload_out, reload_in_reg, reload_out_reg,
+       reload_reg_class, reload_inmode, reload_outmode, reload_optional,
+       reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
+       reload_secondary_in_reload, reload_secondary_out_reload,
+       reload_secondary_in_icode, reload_secondary_out_icode,
+       reload_reg_rtx, reload_when_needed): Delete declarations.
+       (struct reload): New structure.
+       (rld): Declare new array.
+       * reload.c (reload_in, reload_out, reload_in_reg, reload_out_reg,
+       reload_reg_class, reload_inmode, reload_outmode, reload_optional,
+       reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
+       reload_secondary_in_reload, reload_secondary_out_reload,
+       reload_secondary_in_icode, reload_secondary_out_icode,
+       reload_reg_rtx, reload_when_needed): Delete definitions.
+       (rld): New array.
+       (whole file): Replace uses of the deleted arrays with uses of rld.
+       * reload1.c (whole file): Replace uses of the deleted arrays with
+       uses of rld.
+       (choose_reload_regs): Copy in/out of save_reload_reg_rtx with
+       explicit loops, not with bcopy.
+
+Sun Sep 12 05:00:24 1999  Richard Henderson  <rth@cygnus.com>
+
+       * recog.h (insn_template, insn_outfun, insn_n_operands, insn_n_dups,
+       insn_n_alternatives, insn_operand_constraint, insn_operand_address_p,
+       insn_operand_mode, insn_operand_strict_low, insn_operand_predicate,
+       insn_name): Delete and consolidate into new structures.
+       (insn_operand_predicate_fn): New.
+       (insn_output_fn): New.
+       (insn_gen_fn): New.
+       (struct insn_operand_data): New.
+       (struct insn_data): New.
+       (insn_data): New.
+       (OUT_FCN): Update for insn_data change.
+       * builtins.c (expand_builtin_strlen): Likewise.
+       (expand_builtin_memcmp): Likewise.
+       * combine.c (make_extraction, simplify_comparison): Likewise.
+       * cse.c (canon_reg, cse_insn): Likewise.
+       * explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise.
+       * expmed.c (store_bit_field, extract_bit_field): Likewise.
+       (emit_store_flag): Likewise.
+       * expr.c (convert_move, emit_block_move): Likewise.
+       (clear_storage, emit_push_insn, expand_increment): Likewise.
+       (do_store_flag): Likewise.
+       * expr.h (GEN_FCN): Likewise.
+       (insn_gen_function): Die.
+       * final.c (final_scan_insn): Update for insn_data change.
+       (output_asm_name): Likewise.
+       * function.c (fixup_var_refs_1): Likewise.
+       * loop.c (check_dbra_loop): Likewise.
+       * optabs.c (expand_binop, expand_twoval_binop): Likewise.
+       (expand_unop, expand_complex_abs, emit_unop_insn): Likewise.
+       (prepare_cmp_insn, prepare_operand, emit_indirect_jump): Likewise.
+       (emit_conditional_move, gen_add2_insn, gen_sub2_insn): Likewise.
+       * recog.c (validate_replace_rtx_1, extract_insn): Likewise.
+       * regmove.c (gen_add3_insn): Likewise.
+       * reload.c (push_secondary_reload, combine_reloads): Likewise.
+       (find_reloads, find_reloads_address_1): Likewise.
+       (debug_reload_to_stream): Likewise.
+       * reload1.c (emit_reload_insns, gen_reload): Likewise.
+       * stmt.c (expand_end_case): Likewise.
+       * toplev.c (compile_file): Likewise.
+
+       * c4x/c4x.c (c4x_process_after_reload): Likewise.
+       * i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
+
+       * print-rtl.c (insn_name_ptr): Remove declaration.
+       (get_insn_name): Declare.
+       (print_rtx): Use it.
+       * genoutput.c (insn_name_ptr): Remove.
+       (next_operand_number): New.
+       (struct operand_data): New.
+       (null_operand, odata, odata_end): New.
+       (struct data): Use struct operand_data.
+       (idata, idata_end): Renamed from insn_data and end_of_insn_data.
+       (get_insn_name): Renamed from name_for_index.
+       (output_prologue): Define NO_MD_PROTOTYPES.
+       (output_predicate_decls): Break out from output_epilogue.
+       Iterate over the operands list.
+       (output_operand_data): Break out from output_epilogue.  Emit
+       just the operands list.
+       (output_insn_data): Break out from output_epilogue.  Emit just
+       the insn data.
+       (output_epilogue): Remove.
+       (output_get_insn_name): New.
+       (constraints, op_n_alternatives, predicates, address_p): Die.
+       (modes, strict_low, seen): Die.
+       (scan_operands): Take new param `d' instead of writing to
+       seven global variables.
+       (compare_operands): New.
+       (place_operands): New.
+       (validate_insn_alternatives): Update for struct data change.
+       (gen_insn): Don't zero or copy 7 global arrays.  Update for
+       scan_operands; call place_operands.
+       (gen_peephole, gen_expand, gen_split): Likewise.
+       (main): Update for new output routines.
+
+       * genattr.c (insn_name_ptr): Remove.
+       (get_insn_name): New function.
+       * genattrtab.c, gencodes.c, genconfig.c, genemit.c: Likewise.
+       * genextract.c, genflags.c, genopinit.c, genpeep.c: Likewise.
+       * genrecog.c: Likewise.
+
+       * alpha.md (adddi3): Make `pattern' array static.
+
+Sun Sep 12 22:05:21 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.h (c4x_rpts_cycles_string,
+       c4x_cpu_version_string): Constify char *.
+       * config/c4x/c4x.c (c4x_rpts_cycles_string,
+       c4x_cpu_version_string): Likewise.
+
+Sat Sep 11 23:28:33 1999  Richard Henderson  <rth@cygnus.com>
+
+       * tree.c (save_tree_status): Revert 10 Sep change.
+       (restore_tree_status): Likewise.  Call obstack_free with NULL
+       before freeing the obstack proper.
+
+Sat Sep 11 23:23:46 1999  Richard Henderson  <rth@cygnus.com>
+
+       * cse.c (cse_main): If gc'ing, collect around cse_basic_block.
+
+       * ggc-simple.c (ggc_pop_context): Fold outstanding bytes into
+       surrounding context.
+
+Sat Sep 11 19:52:43 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.c (type_hash_canon): Put all types in the hash-table, when
+       GC'ing.
+
+Sat Sep 11 18:37:04 1999  Richard Henderson  <rth@cygnus.com>
+
+       * recog.h (struct recog_data, recog_data): New.
+       (recog_foo variables): Kill.
+       * recog.c (recog_operand, recog_operand_loc): Kill.
+       (recog_dup_loc, recog_dup_num, recog_n_operands): Kill.
+       (recog_n_dups, recog_n_alternatives, recog_operand_mode): Kill.
+       (recog_constraints, recog_op_type, recog_operand_address_p): Kill.
+       (recog_data): Define.
+       (extract_insn): Update all recog_foo references to use recog_data.
+       (preprocess_constraints, constrain_operands): Likewise.
+       * final.c (final_scan_insn, cleanup_subreg_operands): Likewise.
+       * genattrtab.c (main): Likewise.
+       * genextract.c (main): Likewise.
+       * genoutput.c: Likewise.
+       * genrecog.c (write_subroutine, main): Likewise.
+       * local-alloc.c (block_alloc): Likewise.
+       * reg-stack.c (record_asm_reg_life, subst_asm_stack_regs): Likewise.
+       * regclass.c (scan_one_insn, record_reg_classes): Likewise.
+       * regmove.c (regmove_optimize, find_matches, fixup_match_1): Likewise.
+       * reload.c (find_reloads, find_reloads_toplev): Likewise.
+       * reload1.c (maybe_fix_stack_asms, eliminate_regs_in_insn): Likewise.
+       (reload_cse_simplify_operands): Likewise.
+
+       * arc/arc.c (arc_final_prescan_insn): Likewise.
+       * arm/arm.c (note_invalid_constants, arm_final_prescan_insn): Likewise.
+       * h8300/h8300.c (notice_update_cc): Likewise.
+       * i386/i386.c (ix86_attr_length_default, ix86_agi_dependant): Likewise.
+       * i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
+       * mn10200/mn10200.c (notice_update_cc): Likewise.
+       * mn10300/mn10300.c (notice_update_cc): Likewise.
+       * romp/romp.c (update_cc): Likewise.
+       * sparc/sparc.c (check_pic): Likewise.
+       * v850/v850.c (notice_update_cc): Likewise.
+
+       * genemit.c (main): Don't declare recog_operand.
+
+Sat Sep 11 12:41:55 1999  Alex Samuel  <samuel@codesourcery.com>
+
+       * ggc.h (rtvec_def): Forward declare.
+       (tree_node): Likewise.
+       (ggc_root): Define.
+       (roots): Declare.
+       (ggc_set_mark_rtx): Add prototype.
+       (ggc_set_mark_rtvec): Likewise.
+       (ggc_set_mark_tree): Likewise.
+       * ggc-simple.c (ggc_root): Don't define.
+       (roots): Don't declare.
+       (ggc_mark_rtx): Remove.
+       (ggc_mark_rtvec): Likewise.
+       (ggc_mark_tree): Likewise.
+       (ggc_mark_varray): Likewise.
+       (ggc_mark_tree_hash_table_entry): Likewise.
+       (ggc_mark_tree_hash_table): Likewise.
+       (ggc_set_mart_rtx): New function.
+       (ggc_set_mark_rtvec): Likewise.
+       (ggc_set_mark_tree): Likewise.
+       (ggc_add_root): Remove.
+       (ggc_add_rtx_root): Likewise.
+       (ggc_remove_tree_root): Likewise.
+       (ggc_add_string_root): Likewise.
+       (ggc_add_tree_varray_root): Likewise.
+       (ggc_add_tree_hash_table_root): Likewise.
+       (ggc_del_root): Likewise.
+       (ggc_mark_rtx_ptr): Likewise.
+       (ggc_mark_tree_ptr): Likewise.
+       (ggc_mark_string_ptr): Likewise.
+       (ggc_mark_tree_varray_ptr): Likewise.
+       (ggc_mark_tree_hash_table_ptr): Likewise.
+       * ggc-common.c: New file.
+       * Makefile.in (OBJS): Add ggc-common.o.
+       (ggc-common.o): List dependencies.
+
+1999-09-10 22:37 -0700  Zack Weinberg  <zack@bitmover.com>
+
+       * cppalloc.c (xstrdup): Use memcpy.
+       * cpperror.c (cpp_print_containing_files): Don't use
+       cpp_notice.
+       * cpplib.c (conditional_skip): Set temp->lineno.
+       (do_endif): Make error message less obscure.
+       (if_directive_name): New function.
+       (cpp_get_token [case EOF]): Unwind the if stack and generate
+       error messages for each unterminated conditional in this file.
+       (parse_string):  Do not behave differently if -traditional.
+
+Fri Sep 10 14:04:07 1999  Richard Henderson  <rth@cygnus.com>
+
+       * builtins.c (expand_builtin_va_arg): Cope with an array-type
+       va_list decomposing to pointer-type.
+       * rs6000.c (rs6000_va_start) Unwrap the ARRAY_TYPE to get at fields.
+       (rs6000_va_arg): Likewise.
+
+Fri Sep 10 13:21:21 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * except.c (start_dynamic_handler): Compute size using
+       STACK_SAVEAREA_MODE.
+
+Fri Sep 10 16:01:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * protoize.c: Remove various __STDC__ and POSIX hacks.  Don't
+       include directory headers.  Don't define strrchr.  Don't provide
+       my_* replacement functions.  Prefer PTR over `pointer_type'.
+       Don't prototype system functions.  Don't redefine getopt.
+
+       (shortpath, fancy_abort, notice, savestring, dupnstr, substr,
+       safe_read, safe_write, save_pointers, restore_pointers,
+       is_id_char, in_system_include_dir, directory_specified_p,
+       file_excluded_p, unexpand_if_needed, abspath, check_aux_info,
+       find_corresponding_lparen, referenced_file_is_newer,
+       save_def_or_dec, munge_compile_params, gen_aux_info_file,
+       process_aux_info_file, identify_lineno, check_source,
+       seek_to_line, forward_to_next_token_char, output_bytes,
+       output_string, output_up_to, other_variable_style_function,
+       find_rightmost_formals_list, do_cleaning, careful_find_l_paren,
+       do_processing, is_syscalls_file, rename_c_file, find_extern_def,
+       find_static_definition, connect_defs_and_decs, add_local_decl,
+       add_global_decls, needs_to_be_converted, visit_each_hash_node,
+       add_symbol, lookup, free_def_dec, find_file, reverse_def_dec_list,
+       edit_fn_declaration, edit_formals_lists, edit_fn_definition,
+       scan_for_missed_items, edit_file, string_list_cons): Add static
+       prototypes.
+       (standard_exec_prefix, target_machine, target_version,
+       default_syscalls_dir, string_list, string_list_cons, find_file,
+       do_cleaning): Constify a char*.
+       (safe_read, safe_write): Use PTR, not a char*.
+       (is_id_char): Take an int, not a char.
+       (main): Add prototype.  Call return, not exit.
+
+Fri Sep 10 16:48:26 1999  Andrew Haley  <aph@cygnus.com>
+
+       * tree.c (type_hash_lookup): Check for equal TYPE_ALIGN fields
+       when comparing types.
+
+Fri Sep 10 08:43:32 1999  Richard Henderson  <rth@cygnus.com>
+
+       * loop.c (basic_induction_var): Typo NULL_RTX -> NULL.
+       (strength_reduce): Release the varrays from the no-bivs early exit.
+
+       * reload1.c (order_regs_for_reload): Init hard_reg_n_uses before
+       the loop over the registers.
+
+       * tree.c (save_tree_status): Set maybepermanent_firstobj NULL
+       for a new obstack.
+       (restore_tree_status): Check that instead when freeing the obstack.
+
+Wed Sep  8 16:12:04 1999  Andrew Haley  <aph@cygnus.com>
+
+       * alias.c (rtx_equal_for_memref_p): Allow CONST_DOUBLEs to be used
+       as pointers.
+
+Fri Sep 10 11:58:55 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * i386.md (ashlqi3): For NON_QI_REG_P regs, use sall.  Fix some
+       operand size modifiers.
+
+Fri Sep 10 10:32:32 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * c-common.c (c_common_nodes_and_builtins): Don't build
+       va_list_type_node.
+       * c-common.h (enum c_tree_index and related accesor macros): Remove
+       everything now declared in tree.h.
+       * c-decl.c (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
+       LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, WCHAR_UNSIGNED, FLOAT_TYPE_SIZE,
+       DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Don't provide defaults.
+       (error_mark_node, void_type_node, char_type_node, integer_type_node,
+       unsigned_type_node, ptr_type_node, va_list_type_node,
+       integer_zero_node, null_pointer_node, integer_one_node): Delete.
+       (init_decl_processing): Call build_common_tree_nodes and
+       build_common_tree_nodes_2 instead of building their nodes here.
+       Don't add roots for these nodes.
+       * stor-layout.c (size_zero_node, size_one_node): Delete.
+       (set_sizetype): Make a new node for bitsizetype each time.
+       * tree.c (global_trees): New variable.
+       (init_obstacks): Add a gc root for it.
+       (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
+       LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE,
+       DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Provide defaults.
+       (build_common_tree_nodes): New function.
+       (fix_sizetype): New function.
+       (build_common_tree_nodes_2): New function.
+       * tree.h (enum tree_index): New.
+       (global_trees): Declare.
+       Add accessor macros for all nodes now moved to global_trees.
+       Delete their declarations.
+
+Thu Sep  9 20:15:46 1999  Richard Henderson  <rth@cygnus.com>
+
+       * c-decl.c (finish_function): When processing a nested function,
+       push and pop GC context around rest_of_compilation.
+
+Thu Sep  9 16:42:06 1999  Richard Henderson  <rth@cygnus.com>
+
+       * i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.
+       Default ix86_arch to PROCESSOR_I386.
+       * i386.h (CC1_CPU_SPEC): Don't add -march=foo.  Remove -mno-foo.
+       (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): Delete.
+       (CPP_CPU_DEFAULT_SPEC): Define to __tune_foo__.
+       (CC1_CPU_SPEC): Make -march=foo define __foo__, and provide
+       __tune_foo__ if no -mcpu.  Make -mcpu=bar define __tune_bar__.
+       (EXTRA_SPECS): Remove deleted specs.
+
+Thu Sep  9 16:03:06 1999  Richard Henderson  <rth@cygnus.com>
+
+       * function.c (assign_stack_local_1): Allocate from
+       function->x_frame_offset, not frame_offset.
+
+Thu Sep  9 14:36:31 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * ggc.h (lang_cleanup_tree): Remove.
+       * gcc-simple.c (ggc_free_tree): Don't call lang_cleanup_tree.
+       * ggc-callbacks.c (lang_cleanup_tree): Remove.
+
+       * c-decl.c (finish_struct): Use ggc_alloc to allocate
+       TYPE_LANG_SPECIFIC when garbage collecting.
+       (lang_mark_tree): Mark TYPE_LANG_SPECIFIC.
+       (lang_cleanup_tree): Remove.
+
+Thu Sep  9 14:23:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here.
+       * crtstuff.c: Not here.
+       * dwarf2out.c: Or here.
+       * libgcc2.c (__do_global_ctors, __do_global_dtors): Handle EH frame
+       info.
+
+Thu Sep  9 09:40:58 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * function.h (free_after_compilation): Remove decl parameter.
+       (free_varasm_status0: Likewise.
+       (free_emit_status): Likewise.
+       (free_stmt_status): Likewise.
+       (free_after_compilation): Likewise.
+       (init_lang_status): New variable.
+       (free_lang_status): Likewise.
+       * emit-rtl.c (free_emit_status): Make decl parameter implicit.
+       * function.c (init_lang_status): New variable.
+       (free_lang_status): Likewise.
+       (push_function_context_to): Don't set function::decl here.
+       (free_after_copmilation): Make decl parameter implicit.  Call
+       free_lang_status if defined.
+       (prepare_function_start): Call init_lang_status if defined.
+       (init_function_start): Set function::decl here.
+       * profile.c (output_func_start_profiler): Don't call pushdecl
+       until we've actually started the function.
+       * stmt.c (free_stmt_status): Make decl parameter implicit.
+       * toplev.c (rest_of_compilation): Don't pass decl to
+       free_after_compilation.
+       * varasm.c (free_varasm_status): Likewise.
+
+Thu Sep  9 17:23:19 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * except.c (call_get_eh_context): Add root when allocating static
+       tree variable.
+
+Thu Sep  9 15:24:59 BST 1999  Richard Earnshaw <rearnsha@arm.com>
+
+       * arm.c: Include "ggc.h".
+       (arm_add_gc_roots): New function.
+       (arm_override_options): Call it.
+       (aof_pic_entry): Add a GC root for aof_pic_label when it's allocated.
+
+       * arm.md (define_asm_attributes): Add a pool_range attribute.
+
+Thu Sep  9 12:32:57 BST 1999  Nathan Sidwell  <nathan@acm.org>
+
+       * extend.texi (Volatiles): New node.
+
+Thu Sep  9 03:37:31 1999  Richard Henderson  <rth@cygnus.com>
+
+       * ggc-simple.c (IS_MARKED, IGNORE_MARK): New.
+       (GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): New.
+       (struct ggc_any): Replace `mark' with `magic_mark'.
+       (ggc_alloc_string): Use memcpy, not bcopy.
+       (ggc_alloc_any): Set magic_mark.  Update bytes_alloced_since_gc.
+       (ggc_free_{rtx,rtvec,tree,string}): Mark inline.
+       (ggc_free_any): New.
+       (ggc_mark_string): Use IGNORE_MARK.  Calc back to struct gcc_string.
+       (ggc_mark): Use IGNORE_MARK.  Abort if magic doesn't match.
+       (ggc_collect): Re-enable collection avoidance.  Use GGC_ANY_MARK.
+       Use IS_MARKED. Use ggc_free_any.
+
+1999-09-09  Scott Bambrough <scottb@netwinder.org>
+
+       * config/arm/linux-elf.h: define NO_IMPLICIT_EXTERN_C
+
+Thu Sep  9 01:55:21 1999  Richard Henderson  <rth@cygnus.com>
+
+       * toplev.c (main): Always init_ggc.
+
+Wed Sep  8 23:53:22 1999  Richard Henderson  <rth@cygnus.com>
+
+       * except.c (find_all_handler_type_matches): Free the list if
+       we found no matches.
+
+       * combine.c (SUBST): Break out to a real function do_SUBST.
+       (SUBST_INT): Likewise.
+       * gcse.c (free_pre_mem): Free `temp_bitmap'.
+       (pre_insert): Free `inserted'.
+       * loop.c (basic_induction_var): Always set `location'.
+
+       * function.c (expand_function_end): Add initial_trampoline as a root.
+       * rtl.h (init_varasm_once): Declare.
+       * toplev.c (compile_file): Call it.
+       * ggc-simple.c (ggc_mark_string_ptr): New.
+       (ggc_add_string_root): New.
+       (ggc_collect): Disable collection avoidance temporarily.
+       * ggc.h (ggc_add_string_root): Declare.
+       * except.c (create_rethrow_ref): Use ggc_alloc_string.
+       * optabs.c (init_libfuncs): Likewise.
+       * varasm.c (named_section): Use ggc_alloc_string.
+       (make_function_rtl): Likewise.
+       (make_decl_rtl): Likewise.
+       (assemble_static_space): Likewise.
+       (assemble_trampoline_template): Likewise.
+       (output_constant_def): Likewise.
+       (force_const_mem): Likewise.
+       (mark_const_hash_entry): New.
+       (mark_pool_sym_hash_table): New.
+       (mark_varasm_state): Use it.
+       (init_varasm_once): New.
 
-       * genemit.c, genextract.c: Add support for MATCH_OP_DUP and
-       DEFINE_SPLIT.
+       * expr.h (init_one_libfunc): Declare.
+       * optabs.c (init_one_libfunc): New.
+       (init_optabs): Use it.
+       * config/gofast.h: Likewise.
+       * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Likewise.
+       * config/sparc/sparc.h (INIT_TARGET_OPTABS): Likewise.
 
-       * cplus-init.c (build_delete): TREE_SIDE_EFFECTS can be
-       nonzero when address to be deleted is a cast of something
-       with side-effects (like a call).
-       (build_vec_delete): Simplify code now that `make_node' does the
-       right thing for _STMT nodes.
+Thu Sep  9 13:46:06 1999  Geoffrey Keating  <geoffk@cygnus.com>
 
-Tue May 22 22:59:43 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * Makefile.in (cppexp.o): Depend on cpphash.h.
+       * cppexp.c (cpp_lex): Handle `defined (xxx)' for poisoned xxx.
+       Include cpphash.h.
+       * cpphash.c (special_symbol): Handle plain `xxx' for poisoned xxx.
+       * cpplib.c (do_define): Generalize to handle poisoned definitions,
+       redefining poisoned identifiers, etc.
+       (do_undef): Don't allow poisoned identifiers to be undefined.
+       (do_pragma): Add #pragma poison.
+       (do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
 
-       * cse.c (cse_end_basic_block): Don't crash if NEXT_INSN of
-       our branch target is zero.
-       Don't skip scanning first insn after destination label of branch.
+       * cccp.c: Add T_POISON node type.
+       (special_symbol): Handle `defined(xxx)' and plain `xxx' for
+       poisoned xxx.
+       (do_define): Generalize to handle poisoned definitions,
+       redefining poisoned identifiers, etc.
+       (do_undef): Don't allow poisoned identifiers to be undefined.
+       (do_pragma): Add #pragma poison.
+       (do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
 
-       * expr.c (emit_move_insn): Abort if modes differ.
-       (expand_expr, comparison cases): Use TMODE when convenient.
-       (expand_expr, case COND): When optimizing (C ? 1 : 0), ensure
-       we return a result of the correct mode.
+       * c-pragma.c (handle_pragma_token): Ignore #pragma poison.
+       * c-pragma.h: Add ps_poison state.  We now always have generic
+       pragmas.
 
-       * integrate.c (expand_inline_function): Can't call try_constants for
-       JUMP_INSN since we may have changed RETURN to jump.
+Wed Sep  8 20:30:42 1999  Mark Mitchell  <mark@codesourcery.com>
 
-Tue May 22 22:40:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * ggc.h (ggc_alloc): New function.
+       (ggc_mark): Likewise.
+       * ggc-simple.c (ggc_any): New structure.
+       (ggc_status): Add anys.
+       (n_anys_collected): New variable.
+       (ggc_alloc): Define.
+       (ggc_mark): Likewise.
+       (ggc_collect): Collect the anys.
 
-       * tree.h (struct tree_common): Delete field `uid'.
-       (TREE_UID): Macro deleted.
+Wed Sep  8 20:15:14 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * c-decl.c (finish_decl): Discard any variable sizes in the decl.
+       * c-decl.c (mark_binding_level): Make static to match prototype.
 
-       * calls.c (expand_call): When making reg_notes for const function,
-       don't test is_const twice, and take account of order of pushing.
+Wed Sep  8 16:41:27 1999  Richard Henderson  <rth@cygnus.com>
 
-Tue May 22 21:41:48 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * flow.c (new_insn_dead_notes): Don't early out for preexisting regs.
 
-       * reload1.c (eliminate_regs): Ensure we process pseudo that is first
-       operand of PLUS.
+Wed Sep  8 16:07:52 1999  Richard Henderson  <rth@cygnus.com>
 
-       * expmed.c (store_bit_field): When stripping a SUBREG, adjust the
-       bit position to correspond to the change in modes.
+       * gengenrtl.c (CONST_DOUBLE_FORMAT): Take the size REAL_ARITHMETIC
+       will use into account.  Expand the max width to 5.
+       * rtl.c: Likewise.
 
-       * cse.c (rtx_cost): Use COSTS_N_INSNS macro.
+Wed Sep  8 16:01:14 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cse.c (qty_comparison_*): New vars.
-       (new_basic_block): Initialize qty_comparison_code.
-       (fold_rtx): If we see a comparison, check if we have seen the
-       same comparison before.  If so, we know the result.
-       (record_jump_equiv): Save the comparison being passed in the
-       qty_comparison_* variables for possible later use by fold_rtx.
-       (cse_insn): If the current insn doesn't reference cc0, but the
-       previous insn sets it, delete the previous insn; presumably we
-       used to test it.
-       (cse_basic_block): Allocate new qty_comparison_* vars.
+       * ggc-simple.c (ggc_free_rtx): Poison the correct amount
+       for the rtx length.
 
-       * reload1.c (eliminate_regs): Second arg is now mode of enclosing
-       MEM, if any, rather than simply flag indicating inside MEM.
-       Use this mode to determine amount that, e.g., PRE_DEC adjusts by.
+Wed Sep  8 15:23:54 1999  Richard Henderson  <rth@cygnus.com>
 
-       * reload1.c (reload): Set regs_ever_live for a register that couldn't
-       be eliminated.
-       * final.c (only_leaf_regs_used): Don't do it here.
+       * alpha.md (call value patterns): Remove the result predicates.
 
-       * reorg.c: Eliminate obsolete macros *_REORG_FUNCTION.
-       Entire file is conditional on #ifdef DELAY_SLOTS.
+Wed Sep  8 13:35:38 1999  Richard Henderson  <rth@cygnus.com>
 
-       * Makefile.in: Use reorg.c instead of dbranch.c.
+       * Makefile.in (stmp-fixinc): Remove extraneous exit 1 from
+       last change.
 
-Tue May 22 20:40:30 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Sep  8 15:32:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * c-decl.c (complete_array_type): Get string elt size in bytes.
+       * system.h (sbrk, malloc, calloc, realloc): Backup prototypes
+       changed from extern char *, to extern PTR.  Also fix typo in
+       NEED_DECLARATION_REALLOC test.
 
-Tue May 22 00:42:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * mips-tdump.c (malloc, calloc, realloc): Don't prototype.
 
-       * toplev.c (rest_of_compilation): Turn off VERBOSE arg to thread_jumps.
+Wed Sep  8 11:40:47 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * objc-parse.y, objc-actions.c: Replaces uses of build with build1
-       when being used for 1-operand nodes.
+       * gansidecl.h (__attribute__, ATTRIBUTE_UNUSED_LABEL,
+       ATTRIBUTE_UNUSED, ATTRIBUTE_NORETURN, ATTRIBUTE_PRINTF,
+       ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2, ATTRIBUTE_PRINTF_3,
+       ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5, GENERIC_PTR): Delete.
 
-Mon May 21 23:59:21 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-decl.c (field_decl_cmp): Use PTR instead of GENERIC_PTR.
 
-       * global-alloc.c (hard_reg_full_preferences): New variable.
-       (global_alloc): Allocate and initialize it.
-       (prune_preferences): Include in regs_someone_prefers all words
-       of multi-word items that have preferences.  Don't includes registers
-       we also prefer unless they are prefered by an allocno that needs
-       more registers.
-       (set_preference): Set hard_reg_full_preferences also.
+       * cccp.c (pcfinclude): Likewise.
 
-Mon May 21 21:36:29 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * global.c (allocno_compare): Likewise.
 
-       * tree.c (make_node): All ..._STMT nodes have side effects, type void.
+       * haifa-sched.c (rank_for_schedule): Likewise.
 
-Mon May 21 16:03:23 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * local-alloc.c (qty_sugg_compare_1, qty_compare_1): Likewise.
 
-       * integrate.c (expand_inline_function): Set insns_at_start before
-       processing parameters since it might be needed during that processing. 
-       Set RTX_INTEGRATED_P in all insns emitted, including labels and
-       barriers.
-       Ensure COPY is set correctly when replacing RETURN and avoid
-       duplicate barriers by calling emit_jump_insn instead of emit_jump.
-       Call note_stores for JUMP_INSNs and CALL_INSNs in case they have
-       side-effects we care about.
-       (copy_rtx_and_substitute): Convert (use (subreg FOO)) to (use FOO).
-       (subst_constants): Don't crash if we see a SUBREG replaced by a
-       REG or vice versa; we have no work to do in that case.
-       Fix typo in case MULT.
-
-       * recog.c (constrain_operands): Call reg_fits_class_p with original
-       mode of OP, not mode of SUBREG_REG (op) when OP is SUBREG.
-
-Mon May 21 14:25:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * expmed.c (extract_bit_field): Use class of TMODE for simple reg case.
-
-       * flags.h (flag_pic): Declare it.
-       * tree.h (mode_for_size): Declare it.
-       * c-tree.h (merge_component_comparisons): Declare it.
-
-Mon May 21 07:27:12 1990  Michael Tiemann  (tiemann at cygnus.com)
-
-       * jump.c (thread_jumps): New function to optimize the case where one
-       conditional jump jumps to another testing the same condition.  This
-       function usefully optimzies code both before common subexpression
-       elimination (where it "finds" common subexpressions that cse won't
-       find) and after loop optimization (where the loop optimizer
-       introduces new conditional jumps after rearranging loops).
-       (rtx_equal_for_thread_p): cheaply builds equivalences between
-       register so that jump threading can be effectively run before cse.
-
-       * emit-rtl.c (init_emit_once): Initialize PIC_OFFSET_TABLE_RTX if
-       PIC_OFFSET_TABLE_REGNUM is defined.
-
-       * tree.c (build,build1,build_nt): Set TREE_RAISES in addition to
-       TREE_SIDE_EFFECTS.
-       ({temp,saveable,perm}_tree_cons): Call `tree_cons' with arguments
-       instead of calling `make_node' directly.  Eventually, `tree_cons'
-       could be faster than `make_node'.
-       (get_identifier): Use `bcmp' instead of `strcmp', since it's
-       faster.  Also, test the first letter of each string before calling
-       the string comparison function.
-
-       * toplev.c: Add new flags FLAG_THREAD_JUMPS and FLAG_PIC.  The
-       former gives better common sub-expression elimination while the
-       latter tells the compiler to emit position-independent code.
-       (rest_of_compilation): Thread jumps if requested.
-
-       * stor-layout.c (layout_{record,union}): For loop bodies meant only
-       for FIELD_DECLs, make sure we have a FIELD_DECL before proceeding.
-
-       * stmt.c (expand_end_case): Use ADDR_DIFF_VEC if FLAG_PIC is
-       nonzero.
-       @@ NOTE: This would look a lot nicer if CASE_VECTOR_PC_RELATIVE were
-       an expression (like zero/nonzero) instead of soley a #define.
-       (fixup_cleanups): If cleanups emitted no code, don't call
-       `reorder_insns'.
-       (expand_decl_cleanup): Return 0 in case we are not in a block
-       (but instead at top-level).
-
-       * stack.h: New GNU C++ file.
-
-       * rtl.c (REG_NOTE_NAMES): Add REG_CC_STATUS and REG_TAIL_CALL.
-       * rtl.h: Ditto.  Also make external declaration of
-       pic_offset_table_rtx.
-       * rtl.def: Add the following new RTL codes: DEFINE_SPLIT,
-       MATCH_OP_DUP, LO_SUM and HIGH.
-
-       * reorg.c: New file.  Performs instruction reorganizations
-       (primarily branch scheduling) after register allocation.
-
-       * local-alloc.c (local_alloc): If defined, execute
-       ORDER_REGS_FOR_LOCAL_ALLOC.
-
-       * genrecog.c (struct decision): Extended to handle DEFINE_SPLITs.
-       (write_tree): Split into three subroutines: `write_tree_1' which
-       does the main work, `write_tree' which does the original job, and
-       `write_split_tree' which builds the recognizer for insn splitting.
-       (add_to_sequence): Handle MATCH_OP_DUP.
-       (main): Bui.Build both insn->insn_code and insn->insn_list
-       recognizers.
-       Also, fixed comment at the top of the file.
-       * genpeep.c (main): Handle DEFINE_SPLIT.
-       (match_rtx): Handle MATCH_OP_DUP.
-       * genoutput.c (main): Handle DEFINE_SPLIT.
-       * genconfig.c (main): Handle DEFINE_SPLIT and MATCH_OP_DUP.
-       * genattrtab.c (main): Handle DEFINE_SPLIT.
-
-       * fold-const.c (various places): Use `build1' constructor instead of
-       `build' constructor whenever possible.
-
-       * final.c (final_scan_insn): If we know the status of the condition
-       codes at a particular JUMP_INSN (by dint of the fact that it has a
-       REG_CC_STATUS note), set CC_STATUS to reflect that value.
-       (only_leaf_regs_used): @@ For some reason the frame pointer register
-       is not marked live, even when it is.  If FRAME_POINTER_NEEDED is
-       nonzero, set REGS_EVER_LIVE[FRAME_POINTER_REGNUM] to 1.
-
-       * expr.c (emit_library_call): Round ARGS_SIZE.CONSTANT up, not down.
-       Use new macro MAX to accomplish this.
-       (safe_from_p): Don't check that EXP is nonzero.  Instead, make
-       caller check (only in one place) that argument to `safe_from_p' is
-       non-zero.
-       (expand_expr): In COND_EXPR case, make sure that the predicate is
-       safe from the two conditions.  Lossage occured in a construct of the
-       form (c = c < 0 ? d : -d).
-
-       * explow.c (plus_constant): Handle LO_SUM rtl.
-
-       * c-typeck.c (build_binary_op_nodefault): If optimizing, try merging
-       component refs and/or comparisons into larger operations.
-
-       * c-common.c (rewrite_for_merged_ref): New function.  Canonicallizes
-       expressions to be recognizable as candidates for merged
-       COMPONENT_REF operations.
-       (make_merged_ref): Builds custom FIELD_DECLs for accessing multiple
-       bits in a byte simultaneously.
-       (merge_component_comparisons): Optimize COMPONENT_REFs in
-       expressions that look like (x.p == y.p && x.q == y.q) or
-       (x.p != y.p || x.q != y.q).  Also optimize (x.p == c1 && x.q == c2),
-       where C1 and C2 are known constants.
-
-       * c-lang.c (print_lang_statistics): Added new hook function.
-       Currently does nothing for C.
-
-       * c-convert.c: Use `build1' constructor instead of `build'
-       constructor whenever possible.
-
-       * cplus-typeck.c (build_binary_op_nodefault): Call this function for
-       better applicability of the merged component ref optimization. 
-       Also, add more recognized cases.
-
-       * cplus-type2.c (merge_component_comparisons): Code improved, and
-       moved to c-common.c.
-
-       * cplus-parse.y (operator_name): Recognize `operator,'.
-       (expr): On parsing ',', call `build_x_compound_expr' instead of
-       `build_compound_expr'.
-       (various places): Call `note_decl_list_got_semicolon' instead of
-       `note_decl_got_semicolon' where object in question is a list instead
-       of a type.
-       (component_declarator0): Set CURRENT_DECLSPECS from the bitfield
-       type.
-
-       * cplus-method.c (hack_wrapper): Rename parameter TYPE to CNAME,
-       since it is a type name we pass in, not a type.
-
-       * cplus-lex.c (opname_tab): Add `operator,'.
-       (note_decl_list_got_semicolon): Make notation that a list of
-       declarations should be considered as having "gotten a semicolon".
-       (extract_interface_info,interface_strcmp): Commented.
-
-       * cplus-init.c (build_delete): Rest of changes to reimplement new
-       destructor mechanism.
-       (build_vbase_delete): Fix bug whereby arrays of length 0 and 1 were
-       not being correctly handled.  Also, where elsements were not being
-       deleted.  Use new destrouct calling convention.
-       (various places): Change TYPE_HAS_CONSTRUCTOR to
-       TREE_HAS_CONSTRUCTOR where appropriate.
-
-       * cplus-expr.c (cplus_expand_expr): Use `emit_block_move' to copy
-       data from RETURN_TARGET to CALL_TARGET in case they do not line up
-       normally.
-
-       * cplus-decl2.c (finish_file): No need to call `build_vbase_delete'
-       on top-level objects anymore, since destructors now do the right
-       thing.
-
-       * cplus-decl.c (finish_function): Implement new destructor
-       mechanism: destroy virtual baseclass objects if (in$charge & 2) is
-       nonzero.  Deallocate if (in$charge & 1) is nonzero.
-
-       * cplus-cvt.c (build_up_reference): Use TREE_HAS_CONSTRUCTOR, not
-       TYPE_HAS_CONSTRUCTOR on non-TYPE tree nodes.
-       (build_up_reference): Only build up references between compatible
-       types.  I.e., don't build a char& to an int object.
-       (convert_to_aggr): Set the TREE_SIDE_EFFECTS bit if the result is a
-       CALL_EXPR.
-
-       * cplus-class.c (build_vbase_path): Recover from bad parse errors.
-       (build_method_call): Implement new ctor/dtor semantics to allow
-       differentiation between tearing an object down and deallocating it.
-       This also means that ctors and dtors can now aviod going through the
-       virtual function table mechanism as they construct/destruct their
-       objects.
-
-       * ALL GNU C++ files: Use new macro IDENTIFIER_TYPE_VALUE to lookup
-       type value of an identifier.  Also implement related macros
-       IDENTIFIER_HAS_TYPE_VALUE, and IDENTIFIER_TYPEDECL_VALUE.
-
-       * cplus-cadillac.c (cadillac_switch_source): Change Prototype
-       declaration to non-prototype declaration.
-       (readable_p): Ditto.
-
-Sun May 20 20:23:39 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * c-typeck.c (c_sizeof): For incomplete type, warn and return 0.
-       (c_sizeof): Similar.
-
-Sun May 20 17:20:48 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * emit-rtl.c (gen_highpart): Support SUBREG like gen_lowpart.
-
-Sun May 20 16:59:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * c-typeck.c (build_c_cast): Warn about pointer-integer casts 
-       where size differs.
-
-       * stor-layout.c (layout_type): Multi-word field doesn't force BLKmode.
-
-       * expmed.c (extract_bit_field): Use mode_for_size for lsb-aligned
-       fields in regs.  No longer knows explicit modes for this.
-
-Sun May 20 15:12:38 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * Makefile.in: (reload1.o): Now depends on output.h.
-
-       * calls.c (expand_call): No need to set frame_pointer_needed.
-
-       * emit-rtl.c (gen_rtx): If reference to sp, ap, or fp, use
-       appropriate already-made rtx (e.g., stack_pointer_rtx).
-
-       * expr.c (expand_builtin, case BUILT_IN_ALLOCA): No need to set
-       frame_pointer_needed.
-
-       * final.c (final_start_function): No longer round size of frame here.
-       (final_scan_insn): Call constrain_operands with new operand.
-
-       * flow.c (life_analysis): Change test on whether sp is live or
-       not to depend on FRAME_POINTER_REQUIRED and -fomit-frame-pointer.
-       (This code may not be relevant any more.)
-
-       * function.c (push_function_context, pop_function_context): No need
-       to save and restore frame_pointer_needed.
-       (assign_{outer_,}stack_local): No need to set frame_pointer_needed.
-       (assign_parms): Likewise.
-       (init_function_start): Don't initialize frame_pointer_needed here.
-
-       * function.h (frame_pointer_needed): Deleted.
-
-       * genattrtab.c (write_attr_case): Write call to constrain_operands
-       with new second argument (reload_completed).
+       * reload1.c (hard_reg_use_compare, reload_reg_class_lower): Likewise.
 
-       * global-alloc.c (global_alloc): Don't left fp be allocated if we
-       already know we can't eliminate it.
-       (find_reg): Argument LOSERS is now a HARD_REG_SET instead of an array.
-       Precompute HARD_REG_SETs before loop over registers to speed up
-       allocation.
-       (retry_global_alloc): Argument FORBIDDEN_REGS is now a HARD_REG_SET.
-       (check_frame_pointer_required): Deleted; no longer needed.
+       * stupid.c (stupid_reg_compare): Likewise.
 
-       * integrate.c (save_for_inline, output_inline_function): No longer
-       need to save and restore frame_pointer_needed.
-
-       * local-alloc.c (block_alloc): No longer have to worry that having
-       a stack variable might cause a frame pointer to be needed when it
-       might otherwise not be.
-       (find_free_reg): Don't allocate into registers that may be eliminated
-       later even if they are not FIXED_REGS.
+       * tree.c (_obstack_allocated_p): Likewise.
 
-       * output.h: Define reload_completed.
+       * varray.h (varray_data_tag, VARRAY_GENERIC_PTR_INIT): Likewise.
 
-       * recog.c (constrain_operands): Add new argument, STRICT.  If zero
-       and the constraints could not be matched, try again with a less
-       strict view (i.e., assume that reload will fix those things that
-       it can).  This allows attribute values to be obtained prior to
-       reload.
-       Don't call alter_subreg or assume it has been called.  Instead,
-       look inside SUBREGs.
+1999-09-08  Bruce Korb  autogen@linuxbox.com
 
-       * reload.c (find_reloads_address{,_1}): Handle an address that
-       is a MEM; it may have been produced by register elimination.
-       (find_reloads_address): sp can also be the base register for a
-       stack slot.
-       (form_sum): No longer static.
+       * Makefile.in: Give the hapless gperf user a hint about
+       why "gperf -F" fails.
 
-       * reload1.c: Rewrite code that performs frame pointer elimination.  Do
-       it during reload to ensure that all addresses and operands remain
-       valid; also generalize to support more than one pair of eliminations.
-       (reg_equiv_stack_slot, bad_spill_regs): New vars.
-       (forbidden_regs): Now a HARD_REG_SET.
-       (struct elim_table): New structure to describe register eliminations.
-       (reload): Start scanning registers after virtual registers.
-       Initialize reg_equiv_stack_slot for each register.  Compute
-       reg_equiv_{mem,address} during register scan only if not eliminating
-       registers.
-       Compute initial default value of frame_pointer_needed.
-       Round frame size to BIGGEST_ALIGNMENT.
-       Create obstack for scratch rtl created by register elmination.
-       Initialize elimination table and spill registers that we know can't
-       be eliminated.
-       On each scan of the insns: Reset all elimination entries to initial
-       offsets, compute reg_equiv_{mem,address}, and see if any potentially
-       eliminable register changed status.
-       Try to eliminate registers from each insn unless we know that none
-       can be eliminated.
-       Don't complete groups for spill registers from registers that
-       shouldn't be used as spill registers.
-       Call reload_as_needed if register eliminations can be done, even if
-       no reloads are needed.
-       (new_spill_reg): Don't allow spilling an eliminable register.
-       Don't set forbidden_regs here.
-       Indicate something changed if a register that wasn't ever used before
-       was made a spill register.
-       (eliminate_frame_pointer, {alter,fix}_frame_pointer_address): Deleted.
-       (delete_dead_insn): New function.
-       (alter_reg): Call it.
-       Always set reg_equiv_stack_slot; if not eliminating registers, also
-       set reg_equiv_{mem,address}.
-       (eliminate_regs, eliminate_regs_in_insn): New functions.
-       (spill_hard_reg): Add new argument, CANT_ELIMINATE.
-       Set bit for register being spilled in forbidden_regs.
-       Use new argument instead of seeing if we are spilling fp.
-       No longer need to have frame pointer just because a reg needs a
-       stack slot.
-       (order_regs_for_reload): Set bad_spill_regs to contain those registers
-       that can't be used for spill registers.
-       Consider any eliminable register as bad to use as a spill register.
-       Rework initialization of potential_reload_regs.
-       (reload_as_needed): Handle register elimination in a similar manner
-       as function reload.
-       (gen_input_reload): When generating a reload for a PLUS, first try to
-       use a three-operand add insn.  If that fails, emit two two-operand
-       insns.
-
-       * rtl.h (FUNCTION_FLAGS_FRAME_POINTER_NEEDED): Deleted; all others
-       renumbered.
-
-       * stmt.c (expand_decl): No longer have to set frame_pointer_needed
-       for variable-sized decl.
-
-       * stupid.c (stupid_find_reg): Don't try to allocate an eliminable
-       register.
+Wed Sep  8 04:43:22 1999  Richard Henderson  <rth@cygnus.com>
+
+       * lists.c: Include ggc.h.
+       (zap_lists): New.
+       (init_EXPR_INSN_LIST_cache): Install it.
+
+       * ggc-simple.c (init_ggc): Absorb the old init.
+       (ggc_push_context): Use xcalloc.
+       (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Likewise.
+       (ggc_collect): Add [rvts] tags to the collection stats.
+
+Wed Sep  8 11:14:25 1999  Andreas Schwab  <schwab@suse.de>
+
+       * cccp.c (main): Fix handling of -include and -imacros options.
+
+Wed Sep  8 02:23:08 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * cpplib.c (cpp_push_buffer): Fix order of arguments.
+
+Wed Sep  8 04:44:09 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * rtl.h (obstack_alloc_rtx): Removed, it's now static in
+       genrtl.c.
+
+Wed Sep  8 00:33:43 1999  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
+
+       * flow.c (insn_dead_p): Use XEXP rather than SUBREG_REG.
+       * haifa-sched.c (sched_analyze_1): Use XEXP rather than SUBREG_REG
+       and SET_DEST. Update comment.
+
+Wed Sep  8 18:55:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c: Include ggc.h.
+       (c4x_add_gc_roots): New function.
+       (c4x_override_options): Call c4x_add_gc_roots.
+
+Wed Sep  8 00:00:16 1999  Richard Henderson  <rth@cygnus.com>
+
+       * defaults.h (TARGET_ESC): Move ...
+       * system.h: ... here, where Linas had it in the first place.  Silly me.
+
+Tue Sep  7 23:46:35 1999  Linas Vepstas  <linas@linas.org>
+
+       * c-common.c: Use ISGRAPH, ISLOWER, toupper.
+       * c-lex.c, cccp.c, cexp.c, cexp.y, cppexp.c, dwarf2out.c, genattr.c,
+       genattrtab.c, genemit.c, genextract.c, genpeep.c, tree.c: Likewise.
+       * system.h (IN_CTYPE_DOMAIN): Define to 1 if HOST_EBCDIC.
+       * defaults.h (TARGET_ESC): Add default.
+
+Tue Sep  7 23:36:59 1999  Linas Vepstas  <linas@linas.org>
+
+       * configure.in: add i370-*-openedition, i370-*-mvs and
+       i370-*-linux targets
+
+Tue Sep  7 23:31:53 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * dsp16xxx.c: Include ggc.h
+       (override_options): Mark GC roots.
+       * mn10200.c: Include ggc.h.
+       (asm_file_start): Mark GC roots.
+       * tahoe.c: Include ggc.h.
+       (extensible_operand): Mark GC roots.
+
+Tue Sep  7 23:23:15 1999  Linas Vepstas  <linas@linas.org>
+
+       * README: Add section discussing status of ELF ABI.
+       * i370.c: Fix misc spelling mistakes.
+       (i370_label_scan): Updated notes, exception handling.
+       (i370_function_prolog): Simplify ELF stack handling.
+       * i370.h: (FIXED_REGISTERS): Free up r12 for ELF.
+       (STACK_GROWS_DOWNWARD): ELF stack grows down.
+       (ASM_DECLARE_FUNCTION_NAME): Fix crazy malloc size.
+       * i370.md: (movdi): Add notes.
+       (floatsidf2): Use stack not rtca for scratch float area.
+       (iorsi3): Correct operand constraints.
+       * x-oe: Restore TAROUTOPTS which are used by pax.
+
+Tue Sep  7 22:39:18 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * rs6000.c: Include ggc.h.
+       (rs6000_add_gc_roots): New function.
+       (override_options): Call it.
+
+Tue Sep  7 22:09:03 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.h (alpha_compare): New.
+       (alpha_compare_op0, alpha_compare_op1, alpha_compare_fp_p): Remove.
+       * alpha.c: Likewise for the definitions.
+       (alpha_emit_conditional_branch): Update for alpha_compare.
+       (alpha_emit_conditional_move): Likewise.
+       * alpha.md (cmpdf, cmpdi): Likewise.
+       (setcc patterns): Likewise.  Zero alpha_compare after use.
+       (sne): Optimize (x != 0) into (0U < x).
+
+Tue Sep  7 21:55:02 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.h (alpha_eh_epilogue_sp_ofs): Remove.
+       (struct machine_function): Declare; add eh_epilogue_sp_ofs.
+       (INIT_EXPANDERS): Remove.
+       * alpha.c: Include ggc.h.
+       (alpha_eh_epilogue_sp_ofs, alpha_return_addr_rtx): Remove.
+       (alpha_init_machine_status, alpha_mark_machine_status): New.
+       (override_options): Install them.
+       (struct machine_function): Moved to alpha.h.
+       (alpha_save_machine_status, alpha_restore_machine_status): Remove.
+       (alpha_init_expanders): Remove.
+       (alpha_return_addr): Adjust to use current_function->machine.
+       (alpha_ra_ever_killed): Likewise.
+       (alpha_expand_epilogue): Likewise.
+       * alpha.md (eh_epilogue): Likewise.
+
+Wed Sep  8 14:34:42 1999  Ian Piumarta  <piumarta@prof.inria.fr>
+                         Melissa O'Neill  <oneill@cs.sfu.ca>
+                         Geoffrey Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/rs6000.c (first_reg_to_save): Don't save fixed or
+       call-used registers (call-saved registers must still be contiguous
+       and end with r31, of course).
+
+Tue Sep  7 21:41:38 1999  Richard Henderson  <rth@cygnus.com>
+
+       * c-typeck.c (type_lists_compatible_p): Use simple_type_promotes_to.
+       (self_promoting_type_p): Delete.
+       (self_promoting_args_p): Move ...
+       * c-common.c: ... here.
+       (c_common_nodes_and_builtins): Initialize lang_type_promotes_to.
+       (simple_type_promotes_to): New.
+       * builtins.c (lang_type_promotes_to): New.
+       (expand_builtin_va_arg): Use it to give diagnostic for illegal types.
+       * c-tree.h (C_PROMOTING_INTEGER_TYPE_P): Move ...
+       * c-common.h: ... here.
+       (self_promoting_args_p, simple_type_promotes_to): Declare.
+       * c-decl.c (duplicate_decls): Use simple_type_promotes_to.
+       (grokdeclarator): Likewise.
+       * tree.h (lang_type_promotes_to): Declare.
+
+Tue Sep  7 17:15:21 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       Add some machine-dependent GC roots.
+       * sparc.c: Include ggc.h.
+       (sparc_add_gc_roots): New function.
+       (mark_ultrasparc_pipeline_state): Likewise.
+       (override_options): Call sparc_add_gc_roots.
+       * pa.c: Include ggc.h.
+       (pa_add_gc_roots): New function.
+       (mark_deferred_plabels): Likewise.
+       (override_options): Call pa_add_gc_roots.
+       * mips.c: Include ggc.h.
+       (mips_add_gc_roots): New function.
+       (override_options): Use it.
+
+Tue Sep  7 11:39:41 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cpperror.c (cpp_file_line_for_message): Constify a char*.
+
+       * cppexp.c (parse_number, parse_charconst, cpp_lex,
+       cpp_parse_expr): Add static prototypes.
+       (parse_charconst): Don't cast away const-ness.
+       (token): Constify a char*.
+
+       * cppfiles.c (file_name_list, include_hash, find_include_file,
+       finclude, initialize_input_buffer): Constify a char*.
+       (file_cleanup, find_position): Add static prototypes.
+
+       * cpphash.c (macro_cleanup, macarg, timestamp, special_symbol,
+       collect_expansion): Add static prototypes.
+       (cpp_install, create_definition, monthnames): Constify a char*.
+
+       * cpphash.h (cpp_install): Likewise.
+
+       * cppinit.c (known_suffixes, default_include,
+       dump_special_to_buffer, NAME, cpp_start_read, cpp_finish): Likewise.
+       (base_name, dump_special_to_buffer, initialize_dependency_output):
+       Add static prototypes.
+
+       * cpplib.c (my_strerror): Constify a char*.
+       (null_underflow, null_cleanup, skip_comment, copy_comment,
+       copy_rest_of_line, handle_directive, pass_thru_directive,
+       get_directive_token, read_line_number, cpp_print_file_and_line,
+       v_cpp_error, v_cpp_warning, v_cpp_error_with_line,
+       v_cpp_warning_with_line, detect_if_not_defined,
+       consider_directive_while_skipping): Add static prototypes.
+       (pass_thru_directive, check_macro_name, cpp_expand_to_buffer,
+       cpp_pedwarn_with_file_and_line): Constify a char*.
+
+       * cpplib.h (cpp_options, include_hash, progname, definition,
+       cpp_pedwarn_with_file_and_line, cpp_expand_to_buffer,
+       check_macro_name, cpp_pfatal_with_name, cpp_file_line_for_message,
+       find_include_file, deps_output, include_hash): Constify a char*.
+
+       * cppmain.c (progname): Constify.
+       (main): Add prototype.  Use return, not exit.
+
+       * fix-header.c (fatal, add_symbols, lookup_std_proto, write_lbrac,
+       recognized_macro, check_macro_names, read_scan_file, write_rbrac,
+       inf_skip_spaces, inf_read_upto, inf_scan_ident, inf_scan_ident,
+       check_protection): Add static prototype.
+       (xfree): Remove.
+       (progname, recognized_macrom, recognized_extern): Constify a char*.
+       (main): Add prototype.
+
+       * gen-protos.c (progname): Constify a char*.
+
+Tue Sep  7 00:47:52 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * emit-rtl.c (free_emit_status): Take decl as a parameter.
+       (init_emit_once): Add more GC roots.
+       * except.c (mark_func_eh_entry): New function.
+       (mark_eh_node): Mark false_label and rethrow_label.
+       (init_eh): Add more GC roots.
+       * function.c (free_after_compilation): Take decl as a parameter.
+       Call free_stmt_status.
+       (mark_function_state): Don't assume x_parm_reg_stack_loc is
+       non-NULL.
+       * function.h (free_after_compilation): Change prototype.
+       (free_varasm_status): Likewise.
+       (free_emit_status): Likewise.
+       (free_stmt_status): New function.
+       * ggc-simple.c (rtx, vecs, trees, strings, bytes_alloced_since_gc):
+       Remove, replacing with ...
+       (ggc_status): New structure.
+       (ggc_chain): New variable.
+       (init_gcc): Define.
+       (ggc_push_context): New function.
+       (ggc_pop_context): Likewise.
+       (ggc_alloc_rtx): Adjust for use of ggc_chain.
+       (ggc_alloc_rtvec): Likewise.
+       (ggc_alloc_tree): Likewise.
+       (ggc_alloc_string): Likewise.
+       (ggc_mark_rtx): Mark NOTE_SOURCE_FILE and NOTE_RANGE_INFO.
+       (ggc_mark_tree): Give language-dependent code a chance to mark
+       `x' nodes.
+       (ggc_mark_tree_varray): Handle empty arrays.
+       (ggc_collect): Adjust for use of ggc_chain.  Clear
+       bytes_alloced_since_last_gc.
+       * ggc.h (ggc_pop_context): New function.
+       (ggc_push_context): Likewise.
+       * print-tree.c (print_node): Don't print obstacks when GC'ing.
+       * stmt.c (free_stmt_status): New function.
+       (init_stmt_for_function): Clear last_expr_value.
+       * toplev.c (rest_of_compilation): Always call free_after_compilation.
+       Conditionalize call to ggc_collect.
+       (main): Call init_ggc.
+       * tree.c (push_obstacks): Do the push, even when GC'ing.
+       (push_obstacks_nochange): Likewise.
+       (pop_obstacks): Liekwise.
+       * varasm.c (free_varasm_status): Take decl as a parameter.
+
+Tue Sep  7 08:15:49 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * config/mips/mips.h (MULTILIB_ENDIAN_DEFAULT) : New macro.
+       (MULTILIB_ENDIAN_DEFAULT) : Use the new macro.
+       * config/mips/elf64.h (MULTILIB_DEFAULTS) : Use the new macro.
+       * config/mips/r3900.h (MULTILIB_DEFAULTS) : Use the new macro.
+
+Tue Sep  7 03:42:45 1999  Mark Klein (mklein@dis.com)
+
+       * pa/x-pa-mpeix: New file for the MPE port.
+
+       * pa/quadlib.asm: New file for long double support.
+
+       * configure.in: Add hppa1.0-*-mpeix for MPE port.
+       * configure: Rebuilt.
+
+Tue Sep  7 10:08:40 1999  Andreas Schwab  <schwab@suse.de>
+
+       * final.c (shorten_branches): Fix last change.
+
+Tue Sep  7 00:30:32 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.h (ASM_OUTPUT_DOUBLE_INT): Delete.
+
+Mon Sep  6 22:44:47 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * Merge from gcc2 snapshot Jan 9, 1999.  See FSFChangeLog for
+       details.
+
+Mon Sep  6 22:31:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-aux-info.c (concat): Don't define.
+
+       * cccp.c (my_strerror): Likewise.  All callers changed to use
+       xstrerror instead.
+       (do_include): Call xstrdup, not xmalloc/strcpy.
+       (grow_outbuf): Don't check if xrealloc returns NULL, it can't.
+       (xmalloc, xrealloc, xcalloc, xstrdup): Don't define.
+
+       * collect2.c (my_strsignal): Likewise.  All callers changed to use
+       strsignal instead.
+       (locatelib): Call xstrdup, not xmalloc/strcpy.
+
+       * 1750a.h (ASM_OUTPUT_INTERNAL_LABEL): Call xmalloc, not malloc.
+
+       * dsp16xx.c (override_options): Call xstrdup, not xmalloc/strcpy.
+
+       * i370.h (ASM_DECLARE_FUNCTION_NAME): Call xmalloc, not malloc.
+
+       * mips.c (build_mips16_call_stub): Call xstrdup, not xmalloc/strcpy.
+
+       * cppinit.c (cpp_options_init): Call xcalloc, not xmalloc/bzero.
+
+       * dwarfout.c (dwarfout_init): Call concat, not xmalloc/strcpy/...
+
+       * except.c (new_eh_region_entry): Call xmalloc/xrealloc, not
+       malloc/realloc.
+       (find_all_handler_type_matches): Likewise.  Don't check return
+       value.
+       (get_new_handler, init_insn_eh_region, process_nestinfo): Call
+       xmalloc, not malloc.
+       (init_eh_nesting_info): Likewise.  Call xcalloc, not xmalloc/bzero.
+
+       * gcc.c (xstrerror, xmalloc, xrealloc): Don't define.
+       (init_spec): Call xcalloc, not xmalloc/bzero.
+       (set_spec): Call xstrdup, not save_string.
+       (record_temp_file): Call xstrdup, not xmalloc/strcpy.
+       (find_a_file): Call xstrdup, not xmalloc/strcpy.
+       (process_command): Call xstrdup, not save_string.
+       (main): Call xcalloc, not xmalloc/bzero.
+
+       * gcov.c (xmalloc): Don't define.
+       (create_program_flow_graph): Call xcalloc, not xmalloc/bzero.
+       (scan_for_source_files): Call xstrdup, not xmalloc/strcpy.
+       (output_data): Call xcalloc, not xmalloc/bzero.
+
+       * haifa-sched.c (schedule_insns): Call xcalloc, not xmalloc/bzero.
+
+       * mips-tdump.c (xmalloc): Don't define.
+       (print_symbol): Call xmalloc, not malloc.
+       (read_tfile): Call xcalloc, not calloc.
+
+       * mips-tfile.c (xfree, my_strsignal, xmalloc, xcalloc, xrealloc):
+       Don't define.  All callers of xfree/my_strsignal changed to use
+       free/strsignal instead.
+       (allocate_cluster): Call xcalloc, not calloc.
+
+       * objc/objc-act.c (lang_init): Call concat, not xmalloc/strcpy/...
+       Fix memory leak, free allocated memory.
+
+       * prefix.c (translate_name): Call xstrdup, not save_string.
+       (update_path): Likewise.
+
+       * profile.c (branch_prob): Call xstrdup, not xmalloc/strcpy.
+
+       * protoize.c (xstrerror, xmalloc, xrealloc, xfree, savestring2):
+       Don't define.  Callers of xfree/savestring2 changed to use
+       free/concat instead.
+
+       * reload1.c (reload): Call xcalloc, not xmalloc/bzero.
+       (init_elim_table): Likewise.
+
+       * resource.c (init_resource_info): Likewise.
+
+       * stupid.c (stupid_life_analysis): Likewise.
+
+       * toplev.c (xmalloc, xcalloc, xrealloc, xstrdup): Don't define.
+       (open_dump_file): Call concat, not xmalloc/strcpy/...
+       (clean_dump_file): Likewise.
+       (compile_file): Call xstrdup, not xmalloc/strcpy.
+
+Mon Sep  6 15:04:55 1999  Richard Henderson  <rth@cygnus.com>
+
+       * v850.h (EXPAND_BUILTIN_VA_ARG): New.
+       * v850.c (v850_va_arg): New.
+
+Tue Sep  7 09:36:01 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * haifa-sched.c: Tidy comments.
+
+Mon Sep  6 14:30:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o.
+       (c-parse.o, c-decl.o, c-lang.o, c-lex.o, c-common.o,
+       $(out_object_file)): Depend on ggc.h.
+       * c-common.c: Include "ggc.h".
+       (combine_strings): If doing GC, use ggc_alloc_string.
+       * c-decl.c: Include "ggc.h".
+       (ggc_p): Define with value 0.
+       (mark_binding_level): New function.
+       (init_decl_processing): Add GC roots.
+       (mark_c_function_context): New function.
+       (lang_mark_false_label_stack): New function.
+       (lang_mark_tree): New function.
+       (lang_cleanup_tree): New function.
+       * c-lang.c: Include "ggc.h".
+       (lang_init): Call c_parse_init.
+       * c-lex.c: Include "ggc.h".
+       (check_linenum): If doing GC, don't copy filenames to permanent
+       obstack.
+       * c-parse.in: Include "ggc.h".
+       (c_parse_init): New function.
+       * c-tree.h (c_parse_init, mark_c_function_context): Declare.
+       * objc/Make-lang.in (objc-parse.o): Depend on ggc.h.
+
+       * except.c (mark_eh_state): Mark more state.
+       * function.c (mark_function_state): Likewise.
+       * ggc-simple.c (ggc_alloc_rtvec): Bring in sync with non-gc version.
+       (ggc_alloc_string) [GGC_DUMP]: Fix typo.
+       * toplev.c (mark_file_stack): New function.
+       (compile_file): If doing GC, use ggc_alloc_string on input filename.
+       (main): Add root for input_file_stack.
+
+       * i386.c: Include "ggc.h".
+       (ix86_mark_machine_status): New function.
+       (override_options): Set mark_machine_status.
+
+Mon Sep  6 15:26:23 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * tree.c (copy_node): Copy node contents also if doing GC.
+
+Mon Sep  6 08:42:06 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * collect2.c (scan_libraries): Fix double-thinko :-).
+
+Mon Sep  6 02:42:36 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * collect2.c (scan_libraries): Fix thinko.
+
+       * cse.c (delete_trivially_dead_insns): Do not skip the last
+       insn if it is a real insn.
+
+Sun Sep  5 18:57:42 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.in (ggc-simple.o): Depend on hash.h.
+       * ggc.h (ggc_add_tree_hash_table_root): Declare.
+       (ggc_mark_tree_varray): Likewise.
+       (ggc_mark_tree_hash_table): Likewise.
+       * ggc-simple.c: Include hash.h.
+       (ggc_mark_tree_hash_table_ptr): New function.
+       (ggc_mark_tree_hash_table_entry): Likewise.
+       (ggc_mark_tree_hash_table): Likewise.
+       (ggc_add_tree_hash_table_root): Likewise.
+       * varray.h (const_equiv_data): Use struct rtx_def *, rather than
+       rtx, when defining fields.
+
+Sun Sep  5 18:57:42 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+
+       * profile.c (output_func_start_profiler): Remove apparently
+       nonsensical call to start_sequence.
+
+Sun Sep  5 17:34:33 1999  Richard Henderson  <rth@cygnus.com>
+
+       * clipper/clipper.c (clipper_va_start): Fix typos.
+
+       * pyr/pyr.c (pyr_build_va_list, pyr_va_start, pyr_va_arg): New stubs.
+       * spur/spur.c (spur_build_va_list, spur_va_start): New stubs.
+       (spur_va_arg): New stub.
+
+       * configure.in: Comment out pyramid.
+
+Sun Sep  5 19:11:01 1999  Michael Meissner  <meissner@cygnus.com>
+
+       * i386.h (MASK_{DEBUG_{ADDR,ARG},INTEL_SYNTAX}): Move so these
+       don't conflict with the bits that win32, cygwin, and dgux
+       defines.
+
+Sun Sep  5 09:31:56 1999  Richard Henderson  <rth@cygnus.com>
+                         Bernd Schmidt <bernds@cygnus.co.uk>
+
+       * integrate.c (function_cannot_inline_p): Do not inline
+       functions with forced labels.
+
+Sun Sep  5 00:35:17 1999  Richard Henderson  <rth@cygnus.com>
+                         Bernd Schmidt <bernds@cygnus.co.uk>
+                         Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.in (ggc-simple.o): Depend on varray.h.
+       (rtl.o): Depend on ggc.h.
+       (genattrtab.o): Depend on ggc.h.
+       (print-tree.o): Likewise.
+       (fold-const.o): Likewise.
+       * emit-rtl.c (sequence_element_free_list): Remove, and all references.
+       (make_insn_raw): Don't cache insns when GC'ing.
+       (emit_insn_before): Likewise.
+       (emit_insn_after): Likewise.
+       (emit_insn): Likewise.
+       (start_sequence): Use xmalloc to allocate the sequence_stack.
+       (end_sequence): Add free to free it.
+       (gen_sequence): Don't cache insns when GC'ing.
+       (clear_emit_caches): Don't use sequence_element_free_list.
+       (init_emit): Use xcalloc, not xmalloc+bzero.
+       * fold-const.c (size_int_wide): Kill the cache, when GC'ing.
+       * function.c (pop_function_context_from): Use free to free the
+       fixup_var_refs_queue.
+       (put_reg_into_stack): Allocate it with xmalloc.
+       * genattrtab.c: Include ggc.h.
+       (operate_exp): Don't use obstack_free when GC'ing.
+       (simplify_cond): Likewise.
+       (simplify_text_exp): Likewise.
+       (optimize_attrs): Likewise.
+       * gengenrtl.c (gendef): Use ggc_alloc_rtx to allocate RTL, when
+       GC'ing.
+       (gencode): Generate a #include for ggc.h.
+       * ggc-callbacks.c (ggc_p): Define it to zero.
+       * ggc-none.c (ggc_p): Likewise.
+       * ggc-simple.c: Include varray.h.
+       (ggc_mark_tree_varray): New function.
+       (ggc_add_tree_varray_root): Likewise.
+       (ggc_mark_tree_varray_ptr): Likewise.
+       * ggc.h (ggc_p): Declare.
+       (varray_head_tag): Likewise.
+       (ggc_add_tree_varray_root): Declare.
+       * print-tree.c (print_node): Don't check for TREE_PERMANENT
+       inconsistencies when GC'ing.
+       * rtl.c: Include ggc.h.
+       (rtvec_alloc): Use ggc_alloc_rtvec when GC'ing.
+       (rtx_alloc): Use ggc_alloc_rtx when GC'ing.
+       (rtx_free): Don't call obstack_free when GC'ing.
+       * toplev.c (rest_of_compilation): Call ggc_collect after every
+       pass, if GC'ing.
+       * tree.c (push_obstacks): Do nothing, if GC'ing.
+       (pop_obstacks_nochange): Likewise.
+       (pop_obstacks): Likewise.
+       (make_node): Use ggc_alloc_tree when GC'ing.
+       (copy_node): Likewise.
+       (get_identifier): Use ggc_alloc_string when GC'ing.
+       (build_string): Likewise.
+       (make_tree_vec): Use ggc_alloc_tree when GC'ing.
+       (tree_cons): Likewise.
+       (build1): Likewise.
+       (type_hash_canon): Don't call obstack_free when GC'ing.
+
+Sat Sep  4 21:52:32 1999  Richard Henderson  <rth@cygnus.com>
+
+       * haifa-sched.c (schedule_block): Use next_nonnote_insn instead
+       of NEXT_INSN when examining speculative insns for SCHED_GROUP_P.
+
+Sat Sep  4 20:40:19 1999  Richard Henderson  <rth@cygnus.com>
+                         Bernd Schmidt <bernds@cygnus.co.uk>
+                         Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.in (stor-layout.o): Depend on ggc.h.
+       (expr.o): Depend on ggc.h.
+       (profile.o): Depend on ggc.h.
+       (stor-layout.o): Depend on ggc.h.
+       * emit-rtl.c (init_emit_once): Add gc roots.
+       * expr.c: Include ggc.h.
+       (emit_block_move): Add gc roots.
+       (clear_storage): Likewise.
+       * expr.h (init_stor_layout_once): New function.
+       * profile.c: Include ggc.h.
+       (init_arc_profiler): profiler_label is a root.
+       * scan.c (make_sstring_space): Trust xrealloc to function
+       correctly with first parameter NULL.
+       * stor-layout.c: Include ggc.h.
+       (set_sizetype): Add gc root.
+       (init_stor_layout_once): New function.
+       * toplev.c (compile_file): Call it.
+
+Sat Sep  4 19:26:25 1999  Richard Henderson  <rth@cygnus.com>
+                         Bernd Schmidt <bernds@cygnus.co.uk>
+                         Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.in (tree.o): Depend on ggc.h.
+       (varasm.o): Likewise.
+       (function.o): Likewise.
+       (stmt.o): Likewise.
+       (except.o): Likewise.
+       (optabs.o): Likewise.
+       (emit-rtl.o): Likewise.
+       * emit-rtl.c: Include ggc.h.
+       (sequence_element_free_list): Remove, and all references.
+       (mark_sequence): New functions.
+       (mark_emit_state): New function.
+       * except.c: Include ggc.h.
+       (mark_eh_node, mark_eh_stack, mark_eh_queue): New functions.
+       (mark_tree_label_node): New functions.
+       (mark_eh_state): New function.
+       * function.c: Include ggc.h.
+       (mark_temp_slot, mark_function_chain): New functions.
+       (mark_function_state): New function.
+       (init_function_once): New function.
+       * function.h (init_function_once): New function.
+       * ggc-callbacks.c (lang_mark_false_label_stack): New function.
+       * ggc.h (label_node): Declare.
+       (eh_status, emit_status, stmt_status, varasm_status): Likewise.
+       (lang_mark_false_label_stack): New function.
+       (mark_temp_slot): Remove declaration.
+       (mark_function_chain): Likewise.
+       (mark_eh_state): Adjust prototype.
+       (mark_stmt_state, mark_emit_state, mark_varasm_state, mark_optab):
+       Likewise.
+       * optabs.c: Include ggc.h.
+       (mark_optab): New function.
+       (init_optabs): Add gc roots.
+       * stmt.c: Include ggc.h.
+       (mark_cond_nesting, mark_loop_nesting): New functions.
+       (mark_block_nesting, mark_case_nesting, mark_goto_fixup): Likewise.
+       (mark_stmt_state): New function.
+       * toplev.c (compile_file): Call init_function_once.
+       * tree.c: Include ggc.h.
+       (type_hash): Move declaration earlier in file.
+       (TYPE_HASH_SIZE, type_hash_table): Likewise.
+       (init_obstacks): Add gc roots.
+       (mark_type_hash): New function.
+       * varasm.c: Include ggc.h.
+       (mark_pool_constant): New function.
+       (mark_varasm_state): New function.
+
+Sat Sep  4 22:28:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ggc-simple.c (ggc_root, ggc_collect): Wrap prototype with PROTO.
+
+Sat Sep  4 18:01:45 1999  Bernd Schmidt <bernds@cygnus.co.uk>
+
+       * c-decl.c (struct language_function): Renamed from struct c_function.
+       Delete elt NEXT.
+       (c_function_chain): Delete.
+       (push_c_function_context): New arg F.  Don't warn about nested
+       functions here.  Fill LANGUAGE elt of F.  Delete code to update
+       c_function_chain.  Don't call push_function_context.
+       (pop_c_function_context): New arg F.  Restore from there instead of
+       from c_function_chain.  Don't call pop_function_context.  Clear out
+       LANGUAGE field of F when done.
+       * c-lang.c: Include "function.h"
+       (lang_init): Initialize save_lang_status and restore_lang_status.
+       * c-parse.in (nested_function, nested_function_notype): Warn about
+       nested functions.  Call push_function_context/pop_function_context
+       instead of the _c_ variants.
+       * c-tree.h (push_c_function_context, pop_c_function_context): Update
+       prototype.
+       * Makefile.in (c-lang.o): Update dependencies.
+
+       * emit-rtl.c (init_emit): Use xmalloc to allocate regno_reg_rtx,
+       regno_pointer_flag, regno_pointer_align.
+       (gen_reg_rtx): Use xrealloc to enlarge them.
+       (free_emit_status): New function.
+       * function.c (mark_machine_status, mark_lang_status): New variables.
+       (assign_stack_local_1): Renamed from assign_outer_stack_local.  Merge
+       in some bits from assign_stack_local.  All callers changed to use new
+       name.
+       (assign_stack_local): Just call assign_stack_local_1.
+       (free_after_compilation): New function.
+       (put_reg_into_stack): Simplify to always call assign_stack_local_1.
+       (trampoline_address): Likewise.
+       (assign_parms): Use xcalloc/xrealloc to allocate parm_reg_stack_loc.
+       (prepare_function_start): Explicitly clear some more variables.
+       * function.h (struct function): New elt can_garbage_collect.
+       (mark_machine_status, mark_lang_status): Declare variables.
+       (free_after_compilation, free_emit_status, free_varasm_status,
+       init_varasm_status): Declare functions.
+       * toplev.c (rest_of_compilation): Call free_after_compilation when
+       done with the current function.
+       * varasm.c (free_varasm_status): New function.
+
+Sat Sep  4 17:15:13 1999  Richard Henderson  <rth@cygnus.com>
+
+       * sparc.h (EXPAND_BUILTIN_VA_START): Define.
+       (EXPAND_BUILTIN_VA_ARG): Define.
+       * sparc.c (sparc_va_start): New.
+       (sparc_va_arg): New.
+
+Sun Sep  5 11:11:59 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.h (DBR_OUTPUT_SEQEND): Use XVECEXP not XEXPs.
+
+Sun Sep  5 10:13:19 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Disable.
+
+Sat Sep  4 13:44:01 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.in (C_AND_C_OBJS): Add gcc-callbacks.o.
+       (OBJS): Add $(GGC).
+       (ggc-callbacks.o): New target.
+       * ggc-callbacks.c: New file.
+
+Sat Sep  4 22:53:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * expr.h: Collapse individual optab and libfunc vars to arrays.
+       (optab_index, libfunc_index): New enumerations.
+       (optab_table, libfunc_table): New arrays.
+       Add accessor macros for both.
+
+       * optabs.c (optab_table, libfunc_table): New.
+       Delete declarations for individual optab and libfunc vars.
+
+Sat Sep  4 12:57:17 1999  Richard Henderson  <rth@cygnus.com>
+
+       * i386/sco5.h (RETURN_POPS_ARGS): Name change ix86_return_pops_args.
+
+Sat Sep  4 11:19:52 1999  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (GGC, GGC_LIB): New.
+       (HOST_RTL): Include ggc-none.o.
+       (ggc-simple.o): New target.
+       (ggc-none.o): Likewise.
+       * tree.h (tree_common): Add gc_mark.
+       * rtl.h (struct rtx_def): Steal a bit from code to make gc_mark.
+       (struct rtvec_def): Add gc_mark.
+       * emit-rtl.c (global_rtl): Update static initializers to contain
+       enough initializers.
+       * ggc.h, ggc-none.c, ggc-simple.c: New files.
+       * toplev.c (gc_time): New variable.
+       (all_time): New variable.
+       (compile_file): Print gc time.
+       (print_time): Calculate percentage of the whole.
+
+Sat Sep  4 13:11:01 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       Change obstack memory management and varasm constant pool handling so
+       that nested functions are treated like any other functions.
+       * function.c (init_machine_status): New variable.
+       (push_function_context_to): Set contains_functions for the outer
+       function.  Don't call save_varasm_status.
+       (pop_function_context_from): Don't call restore_varasm_status.  Don't
+       set current_function_contains_functions.
+       (prepare_function_start): Call init_varasm_status rather than
+       init_const_rtx_hash_table.  Call (*init_machine_status) if the pointer
+       is non-null.
+       * function.h (struct function) Add field varasm.  Delete fields
+       inline_obstacks, inl_emit, const_rtx_hash_table, first_pool,
+       last_pool, const_rtx_sym_hash_table, pool_offset, const_double_chain.
+       (init_machine_status): Declare.
+       (save_varasm_status, restore_varasm_status): Delete declarations.
+       (save_tree_status, restore_tree_status): Delete last argument.
+       * integrate.c (initialize_for_inline): Lose arg COPY.  Delete copying
+       code.  All callers changed.
+       (copy_decl_list, copy_decl_tree, copy_decl_rtls, copy_for_inline,
+       save_constants_in_decl_trees, restore_constants, save_constants,
+       save_for_inline_eh_labelmap, save_for_inline_copying): Delete
+       functions.
+       (inlining): New variable.
+       (reg_map, label_map, insn_map, orig_asm_operands_vector,
+       copy_asm_operands_vector, copy_asm_constraints_vector): Delete
+       variables.
+       (save_for_inline_nocopy): Don't save constants.
+       Don't set inl_emit field in current_function.
+       (expand_inline_function): Use emit field, not inl_emit, of the inlined
+       function.  Set new variable inlining before
+       calling copy_rtx_and_substitute.
+       (copy_rtx_and_substitute): In MEM and SYMBOL_REF cases, handle
+       constant pool references if inlining is nonzero.
+       Delete ADDRESS and (most of the) CONST cases.
+       (output_inline_function): Save and restore current_function/
+       current_function_decl.  Delete restore_constants code.  Don't call
+       init_const_rtx_hash_table.
+       * output.h (init_const_rtx_hash_table): Don't declare.
+       * rtl.h (struct function): Declare.
+       (get_pool_constant_for_function, get_pool_mode_for_function): Declare.
+       * toplev.c (rest_of_compilation): Don't treat nested functions or
+       functions containing them specially.  Delete all code to deal with
+       save_for_inline_copying.
+       * tree.c (toplev_inline_obstacks, extra_inline_obstacks,
+       inline_obstacks): Delete variables.
+       (save_tree_status): Lose arg CONTEXT.  All callers changed.
+       Simply allocate a new function_maybepermanent_obstack for the new
+       function, delete all the special cases.
+       Don't save inline_obstacks.
+       (restore_tree_status): Lose arg CONTEXT.  All callers changed.
+       Delete special handling for function_maybepermanent_obstack; simply
+       free it if empty.
+       Don't restore inline_obstacks.
+       (permanent_allocation):  Delete code that frees inline_obstacks.
+       (print_inline_obstack_statistics): Delete function.
+       (dump_tree_statistics): Don't call it.
+       * varasm.c (struct varasm_status): New.
+       (const_rtx_hash_table, const_rtx_sym_hash_table, first_pool,
+       last_pool, pool_offset, const_double_chain): Delete global
+       variables, replace with accessor macros.
+       (immed_double_const): Don't walk const_double_chain outside a
+       function, but don't treat nested functions specially anymore.
+       (immed_real_const_1): Likewise.
+       (clear_const_double_mem): Don't treat nested functions specially.
+       (init_const_rtx_hash_table): Deleted, code moved to init_varasm_status.
+       (save_varasm_status, restore_varasm_status): Delete functions.
+       (init_varasm_status): New function.
+       (force_const_mem): Don't treat nested functions specially.
+       (find_pool_constant): Accept new arg F, search for constants in
+       that function's pool rather than the current one.  All callers
+       changed.
+       (get_pool_constant_for_function, get_pool_mode_for_function): New
+       functions.
+
+       * i386.c (init_386_machine_status): New function, mostly from
+       clear_386_stack_locals.
+       (struct machine_functions): Rename element names to avoid name
+       clashes.
+       (pic_label_rtx, pic_label_name, i386_stack_locals): New accessor
+       macros, replacing global variables.
+       (clear_386_stack_locals, save_386_machine_status,
+       restore_386_machine_status): Delete functions.
+       (override_options): Initialize init_machine_status.
+       * i386.h (INIT_EXPANDERS): Delete macro.
+       (save_386_machine_status, restore_386_machine_status,
+       clear_386_stack_locals): Delete declarations.
+
+Sat Sep  4 16:56:28 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (rptb_init): Renamed from *rptb_init.
+       (doloop_begin):  Simplify pattern and use emit_jump_insn.
+       (doloop_end): Simplify pattern, switch operand order,
+       and use emit_jump_insn.
+
+Fri Sep  3 19:02:38 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+
+       * function.h (struct function): Add new element LANGUAGE.
+       (save_lang_status): Declare new variable.
+       (restore_lang_status): Likewise.
+       * function.c (save_lang_status): Define.
+       (restore_lang_status): Likewise.
+       (push_function_context_to): Call language-specific save function.
+       (pop_function_context_from): Call language-specific restore function.
+
+Fri Sep  3 01:16:18 1999  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
+
+       * i386.md (movsf_1): Check REG_P before use of REGNO.
+       (movdf_1): Likewise.
+       (movxf_1): Likewise.
+       (extendsfdf2): Likewise.
+       (extendsfxf2): Likewise.
+       (extenddfxf2): Likewise.
+
+Sat Sep  4 11:37:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_emit_move_sequence): Do not force large
+       constants into memory.
+       (c4x_shiftable_constant): New function.
+       * config/c4x/c4x.c (LEGITIMATE_CONSTANT_P): Allow any CONST_INT.
+       (c4x_shiftable_constant): Declare.
+       * config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant,
+       ashlqi3_noclobber): Add new patterns and associated splitters.
+
+Fri Sep  3 16:22:17 1999  Richard Henderson  <rth@cygnus.com>
+
+       * dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
+       * dwarf2out.c (dwarf2out_frame_init): Likewise.
+       * final.c (shorten_branches): Likewise.
+       * global.c (global_alloc): Likewise.
+       * haifa-sched.c (build_control_flow): Likewise.
+       * stmt.c (check_for_full_enumeration_handling): Likewise.
+       (estimate_case_costs): Likewise.
+
+Fri Sep  3 15:49:56 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * rtl.h (RTL_CHECKC2): Fix typo in last change.
+
+Fri Sep  3 15:13:34 1999  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (propagate_block): Use XEXP not SET_DEST for a USE.
+       (recompute_reg_usage): Likewise.
+       * rtlanal.c (find_regno_fusage): Likewise.
+
+       * rtl.c (rtl_check_failed_code1): New function.
+       (rtl_check_failed_code2): New.
+       * rtl.h (RTL_CHECK1, RTL_CHECK2, RTVEC_ELT): Parenthesize args.
+       (RTL_CHECKC1, RTL_CHECKC2): New.
+       (XC*): New accessor macros.
+       (NOTE_*, LABEL_NAME, LABEL_NUSES, ADDRESSOF_REGNO): Use them.
+       (ADDRESSOF_DECL, JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF): Likewise.
+       (CONTAINING_INSN, REGNO, INTVAL, SUBREG_REG, SUBREG_WORD): Likewise.
+       (ASM_OPERANDS_*, MEM_ALIAS_SET, SET_SRC, SET_DEST): Likewise.
+       (TRAP_*, RANGE_INFO_*): Likewise.
+
+Fri Sep  3 15:10:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (tlink.o): Don't depend on toplev.h.
+
+       * collect2.c (c_file, o_file, export_file, import_file, ldout,
+       output_file, nm_file_name, ldd_file_name, strip_file_name,
+       c_file_name, prefix_list, libexts, is_ctor_dtor, find_a_file,
+       add_prefix, prefix_from_env, prefix_from_string, do_wait,
+       fork_execute, maybe_unlink, add_to_list,
+       extract_init_priority, write_list, dump_list,
+       dump_prefix_list, write_list_with_asm, write_c_file,
+       write_c_file_stat, write_c_file_glob, scan_prog_file,
+       scan_libraries, is_in_list, resolve_lib_name, use_import_list,
+       ignore_library, extract_string, notice, dump_file, target_machine,
+       collect_wait, collect_execute, libname, locatelib, aix_std_libs,
+       read_file, print_load_command): Constify a char*.
+       (fdopen, error, fatal, fatal_perror): Don't prototype.
+       (my_strerror): Remove.  All callers use xstrerror instead.
+       (xcalloc, xmalloc, xrealloc, xstrdup, putenv): Remove definitions.
+       (main): Add prototype.  Constify lots of char* ptrs.  Change calls
+       to xcalloc/strcpy/strcat/...  to one call to concat.
+       (main, scan_prog_file, scan_libraries): Use an intermediate
+       `const char **' to build an argv array.
+       (mapfile, libselect, libcompare, locatelib): Add prototypes.
+
+       * collect2.h (collect_execute, collect_wait, dump_file,
+       file_exists): Constify a char*.
+       (ldout, c_file_name, temporary_obstack, permanent_obstack,
+       temporary_firstobj, vflag, debug): Add extern declarations.
+       (fancy_abort, error, notice, fatal, fatal_perror): Add prototypes.
+
+       * tlink.c: Don't include toplev.h.
+       (vflag, debug, ldout, c_file_name, temporary_obstack,
+       permanent_obstack, temporary_firstobj): Don't declare.
+       (tlink_execute, frob_extension, symbol_hash_lookup,
+       file_hash_lookup, demangled_hash_lookup, tlink_init, freadsym,
+       recompile_files, read_repo_files, demangle_new_symbols,
+       scan_linker_output): Constify a char*.
+       (symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc,
+       do_tlink): Mark parameters with ATTRIBUTE_UNUSED.
+
+Fri Sep  3 18:09:24 1999  Andrew Haley  <aph@cygnus.com>
+
+       * config/m68k/m68kelf.h: Set USE_GAS; this makes gcc generate jbsr
+       (relative) rather than jsr (absolute) subroutine call insns.
+       * config/m68k/m68k-coff.h: Ditto.
+
+Fri Sep  3 17:24:31 1999  Richard Earnshaw <rearnsha@arm.com>
+
+       * arm.c (note_invalid_constants): No need to ignore ASMs, we can
+       now rework these too.
+       (arm_reorg): If an insn can't reach the end of the current pool,
+       ensure that we emit that pool before the insn.
+
+Fri Sep  3 09:14:32 1999  Marc Espie <espie@tetto.liafa.jussieu.fr>
+
+       * tlink.c (scan_linker_output): Skip the initial underscore in
+       a mangled name if appropriate.
+
+Fri Sep  3 01:28:33 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
+       objc_tree_code_name, synth_id_with_class_suffix, warn_with_method,
+       error_with_ivar, gen_declarator, create_builtin_decl,
+       my_build_string, generate_descriptor_table, generate_ivars_list,
+       generate_dispatch_table, check_protocols, TAG_GETCLASS,
+       TAG_GETMETACLASS, TAG_MSGSEND, TAG_MSGSENDSUPER, TAG_EXECCLASS,
+       dump_base_name, lang_decode_option, build_encode_expr,
+       start_class, finish_class, encode_pointer, really_start_method,
+       gen_declaration, dump_interface, handle_class_ref, handle_impent):
+       Constify.
+       (objc_demangle, objc_printable_name, generate_struct_by_value_array):
+       Add static prototypes.
+       (build_objc_string_decl, build_selector_reference_decl,
+       encode_bitfield, build_class_reference_decl): Remove unused
+       parameter, all callers changed.
+       (maybe_objc_method_name): Mark with ATTRIBUTE_UNUSED.
+       (objc_printable_name): Likewise.  Change second parameter to type int.
+       (init_objc): Use memcpy, not bcopy, to avoid casts.
+
+Thu Sep  2 21:49:52 1999  Richard Henderson  <rth@cygnus.com>
+
+       * reload1.c (eliminate_regs_in_insn): Avoid eliminating the
+       reg notes on a deleted insn.
+       * gcse.c (hash_expr_1): Use XWINT on a CONST_DOUBLE.
+
+Thu Sep  2 20:18:12 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * i386.c (ix86_attr_length_default): Handle TYPE_FXCH.
+
+Thu Sep  2 22:00:08 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * stmt.c (expand_asm_operands): Fix index into inout_mode when
+       reading it.
+
+Thu Sep  2 13:00:48 1999  Richard Henderson  <rth@cygnus.com>
+
+       * stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
+       * tm.texi (MD_ASM_CLOBBERS): Document it.
+
+Thu Sep  2 10:22:40 1999  Richard Henderson  <rth@cygnus.com>
+
+       * dwarf2out.c (dwarf2out_line): Constify `lastfile'.
+       * except.c (expand_rethrow): Remove unused variable.
+       * expr.c (do_jump_by_parts_greater_rtx): Likewise.
+       * flow.c (replace_insns): Likewise.
+       (create_edge_list, verify_edge_list): Likewise.
+       * gcse.c (cprop_cc0_jump): Protect declaration with HAVE_cc0.
+
+       * genemit.c (gen_expand): Only emit `operands[N]' decl if there
+       is special code to run.
+       (main): Don't define operands to emit_operand.
+       * genrecog.c (main): Don't emit an empty peephole2_insn function.
+
+       * rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
+
+       * alpha/alpha.h (normal_memory_operand): Declare.
+       (reg_no_subreg_operand): Declare.
+       * alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
+
+Thu Sep  2 10:19:20 1999  Richard Henderson  <rth@cygnus.com>
+
+       * c-parse.in (compstmt_primary_start): New, broken out of first
+       part of compstmt handling in primary.
+       (primary): Use it.  Add an error clause.
+       (compstmt_nostart): Renamed from compstmt; remove all
+       initial invocations of compstmt_start.
+       (compstmt): New.
+
+Thu Sep  2 01:35:50 1999  Marc Espie <espie@cvs.openbsd.org>
+
+       * protoize.c (gen_aux_info_file):  Let pexecute call choose_temp_base if
+       needed.
+
+Thu Sep  2 00:43:59 1999  Finn Hakansson  <finn@axis.com>
+
+       * combine.c (simplify_shift_const): Remove extra semicolon.
+       * dwarf2out.c (remove_AT): Likewise.
+       * expmed.c (expand_mult): Likewise.
+       * gcov.c (create_program_flow_graph): Likewise.
+       * reorg.c (mostly_true_jump): Likewise.
+
+Thu Sep  2 00:06:43 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * fold-const.c (fold_range_test): Do not try to fold the range
+       test if the rhs or lhs has side effects.
+
+       * combine.c (simplify_rtx): Recognize another case of a synthesized
+       sign extension.
+
+       * varasm.c (mark_constant_pool): When marking indirect references,
+       only look at SYMBOL_REFs.
+
+       * except.c (expand_fixup_region_end): Do not peek at
+       INSN_UID (node->entry->outer_context) for flag_new_exceptions.
+
+Thu Sep  2 13:52:53 1999  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * flags.h: New variables align_loops, align_loops_log,
+       align_jumps, align_jumps_log, align_labels, align_labels_log,
+       align_functions, align_functions_log.
+       * toplev.c: Define them.
+       (f_options): Handle -falign-* when they have no argument.
+       (main): Add logic to set variables for -falign-functions,
+       -falign-jumps, -falign-labels, -falign-loops.
+       Make it -fsched-verbose=<n> and -finline-limit=<n>.
+       (display_help): Change help to match options.
+       * final.c (LABEL_ALIGN): Default to align_labels_log.
+       (LABEL_ALIGN_MAX_SKIP): Default to align_labels-1.
+       (LOOP_ALIGN): Default to align_loops_log.
+       (LOOP_ALIGN_MAX_SKIP): Default to align_loops-1.
+       (LABEL_ALIGN_AFTER_BARRIER): Default to align_jumps_log.
+       (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to align_jumps-1.
+       * varasm.c (assemble_start_function): Handle align_functions.
+
+       * config/sparc/sparc.h: Don't declare sparc_align_*.
+       Don't provide LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN.
+       (DEFAULT_SPARC_ALIGN_FUNCS): Delete; take functionality into
+       sparc.c.
+       (FUNCTION_BOUNDARY): Fix incorrect use---it's not just a request,
+       it's a promise.
+       * config/sparc/sparc.c: Delete sparc_align_loops,
+       sparc_align_jumps, sparc_align_funcs and the corresponding string
+       variables.
+       (sparc_override_options): Default align_functions on ultrasparc.
+       Delete -malign-* handling.
+
+       * config/mips/mips.c (override_options):  On 64-bit targets,
+       try to align code to 64-bit boundaries.
+       (print_operand): New substitution, %~,
+       which aligns labels to align_labels_log.
+       * config/mips/mips.md (div_trap_normal): Use %~.
+       (div_trap_mips16): Likewise.
+       (abssi): Likewise.
+       (absdi2): Likewise.
+       (ffssi2): Likewise.
+       (ffsdi2): Likewise.
+       (ashldi3_internal): Likewise.
+       (ashrdi3_internal): Likewise.
+       (lshrdi3_internal): Likewise.
+       (casesi_internal): Likewise.
+
+Wed Sep  1 21:13:48 1999  Richard Henderson  <rth@cygnus.com>
+
+       Merge new ia32 backend from the branch!
+
+       * i386.h, i386.c, i386.md, reg-stack.c, i386/unix.h: Many changes.
+       See ChangeLog.P2 on new_ia32_branch for details.
+
+       * rtl.h (stack_regs_mentioned_p): Delete prototype.
+       * i386/cygwin.h (SUBTARGET_PROLOGUE): No more do_rtl.
+       * i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
+       * i386/gas.h (ASM_FILE_START): Define.
+       * i386/winnt.c (i386_pe_valid_decl_attribute_p): Update
+       for name change of ix86_valid_decl_attribute_p.
+       (i386_pe_valid_type_attribute_p): Similarly.
+
+Wed Sep  1 18:21:23 1999  Richard Henderson  <rth@cygnus.com>
+
+       * emit-rtl.c (init_emit_once): Don't use GET_MODE_WIDER_MODE
+       to step through CC modes.
+
+Wed Sep  1 20:18:06 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * regmove.c (fixup_match_1): Don't move INSN in front of P if
+       it would end up in the shadow of a live flags regsiter.
+
+Wed Sep  1 11:32:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * reload1.c: Fix many indentation problems.
+       * reload.c: Likewise.
+
+Tue Aug 31 22:08:03 1999  Marc Espie <espie@cvs.openbsd.org>
+
+       * alias.c (non_local_reference_p): Constify fmt.
+
+Tue Aug 31 23:19:35 1999  Michael Meissner  <meissner@cygnus.com>
+
+       * config/i386/xm-cygwin.h (HAVE_DOS_BASED_FILE_SYSTEM): Define.
+
+Tue Aug 31 16:44:52 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * cse.c (delete_trivially_dead_insns): Do not delete stores to
+       the internal_arg_pointer.
+
+Tue Aug 31 13:35:42 1999  Richard Henderson  <rth@cygnus.com>
+
+       Merge peephole2 from new_ia32_branch:
+       * Makefile.in (STAGESTUFF): Add *.peephole2.
+       (mostlyclean): Likewise.
+       (recog.o): Depend on resource.h.
+
+       * final.c (peephole): Conditionalize decl on HAVE_peephole.
+       (final_scan_insn): Likewise for the invocation of peephole.
+       * genconfig.c (main): Look for peephole and peephole2 patterns.
+       Emit HAVE_peephole* accordingly.
+       * genpeep.c (main): Conditionalize entire output on HAVE_peephole.
+       * flags.h (flag_peephole2): Declare.
+       * toplev.c: New pass peephole2.  New flag -fpeephole2.
+
+       * genattrtab.c (main): Count DEFINE_PEEPHOLE2.
+       * gencodes.c (main): Likewise.
+       * genextract.c (main): Likewise.
+       * genoutput.c (main): Likewise.
+       * genemit.c (max_operand_1): Look for the max scratch operand.
+       (gen_rtx_scratch): New.
+       (gen_exp): Use it, and pass on new arg subroutine_type.
+       (gen_expand): Take max scratch into account.
+       (gen_split): Emit peephole2 functions.
+       (output_peephole2_scratch): New.
+       (main): Include hard-reg-set.h and resource.h.  Handle peephole2.
+       * genrecog.c (routine_type): Add PEEPHOLE2.
+       (IS_SPLIT): New.
+       (make_insn_sequence): Match outer parallel for peep2.  Discard
+       top level scratches and dups.
+       (add_to_sequence): New args insn_type and top.  Update all callers.
+       Handle toplevel peep2 matching insns.
+       (write_subroutine): Handle peep2.
+       (write_tree_1): Likewise.
+       (write_tree): Likewise.
+       (main): Likewise.
+       (change_state): New arg afterward.  Update all callers.
+       Handle matching separate insns.
+       * recog.c (recog_next_insn): New.
+       (peephole2_optimize): New.
+       * rtl.def (DEFINE_PEEPHOLE2): New.
+       * resource.c (find_free_register): New argument last_insn.  Use it
+       to find a register available through the entire span.
+       * resource.h (find_free_register): Update prototype.
+
+Tue Aug 31 11:51:06 1999  Jim Kingdon  <http://developer.redhat.com>
+
+       * i386.c (output_strlen_unroll): Don't write xops[7]
+       label if it wasn't set.
+
+1999-08-31 12:44 -0700  Zack Weinberg  <zack@bitmover.com>
+
+       * cpplib.c (struct directive): Const-ify name pointer and
+       function pointer prototype.
+       (validate_else, do_define, do_line, do_include, do_undef,
+       do_error, do_pragma, do_ident, do_if, do_xifdef, do_else,
+       do_elif, do_endif, do_sccs, do_assert, do_unassert,
+       do_warning): Const-ify second arg.
+       (directive_table): Mark const.  Reorder entries by frequency
+       of usage, record statistics.
+
+1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
+
+       * rtl.h (RTL_CHECK1, RTL_CHECK2): New macros which type- and
+       bounds- check RTL accesses if --enable-checking.
+       (RTVEC_ELT): Bounds check if --enable-checking.
+       (XWINT, XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE,
+       XBBDEF): Use RTL_CHECK1/RTL_CHECK2 as appropriate.
+       (XVECEXP, XVECLEN): Define in terms of XVEC, RTVEC_ELT, and
+       GET_NUM_ELEM.
+       (X0WINT, X0INT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
+       X0BBDEF, X0ADVFLAGS):  New macros for accessing '0' slots of RTXes.
+
+       (ADDR_DIFF_VEC_FLAGS): Use X0ADVFLAGS.
+       (NOTE_SOURCE_FILE): Use X0STR.
+       (NOTE_BLOCK_NUMBER, NOTE_EH_HANDLER, LABEL_NUSES,
+       MEM_ALIAS_SET): Use X0INT.
+       (NOTE_RANGE_INFO, NOTE_LIVE_INFO, NOTE_BASIC_BLOCK,
+       JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF, CONTAINING_INSN):
+       Use X0EXP.
+       * real.h (CONST_DOUBLE_CHAIN): Use X0EXP.
+       * rtl.c (copy_rtx, copy_most_rtx): Copy '0' slots with X0WINT.
+       (rtl_check_failed_bounds, rtl_check_failed_type1,
+       rtl_check_failed_type2, rtvec_check_failed_bounds): New
+       functions.
+       (fancy_abort): Fix comment.
+
+       * cse.c (canon_hash): Read CONST_DOUBLE data slots with XWINT.
+       (cse_insn): Decrement LABEL_NUSES for jump target before
+       deleting jump insn.
+       * emit-rtl.c (gen_rtx_CONST_DOUBLE): Use X0EXP for slot 1.
+       * final.c (alter_subreg): Compute regno before changing x to
+       REG; set REGNO(x) after changing it.
+       * flow.c (count_basic_blocks): Use XWINT to inspect EH_REGION
+       notes containing CONST_INTs.
+       (delete_eh_regions): Use NOTE_EH_HANDLER.
+       * function.c (put_reg_into_stack): Make reg a MEM before
+       initializing it.
+       (fixup_var_refs_insns):  Save REG_NOTES (insn) in case we
+       delete insn.
+       (gen_mem_addressof): Make reg a MEM before initializing it.
+       * integrate.c (copy_rtx_and_substitute): Copy '0' slots with
+       X0WINT.
+       * local-alloc.c (update_equiv_regs): Zap REG_NOTES before
+       deleting an insn, not after.
+       (block_alloc): Only look at PATTERN(insn) if we have to, and
+       only if it's format class 'i'.
+       * loop.c (check_dbra_loop): Check bl->biv->add_val is a
+       CONST_INT before using its INTVAL.
+       * print-rtl.c (print_rtx): Use X0STR.
+       * regmove.c (fixup_match_1): Don't look at PATTERN of
+       non-class-'i' insn chain elements.
+       * reload.c (loc_mentioned_in_p): Take address of
+       in->fld[1].rtx directly.
+       * reload1.c (reload): Change reg to a MEM before initializing
+       it.
+       * varasm.c (mark_constant_pool): Skip CONST_DOUBLES, which
+       have no names.
+       * config/i386/i386.md (decrement_and_branch_if_zero): Fix typo.
+
+Fri Aug 20 13:43:41 1999  Andrew Haley  <aph@cygnus.com>
+
+       * config/mips/mips.c (machine_dependent_reorg): Force a
+       barrier to output the local constant pool if a barrier hasn't
+       been found at a natural point in the instruction stream.
+
+Mon Aug 30 22:04:36 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-parse.in (language_string): Constify.
+
+       * dwarf2out.c (language_string): Remove declaration.
 
-       * tm-vax.h (INITIAL_FRAME_POINTER_OFFSET): Add definition.
+       * dwarfout.c (language_string): Likewise.
 
-       * recog.c (next_insn_tests_no_inequality): If no next insn, return 0.
+       * toplev.c (language_string, init_parse, finish_parse): Likewise.
 
-       * print-tree.c (print_node): Set length for TREE_VEC.
+       * tree.h (language_string, init_parse, finish_parse): Declare.
 
-       * calls.c (store_one_arg): Set arg->value to location where argument
-       was placed (either register or stack).
+       * i386/sun386.h (language_string): Remove declaration.
 
-       * recog.c: Needs flags.h (for flag_pretend_float):
-       * Makefile.in (recog.o): Likewise.
+       * mips.h (language_string): Likewise.
 
-       * expr.c (convert_move): Add missing RETURN statements.
+       * nextstep.h (language_string): Likewise.
 
-Sat May 19 14:26:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * nextstep21.h (language_string): Likewise.
 
-       * expr.c (expand_expr, case EXIT_STMT): Return rather than falling
-       out of switch statement (and into `binop').
+       * rs6000.c (language_string): Likewise.
 
-       * cse.c (cse_insn): Allow conditional branches to be turned into
-       noops when the condition is known false by not calling validate_change.
+Mon Aug 30 20:56:08 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cse.c (fold_rtx): Add LABEL_REF to list of fast RTL codes.
+       * Makefile.in (OBJS, PROTO_OBJS): Remove getpwd.o.
+       (getpwd.o): Remove target.
 
-Sat May 19 12:41:44 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * getpwd.c: Delete file.  Its in libiberty now.
 
-       * tm-i386gas.h (ASM_OUTPUT_ALIGN): Use log as arg to .align.
-       (ASM_OUTPUT_ALIGN_CODE): Likewise.
+       * dbxout.c (getpwd): Don't prototype.
+       * dwarf2out.c (getpwd): Likewise
+       * dwarfout.c (getpwd): Likewise
+       * final.c (getpwd): Likewise.
+       * protoize.c (getpwd): Likewise.
 
-       * gcc.c (default_compilers): For .cc, pass -g* to cc1.
+Mon Aug 30 20:21:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Sat May 19 06:51:26 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * cse.c: (fold_rtx): Cast to HOST_WIDE_INT in left shift.
 
-       * tree.c (push_obstacks, pop_obstacks): Put struct obstack_stack
-       in obstack instead of using xmalloc/free.
-       (init_tree): Initialize new obstack for {push,pop}_obstacks.
+Mon Aug 30 16:07:49 1999  Richard Henderson  <rth@cygnus.com>
 
-       * tree.c (simple_cst_list_equal): No longer static.
+       * flow.c (new_insn_dead_notes): Use sets_reg_or_subreg not
+       mark_set_resources.
 
-Fri May 18 19:38:01 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Aug 30 12:23:53 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * expr.h (MUST_PASS_IN_STACK): Refine test for case where padding
-       requirement prohibits passing in register.
+       * fixinc/Makefile.in (subdir): New.
+       (fixincl.x, inclhack.sh, fixincl.sh): Use cp instead of $(CP).
+       (Makefile): New.
 
-Fri May 18 18:14:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Aug 30 01:02:09 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * fixincludes: Fix CAT macro in memvar.h.
+       * emit-rtl.c (copy_rtx_if_shared): A MEM which references
+       virtual_stack_vars_rtx or virtual_incoming_args_rtx can not
+       be shared.
 
-Fri May 18 16:13:59 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * invoke.texi: Fix typo.
 
-       * expr.c (do_jump): Don't explicitly copy item being tested from
-       MEM to REG.  If needed, this will be done later.
+       * dwarf2out.c (mem_loc_descriptor): New argument MODE.  All callers
+       changed.  Handle autoincrement addressing modes.
 
-Thu May 17 14:33:50 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer
+       just like we would the virtual incoming args register when
+       integrating.
 
-       * Makefile.in (bootstrap): Pass LANGUAGES to inner makes.
+Sun Aug 29 23:17:54 1999  David Edelsohn  <edelsohn@gnu.org>
 
-Thu May 17 13:57:34 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * rs6000.h (ASM_FILE_START): Specify complete filename, including
+       path, in .file directive.
 
-       * fixincludes: Handle _CTRL like CTRL.
+Sun Aug 29 05:06:43 1999  Russ Allbery  <rra@stanford.edu>
 
-Wed May 16 21:09:42 1990  Richard Kenner  (kenner at vlsi1.ultra.edu)
+       * gcc.texi (External Bugs): Remove obsolete note about Perl on
+       SunOS.
 
-       * fold-const (fold): Two conversions in a row are needed if from an
-       integer type to a pointer type of a different precision.
+1999-08-29 08:38 -0700  Zack Weinberg  <zack@bitmover.com>
 
-Wed May 16 16:09:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * stdbool.h: Make the typedef name _Bool, with bool a #defined
+       alias.
 
-       * expr.c (expand_expr): Make sure a volatile value is referenced
-       even if value is ignored.
+Sun Aug 29 09:36:50 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * c-typeck.c (truthvalue_conversion): Result COND_EXPR gets type int.
-       (invert_truthvalue): Simplify COND_EXPR.
+       * tree.c (tree_code_name): Constify a char*.
 
-Tue May 15 00:25:03 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * tree.h (tree_code_name, decl_printable_name): Likewise.
 
-       * stor-layout.c (layout_record): Do set TYPE_SIZE if size is var.
+       * function.h (struct function): Likewise.
 
-       * reload.c (push_reload): If insn is an asm, verify that CLASS
-       is at least possible for the specified mode.
+       * toplev.c (decl_name, decl_printable_name): Likewise.
 
-       * c-decl.c (complete_array_type): Compensate for wide string constant.
+       * vax/vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Likewise.
 
-       * final.c (leaf_function_p): Reject everything if profiling.
+       * objc/objc-act.c (decl_printable_name): Remove redundant prototype.
+       (init_objc): Remove function pointer cast.
 
-       * function.c (optimize_bit_field): Adjust OFFSET if
-       BITS_BIG_ENDIAN != BYTES_BIG_ENDIAN.
+Sun Aug 29 05:01:17 1999  John David Anglin <dave@hiauly1.hia.nrc.ca>
 
-       * expmed.c (store_bit_field, extract_bit_field): Rework the code
-       to adjust XBITPOS for the size within which to count.
-       (extract_bit_field): When converting MEM to REG, don't make SUBREG
-       immediately; fall through and let this happen in the code that
-       handles original registers of the wrong mode.
+       * pa.md (interspace_jump): New pattern.
+       (builtin_longjmp): New expander.
 
-Mon May 14 16:01:13 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+1999-08-29  Bernd Schmidt  <bernds@cygnus.co.uk>
 
-       * cexp.y (yylex): Ignore carriage return.
-       * cccp.c (initialize_char_syntax): Likewise.
-       (newline_fix, name_newline_fix): Likewise.
+       * fp-bit.c (add, sub, multiply, divide, compare, _eq_f2, _ne_f2,
+       _gt_f2, _ge_f2, _lt_f2, _le_f2, float_to_si, float_to_usi, negate,
+       sf_to_df, df_to_sf): Fix potential problem with alias analysis.
 
-       * c-common.c: New file.
-       (combine_strings): Moved here.  Fix errors for wide string length.
-       * c-parse.y, objc-parse.y, cplus-lex.c: Function deleted here.
+Sun Aug 29 04:30:52 1999  John Wehle  (john@feith.com)
 
-Sun May 13 08:08:41 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * jump.c (delete_prior_computation): Also check calls
+       to constant functions.  Don't bother checking for a
+       REG_UNUSED note before adding it.
+       (delete_computation): Handle multi-word hard registers
+       when synthesizing missing REG_DEAD notes for a register
+       which is both set and used by an insn.
 
-       * integrate.c (subst_constants): Fix typo in case 'E'.
+1999-08-29  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-Sat May 12 17:14:26 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * loop.c (this_loop_info): New variable.
+       (loop_has_call, loop_has_volatile, loop_has_tablejump,
+       loop_continue, loops_enclosed): Replace with fields in this_loop_info.
+       All uses updated.
+       (prescan_loop, strength_reduce): New argument loop_info.  All callers
+       updated.
+       (scan_loop): New variable loop_info, initialize to address of
+       this_loop_info.
+       (prescan_loop): Set loop_info->vtop if find NOTE_INSN_LOOP_VTOP.
+       Delete variable loop_has_multiple_exit targets and replace with
+       field in this_loop_info.
+       (find_and_verify_loops): Rename this_loop to this_loop_num.
+       (strength_reduce): Delete loop_iteration_info.  Replace variable
+       loop_info with function argument of same name.
+       (insert_bct): Rework test for loop being completely unrolled.
 
-       * combine.c (subst): Don't change -(y-x) to x-y for IEEE floats.
-       Include real.h.
+       * loop.h (struct loop_info): New fields num, loops_enclosed,
+       has_call, has_volatile, has_tablejump, has_multiple_exit_targets,
+       has_indirect_jump, and cont.  Redefine use of unroll_number.
+       (loop_unroll_number): Delete.
+
+       * unroll.c (unroll_loop): Store loop unroll count in unroll_number
+       field of loop_info.
+       (loop_iterations): Delete variable vtop and instead use
+       loop_info->vtop computed in prescan_loop.
+
+Sun Aug 29 03:27:23 1999  Scott Weikart <scott@igc.apc.org>
+
+       * fix-header.c (main): Do not pass a null pointer to strcmp.
+
+Sun Aug 29 03:18:48 1999  William Bader  (william@nscs.fast.net)
+
+       * configure.in (i[34567]86-*-sco3.2v4*): Target does not truncate
+       filenames.
+       * configure: Rebuilt.
+
+Sat Aug 28 19:36:05 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * jump.c (jump_optimize_1): Do not delete assignments to
+       internal_arg_pointer.
+       * cse.c (delete_trivially_dead_insns): Always consider a set of
+       the internal_arg_pointer live.
+
+Sat Aug 28 16:24:31 1999  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (flow_delete_insn_chain): Rename from delete_insn_chain.
+       (update_life_info) [REG_WAS_0]: Search the original insns rather
+       than the new insns for the note.  Fix typos finding note_dest.
+       If no dest found, discard the note rather than abort.
+       [REG_NOALIAS]: Handle as REG_NO_CONFLICT.
+       (replace_insns): Remove the old insn list after update_life_info
+       not before.
+
+Sat Aug 28 16:20:12 1999  Richard Henderson  <rth@cygnus.com>
+
+       * haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling
+       sched_analyze_insn.
+       (sched_analyze_1): Let add_dependence care for not adding dups.
+       (sched_analyze_2): Likewise.
+       (add_branch_dependences): Likewise.
+
+Sat Aug 28 15:58:16 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * i386/winnt.c (export_list): New type.
+       (exports_head): Rename to
+       (export_head):  this.
+       (i386_pe_record_exported_symbol): Add is_data flag.
+       (i386_pe_asm_file_end): Emit directive for exported variables.
+       * i386/cygwin.h (i386_pe_record_exported_symbol): Update
+       prototype.
+       * i386/cygwin.h (ASM_OUTPUT_COMMON): Specify symbol type.
+       (ASM_DECLARE_OBJECT_NAME): Likewise.
+       (ASM_DECLARE_FUNCTION_NAME): Likewise.
+       * i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+
+Fri Aug 27 15:35:24 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * cse.c (fold_rtx): Work around bug in Sun V5.0 compilers.
+
+       * pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
+       operand.
+
+Fri Aug 27 14:01:19 1999  Marc Espie <espie@cvs.openbsd.org>
+
+       * config/openbsd.h: Define SET_ASM_OP.
+       * tm.texi: cross-reference SET_ASM_OP in the index.
+
+1999-08-27 13:27 -0700  Zack Weinberg  <zack@bitmover.com>
+
+       * rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format
+       for a CONST_DOUBLE, at compile time.  Initialize rtx_length
+       and class_narrowest_mode at compile time.  Kill init_rtl.
+       Mark rtx_length, mode_class, mode_size, mode_unit_size,
+       mode_wider_mode, mode_mask_array, class_narrowest_mode, and
+       rtx_format as const.  Kill all references to EXTRA_CC_MODES or
+       EXTRA_CC_NAMES.
+       * rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for
+       format.
+       * rtl.h: Declare rtx_length and rtx_format as const.
+       * machmode.def: Define CC().  Use CC() to define CCmode.  If
+       EXTRA_CC_MODES is defined, expand it here.
+       * machmode.h: Declare mode_class, mode_size, mode_unit_size,
+       mode_wider_mode, mode_mask_array, and class_narrowest_mode as
+       const.  Kill all references to EXTRA_CC_MODES.
+
+       * toplev.c: Don't prototype or call init_rtl.
+       * optabs.c: Don't call init_mov_optab.
+       * genemit.c: Don't generate init_mov_optab.  Don't call
+       init_rtl.
+       * gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT
+       here.
+       * genattr.c, genattrtab.c, gencodes.c, genconfig.c,
+       genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
+       genrecog.c: Don't call init_rtl.
+
+       * arc.h, arm.h, c4x.h, i386.h, i960.h, m88k.h, pa.h, pdp11.h,
+       rs6000.h, sparc.h: Don't define EXTRA_CC_NAMES.  Use CC() in
+       definition of EXTRA_CC_MODES.
+
+       * md.texi: Kill ref to EXTRA_CC_NAMES.
+       * tm.texi: Document new way to define EXTRA_CC_MODES.
+
+       * genrecog.c: Do not look up the name of a define_split.
+       (Unrelated bugfix.)
+
+Fri Aug 27 17:03:42 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/v850/v850.md: Fix typo introduced by previous delta.
+
+Fri Aug 27 09:48:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gcc.c (fatal): Make definition static to match prototype.
+
+Fri Aug 27 10:33:35 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * combine.c (get_last_value): Don't look for earlier sets if the last
+       known set is somewhere in between the insns being combined.
+
+Fri Aug 27 10:03:12 BST 1999  Nathan Sidwell  <nathan@acm.org>
+
+       * configure.in: Don't use shell ! to negate exit codes
+       * configure: Regenerate
+
+Fri Aug 27 09:36:17 1999  Andreas Schwab  <schwab@suse.de>
+
+       * function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
+       the fact that ALIGN is measured in bits, not bytes.
+
+1999-08-27 00:27 -0700  Zack Weinberg  <zack@bitmover.com>
+
+       * errors.c: New file; defines functions error, warning, and
+       fatal, variables have_error and progname.
+       * errors.h: New file; prototypes and decls for stuff in errors.c.
+
+       * Makefile: Add rules to build errors.o and
+       $(HOST_PREFIX)errors.o.  Link genconfig, gencodes, genemit,
+       genopinit, genrecog, genextract, genpeep, genattr, and
+       genoutput with errors.o.  Add errors.h to deps of genconfig.o,
+       gencodes.o, genemit.o, genopinit.o, genrecog.o, genextract.o,
+       genpeep.o, genattr.o, and genoutput.o.
+
+       * genconfig.c, gencodes.c, genemit.c, genopinit.c, genrecog.c,
+       genextract.c, genpeep.c, genattr.c:  Include errors.h.  Don't
+       define or prototype fatal.  Set progname at beginning of main.
+       * genoutput.c:  Likewise, and don't define or prototype error
+       either.
+
+       * c-typeck.c (c_expand_start_case): Return immediately if exp
+       is an ERROR_MARK.
+       * fold-const.c (operand_equal_p): Return immediately if arg1
+       or arg0 are ERROR_MARKs.
+       * stor-layout.c (layout_type [case RECORD_TYPE]): Ignore
+       fields of type ERROR_MARK when calculating if the record can
+       go in a register.
+
+Fri Aug 27 01:03:48 1999  Jim Kingdon  <http://developer.redhat.com>
+       with much help from Jeffrey A Law and Richard Henderson
+
+       * i386.md: In the 6 insns which call output_fix_trunc,
+       earlyclobber operands[0].
+
+Fri Aug 27 01:01:51 1999  Philip Blundell  <pb@nexus.co.uk>
+
+       * jump.c (duplicate_loop_exit_test): Call reg_scan_update after
+       creating new registers.
+
+1999-08-26 23:09 -0700  Zack Weinberg  <zack@bitmover.com>
+
+       * i386.h: Declare ix86_cpu_string, ix86_arch_string,
+       i386_reg_alloc_order, i386_regparm_string,
+       i386_align_loops_string, i386_align_jumps_string,
+       i386_align_funcs_string, i386_preferred_stack_boundary_string,
+       and i386_branch_cost_string as type "const char *".
+       * i386.c: Define all above strings as type "const char *".
+
+Thu Aug 26 20:36:30 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * dwarf2out.c (output_aranges): Check DWARF_OFFSET_SIZE not PTR_SIZE
+       when emitting alignment padding.  Emit padding byte of 0 instead of 4.
+
+Thu Aug 26 18:11:20 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.c (array_type_nelts): Don't create RTL_EXPRs from
+       SAVE_EXPRs unless the SAVE_EXPRs have already been expanded.
+
+Thu Aug 26 19:33:23 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Add default definition.
+       (debug_dwarf): Add DWARF2_ASM_LINE_DEBUG_INFO support.
+       (dwarf2out_line, dwarf2out_finish): Likewise.
+       * tm.texi (DWARF2_ASM_LINE_DEBUG_INFO): Add documentation.
+
+Thu Aug 26 16:10:56 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * tree.c (lang_unsave_expr_now) : Correct return type.
+       * tree.h (lang_unsave_expr_now) : Same.
+
+Thu Aug 26 13:12:29 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.c (cint_ok_for_move): Use CONST_INT_OK_FOR_LETTER_P macros
+       instead of duplicating code.
+
+Thu Aug 26 18:32:32 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * gcse.c (hash_scan_insn): Don't scan obvious no-ops.
+
+1999-08-26 09:42 -0700  Zack Weinberg  <zack@bitmover.com>
+
+       * tree.h: fancy_abort always takes three args.
+       * resource.c: Move include of system.h before toplev.h.
+
+Thu Aug 26 09:46:16 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * dwarf2out.c (mem_loc_descriptor): Accept LABEL_REFs as well
+       as SYMBOL_REFs.
+
+1999-08-25 22:10 -0700  Zack Weinberg  <zack@bitmover.com>
+
+       * system.h: Don't redefine abort or trim_filename.
+       * rtl.h: Define abort to fancy_abort (__FILE__, __LINE__, 0)
+       or fancy_abort (__FILE__, __LINE__, __FUNCTION__) depending on
+       whether or not __FUNCTION__ is available.
+       * tree.h: Duplicate rtl.h's definition of abort, for files
+       that don't include rtl.h.  Delete all code to perform type
+       checking with a compiler other than GCC.
+       * varray.h: Delete all code to perform type checking with a
+       compiler other than GCC.  Make VARRAY_CHECK() always evaluate
+       its arguments exactly once, using a statement expression.
+       Adjust the VARRAY_<type> accessor macros to match.
+       * toplev.h (fatal_insn, fatal_insn_not_found): Kill.
+       (_fatal_insn, _fatal_insn_not_found): New fns, take info on
+       caller's location.  Define fatal_insn and fatal_insn_not_found
+       as macros that use _fatal_insn and _fatal_insn_not_found.
+       (fancy_abort, trim_filename): Kill prototypes.
+
+       * rtl.c (trim_filename): Move here from toplev.c.
+       (fancy_abort): New function.
+       (DIR_SEPARATOR): Provide default definition.
+       * tree.c (tree_check_failed, tree_class_check_failed): Go
+       through fancy_abort.
+       (tree_check, tree_class_check, cst_or_constructor_check,
+       expr_check): Delete.
+       * varray.c (varray_check_failed): New function.
+       * toplev.c (fatal_insn, fatal_insn_not_found): Replace with
+       _fatal_insn and _fatal_insn_not_found.  Go through
+       fancy_abort.
+       (trim_filename, fancy_abort): Delete.
+
+       * builtins.c (expand_builtin_args_info): Report ICE with abort.
+       * except.c (start_catch_handler): Report ICE with error/abort
+       combo.
+       * final.c (output_operand_lossage): Likewise.
+       * flow.c (verify_flow_info): Likewise.
+
+       * gcc.c: Prototype fatal.
+       * gengenrtl.c: Undef abort after including rtl.h not system.h.
+       * genattr.c, genattrtab.c, genemit.c, genextract.c,
+       genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c:
+       Don't define fancy_abort.
+
+Wed Aug 25 17:56:59 1999  Richard Henderson  <rth@cygnus.com>
+
+       * optabs.c (emit_cmp_and_jump_insns): Be more thorough in
+       canonization.
+
+Wed Aug 25 15:35:55 1999  Richard Henderson  <rth@cygnus.com>
+
+       * m88k.h (VERSION_INFO2): Kill.
+       (VERSION_STRING): Kill.
+       (TM_RCS_ID): Kill.
+       (VERSION_INFO1): Tidy.
+       (TARGET_VERSION): Update.
+       * m88k/dgux.h (VERSION_INFO2): Kill.
+       (ASM_FIRST_LINE): Adjust for death of VERSION_STRING.
+       * m88k/luna.h (VERSION_INFO1): Tidy.
+       * m88k/sysv4.h (VERSION_INFO1): Likewise.
+       * m88k.c (out_rcs_id, tm_rcs_id): Kill.
+       (output_file_start): Adjust for death of VERSION_STRING.
+
+1999-08-25 13:51 -0700  Jim Meyering  <meyering@ascend.com>
+
+       * cpplib.c (detect_if_not_defined): New function.
+       (do_if): Use it to detect potential once-only headers.
+
+Wed Aug 25 14:00:18 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * c-common.c (combine_strings): Always set TREE_CONSTANT.
+
+Wed Aug 25 15:27:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * combine.c (nonzero_bits) : Allow single-ly set registers to be
+       anywere in the function only if they are pseudos and set before
+       being used (not live at the start of the function).
+       (num_sign_bit_copies) : Same.
+       (get_last_value_validate) : Same.
+       (get_last_value) : Same.
+
+Wed Aug 25 11:13:29 1999  Richard Henderson  <rth@cygnus.com>
+
+       * loop.c (express_from): Try harder to unify (* c N) and (* c M)
+       where N and M are constant and N is an integer multiple of M.
+
+Wed Aug 25 13:55:47 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * sbitmap.h (sbitmap_intersection_of_succs): Add prototype.
+       (sbitmap_intersection_of_preds, sbitmap_union_of_succs,
+       sbitmap_union_of_preds): Add prototypes.
+       * sbitmap.c (sbitmap_intersection_of_succs): New function to compute
+       the intersection of successors with the new flow graph structures.
+       (sbitmap_intersection_of_preds): New function to compute the
+       intersection of predecessors with the new flow graph structures.
+       (sbitmap_union_of_succs): New function to compute the union of
+       successors with the new flow graph structures.
+       (sbitmap_union_of_preds): New function to compute the union of
+       predecessors with the new flow graph structures.
+       * gcse.c (compute_rdm, compute_available): Use new sbitmap routines.
+       (expr_reaches_here_p): Use edge and basic_block structures instead
+       of s_preds and s_succs.
+       (compute_cprop_avinout): Use new sbitmap routines.
+       (pre_expr_reaches_here_p): Use edge and basic_block structures instead
+       of s_preds and s_succs.
+       * flow.c (compute_flow_dominators): Compute dominators using
+       edges and basic blocks instead of s_preds and s_succs.
+
+Wed Aug 25 13:41:47 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * lists.c (unused_insn_list, unused_expr_list): New file for
+       maintaining various types of lists. New statics for maintaining a
+       cache of available INSN_LIST and EXPR_LIST nodes.
+       (free_list): Static function for freeing a list of INSN/EXPR nodes.
+       (alloc_INSN_LIST): Function to get a free INSN_LIST node.
+       (alloc_EXPR_LIST): Function to get a free EXPR_LIST node.
+       (init_EXPR_INSN_LIST_cache): Initialize the cache lists.
+       (free_EXPR_LIST_list): Free an entire list of EXPR_LIST nodes.
+       (free_INSN_LIST_list): Free an entire list of INSN_LIST nodes.
+       (free_EXPR_LIST_node): Free an individual EXPR_LIST node.
+       (free_INSN_LIST_node): Free an individual INSN_LIST node.
+       * haifa-sched.c (unused_insn_list, unused_expr_list): Moved to flow.c
+       (free_list, alloc_INSN_LIST, alloc_EXPR_LIST): Moved to flow.c
+       (remove_dependence, free_pending_lists): Use new global routines.
+       (flush_pending_lists, sched_analyze_insn): Use new global routines.
+       (sched_analyze, compute_block_backward_dependences): Use new routines.
+       (sched_analyze_1, sched_analyze_2): Use new routines.
+       (schedule_insns): Use new global routines.
+       * rtl.h (init_EXPR_INSN_LIST_cache, free_EXPR_LIST_list): Add function
+       prototypes.
+       (free_INSN_LIST_list, free_EXPR_LIST_node): Add prototypes.
+       (free_INSN_LIST_node, alloc_INSN_LIST, alloc_EXPR_LIST): Add function
+       prototypes.
+       * toplev.c (rest_of_compilation): Initialize node cache.
+       * Makefile.in (OBJS): Add lists.o to list of object files.
+       (lists.o): Add dependencies.
+
+Wed Aug 25 17:31:56 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/v850/v850.md: Fix compile time warning messages.
+       * config/v850/v850.c: Fix compile time warning messages.
+       * config/v850/v850.h: Fix compile time warning messages.
+
+Wed Aug 25 09:44:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * genattr.c (gen_attr): Add prototype arguments for get_attr_*().
+       Remove unused prototype for `init_lengths'.
+
+Wed Aug 25 09:32:31 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * calls.c (emit_call_1): Mark parameter `stack_size' with
+       ATTRIBUTE_UNUSED.
+       (expand_call): Initialize variable `insn'.
+       (emit_library_call): Likewise for variable `high_to_save'.
+       (emit_library_call_value): Likewise.
+       (store_one_arg): Likewise for variables `lower_bound' and
+       `upper_bound'.
+
+       * combine.c (try_combine): Likewise for variables `i2_code_number'
+       and `other_code_number'.
+       (find_split_point): Likewise for variables `pos', `unsignedp' and
+       `inner'.
+       (simplify_if_then_else): Likewise for variables `op' and `c1'.
+       (simplify_and_const_int): Remove unused variable `width'.
+       (merge_outer_ops): Likewise.
+
+       * cse.c (simplify_binary_operation): Cast an INTVAL() to `unsigned
+       HOST_WIDE_INT' when comparing against one.
+       (simplify_relational_operation): Likewise.
+       (cse_insn): Initialize variables `src_eqv_volatile',
+       `src_eqv_in_memory', `src_eqv_in_struct', `src_eqv_hash' and `sets'.
+
+       * final.c (init_final): Constify parameter `filename'.
+       (final_start_function): Mark parameter `optimize' with
+       ATTRIBUTE_UNUSED.
+       (profile_function): Likewise for parameters `first' and `optimize'.
+       (output_source_line): Likewise for parameter `file'.
+
+       * integrate.c (subst_constants): Cast a value to `size_t' when
+       comparing against one.
+       (mark_stores): Initialize variable `mode'.  Cast a value to
+       `size_t' when comparing against one.
+
+       * integrate.h (MAYBE_EXTEND_CONST_EQUIV_VARRAY): Likewise.
+
+       * loop.c (move_movables): Initialize variable `first'.
+       (strength_reduce): Likewise for variable `increment'.
+       (check_dbra_loop): Likewise for variable `comparison_val'.  Cast a
+       value to `size_t' when comparing against one.
+       (load_mems): Initialize variable `end_label'.
+
+       * output.h (init_final): Constify parameter.
+
+       * reload.c (decompose): Initialize variable `base'.
+
+       * reload1.c (reload): Likewise for variable `is_scalar'.
+       (spill_hard_reg): Mark parameter `dumpfile' with ATTRIBUTE_UNUSED.
+       (choose_reload_regs): Initialize variable `mode'.
+       (emit_reload_insns): Likewise for variable `store_insn'.
+       (reload_cse_noop_set_p): Mark parameter `insn' with
+       ATTRIBUTE_UNUSED.
+       (reload_combine): Initialize variable `set'.
+
+       * unroll.c (unroll_loop): Likewise for variable `local_label'.
+       (copy_loop_body): Cast a value to `size_t' when comparing against
+       one.
+
+       * varasm.c (assemble_variable): Initialize variable `size_tree'.
+       (const_hash): Add an `else abort()' in an if-else-if-else sequence.
+       (remove_from_pending_weak_list): Mark parameter `name' with
+       ATTRIBUTE_UNUSED.
+
+Wed Aug 25 11:18:39 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * toplev.c (rest_of_compilation): Use decl_printable_name when opening
+       gcse dump file.
+
+Wed Aug 25 10:57:12 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/telf.h (ASM_WEAKEN_LABEL): Define.
+       (ASM_DECLARE_FUNCTION_NAME): Define.
+       (TYPE_ASM_OP, SIZE_ASM_OP, TYPE_OPERAND_FORMAT,
+       ASM_DECLARE_RESULT, ASM_DECLARE_OBJECT_NAME,
+       ASM_FINISH_DECLARE_OBJECT, ASM_DECLARE_FUNCTION_SIZE): Define if
+       not already defined.
+
+Wed Aug 25 01:36:11 1999  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * calls.c (emit_call_1): Use call_pop/call_value_pop for all values
+       of n_popped when call/call_value are not defined.
+
+Wed Aug 25 01:25:14 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * tm.texi: GNU CC -> GCC conversion.
+       (CC1_SPEC): Indicate it is used for all language front ends.
+
+Tue Aug 24 23:43:03 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * flow.c (delete_block): Spell NOTE_INSN_EH_REGION_BEG and
+       NOTE_INSN_EH_REGION_END correctly.
+
+Tue Aug 24 23:26:44 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
+                         Jeff Law <law@cygnus.com>
+
+       * loop.c (strength_reduce): Automatically unroll loops if the
+       unrolled loop size is smaller than the rolled loop size.
+
+       * loop.c (insert_bct): Replace use of sdiv_optab with asr_optab
+       and delete comment that code should be rewritten.
+
+Tue Aug 24 22:56:35 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * haifa-sched.c (find_rgns): Mark a block found during the DFS search
+       as reachable.
+
+       * haifa-sched.c (get_visual_tbl_length): Fix off-by-one error.
+
+Tue Aug 24 22:41:06 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * fixinc/mkfixinc.sh: Don't fix uwin headers.
+       * i386/uwin.h (MD_STARTFILE_PREFIX): Define.
+       (LINK_SPEC): Add -u _main when building executables.
+       (ASM_DECLARE_FUNCTION): Update from Cygwin.
+       (ASM_FILE_END): Use the default for ix86-pe.
+       * i386/xm-uwin.h (HAVE_BCOPY): Undefine.
+
+Tue Aug 24 20:49:47 1999  Art Haas  <ahaas@neosoft.com>
+
+       * final.c (output_addr_const): Handle case where ASM_OPEN_PAREN
+       and ASM_CLOSE_PAREN are empty strings.
+
+Wed Aug 25 12:46:22 1999  Fred Fish  <fnf@cygnus.com>
+                         Geoffrey Keating <geoffk@cygnus.com>
+
+       * Makefile.in (PREPROCESSOR_DEFINES): New macro.
+       (protoize.o):  Use PREPROCESSOR_DEFINES and DRIVER_DEFINES.
+       (unprotoize.o): Ditto.
+       (test-protoize-simple): Don't define STD_PROTO_DIR.
+       * protoize.c: Use PARAMS rather than PROTO.  Minor whitespace
+       changes to make 'test-protoize-simple' pass.
+       (STD_PROTO_DIR): Remove define.
+       (STANDARD_EXEC_PREFIX): Supply default define.
+       (standard_exec_prefix): New variable, init to STANDARD_EXEC_PREFIX.
+       (target_machine): New variable, init to DEFAULT_TARGET_MACHINE.
+       (target_version): New variable, init to DEFAULT_TARGET_VERSION.
+       (GET_ENV_PATH_LIST): New macro.
+       (default_syscalls_dir): No longer initialized to STD_PROTO_DIR.
+       (do_processing): Initialize default_syscalls_dir using new
+       macros.  Use it to initialize syscalls_absolute_filename.
+
+Tue Aug 24 16:58:15 1999  Richard Henderson  <rth@cygnus.com>
+
+       * jump.c (jump_optimize_1): Do cmov opt on any single-set; force
+       B into a register before emit_conditional_move.
+
+Tue Aug 24 15:37:03 1999  Richard Henderson  <rth@cygnus.com>
+
+       * fold-const.c (fold): Reassociate (+ (+ (* a b) c) (* d e))
+       as (+ (+ (* a b) (* d e)) c).  Factor a common power-of-two
+       multiplicand out of (+ (* a b) (* c d)).
+
+Tue Aug 24 11:46:10 1999  Bob Manson <manson@cygnus.com>
+                         Richard Henderson  <rth@cygnus.com>
+
+       * haifa-sched.c (split_hard_reg_notes): Move to flow.c
+       (new_insn_dead_notes): Likewise.
+       (update_n_sets): Likewise.
+       (update_flow_info): Move to flow.c, renamed to update_life_info;
+       extend to handle multiple source insns.
+       * flow.c: Include resource.h
+       (unlink_insn_chain): New.
+       (split_hard_reg_notes): New.
+       (maybe_add_dead_note): New.
+       (maybe_add_dead_note_use): New.
+       (find_insn_with_note): New.
+       (new_insn_dead_notes): New.
+       (update_n_sets): New.
+       (sets_reg_or_subreg_1, sets_reg_or_subreg): New.
+       (maybe_remove_dead_notes): New.
+       (update_life_info): New.
+       (prepend_reg_notes): New.
+       (replace_insns): New.
+       * output.h (update_life_info): Declare.
+       * recog.c (split_block_insns): Use update_life_info.
+       * resource.c (find_free_register): Use reg_alloc_order, don't use
+       fixed regs, make sure the mode is supported, don't use new regs.
+       (reg_dead_p): New.
+       * rtl.h (replace_insns): Declare.
+
+Tue Aug 24 13:48:39 1999  Nathan Sidwell  <nathan@acm.org>
+
+       * expr.c (expand_expr): Cope with COND_EXPRs with one
+       non-returning branch.
+
+Mon Aug 23 22:28:16 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * expr.c (store_expr): Always pass down the target, even when not
+       doing CSE.
+
+1999-08-24  Nick Clifton  <nickc@cygnus.com>
+
+       * configure.in: Define target_cpu_default for v850 targets.
+       * configure: Regenerate
+
+       * config/v850/v850.h (TARGET_CPU_generic): Define.
+       (GO_IF_LEGITIMATE_ADDRESS): Insist that SImode and larger constant
+       addresses are 4 byte aligned.
+
+       * config/v850/v850.c (print_operand): Cope with 'R' format DFmode
+       addresses.
+
+Tue Aug 24 09:32:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * genattr.c (function_unit_desc): Constify a char*.  Add prototype.
+       (main): Add prototypes.
+
+       * genattrtab.c (substitute_address, write_const_num_delay_slots,
+       attr_eq, attr_numeral, attr_equal_p, attr_copy_rtx): Prototype.
+       (write_attr_get): Emit prototypes along with function definition.
+       (write_eligible_delay): Mark a parameter with ATTRIBUTE_UNUSED.
+       (write_complex_function): Emit static prototype along with
+       function definition.
+
+       * genemit.c (gen_split): Emit prototypes along with function
+       definition.
+
+       * genoutput.c (output_epilogue): Add prototype to `insn_outfun'.
+       Likewise for predicates and `insn_operand_predicate'.
+       (process_template): Emit static prototype along with function
+       definition.
+
+       * genrecog.c (make_insn_sequence): Constify a char*.  Add
+       prototypes for get_split_*().
+       (write_subroutine): Emit prototypes along with function
+       definition.
+
+Tue Aug 24 12:35:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * gcse.c (find_avail_set): Follow chains of register-register copies.
+       Use oprs_not_set_p to guarantee that the returned value can be
+       substituted.
+       (cprop_insn): Don't verify the return value of find_avail_set with
+       oprs_not_set_p.
+
+       * gcse.c (cprop_jump): New function, broken out of cprop_insn.
+       (cprop_cc0_jump): New function.
+       (cprop_insn): Break out new function cprop_jump and use it.
+       Also use cprop_cc0_jump for machines with CC0.
+       (cprop): Don't crash if cprop_insn turned the insn into a NOTE.
+
+       * tree.h (current_function_calls_setjmp,
+       current_function_calls_longjmp): Delete declarations.
+       * dsp16xx.c: Include "function.h".
+       * elxsi.c: Likewise.
+       * gmicro.c: Likewise.
+       * h8300.c: Likewise.
+       * i370.c: Likewise.
+       * m32r.c: Likewise.
+       * mn10200.c: Likewise.
+       * mn10300.c: Likewise.
+       * ns32k.c: Likewise.
+       * spur.c: Likewise.
+       * v850.c: Likewise.
+
+       * rtl.h (rtx_equal_function_value_matters): Declare.
+       * toplev.c (rtx_equal_function_value_matters): Don't declare.
+       * cse.c: Likewise.
+       * function.c: Likewise.
+       * emit-rtl.c: Likewise.
+
+Tue Aug 24 02:47:44 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION
+       call.
+
+1999-08-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+       * jump.c (delete_barrier_successors) Match (set (pc) (pc)) insn
+       exactly.
+
+Mon Aug 23 23:35:52 1999  Matthias Klose  <doko@cs.tu-berlin.de>
+
+       * cpp.texi: Add a node documenting macro varargs (copied
+       from extend.texi).
+
+1999-08-23 22:23 -0700  Zack Weinberg  <zack@bitmover.com>
+
+       * cppspec.c: Put a null pointer at the end of the new argv.
+
+Mon Aug 23 21:23:24 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in: Remove code to select/de-select the haifa
+       scheduler.  Every scheduled port gets haifa now.
+       * configure: Rebuilt.
+       * flags.h, genattrtab.c, rtl.h, toplev.c: Remove HAIFA ifdefs.
+       * sched.c Deleted.
+       * Makefile.in: Corresponding changes.
+
+Mon Aug 23 16:04:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * optabs.c (prepare_cmp_insn): Turn COMPARISON arg into a pointer.
+       All callers changed.
+       (prepare_float_lib_cmp): Likewise.
+       Use FLOAT_LIB_COMPARE_RETURNS_BOOL.
+       * expr.h (emit_float_lib_cmp): Delete declaration.
+       * tm.texi (FLOAT_LIB_COMPARE_RETURNS_BOOL): Document.
+       * sparc.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): Define.
+       * sparc.md (bcc and scc patterns): Don't handle TFmode comparisons
+       specially.
+       (cmptf): Now conditional on TARGET_HARD_QUAD.
+
+Fri Aug 20 17:52:27 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * resource.c (mark_target_live_regs): Use
+       PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
+
+Fri Aug 20 19:07:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * rtl.c (rtx_class, note_insn_name, reg_note_name): Constify.
+
+       * rtl.h (rtx_class, reg_note_name, note_insn_name): Likewise.
+
+       * genopinit.c (gen_insn): Use accessor macro, not `rtx_class'.
+
+Fri Aug 20 18:53:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * rtl.h (rtx_format): Constify a char*.
+
+       * rtl.c (rtx_format): Likewise.
+       (copy_rtx, copy_most_rtx, read_rtx): Likewise.
+       (init_rtl): Use accessor macro, not `rtx_format'.
+
+       * alias.c (rtx_equal_for_memref_p, find_symbolic_term): Constify a
+       char*.
+
+       * caller-save.c (mark_referenced_regs): Likewise.
+
+       * combine.c (subst, make_compound_operation, known_cond,
+       gen_rtx_combine, update_table_tick, get_last_value_validate,
+       use_crosses_set_p, mark_used_regs_combine, move_deaths): Likewise.
+
+       * cse.c (rtx_cost, mention_regs, canon_hash, exp_equiv_p,
+       refers_to_p, canon_reg, fold_rtx, cse_process_notes,
+       count_reg_usage): Likewise.
+
+       * emit-rtl.c (gen_rtx, copy_rtx_if_shared, reset_used_flags):
+       Likewise.
+
+       * final.c (leaf_renumber_regs_insn): Likewise.
+
+       * flow.c (mark_used_regs, find_use_as_address, dump_flow_info,
+       dump_edge_info, count_reg_references): Likewise.
+
+       * function.c (fixup_var_refs_1, walk_fixup_memory_subreg,
+       fixup_stack_1, purge_addressof_1, instantiate_virtual_regs_1):
+       Likewise.
+
+       * gcse.c (oprs_unchanged_p, hash_expr_1, expr_equiv_p,
+       oprs_not_set_p, expr_killed_p, compute_transp, find_used_regs,
+       add_label_notes): Likewise.
+
+       * genattrtab.c (attr_rtx, attr_copy_rtx, encode_units_mask,
+       clear_struct_flag, count_sub_rtxs, count_alternatives,
+       compares_alternatives_p, contained_in_p, walk_attr_value,
+       write_expr_attr_cache): Likewise.
+
+       * genconfig.c (walk_insn_part): Likewise.
+
+       * genemit.c (max_operand_1, gen_exp): Likewise.
+
+       * genextract.c (walk_rtx): Likewise.
+
+       * genflags.c (num_operands): Likewise.
+
+       * genoutput.c (scan_operands): Likewise.
+
+       * genpeep.c (match_rtx): Likewise.
+
+       * genrecog.c (add_to_sequence): Likewise.
+
+       * haifa-sched.c (may_trap_exp, sched_analyze_2, attach_deaths):
+       Likewise.
+
+       * integrate.c (save_constants, copy_for_inline,
+       copy_rtx_and_substitute, subst_constants, restore_constants):
+       Likewise.
+
+       * jump.c  (mark_jump_label, invert_exp, redirect_exp,
+       rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.
+
+       * local-alloc.c (contains_replace_regs, memref_referenced_p):
+       Likewise.
+
+       * loop.c (record_excess_regs, rtx_equal_for_loop_p,
+       add_label_notes, replace_call_address, count_nonfixed_reads,
+       invariant_p, find_single_use_in_loop, find_mem_givs,
+       find_life_end, maybe_eliminate_biv_1, update_reg_last_use):
+       Likewise.
+
+       * print-rtl.c (reg_names, print_rtx): Likewise.
+
+       * recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
+
+       * reg-stack.c (stack_regs_mentioned_p, record_label_references,
+       record_reg_life_pat, swap_rtx_condition, goto_block_pat,
+       print_blocks): Likewise.
+
+       * regclass.c (fix_register, record_address_regs,
+       reg_scan_mark_refs): Likewise.
+
+       * regmove.c (stable_but_for_p): Likewise.
+
+       * reload.c (loc_mentioned_in_p, operands_match_p,
+       find_reloads_toplevsubst_reg_equivs, find_reloads_address_1,
+       copy_replacements, refers_to_regno_for_reload_p,
+       refers_to_mem_for_reload_p, find_inc_amount, regno_clobbered_p,
+       reload_when_needed_name, reg_class_names, debug_reload_to_stream):
+       Likewise.
+
+       * reload1.c (eliminate_regs, scan_paradoxical_subregs,
+       delete_address_reloads_1, count_occurrences,
+       reload_cse_mem_conflict_p, reload_combine_note_use,
+       add_auto_inc_notes): Likewise.
+
+       * resource.c (mark_referenced_resources, mark_set_resources):
+       Likewise.
+
+       * rtlanal.c (rtx_unstable_p, rtx_varies_p, rtx_addr_varies_p,
+       reg_mentioned_p, regs_set_between_p, modified_between_p,
+       modified_in_p, refers_to_regno_p, reg_overlap_mentioned_p,
+       rtx_equal_p, volatile_insn_p, volatile_refs_p, side_effects_p,
+       may_trap_p, inequality_comparisons_p, replace_rtx, replace_regs,
+       jmp_uses_reg_or_mem, for_each_rtx, regno_use_in): Likewise.
+
+       * sched.c (sched_analyze_2, attach_deaths): Likewise.
+
+       * stupid.c (stupid_mark_refs): Likewise.
+
+       * unroll.c (remap_split_bivs): Likewise.
+
+       * varasm.c (mark_constants): Likewise.
+
+       * a29k/a29k.c (uses_local_reg_p): Likewise.
+
+       * alpha/alpha.c (summarize_insn): Likewise.
+
+       * arm/arm.c (symbol_mentioned_p, label_mentioned_p,
+       eliminate_lr2ip): Likewise.
+
+       * arm/thumb.c (symbol_mentioned_p, label_mentioned_p): Likewise.
+
+       * i386/i386.c (symbolic_reference_mentioned_p, copy_all_rtx,
+       reg_mentioned_in_mem): Likewise.
+
+       * ns32k/ns32k.c (global_symbolic_reference_mentioned_p,
+       symbolic_reference_mentioned_p): Likewise.
+
+       * romp/romp.c (unsigned_comparisons_p, hash_rtx): Likewise.
+
+       * sh/sh.c (regs_used, mark_use): Likewise.
+
+       * vax/vax.c (vax_rtx_cost): Likewise.
+
+Fri Aug 20 18:38:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * machmode.h (mode_name): Constify a char*.
+
+       * rtl.c (mode_name): Likewise.
+
+       * genopinit.c (gen_insn): Use accessor macro, not `mode_name'.
+
+       * optabs.c (init_libfuncs): Constify a char*.
+
+       * print-tree.c (mode_name): Remove redundant declaration.
+       (print_node): Use accessor macro, not `mode_name'.
+
+       * reload1.c (dump_needs): Constify a char*.  Use accessor macro,
+       not `mode_name'.
+       (new_spill_reg): Constify a char*.
+
+       * tree.c (mode_name): Remove redundant declaration.
+
+Fri Aug 20 18:31:26 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * rtl.c (rtx_name): Constify a char*.
+
+       * rtl.h (rtx_name, fix_sched_param): Likewise.
+
+       * gmicro/gmicro.c (rtx_name): Remove redundant declaration.
+       (mypr): Use accessor macro, not `rtx_name'.
+
+       * genemit.c (print_code): Constify a char*.
+
+       * genopinit.c (gen_insn): Use accessor macro, not `rtx_name'.
+
+       * genpeep.c (print_code): Constify a char*.
+
+       * genrecog.c (print_code): Likewise.
+
+       * graph.c (start_fct, start_bb, node_data, draw_edge, end_fct,
+       end_bb): Add static prototype.
+       (draw_edge): Constify a char*.
+       (end_bb): Remove unused parameter.
+
+       * haifa-sched.c (fix_sched_param, safe_concat, print_exp
+       print_block_visualization): Constify a char*.
+
+Fri Aug 20 15:02:10 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-common.c (c_get_alias_set): Update comment.
+
+1999-08-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * linux.h (LIB_SPEC): Added.
+
+Fri Aug 20 22:32:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.h (STARTFILE_SPEC): Don't def.
+
+1999-08-19 18:43 -0700  Zack Weinberg  <zack@bitmover.com>
+
+       * tree.c (expr_check): Fix typo in last change.
+
+1999-08-19 14:44 -0700  Zack Weinberg  <zack@bitmover.com>
+
+       * rtl.def (NOTE): Change format to "iuu0n".
+       (ADDR_DIFF_VEC): Change format to "eEee0".
+       (ADDRESSOF): Change format to "eit".
+
+       * rtl.h (rtvec): Make "elem" an array of rtx, not rtunion.
+       (RTVEC_ELT): Change to match.
+       (XVECEXP): Use XVEC and RTVEC_ELT.
+       (INSN_UID, INSN_CODE, CODE_LABEL_NUMBER, NOTE_LINE_NUMBER,
+       ADDRESSOF_REGNO, REGNO, SUBREG_WORD): Use XINT.
+       (PREV_INSN, NEXT_INSN, PATTERN, REG_NOTES,
+       CALL_INSN_FUNCTION_USAGE, SUBREG_REG, SET_SRC, SET_DEST,
+       TRAP_CONDITION, TRAP_CODE): Use XEXP.
+       (INTVAL): Use XWINT.
+       (ADDRESSOF_DECL): Use XTREE.
+       (SET_ADDRESSOF_DECL): Delete.
+       (NOTE_DECL_NAME, NOTE_DECL_CODE, NOTE_DECL_RTL,
+       NOTE_DECL_IDENTIFIER, NOTE_DECL_TYPE): Kill.  These have been
+       ifdefed out since 2.6 at least.
+       (gen_rtvec_vv): Delete prototype.
+
+       * rtl.h (rtvec_alloc): rt->elem is now an array of rtx,
+       not rtunion.
+       (copy_most_rtx): Handle 't' format letter.
+       * emit-rtl.c (gen_rtvec_v): rt_val->elem is an array of rtx.
+       (gen_rtvec_vv): Delete function.  All callers changed to use
+       gen_rtvec_v instead.
+       * print-rtl.c (print_rtx): Move special casing of NOTEs to
+       the '0' format letter.
+
+       * function.c (gen_mem_addressof): Don't use
+       SET_ADDRESSOF_DECL; provide `decl' to gen_rtx_ADDRESSOF
+       instead.
+       * integrate.c (copy_rtx_and_substitute): Likewise.
+       Copy 't' slots with XTREE.
+       (subst_constants): Treat 't' slots like '[swi]' slots.
+       * cse.c (canon_hash, exp_equiv_p): Treat 't' slots like '0' slots.
+       * jump.c (rtx_equal_for_thread_p): Likewise.
+       * rtlanal.c (rtx_equal_p): Likewise.
+       * stmt.c (expand_end_case): gen_rtx_ADDR_DIFF_VEC now takes
+       only four arguments.
+       * gengenrtl.c (type_from_format): Provide correct types for
+       'b' and 't' slots.
+
+
+       * tree.h [ENABLE_CHECKING] (TREE_CHECK, TREE_CLASS_CHECK):
+       If a recent gcc is in use (always in stage2 and beyond), use
+       statement expressions, so we don't make a function call unless
+       the check fails.  Evaluate arguments exactly once.
+       (CHAIN_CHECK, DO_CHECK, DO_CHECK1, TREE_CHECK1,
+       TREE_CLASS_CHECK1, TYPE_CHECK1, DECL_CHECK1, CST_CHECK1):
+       Delete.
+       (CST_OR_CONSTRUCTOR_CHECK, EXPR_CHECK): Redefine such that
+       they evaluate their arguments exactly once, irrespective of
+       the compiler in use.
+
+       * tree.c [ENABLE_CHECKING]: Define whichever set of functions
+       is used by the currently-enabled check macros.  This is:
+       (tree_check_failed, tree_class_check_failed): For gcc.
+       (tree_check, tree_class_check, cst_or_constructor_check,
+       expr_check): For other compilers.
+
+       * gencheck.c: Do not define any *_CHECK1 macros.
+
+Thu Aug 19 14:42:38 1999  Mike Stump <mrs@wrs.com>
+                         Mark Mitchell <mark@codesourcery.com>
+
+       * c-common.c (c_get_alias_set): Fix support for pointers and
+       references.
+
+Thu Aug 19 11:51:22 EDT 1999  John Wehle  (john@feith.com)
+
+       * alias.c: Include tree.h.
+       (nonlocal_reference_p, mark_constant_function): New functions.
+       * flow.c (life_analysis): Call mark_constant_function.
+       * rtl.h (mark_constant_function): Declare it.
+
+Thu Aug 19 15:02:01 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Fix test for
+       unrecognizable switches.
+
+Wed Aug 18 23:31:57 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.c (recombine_givs): Set ix field after sorting.
+       (recombine_givs): Remove bogus index / giv lockstep looping.
+
+Wed Aug 18 18:20:40 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * expmed.c (emit_store_flag): If UNSIGNEDP, call unsigned_condition
+       on CODE.
+       (emit_store_flag_force): Use do_compare_rtx_and_jump.
+       (do_cmp_and_jump): Formatting fixes.
+       * expr.c (do_compare_and_jump): Renamed from compare; changed to call
+       do_compare_rtx_and_jump instead of compare_from_rtx.
+       (do_compare_rtx_and_jump): New function; mostly copied from
+       compare_from_rtx.
+       (do_jump_for_compare): Delete.
+       (expand_expr): Use do_compare_rtx_and_jump when handling MAX_EXPR and
+       MIN_EXPR.
+       (do_jump): Use do_compare_and_jump or do_compare_rtx_and_jump instead
+       of compare/do_jump_for_compare pairs.
+       (do_jump_by_parts_greater): Use do_jump_by_parts_greater_rtx.
+       (do_jump_by_parts_greater_rtx): Use do_compare_rtx_and_jump instead of
+       compare_from_rtx/do_jump_for_compare pairs.
+       (do_jump_by_parts_equality): Likewise.
+       (do_jump_by_parts_equality_rtx): Likewise.
+       * expr.h (do_compare_rtx_and_jump): Declare.
+       * optabs.c (prepare_cmp_insn): New function, contains most of the code
+       that used to be in emit_cmp_insn.
+       (cmp_available_p): New function.
+       (prepare_operand): New function.
+       (emit_cmp_and_jump_insn_1): New function, contains some code that used
+       to be in emit_cmp_insn.
+       (prepare_float_lib_cmp): Renamed from emit_float_lib_cmp; change some
+       parameters to be pointers; don't emit final compare but modify some of
+       the values pointed to by the args so the caller can perform the
+       correct comparison.
+       (expand_binop): Call emit_store_flag_force with signed forms of
+       comparison code.
+       (expand_abs): Use do_compare_rtx_and_jump instead of compare_from_rtx/
+       emit_jump_insn pair.
+       (emit_cmp_and_jump_insn): Use prepare_cmp_insn and
+       emit_cmp_and_jump_insn_1.  Call emit_queue.
+       (emit_cmp_insn): Just call emit_cmp_and_jump_insns with zero for LABEL
+       arg.
+       * flow.c (tidy_fallthru_edge): If HAVE_cc0, verify insn before a
+       jump sets cc0 before deleting it.
+       * integrate.c (expand_inline_function): Likewise.
+       * unroll.c (unroll_loop): Similar changes in several places.
+       (copy_loop_body): If HAVE_cc0, verify insn before a jump sets cc0
+       before deleting it.
+
+Wed Aug 18 06:37:44 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * Makefile.in (insn-recog.o): Update dependencies.
+       * genrecog.c (main): Make generated file include "function.h".
+
+Sat Aug 14 00:54:57 1999  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * cse.c (cse_insn): Call never_reached_warning when a jump is
+       changed to be unconditional.
+       * flags.h: Declare warn_notreached.
+       * flow.c (delete_block): Call never_reached_warning when
+       a block is deleted.
+       * jump.c (delete_barrier_successors): Call never_reached_warning
+       when we delete everything after a BARRIER.
+       (never_reached_warning): New function.
+       * rtl.h: Declare never_reached_warning.
+       * toplev.c (warn_notreached): New variable.
+       (lang_independent_options): Set warn_notreached
+       when -Wunreachable-code.
+       (compile_file): We need line numbers for -Wunreachable-code.
+
+Tue Aug 17 22:06:11 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * haifa-sched.c (insn_unit): Fix typo on out of range test.
+       * sched.c (insn_unit): Likewise.
+
+Tue Aug 17 21:57:23 1999  Andreas Schwab  <schwab@suse.de>
+
+       * combine.c (distribute_notes): Handle REG_EH_RETHROW.
+
+Tue Aug 17 17:39:43 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * flow.c (create_edge_list): Use xmalloc, not malloc.
+
+Tue Aug 17 01:40:54 1999  Loren Rittle  <ljrittle@acm.org>
+
+       * fixinc/inclhack.def (no_double_slash): Do not trash single-line
+       C-style comments.  Do not lose the character before double slash.
+
+Mon Aug 16 18:08:22 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * basic-block.h (struct edge_list): Stucture to maintain a vector
+       of edges.
+       (EDGE_INDEX_NO_EDGE, EDGE_INDEX, INDEX_EDGE_PRED_BB, INDEX_EDGE_SUCC_BB,
+        INDEX_EDGE, NUM_EDGES): New Macros for accessing edge list.
+       (create_edge_list, free_edge-List, print_edge_list, verify_edge_list):
+       New function prototypes.
+       * flow.c (create_edge_list): Function to create an edge list.
+       (free_edge_list): Discards memory used by an edge list.
+       (print_edge_list): Debug output showing an edge list.
+       (verify_edge_list): Internal consistency check for an edge list.
+       (find_edge_index): Function to find an edge index for a pred and succ.
+
+Mon Aug 16 11:56:36 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.c (type_hash_add): Use permalloc to allocate nodes in the
+       hashtable.
+
+Mon Aug 16 17:04:15 1999  Jorn Rennecke <amylaar@cygnus.co.uk>
+
+       * mips.h (CLASS_CANNOT_CHANGE_SIZE): Define.
+
+Fri Aug 13 15:20:43 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * config/i386/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+
+Fri Aug 13 10:21:28 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * toplev.c (rest_of_compilation): Allow machine dependent
+       reorganization pass to place information into the RTL dump
+       file if it so wishes.
+
+Sun Aug 15 12:41:21 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * explow.c (hard_function_value): Use VOIDmode instead of
+       MAX_MACHINE_MODE.
+       * stmt.c (expand_return): Likewise.
+       * stor-layout.c (get_best_mode): Likewise.
+
+       * genemit.c (gen_expand): If next is MATCH_PAR_DUP, then output
+       emit call instead of emit_insn call.
+
+Sat Aug 14 15:04:06 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * configure.in: Handle --disable/enable-win32-registry.
+       * install.texi: Document --disable/enable-win32-registry.
+       * acconfig.h (ENABLE_WIN32_REGISTRY): New macro.
+       (WIN32_REGISTRY_KEY): New macro.
+       * prefix.c: Use to enable/disable win32-specific code.
+       (lookup_key): Use versioned key.
+       * configure: Regenerate.
+       * config.in: Likewise.
+
+Fri Aug 13 17:41:55 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * cpplib.c (read_line_number): New fn, split out of...
+       (do_line): Here.
+
+Fri Aug 13 14:18:27 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       tree.c (lang_unsave_expr_now) : New.
+       (unsave_expr_now): Call lang_unsave_expr_now.
+       tree.h (lang_unsave_expr_now) : New.
+
+Fri Aug 13 00:49:46 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * toplev.c (flag_new_exceptions): On by default.
+
+1999-08-13  Michael Meissner  <meissner@cygnus.com>
+
+       * Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
+
+Fri Aug 13 01:29:57 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * dwarfout.c (fundamental_type_code): Return FT_boolean for
+       INTEGER_TYPE with precision==1, it's __java_boolean.
+
+Thu Aug 12 23:51:04 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * global.c (prune_preferences): Move some invariants out of the
+       inner loop.
+
+Thu Aug 12 15:30:29 1999  Jesse Perry  (jap@unx.dec.com)
+
+       * configure.in (alpha*-dec-osf*): Add osf5.
+
+Sun Aug  1 22:24:03 1999  Philip Blundell  <philb@gnu.org>
+
+       * configure.in: Rework handling of ARM GNU/Linux slightly.
+       (arm*-*-linux-gnuoldld): New target.
+       * configure: Regenerate.
+       * install.texi (Configurations): Add arm-*-linux-gnu{oldld} and
+       arm-*-elf.  Mention that arm-*-linux-gnuaout is obsolete.
+       * config/arm/linux-oldld.h: New file.
+       * config/arm/linux-elf26.h: Don't include linux-elf.h.
+       (TARGET_DEFAULT, SUBTARGET_LINK_SPEC, SUBTARGET_EXTRA_ASM_SPEC):
+       Don't define.
+       * config/arm/linux-elf.h (ASM_SPEC): Define.
+       (TARGET_DEFAULT, SUBTARGET_EXTRA_LINK_SPEC,
+       SUBTARGET_EXTRA_ASM_SPEC, CPP_APCS_PC_DEFAULT): Add definitions
+       for 26-bit APCS and old linker.
+       (CPP_PREDEFINES): Define `__arm__'; don't define `arm' or
+       `arm_elf'.
+       (FP_DEFAULT): Define to FP_SOFT3 for all machines.
+       * config/arm/linux-aout.h (CPP_PREDEFINES): Define `__arm__';
+       don't define `arm' or `arm_elf'.
+       * config/arm/t-linux (EXTRA_MULTILIB_PARTS, MULTILIB_OPTIONS,
+       MULTILIB_DIRNAMES): Define.  Fix typo in comment.
+
+Thu Aug 12 10:14:47 1999  Andreas Schwab  <schwab@suse.de>
+
+       * rtl.texi: Fix typo.
+
+Wed Aug 11 23:50:57 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * invoke.texi (C++ Dialect Options): Add -fms-extensions.
+
+Wed Aug 11 12:59:37 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * extend.texi (C++ Signatures): Remove node.
+       * invoke.texi: Remove discussion of -fhandle-signatures,
+       signature, sigof, __signature__, and __sigof__.
+
+Wed Aug 11 03:38:25 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (JAVAGC): Removed.
+
+Wed Aug 11 02:13:26 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * i386/cygwin.h (ASM_OUTPUT_ALIGNED_BSS): Define.
+
+1999-08-11 Mark Elbrecht <snowball3@bigfoot.com>
+
+       * i386/djgpp.h (ASM_OUTPUT_ALIGNED_BSS): Define.
+
+1999-08-11  Richard Earnshaw (rearnsha@arm.com)
+
+       * emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
+       a register that is already known to be a pointer.
+
+1999-08-11  Bruce Korb  <ddsinc09@ix.netcom.com>
+
+       * fixinc/inclhack.tpl: Only install assert.h conditionally.
+       * fixinc/inclhack.sh: Regenerated.
+       * fixinc/fixincl.sh: Regenerated.
+
+Wed Aug 11 00:34:22 1999  Joe Buck  <jbuck@synopsys.com>
+
+       * invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
+       Fix documentation of -ansi flag to describe its C++ behavior.
+       Remove bogus reference to GCC 2.9.
+
+Tue Aug 10 17:19:02 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * config/sh/sh.c (machine_dependent_reorg): Only call PUT_MODE on
+       note if it is non-NULL.
+
+Tue Aug 10 10:47:42 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * except.h (eh_nesting_info): Add new structure definition.
+       (init_eh_nesting_info, free_eh_nesting_info): Add function prototypes.
+       (reachable_handlers, update_rethrow_references): Add function
+       prototypes.
+       * rtl.h (struct rtvec_def): Update comments.  REG_EH_RETHROW takes
+       a rethrow symbol instead of an integer exception region number.
+       * flow.c (Make_edges): Use new exception nesting routines to determine
+       which handlers are reachable from a CALL or asynchronous insn.
+       Don't add an edge for calls with a REG_EH_REGION of -1 to non-local
+       goto receivers.
+       (delete_eh_regions): Update rethrow labels, and don't delete
+       regions which are the target of a rethrow.
+       * except.c (struct func_eh_entry): Add rethrow_ref field, now we can
+       avoid overloading the SYMBOL_REF_USED flag.
+       (rethrow_symbol_map): Use new rethrow_ref field.
+       (rethrow_used): Use new rethrow_ref field.
+       (expand_rethrow): REG_EH_RETHROW now has a SYMBOL_REF instead
+       of an integer.  Fix formatting.
+       (output_exception_table_entry): Use new rethrow_ref field.
+       (can_throw): Check for EH_REGION_NOTE before deciding
+       whether a CALL can throw or not.
+       (scan_region): Call rethrow_used() instead of accessing data structure.
+       (update_rethrow_references): New function to make sure only regions
+       which are still targets of a rethrow are flagged as such.
+       (process_nestinfo): New static function to initialize a handler
+       list for a specific region.
+       (init_eh_nesting_info): New function to allocate and initialize
+       the list of all EH handlers reachable from all regions.
+       (reachable_handlers): New function to retrieve the list of handlers
+       reachable from a specific region and insn.
+       (free_eh_nesting_info): New function to dispose of a list of
+       reachable handlers.
+
+Tue Aug 10 10:39:31 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * flow.c (split_edge): Set JUMP_LABEL field.
+       (commit_one_edge_insertion): Set head correctly for insert_before.
+       When inserting insns, update insn block numbers if allocated.
+
+Tue Aug 10 09:26:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * dwarf2out.c (dwarf2out_frame_debug_expr, add_incomplete_type,
+       retry_incomplete_types): Add static prototype.
+       (stripattributes, dwarf_cfi_name, ASM_OUTPUT_DWARF_STRING,
+       dwarf_tag_name, dwarf_attr_name, dwarf_form_name,
+       dwarf_stack_op_name, dwarf_type_encoding_name, add_AT_string,
+       dwarf2_name, add_name_attribute, lookup_filename, dwarf2out_line,
+       dwarf2out_start_source_file, dwarf2out_define, dwarf2out_undef):
+       Constify a char*.
+
+       * dwarf2out.h (dwarf2out_define, dwarf2out_undef,
+       dwarf2out_start_source_file, dwarf2out_line): Likewise.
+
+Tue Aug 10 09:21:46 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * output.h (assemble_name): Constify a char*.
+
+       * varasm.c (UNIQUE_SECTION, assemble_start_function,
+       assemble_variable, assemble_name): Likewise.
+
+       * dwarf2out.c (ASM_NAME_TO_STRING): Likewise.
+
+       * arm/pe.c (arm_pe_unique_section): Likewise.
+
+       * i386/cygwin.h (STRIP_NAME_ENCODING): Likewise.
+
+       * i386/i386-interix.h (STRIP_NAME_ENCODING): Likewise.
+
+       * i386/interix.c (i386_pe_unique_section): Likewise.
+
+       * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
+
+       * i386/winnt.c (i386_pe_unique_section): Likewise.
+
+       * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
+
+       * mn10200/mn10200.h (ASM_OUTPUT_LABELREF): Likewise.
+
+       * mn10300/mn10300.h (ASM_OUTPUT_LABELREF): Likewise.
+
+       * pa/pa.c (output_call): Likewise.
+
+       * pa/pa.h (ASM_OUTPUT_MI_THUNK): Likewise.
+
+       * pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
+
+       * rs6000/rs6000.c (rs6000_output_load_toc_table, output_toc):
+       Likewise.
+
+       * rs6000/rs6000.h (RS6000_OUTPUT_BASENAME, STRIP_NAME_ENCODING):
+       Likewise.
+
+       * rs6000/sol2.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+
+       * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_INT,
+       STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Likewise.
+
+       * v850/v850.h (ASM_OUTPUT_LABELREF): Likewise.
+
+Mon Aug  9 19:54:05 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * real.c (GET_REAL, PUT_REAL): Use memcpy instead of bcopy.
+
+Mon Aug  9 19:36:00 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * tree.h (lang_identify): Constify a char*.
+       (print_error_function): Add extern prototype.  Constify a char*.
+
+       * c-lang.c (lang_identify): Constify a char*.
+
+       * objc/objc-act.c (lang_identify): Constify a char*.
+
+Mon Aug  9 16:21:53 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * genpeep.c (main): Make generated file include "function.h".
+       * arm.c (function_really_clobbers_lr): Delete INLINE_HEADER case.
+
+Mon Aug  9 10:08:50 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * Makefile.in: Update dependencies.
+       * alias.c: Include "function.h"
+       * c-decl.c: Likewise.
+       * caller-save.c: Likewise.
+       * calls.c: Likewise.
+       * combine.c: Likewise.
+       * cse.c: Likewise.
+       * explow.c: Likewise.
+       * final.c: Likewise.
+       * global.c: Likewise.
+       * graph.c: Likewise.
+       * local-alloc.c: Likewise.
+       * loop.c: Likewise.
+       * optabs.c: Likewise.
+       * profile.c: Likewise.
+       * recog.c: Likewise.
+       * regclass.c: Likewise.
+       * regmove.c: Likewise.
+       * reload.c: Likewise.
+       * reorg.c: Likewise.
+       * resource.c: Likewise.
+       * sched.c: Likewise.
+       * stupid.c: Likewise.
+       * config/1750a/1750a.c: Likewise.
+       * config/a29k/a29k.c: Likewise.
+       * config/arc/arc.c: Likewise.
+       * config/arm/arm.c: Likewise.
+       * config/arm/thumb.c: Likewise.
+       * config/c4x/c4x.c: Likewise.
+       * config/clipper/clipper.c: Likewise.
+       * config/convex/convex.c: Likewise.
+       * config/fx80/fx80.c: Likewise.
+       * config/i860/i860.c: Likewise.
+       * config/m68k/m68k.c: Likewise.
+       * config/m88k/m88k.c: Likewise.
+       * config/mips/mips.c: Likewise.
+       * config/pdp11/pdp11.c: Likewise.
+       * config/pyr/pyr.c: Likewise.
+       * config/romp/romp.c: Likewise.
+       * config/sh/sh.c: Likewise.
+       * config/tahoe/tahoe.c: Likewise.
+       * config/vax/vax.c: Likewise.
+       * config/we32k/we32k.c: Likewise.
+       * config/sparc/sparc.c: Include "function.h".
+       (mem_min_alignment): Test current_function rather than
+       regno_pointer_align.
+       * config/pa/pa.c: Likewise.
+       (compute_frame_size): Delete declaration of
+       current_function_outgoing_args_size.
+       * config/arc/arc.h (current_function_varargs): Delete declaration.
+       * config/elxsi/elxsi.h (current_function_calls_alloca): Delete
+       declaration.
+       * config/i370/i370.h (current_function_outgoing_args_size): Delete
+       declaration.
+       * config/i386/i386.h (FINALIZE_PIC): Delete declaration of
+       current_function_uses_pic_offset_table.
+       * config/m68k/a-ux.h (FUNCTION_EXTRA_EPILOGUE): Delete declaration
+       of current_function_returns_pointer.
+       * config/m68k/altos3068.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
+       * config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
+       * config/m68k/m68kv4.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
+       * config/m68k/mot3300.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
+       * config/m68k/pbb.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
+       * config/m68k/tower-as.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
+       * config/m88k/m88k.c: Include "function.h"
+       (call_used_regs, current_function_pretend_args_size,
+       current_function_outgoing_args_size, frame_pointer_needed): Delete
+       declarations.
+       * config/m88k/m88k.h (current_function_pretend_args_size): Delete
+       declaration.
+       * config/mips/mips.h (current_function_calls_alloca): Delete
+       declaration.
+       * config/mn10200/mn10200.h (current_function_needs_context,
+       rtx_equal_function_value_matters): Delete declarations.
+       * config/ns32k/ns32k (current_function_uses_pic_offset_table,
+       flag_pic): Delete declarations.
+       * config/pa/pa.h (current_function_pretend_args_size,
+       current_function_decl): Delete declarations.
+       * config/pa/som.h (current_function_varargs): Delete declaration.
+       * config/pdp11/pdp11.h (current_function_pretend_args_size): Delete
+       declaration.
+       * config/pyr/pyr.h (current_function_pretend_args_size,
+       current_function_args_size, current_function_calls_alloca): Delete
+       declarations.
+       * config/sh/sh.h (current_function_varargs): Delete declaration.
+       * config/sparc/sparc.h (current_function_outgoing_args_size,
+       current_function_calls_alloca, current_function_decl): Delete
+       declarations.
+       * config/spur/spur.h (current_function_pretend_args_size,
+       current_function_calls_alloca): Delete declarations.
+       * config/v850/v850.c (current_function_outgoing_args_size): Delete
+       declaration.
+       * config/vax/vms.h (current_function_name): Delete declaration.
+       * gcse.c: Include "function.h".
+       (current_function_name, current_function_calls_setjmp): Delete
+       declarations.
+       * haifa-sched.c: Include "function.h".
+       (forced_labels): Delete declaration.
+       * jump.c: Likewise.
+       * reg-stack.c: Likewise.
+       * reload1.c: Likewise.
+       * genemit.c (main): Make generated file include function.h.
+       * genoutput.c (output_prologue): Likewise.
+
+       * builtins.c (saveregs_value, apply_args_value): Delete variables.
+       * emit-rtl.c (reg_rtx_no, first_label_num, first_insn, last_insn,
+       sequence_rtl_expr, cur_insn_uid, last_linenum, last_filename,
+       regno_pointer_flag, regno_pointer_flag_length, regno_pointer_align,
+       regno_reg_rtx, sequence_stack): Delete variables.  Add accessor
+       macros for some of them.
+       (emit_filename, emit_lineno): Delete declarations.
+       (gen_reg_rtx): Use memset/memcpy instead of bzero/bcopy.  Access
+       regno_pointer_* variables through current_function.
+       (gen_inline_header_rtx): Delete function.
+       (save_emit_status): Delete function.
+       (set_new_last_label_num): New function.
+       (clear_emit_caches): New function.
+       (restore_emit_status): Just clear last_labelnum and call
+       clear_emit_caches.
+       (get_last_insn_anywhere): Variable sequence_stack is now accessed
+       through macro seq_stack.
+       (add_insn_after): Likewise.
+       (add_insn_before): Likewise.
+       (remove_insn): Likewise.
+       (pop_topmost_sequence): Likewise.
+       (in_sequence_p): Likewise.
+       (start_sequence_for_rtl_expr): Likewise.
+       (start_sequence): Likewise, and likewise for
+       sequence_rtl_expr/seq_rtl_expr.
+       (push_topmost_sequence): Likewise.
+       (end_sequence): Likewise.
+       (init_virtual_regs): Now takes a "struct emit_status *" argument.
+       All callers changed.  Store into that pointer instead of globals.
+       (init_emit): Allocate emit elt of current_function.
+       Changes for sequence_rtl_expr/sequence_stack renaming.
+       Call clear_emit_caches instead of doing it in-line.
+       Access regno_pointer_* variables through current_function.
+       (init_emit_once) Don't clear sequence_stack.
+
+       * expr.c (pending_stack_adjust, inhibit_defer_pop, pending_chain):
+       Delete variables.
+       (arg_pointer_save_area): Delete declaration.
+       (finish_expr_for_function): Renamed from init_queue; no longer static.
+       (init_expr): Don't call init_queue.
+       (save_expr_status, restore_expr_status): Delete functions.
+       (expand_expr): Changes to reflect new layout of struct function.
+       Don't access current_function_check_memory_usage when current_function
+       is 0.
+       * expr.h (forced_labels, save_expr_regs, saveregs_value,
+       apply_args_value, current_function_calls_alloca, inhibit_defer_pop,
+       current_function_outgoing_args_size, current_function_arg_offset_rtx,
+       current_function_uses_const_pool, function_call_count,
+       current_function_uses_pic_offset_table, nonlocal_labels,
+       current_function_internal_arg_pointer, nonlocal_goto_stack_level,
+       current_function_check_memory_usage, nonlocal_goto_handler_slots,
+       pending_stack_adjust, target_temp_slot_level, temp_slot_level): Delete
+       declarations.
+       (finish_expr_for_function): Declare.
+       * flags.h (current_function_has_nonlocal_label,
+       current_function_has_nonlocal_goto, current_function_is_thunk,
+       current_function_has_computed_jump): Delete declarations.
+       * flow.c (forced_labels): Delete declaration.
+       * function.c (current_function_pops_args,
+       current_function_returns_struct, current_function_returns_pcc_struct,
+       current_function_needs_context, current_function_calls_setjmp,
+       current_function_calls_longjmp, current_function_has_nonlocal_label,
+       current_function_has_nonlocal_goto, current_function_is_thunk,
+       current_function_has_computed_jump, current_function_calls_alloca,
+       current_function_contains_functions, current_function_returns_pointer,
+       current_function_epilogue_delay_list, current_function_args_size,
+       current_function_pretend_args_size, current_function_arg_offset_rtx,
+       current_function_outgoing_args_size, current_function_varargs,
+       current_function_stdarg, current_function_args_info, cleanup_label,
+       current_function_name, current_function_uses_const_pool,
+       current_function_instrument_entry_exit, current_function_return_rtx,
+       current_function_uses_pic_offset_table, nonlocal_labels,
+       current_function_internal_arg_pointer, current_function_cannot_inline,
+       current_function_check_memory_usage, function_call_count,
+       nonlocal_goto_handler_slots, nonlocal_goto_handler_labels,
+       nonlocal_goto_stack_level, return_label, save_expr_regs,
+       stack_slot_list, rtl_expr_chain, tail_recursion_label, temp_slots,
+       tail_recursion_reentry, arg_pointer_save_area, frame_offset,
+       context_display, trampoline_list, parm_birth_insn, invalid_stack_slot,
+       last_parm_insn, max_parm_reg, parm_reg_stack_loc, sequence_rtl_expr,
+       temp_slot_level, var_temp_slot_level, target_temp_slot_level):
+       Delete variables.
+       (push_function_context_to): Don't save them.  Don't call
+       save_storage_status, save_emit_status or save_expr_status.
+       (pop_function_context_from): Don't restore them.  Don't call
+       restore_storage_status or restore_expr_status.
+       (get_func_frame_size): New function.
+       (get_frame_size): Use it.
+       (assign_outer_stack_local): Reflect some member name changes in struct
+       function.
+       (put_reg_into_stack): Likewise.
+       (assign_stack_temp_for_type): sequence_rtl_expr was renamed to
+       seq_rtl_expr.
+       (fixup_var_refs): Likewise.
+       (fix_lexical_addr): Likewise.
+       (trampoline_address): Likewise.
+       (prepare_function_start): Clear field inlinable of current_function.
+       (init_function_for_compilation): New function.
+       (expand_dummy_function_end): New function.
+       (expand_function_end): Call finish_expr_for_function.
+       * function.h (struct emit_status): New; fields moved here from struct
+       function and from global variables.  Add accessor macros for some of
+       the fields.
+       (struct expr_status): Likewise.
+       (REGNO_POINTER_ALIGN, REGNO_POINTER_FLAG): Moved here from regs.h.
+       (struct function): Add fields expr and emit, inlinable, inl_emit,
+       original_arg_vector, original_decl_initial, inl_last_parm_insn,
+       inl_max_label_num.  Add many comments.
+       Add accessor macros for all elts of struct function that no longer
+       have a global variable.
+       (cleanup_label, return_label, frame_offset, tail_recursion_label,
+       tail_recursion_reentry, arg_pointer_save_area, rtl_expr_chain,
+       stack_slot_list): Delete declarations.
+       (get_func_frame_size): Declare.
+       (save_expr_status, restore_expr_status, save_emit_status,
+       save_storage_status, restore_storage_status): Delete declarations.
+       (init_virtual_regs): Declare.
+       * output.h (current_function_pops_args,
+       current_function_returns_struct, current_function_returns_pcc_struct,
+       current_function_needs_context, current_function_calls_setjmp,
+       current_function_calls_longjmp, current_function_calls_alloca,
+       current_function_has_nonlocal_label, current_function_varargs,
+       current_function_has_computed_jump, current_function_returns_pointer,
+       current_function_contains_functions, current_function_args_size,
+       current_function_pretend_args_size, current_function_stdarg,
+       current_function_outgoing_args_size, current_function_args_info,
+       current_function_name, current_function_return_rtx,
+       current_function_epilogue_delay_list,
+       current_function_uses_const_pool, current_function_cannot_inline):
+       Delete declarations.
+       * regs.h (reg_rtx_no, regno_pointer_flag, regno_pointer_flag_length,
+       regno_reg_rtx): Delete declaration.
+       (REGNO_POINTER_FLAG): Delete macro.
+       * stmt.c (expand_goto): Changes to reflect that some fields in struct
+       function were renamed.
+       * stor-layout.c (save_storage_status, restore_storage_status): Delete
+       functions.
+       * toplev.c: Include "function.h".
+       (current_function_decl): Delete declaration.
+       (compile_file): Call init_dummy_function_start and
+       expand_dummy_function_end around some initializations that need to
+       emit rtl.
+       (rest_of_compilation): Use DECL_SAVED_INSNS properly.
+       Call init_function_for_compilation.
+       * unroll.c: Include "function.h"
+       (unroll_loop): Access regno_pointer_* variables through
+       current_function.
+
+       * tree.h (struct tree_decl): Add elt f to saved_insns member.
+       (DECL_SAVED_INSNS): use it.
+       (expand_dummy_function_end): Declare.
+       (init_function_for_compilation): Declare.
+       * calls.c (calls_function_1): Change use of DECL_SAVED_INSNS now
+       that it's no longer an INLINE_HEADER.
+       (expand_call): Likewise.
+       * integrate.c (finish_inline): Delete function.
+       (max_parm_reg, parm_reg_stack_loc): Delete declarations.
+       (initialize_for_inline): Delete min_labelno, max_labelno and max_reg
+       args.  Don't generate an INLINE_HEADER rtx, just return the arg
+       vector.  All callers changed.
+       (save_for_inline_copying):  Create a duplicate struct emit_status to
+       hold the emit state for compiling the current function.  Use this and
+       the other new fields in struct function that are for integration
+       instead of an INLINE_HEADER.
+       Use memcpy instead of bcopy.
+       Store the current struct function in DECL_SAVED_INSNS of fndecl.
+       (save_for_inline_nocopy): Similar changes, except no new emit_status
+       is needed here.
+       (expand_inline_function): Get information from function structure,
+       not from an inline header rtx.
+       (output_inline_function): Lose code to extract the necessary
+       information from an inline header; simply put back the function
+       structure into current_function.  Clear its inlinable elt.
+       * rtl.def (INLINE_HEADER): Delete.
+       * rtl.h: Delete all accessors for an INLINE_HEADER.
+       (gen_inline_header_rtx): Delete declaration.
+       (regno_reg_rtx, regno_pointer_align, nonlocal_goto_handler_labels):
+       Delete declarations.
+       (REGNO_POINTER_ALIGN): Delete.
+       (clear_emit_caches): Declare.
+       (set_new_last_label_num): Declare.
+
+Mon Aug  9 01:52:24 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * print-tree.c (print_node): Print base for OFFSET_TYPEs.
+
+       * except.c (expand_eh_region_start_for_decl): Always start a new block.
+       * stmt.c (is_eh_region): Make sure current_function is present, too.
+
+Mon Aug  9 01:15:24 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.h (HARD_REGNO_MODE_OK): Correctly handle FPregs, even when
+       for 64bit PA targets.
+
+       * pa.h (SELECT_SECTION): Define.
+       * som.h (SELECT_SECTION): Delete.
+
+Sun Aug  8 15:13:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * alias.c (init_alias_analysis): Wrap call to
+       `prologue_epilogue_contains' within HAVE_prologue||HAVE_epilogue.
+
+1999-08-07  Bruce Korb  <autogen@linuxbox.com>
+
+       * fixinc/inclhack.def(irix_asm_apostrophe):  IRIX 5.2's
+       <sys/asm.h> contains an asm comment with an apostrophe
+       * fixinc/inclhack.sh:  regen
+       * fixinc/fixincl.x:  regen
+
+Sat Aug  7 19:37:07 1999  Richard Henderson  <rth@cygnus.com>
+
+       * function.c (init_function_start): Clear prologue & epilogue.
+       (prologue_epilogue_contains): New function.
+       * alias.c (init_alias_analysis): Use it.
+       * rtl.h (prologue_epilogue_contains): Declare it.
+
+Sat Aug  7 19:32:16 1999  Richard Henderson  <rth@cygnus.com>
+
+       * jump.c (onlyjump_p): New function.
+       * rtl.h: Declare it.
+       * flow.c (delete_unreachable_blocks): Use onlyjump_p instead
+       of condjump_p in calling tidy_fallthru_edge and merge_blocks.
+
+Sat Aug  7 17:09:36 1999  Richard Henderson  <rth@cygnus.com>
+
+       * global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_REG_SET
+       to invert loops.  Simplify block scanning.
+
+Sat Aug  7 02:11:13 1999  Bernd Schmidt <bernds@cygnus.co.uk>
+
+       * gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs.
+       (cprop_insn): Treat SYMBOL_REFs like CONST_INTs.
+
+1999-08-07  Jonathan Larmour  <jlarmour@cygnus.co.uk>
+
+       * config/sparc/liteelf.h: New file to support sparclite-elf target
+       * config/sparc/t-sp86x: New file to support sparc86x targets
+       * config/sparc/sp86x-aout.h: New file to support sparc86x-aout target
+       * config/sparc/sp86x-elf.h: New file to support sparc86x-elf target
+       * configure.in: Support above target triplets
+       * configure: Regenerated
+
+Sat Aug  7 01:39:27 1999  Philippe De Muyter  <phdm@macqel.be>
+
+       * fixinc/server.c (server_setup): Do not prefix function used as
+       parameter with `&'.
+
+Sat Aug  7 00:21:20 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md (movhi and movqi patterns): Correct predicate for !BWX.
+       Remove fp reg alternatives.
+
+Sat Aug  7 00:06:54 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefiin (TAROUTOPTS): Kill.
+       (install-headers-tar): Use "xpf" for tar headerfile extraction
+       * i370/x-oe (TAROUTOPTS): Delete.
+       * m68k/x-apollo68 (TAROUTOPTS): Delete.
+       * m68k/x-hp320 (TAROUTOPTS): Delete.
+       * m68k/x-hp320g (TAROUTOPTS): Delete.
+       * gcc.texi: Update bug reporting text.
+
+1999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+       * reg-stack.c (change_stack) Fixed problem with negative array index.
+
+Fri Aug  6 23:08:44 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * extend.texi, install.texi: Fix spelling mistakes.
+
+       * Makefile.in (PREMADE_ATTRTAB_MD, PREMADE_ATTRTAB): Delete.
+       (s-attrtab); No longer try to use pre-made insn-attrtab file.
+       * mips/t-bsd: Delete references to obsolete PREMADE_ATTRTAB and
+       PREMADE_ATTRTAB_MD.
+       * mips/t-ecoff: Likewise.
+       * mips/t-elf: Likewise.
+       * mips/t-mips: Likewise.
+       * mips/t-osfrose: Likewise.
+       * mips/t-r3900: Likewise.
+       * mips/t-svr3: Likewise.
+       * mips/t-svr4: Likewise.
+       * mips/t-ultrix: Likewise.
+
+       * gcc.texi: Document recommend means to provide software floating
+       point libraries in libgcc.a
+
+1999-08-06  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * c-lex.c (yylex): We can have a number with no digits.
+
+Fri Aug  6 16:53:55 EDT 1999  John Wehle  (john@feith.com)
+
+       * jump.c (delete_prior_computation): New function, broken
+       out of delete_computation.  Check for side effects with
+       side_effects_p instead of FIND_REG_INC_NOTE.  Handle
+       multi-word hard registers.
+       (delete_computation): Use it.  Check for side effects with
+       side_effects_p instead of FIND_REG_INC_NOTE.  Synthesize a
+       missing REG_DEAD note for a register which is both set and
+       used by an insn.
+
+Fri Aug  6 11:05:29 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * elf.h (TEXT_SPACE_P, FUNCTION_NAME_P): Delete.
+       (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT): Likewise.
+       (ASM_FILE_START): Import _mcount with the right type.
+       (ASM_DECLARE_FUNCTION_NAME): Define.
+       (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
+       * pa.c (output_function_prologue): Always emit the function's label
+       here.
+       * pa.h (TEXT_SPACE_P): Define.
+       (FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
+       (ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_GLOBALIZE_LABEL): Likewise.
+       * som.h (TEXT_SPACE_P): Delete.
+       (FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
+       (ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT): Likewise.
+
+Thu Aug  5 19:29:39 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * expr.c (emit_group_load): Allow src to be a CONCAT.
+
+Thu Aug  5 22:27:15 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop.
+       (___mulsi3): Use '!' comment character.
+
+Thu Aug  5 13:34:14 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * reload1.c (maybe_fix_stack_asms): Also declare P as "const char *".
+
+Thu Aug  5 02:40:42 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * gcc.c: Update URLs and mail addresses.
+       * gcc.texi: Likewise.
+
+Thu Aug  5 01:14:13 1999  Daniel Jacobowitz <drow@false.org>
+
+       * rs6000.c (current_file_function_operand): Return zero for
+       weak functions.
+       (rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for
+       weak symbols.
+       * rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG
+       for weak symbols.
+
+Thu Aug  5 00:56:30 1999  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
+       allocate space in the stack frame for the PIC register.
+
+Thu Aug  5 00:20:47 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * m68k.md (xordi3, anddi3): These patterns are not available on
+       the coldfire.
+
+Wed Aug  4 23:39:20 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules.
+       (PUT_REAL): Likewise.
+
+Wed Aug  4 20:45:04 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * final.c (shorten_branches): Don't add an alignment for loops
+       that have no label inside.
+
+Wed Aug  4 16:39:24 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp): Wrap
+       prototypes in macro HAVE_cmpstrsi.
+
+       * cpplib.c (cpp_get_token): Remove unused label `op3'.
+
+       * emit-rtl.c (operand_subword): Remove unused variable
+       `bits_per_word'.
+
+       * rtl.c (shallow_copy_rtx): Remove unused variable `format_ptr'.
+
+       * tree.c (chainon): Wrap variable `t2' in macro ENABLE_CHECKING.
+
+Wed Aug  4 13:29:23 1999  Zack Weinberg  <zack@bitmover.com>
+
+       * cpphash.c (macroexpand): Delete leading whitespace when arg
+       is concatenated before.
+       (unsafe_chars): Correct test for whether + and - can extend a
+       token.
+
+       * cppinit.c (cpp_start_read): Do dependencies for
+       -include/-imacros files also.
+
+       * cpplib.c (cpp_scan_buffer): In no-output mode, don't bother
+       tokenizing non-directive lines.
+       (cpp_expand_to_buffer): Temporarily disable no-output mode.
+       * cppmain.c: In no-output mode, just call cpp_scan_buffer for
+       the input file.
+
+Wed Aug  4 12:53:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
+
+       * c-lex.c: Sync with C++ frontend.
+       (linemode): New variable.
+       (parse_float): imag, conversion_errno, and type are output only.
+       (yylex): Adjust.  Move initial '.' case into main switch.
+       Use linemode.
+       (handle_generic_pragma): Just deal with tokens.
+       (readescape): Use ISXDIGIT and ISGRAPH.
+       * c-parse.in: Add END_OF_LINE token.
+
+       * c-lex.c (lang_init): Generalize.
+       (nextchar): Remove.  Replace uses with UNGETC.
+       (skip_white_space): Handle linemode here.  Optimize for cpplib.
+       (skip_white_space_on_line): Remove.
+       (extend_token_buffer_to): New fn.
+       (extend_token_buffer): Use it.
+       (read_line_number, check_newline): Just deal with tokens.
+       (token_getch, token_put_back): New fns.
+       (yylex): Use them.  More cpplib optimizations.  Simplify.
+
+Wed Aug  4 12:53:44 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
+                         Jason Merrill  <jason@yorick.cygnus.com>
+
+       * c-lex.c (init_parse): Set cpp_token to CPP_DIRECTIVE.
+       (consume_string): Make this smart about USE_CPPLIB.
+       (check_newline): Rewrite to be intelligent about USE_CPPLIB.
+       (yylex): Rewrite to be intelligent about USE_CPPLIB.
+       Also, clean up cases where we redundantly set token_buffer[0].
+       (read_line_number): New fn.
+       (ignore_escape_flag): New variable.
+
+Wed Aug  4 13:12:17 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * a29k/t-a29kbare: Fix some comments.
+       (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
+       (FPBIT, DPBIT): Define.
+       * a29k/t-vx29k: Likewise.
+       * arc/t-arc: Likewise.
+       * arm/t-arm-elf: Likewise.
+       * arm/t-bare: Likewise.
+       * arm/t-pe: Likewise.
+       * arm/t-pe-thumb: Likewise.
+       * arm/t-semi: Likewise.
+       * arm/t-thumb: Likewise.
+       * arm/t-thumb-elf: Likewise.
+       * arm/t-thumb-linux: Likewise.
+       * h8300/t-h8300: Likewise.
+       * i960/t-i960: Likewise.
+       * i960/t-vxworks960: Likewise.
+       * m32r/t-m32r: Likewise.
+       * mips/t-ecoff: Likewise.
+       * mips/t-elf: Likewise.
+       * mips/t-r3900: Likewise.
+       * pa/t-pro: Likewise.
+       * rs6000/t-aix43: Likewise.
+       * rs6000/t-beos: Likewise.
+       * rs6000/t-newas: Likewise.
+       * rs6000/t-ppccomm: Likewise.
+       * rs6000/t-rs6000: Likewise.
+       * rs6000/t-winnt: Likewise.
+       * rs6000/t-xnewas: Likewise.
+       * rs6000/t-xrs6000: Likewise.
+       * sh/t-sh: Likewise.
+       * sparc/t-elf: Likewise.
+       * sparc/t-sparcbare: Likewise.
+       * sparc/t-sparclite: Likewise.
+       * sparc/t-splet: Likewise.
+       * v850/t-v850: Likewise.
+       * mn10200/t-mn10200: Fix comments.
+       * mn10300/t-mn10300: Likewise.
+
+       * pa.md (divsi3, udivsi3, modsi3, umodsi3 expanders): Clobber a new
+       dummy operand.  Allocate a new pseudo for the dummy operand.
+       (divsi3, udivsi3, modis3, umodsi3 patterns): Corresponding changes.
+
+       * pa.md (movqi, movhi patterns): Do not expose FP regs to regclass.
+
+Wed Aug  4 11:53:55 1999  Tom Tromey  <tromey@cygnus.com>
+
+       * configure: Rebuilt.
+       * configure.in: Removed --enable-java-gc option and JAVAGC subst.
+
+Wed Aug  4 09:06:14 1999  Richard Earnshaw (rearnsha@arm.com)
+
+       * recog.c (preproces_constraints): Zero recog_op_alt before
+       processing the constraints.
+
+       * arm.c (typedef minipool_node): Renamed from pool_node.
+       (minipool_vector, minipool_size, minipool_vector_label): Similarly.
+       (add_minipool_constant): New function.
+       (dump_minipool): New function.
+       (find_barrier): Remove special case for getting the insn size of
+       an insn that references the constant pool.
+       (minipool_fixup): New structure.
+       (push_minipool_barrier): New function.
+       (push_minipool_fix): New function.
+       (note_invalid_constants): New function.
+       (add_pool_constant, dump_table, fixit, broken_move): Delete.
+       (arm_reorg): Rewrite code to fix up the constant pool into a
+       series of mini-pools embedded in the insn stream.
+       (arm_output_epilogue): New function, made mainly from the body
+       of output_func_epilogue.
+       (output_func_epilogue): Move insn generation part of epilogue code
+       to arm_output_epilogue.
+       * arm.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Delete.
+       * arm.md (pool_range): New attribute.
+       (zero_extendqidi2): Add attribute pool_range.
+       (zero_extend_hisi_insn, load_extendqisi, extendhisi_insn,
+       extendqihi_insn, extendqisi_insn, movdi, movsi_insn, pic_load_addr,
+       pic_load_addr_based_insn, movhi_insn_arch4, movhi_insn_littleend,
+       movhi_insn_bigend, loadhi_si_bigend, movsf_hard_insn, movsf_soft_insn,
+       movdf_hard_insn, movdf_soft_insn, movxf_hard_insn): Likewise.
+       (epilogue): New expand.
+       (epilogue_insn): New insn.  Call arm_output_epilogue.
+
+       * arm.c (arm_poke_function_name): Undo change of July 17.  Tidy up.
+       * arm.h (TARGET_SWITCHES): Add missing doc string for TARGET_DEFAULT.
+
+Mon Aug  2 19:18:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+
+1999-08-04 Mark Elbrecht <snowball3@bigfoot.com>
+
+       * config/i386/djgpp.h  (BSS_SECTION_ASM_OP): Define.
+
+Wed Aug  4 02:15:32 1999  Richard Henderson <rth@cygnus.com>
+
+       * jump.c (delete_insn): Delete the addr_vec when deleting a tablejump.
+
+Wed Aug  4 01:48:08 1999  Jim Kingdon  <http://developer.redhat.com>
+
+       * global.c: Fix comment.
+
+Wed Aug  4 01:43:01 1999  Ian Lance Taylor  <ian@zembu.com>
+
+       * gcc.c (access_check): New static function.
+       (find_a_file): Use it when searching a directory list.
+       * collect2.c (find_a_file): Don't accept directories found when
+       searching a directory list.
+
+Wed Aug  4 01:40:43 1999  Philippe De Muyter  <phdm@macqel.be>
+
+       * tlink.c (symbol_hash_lookup): Do not prefix functions used as
+       function parameters with `&'.
+       (file_hash_lookup, demangled_hash_lookup, tlink_init): Ditto.
+
+Wed Aug  4 01:08:44 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * flow.c (delete_unreachable_blocks): Do not call merge_blocks
+       or tidy_fallthru_edge if the last insn in the block is not
+       an unconditional jump or a simple conditional jump.
+
+Tue Aug  3 20:21:20 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * Makefile.in (c-decl.o): Depends on defaults.h.
+
+Tue Aug  3 14:14:52 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for
+       PA1.1 and above.
+       (CLASS_MAX_NREGS): Likewise.
+
+Tue Aug  3 03:51:20 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * cse.c (cse_insn): Fix dumb thinko in last change.
+
+Tue Aug  3 10:36:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * reload1.c (maybe_fix_stack_asms): Declare CONSTRAINTS as
+       "const char *".
+
+Mon Aug  2 23:45:45 1999  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * dwarf2out.c (add_location_or_const_value_attribute): Correct
+       test for sizes of passed and declared parameter types.
+
+Tue Aug  3 00:03:41 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fixincludes: Fix the return type of bsearch, char* -> void*.
+
+       * fixinc/inclhack.def: Likewise.
+
+Mon Aug  2 18:29:32 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * invoke.texi (-fdump-translation-unit): New option.
+
+Mon Aug  2 17:54:19 1999  Richard Henderson  <rth@cygnus.com>
+
+       * expr.h (PROMOTE_PROTOTYPES): Move ...
+       * defaults.h: ... to here.
+       * c-decl.c: Include defaults.h instead of expr.h.
+       * c-typeck.c: Include defaults.h.
+
+Mon Aug  2 17:10:24 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * toplev.h (errorcount): Declare.
+       (warningcount): Likewise.
+       (sorrycount): Likewise.
+       * c-lex.c (errorcount): Don't declare.
+       * dwarf2out.c (errorcount): Don't declare.
+
+Mon Aug  2 17:02:08 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * config/libgloss.h: Add a note discouraging use with ELF.
+       * configure.in: Don't use libgloss.h for ELF targets.
+       Always use_collect2 on a.out targets.
+
+Mon Aug  2 16:27:42 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * combine.c (force_to_mode, case LSHIFTRT): Add goto shiftrt.
+       (force_to_mode, case ASHIFTRT): Add shiftrt label.
+
+Tue Aug  3 00:45:02 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.c (strength_reduce): When doing biv->giv conversion, update
+       reg note of NEXT->insn.
+
+1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * real.c (PUT_REAL): Clear unused bytes if long double is IEEE quad.
+
+1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * c-decl.c (get_parm_info, store_parm_decls): Change all uses of
+       PROMOTE_PROTOTYPES, so that it tests it as a C expression.
+       Ensure expr.h is included.
+       * c-typecheck.c (convert_arguments): Ditto.
+
+       * expr.h: Supply default for PROMOTE_PROTOTYPES (0).
+
+       * config/arc/arc.h: Define PROMOTE_PROTOTYPES to 1.
+       * config/convex/convex.h: Ditto.
+       * config/dsp16xx/dsp16xx.h: Ditto.
+       * config/fx80/fx80.h: Ditto.
+       * config/gmicro/gmicro.h: Ditto.
+       * config/i370/i370.h: Ditto.
+       * config/i386/i386.h: Ditto.
+       * config/m32r/m32r.h: Ditto.
+       * config/m68k/m68k.h: Ditto.
+       * config/m88k/m88k.h: Ditto.
+       * config/mips/mips.h: Ditto.
+       * config/pa/pa.h: Ditto.
+       * config/pyr/pyr.h: Ditto.
+       * config/tahoe/tahoe.h: Ditto.
+       * config/we32k/we32k.h: Ditto.
+
+       * config/sparc/sparc.h: Define PROMOTE_PROTOTYPES
+       based on arch size.
+
+       * config/i1750a/i1750a.h: Define PROMOTE_PROTOTYPES to 0.
+
+       * config/i860/paragon.h: Remove PROMOTE_PROTOTYPES
+       from comment.
+
+       * tm.texi: Document new usage of PROMOTE_PROTOTYPES.
+
+1999-08-02  Richard Henderson  <rth@cygnus.com>
+
+       * m32r.c (m32r_setup_incoming_varargs): Use get_varargs_alias_set
+       for the register spill block.
+       (m32r_va_arg): New.
+       * m32r.h (EXPAND_BUILTIN_VA_ARG): New.
+       (EXPAND_BUILTIN_SAVEREGS): Delete #if 0 code.
+
+       * m32r.h (INT8_P): Don't short-cut test with (unsigned).
+       (INT16_P, CMP_INT16_P, UINT16_P): Likewise.
+       (UPPER16_P, UINT24_P, INT32_P, UINT5_P): Likewise.
+
+1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * config/sparc/linux.h: Define WCHAR_TYPE as "int" and undef
+       MAX_WCHAR_TYPE defined in sparc.h.
+       * config/sparc/linuxaout.h: Likewise.
+       * config/sparc/linux64.h: Likewise.
+       Also default to -mvis if CPU is UltraSPARC.
+
+1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
+       (RTX_OK_FOR_OLO10): Likewise.
+       (GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
+       %lo(), allow it in addresses...
+       (PRINT_OPERAND_ADDRESS): ... and print it appropriately.
+       * config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
+       does not make sense.
+       * config/sparc/sparc.c (sparc_hard_reg_printed): New array.
+       (sparc_output_scratch_registers): New function.
+       (output_function_prologue, sparc_flat_output_function_prologue): Use
+       it.
+       * varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
+       defined.
+       * tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
+       * configure.in: Add check for .register pseudo-op support in as and
+       check for offsetable %lo().
+       * acconfig.h: Add templates for the above checks.
+       * configure: Regenerate.
+
+1999-08-02  Richard Henderson  <rth@cygnus.com>
+
+       * sparc/linux64.h (TARGET_DEFAULT): Remove MASK_APP_REGS.
+       * sparc/sol2-sld-64.h (TARGET_DEFAULT): Likewise.
+       * sparc/sol2.h (TARGET_DEFAULT): Likewise.
+
+Mon Aug  2 23:46:45 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.c (strength_reduce): When doing biv->giv conversion, fix up
+       reg_biv_class.
+
+1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * config/float-sparc.h: New file.
+       * configure.in: Use float_format=sparc for sparc-*-linux-gnulibc1,
+       sparc-*-linux-gnu and sparc64-*-linux*.
+
+1999-08-02  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * rs6000.c (rs6000_va_list): Type is an array.
+       (rs6000_va_start): Don't doubly adjust for varargs.
+       (rs6000_va_arg): Evaluate long long GPR adjustment.
+
+Mon Aug  2 16:15:57 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000/aix43.h (SUBTARGET_SWITCHES): Use -m64 and -m32 instead of
+       -maix64 and -maix32.
+       (ASM_SPEC, ASM_CPU_SPEC, CPP_SPEC, CPP_CPU_SPEC, LIB_SPEC,
+       LINK_SPEC): Change appropriately.
+       * rs6000/rs6000.c (short_cint_operand): Use CONST_OK_FOR_LETTER_P.
+       (u_short_cint_operand): Likewise.
+       * rs6000/rs6000.md (movdi splitters): Add TARGET_POWERPC64 support
+       for 64-bit hosts.
+       * rs6000/t-aix43 (MULTILIB): Change to -m64.
+
+       * invoke.texi (RS/6000 Submodel): Document 64-bit processor options.
+
+Mon Aug  2 16:15:57 1999  Geoff Keating  <geoffk@cygnus.com>
+
+       * rs6000/rs6000.c (num_insns_constant_wide): Correct
+       for type promotion.
+       (add_operand): Get test correct for 64-bit HOST_WIDE_INT.
+       (non_add_cint_operand): Likewise.
+       (logical_operand): Likewise.
+       (non_logical_cint_operand): Likewise.
+       (print_operand): Correct printf()s for 64-bit HOST_WIDE_INT.
+       (print_operand_address): Correct printf() for 64-bit HOST_WIDE_INT.
+       (rs6000_select_rtx_section): Suppress warning.
+       (small_data_operand): Suppress warning.
+       (rs6000_got_register): Suppress warning.
+       * rs6000/rs6000.md (andsi3): HOST_WIDE_INT is a signed
+       type, so `J' is generally the wrong constraint for a SImode value;
+       use `L' instead.
+       (andsi3_internal2): Likewise.
+       (andsi3_internal3): Likewise.
+       (iorsi3_internal1): Likewise.
+       (xorsi3_internal1): Likewise.
+       (movsi): Likewise.
+       (movsf_softfloat): Likewise.
+       (scc insns): Likewise.
+       (movsi+2): Preserve sign bits of SImode constant.
+       (floatsidf2_internal+1): Sign-extend SImode constant correctly.
+       (movdf+1): Sign-extend properly.
+       (movdi_32+1): Sign-extend properly.
+       (scc insns): Sign-extend properly.
+
+       * md.texi (RS/6000 EXTRA_CONSTRAINTS): Update documentation for J,
+       K, L, and T.
+
+1999-08-02  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (override_options): Move ev6 alpha_tp frobbing out of
+       -mcpu parsing code.
+       (print_operand): Notice alpha_fptm not alpha_tp for sw completion.
+       * alpha.md (all fp insns): Likewise.
+
+1999-08-02  Nick Clifton  <nickc@cygnus.com>
+
+       * config/v850/v850.h (STRICT_ALIGNMENT): Only define if not
+       already defined.
+
+Mon Aug  2 03:38:33 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.c (legitimize_pic_address): Clarify comments.  Do not call the
+       pic_load_label generator directly.
+       * pa.md (pic_load_label): Clarify comments.  Remove modes on operands.
+       No longer a named pattern.
+
+Mon Aug  2 09:38:10 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * explow.c (force_reg): Call force_operand if X does not
+       satisfy general_operand.
+
+Mon Aug  2 01:34:22 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * fix-header.c (main): When testing for CONTINUED, use string
+       equality, not pointer equality.
+
+Mon Aug  2 01:27:24 1999  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       * sparc.c (sparc_block_profiler): Use the %g2 register, not %o0.
+
+Sun Aug  1 22:46:42 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * cse.c (cse_insn): Fix loop which deletes insns after a jump
+       that has become an unconditional jump.
+
+       * m68k.c (output_function_prologue): Fix typo in CPU32 case.
+       (output_function_epilogue): Similarly.
+
+Sun Aug  1 20:14:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * tree.h (init_dummy_function_start): Declare.
+
+Sun Aug  1 12:55:31 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * stmt.c (emit_filename, emit_lineno, expr_stmts_for_value,
+       last_expr_type, last_expr_value, block_start_count, block_stack,
+       stack_block_stack, cond_stack, loop_stack, case_stack, nesting_stack,
+       nesting_depth, goto_fixup_chain): Delete global vars; now allocated
+       dynamically in stmt elt of struct function for each function.
+       (struct nesting): Rename function_call_count elt to n_function_calls,
+       target_temp_slot_level to block_target_temp_slot_level.  All users
+       changed.
+       (struct stmt_status): New structure definition.
+       Add many accessor macros for stmt_status elements which previously
+       were global variables.
+       (init_stmt_for_function): Allocate stmt elt for current_function.
+       Reflect that block_start_count was renamed to
+       current_block_start_count.
+       (save_stmt_status, restore_stmt_status): Delete functions.
+       (preserve_subexpressions_p): Don't access loop_stack when outside
+       a function.
+       (expand_start_bindings): Reflect that block_start_count was renamed to
+       current_block_start_count.
+       (expand_fixup): Likewise.
+       (expand_decl): Don't access block_stack when outside a function.
+       (expand_decl_cleanup): Likewise.
+       (expand_dcc_cleanup): Likewise.
+       (expand_dhc_cleanup): Likewise.
+       (expand_anon_union_decl): Likewise.
+       (set_file_and_line_for_stmt): New function.
+       (in_control_zone_p): New function.
+
+       * function.h (struct function): Add new elt stmt.
+       Delete elts block_stack, stack_block_stack, cond_stack, loop_stack,
+       case_stack, nesting_stack, nesting_depth, block_start_count,
+       last_expr_type, last_expr_value, expr_stmts_for_value, emit_filename,
+       emit_lineno, goto_fixup_chain.
+       (save_eh_status, restore_eh_status, save_stmt_status,
+       restore_stmt_status): Delete declarations.
+       * function.c (push_function_context_to): Don't call save_stmt_status.
+       (pop_function_context_to): Don't call restore_stmt_status.
+       * tree.h (in_control_zone_p): Declare.
+       * rtl.h (set_file_and_line_for_stmt): Declare.
+
+       * emit-rtl.c (emit_line_note): Don't set emit_filename/emit_lineno;
+       call set_file_and_line_for_stmt.
+
+Thu Jul 31 12:34:45 1999  Joe Buck  <jbuck@synopsys.com>
+
+       * gcc.texi: Use terms "GNU Compiler Collection" and "GCC".
+       Also update copyright.
+
+Sat Jul 31 11:10:07 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * c-pragma.c: Don't include "except.h".
+       * emit-rtl.c: Likewise.
+       * stor-layout.c: Likewise.
+       * tree.c: Likewise.
+       * varasm.c: Likewise.
+
+       * flow.c: Include "function.h".
+       * tree.h (init_dummy_function_start): Declare new function.
+
+       * except.h (struct eh_status): New structure.
+       (struct label_node, struct eh_entry): Declare even if tree.h hasn't
+       been included.
+       (eh_return_stub_label, ehstack, catchstack, ehqueue,
+       catch_clauses, false_label_stack, caught_return_label_stack,
+       protect_list, current_function_ehc): Add accessor macros for the
+       corresponding fields in current_function->eh; delete declarations
+       for all items that used to be declared here.
+       * except.c (eh_return_stub_label, ehstack, catchstack, ehqueue,
+       catch_clauses, false_label_stack, caught_return_label_stack,
+       protect_list, current_function_ehc): Delete variables.
+       (init_eh_for_function): Allocate current_function->eh.
+       (save_eh_status, restore_eh_status): Delete functions.
+
+       * function.h (struct function): Add fields next_global and eh.
+       Delete all exception handling related fields.
+       * function.c (current_function): New variable.
+       (all_functions): New variable.
+       (push_function_context_to): Don't allocate a struct function,
+       use current_function instead.  Call init_dummy_function_start when
+       outside a function.  Clear current_function before returning.
+       (pop_function_context_from): Restore current_function.
+       Don't free the restored struct function.
+       (prepare_function_start): New function.
+       (init_dummy_function_start): New function.
+       (init_function_start): Break out some code into prepare_function_start
+       and call it here.
+
+       * stmt.c (save_stmt_status): Don't call save_eh_status.
+       (restore_stmt_status): Don't call restore_eh_status.
+
+       * Makefile.in: Update dependencies.
+
+Sat Jul 31 04:10:01 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instead
+       of depending on a magic constant value.  Update comments.
+       (hppa_expand_prologue): Similarly.
+
+       * pa.md (reload_indi, reload_outdi): Allow any register for the
+       original reload register.
+
+Fri Jul 30 19:41:35 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * cccp.c (print_help): Change marcos to macros.
+
+1999-07-30  Richard Henderson  <rth@cygnus.com>
+
+       * c-typeck.c (initializer_constant_valid_p): Move ...
+       * c-common.c (initializer_constant_valid_p): ... here.  Use
+       FOO_TYPE_P instead of tests against TREE_CODE.  Allow subtraction
+       of label addresses.
+       * c-common.h (initializer_constant_valid_p): Declare.
+       * c-tree.h (initializer_constant_valid_p): Remove.
+
+Fri Jul 30 16:33:42 1999  Mathias Froehlich  <frohlich@na.uni-tuebingen.de>
+
+       * config/i386/sol2-c1.asm: Align the stack.
+       * config/i386/sol2-gc1.asm: Likewise.
+
+1999-07-30  Vladimir Makarov  <vmakarov@loony.cygnus.com>
+
+       * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto
+       -Asparclite for sparc86x.
+       (CPP_CPU32_DEFAULT_SPEC, CPP_CPU_SPEC): Remove -D__sparc_v8__ for
+       sparc86x.
+       (ASM_CPU_SPEC): Use -Asparclite for sparc86x.
+
+Fri Jul 30 14:53:56 1999  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * config/sparc/linux64.h (CC1_SPEC): Preserve CPU specified by
+       the user if using the non-default arch size in BI_ARCH configuration.
+       * config/sparc/sol2-sld-64.h (CC1_SPEC): Ditto.
+
+       * config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
+       Fix patterns so that they actually match.
+       (cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
+       (mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
+       (const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
+       TARGET_HARD_MUL32.
+       (mulsidi3): Reflect this in the expand.
+       (smulsi3_highpart): Only on TARGET_ARCH32.
+       (umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
+       (const_umulsidi3_sp32): Renamed from const_umulsidi3.
+       (umulsidi3): Reflect this in the expand.
+       (umulsi3_highpart): Only on TARGET_ARCH32.
+       (divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
+       don't require g0 to be zero.
+       (udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
+       ({,u}divsi3): New expands.
+       ({,u}divsi3_sp64): New patterns.
+       (after lshrdi3_v8plus): Four new patterns to help combiner
+       optimizing nested mixed mode shifts.
+
+       * config/sparc/sparc.c (sparc_override_options): Use deprecated
+       v8 instructions if optimizing for UltraSPARC I, II, IIi, as it
+       speed things up. Don't use them by default on plain v9 in 64bit
+       mode, according to what SPAMv9 sais.
+
+       * config/sparc/sparc.h: Fix comments, e.g. Linux already preserves
+       top 32 bits of %[og][0-7] in signal handlers.
+       Also, TARGET_HARD_MUL32 now is only true for TARGET_ARCH32.
+
+Fri Jul 30 03:00:41 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.md (zvdep_imm32): Renamed from zvdep_imm.
+       (ashlsi3): Corresponding changes.
+
+       * pa.c (compute_zdepwi_operands): Renamed from compute_zdepi_operands.
+
+Thu Jul 29 18:37:13 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.h (FIRST_PARM_CALLER_OFFSET): Delete.
+
+Thu Jul 29 19:01:58 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * arm.h (Hint): Delete macro.
+       Substitute HOST_WIDE_INT for Hint in some prototypes.
+       * arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
+
+Thu Jul 29 09:21:42 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * builtins.c (expand_builtin_setjmp): Use force_operand to
+       make sure that the buffer address is in a suitable form to be
+       passed to force_reg.
+
+Wed Jul 28 12:50:48 1999  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/mips/mips.c: system.h handles MIN and MAX, don't undefine
+       them here.
+
+Wed Jul 28 13:18:35 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.md (indirect_jump): Remove mode from match_operand.  Verify
+       proper mode in the condition string.
+       (icacheflush, dcacheflush): Remove modes from match_operands.
+
+       * pa.c (emit_move_sequence): Always convert scratch_reg to the
+       proper mode before using it.
+
+       * pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
+       pair.
+
+       * pa.c (store_reg): Do not call add_high_const generator directly.
+       (load_reg, set_reg_plus_d): Likewise.
+       * pa.md (add_high_const): No longer a named pattern.
+
+       * pa.c (legitimize_address): Consistently use Pmode rather than
+       SImode.  Do not call gen_pic2_highpart directly anymore.
+       * pa.md (pic2_highpart): No longer a named pattern.
+       (pic2_lo_sum): Similarly.  Reformat to make more readable.
+
+       * pa.md (call, call_value): Use "word_mode" instead of "SImode" as
+       needed.
+
+       * README: Update.
+
+Wed Jul 28 11:28:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * builtins.c (expand_builtin): Typo in call to expand_builtin_ffs.
+
+Wed Jul 28 11:23:48 1999  Richard Henderson  <rth@cygnus.com>
+
+       * pa.c (hppa_builtin_saveregs):  Use get_varargs_alias_set
+       and tag the spill mems.
+       (hppa_va_start): New.
+       (hppa_va_arg): New.
+       * pa.h (EXPAND_BUILTIN_VA_START): New.
+       (EXPAND_BUILTIN_VA_ARG): New.
+
+Wed Jul 28 11:22:21 1999  Richard Henderson  <rth@cygnus.com>
+
+       * mn10300.c (mn10300_builtin_saveregs): Use get_varargs_alias_set
+       and tag the spill mems.
+       (mn10300_va_start): New.
+       (mn10300_va_arg): New.
+       * mn10300.h (EXPAND_BUILTIN_VA_START): New.
+       (EXPAND_BUILTIN_VA_ARG): New.
+
+Wed Jul 28 11:20:19 1999  Richard Henderson  <rth@cygnus.com>
+
+       * mn10200.c (mn10200_va_arg): New.
+       * mn10200.h (EXPAND_BUILTIN_VA_ARG): New.
+
+Wed Jul 28 11:19:06 1999  Richard Henderson  <rth@cygnus.com>
+
+       * builtins.c (std_expand_builtin_va_arg): Use int_size_in_bytes
+       rather than play with TREE_INT_CST_LOW.
+
+1999-07-27  Philip Blundell  <pb@nexus.co.uk>
+
+       * config/arm/telf.h: Include dbxelf.h.
+       (CPP_PREDEFINES): Only define if not already defined.
+       (ASM_IDENTIFY_GCC): Likewise.
+       (SUBTARGET_EXTRA_SECTIONS): Likewise.
+       (SUBTARGET_EXTRA_SECTION_FUNCTIONS): Likewise.
+       * config/arm/thumb.h (LINK_SPEC): Only define if not already
+       defined.
+       (DBX_DEBUGGING_INFO): Don't define.
+       * config/arm/linux-telf.h: New file.
+       * config/arm/linux-tgas.h: New file.
+       * config/arm/t-thumb-linux: New file.
+       * config/arm/uclinux-elf.h: New file.
+       * config/arm/uclinux-telf.h: New file.
+       * configure.in (arm-*-uclinux, thumb-*-linux-gnu,
+       thumb-*-uclinux): New targets.
+       * configure: Regenerate.
+
+Tue Jul 27 23:20:21 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.md (post_store, pre_load): New expanders.
+       (post_stwm, pre_ldwm): Renamed to post_stw and pre_ldw respectively.
+       (post_ldwm, pre_stwm): Make these unnamed patterns since we never
+       need to directly generate RTL for them.
+       * pa.c (hppa_expand_prologue, hppa_expand_epilogue): Corresponding
+       changes.
+
+Tue Jul 27 16:05:52 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * aix43.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add rs64a and PPC630.
+       * rs6000.c (processor_target_table): Add powerpc64, rs64a, and PPC630.
+       (rs6000_cpu): Choose between 32-bit and 64-bit default processors.
+       (secndary_reload_class): Make TARGET_ELF conditional compile.
+       (print_operand_address): Similar.
+       (output_toc): Print all values as hex.
+       (get_issue_rate): Rearrange and add RS64A and PPC630.
+       * rs6000.h (processor_type): Add RS64A and PPC630.
+       (PROCESSOR_POWERPC64): New.
+       (PROMOTE_MODE): Use word_mode.
+       (RTX_COSTS): Add RS64A and PPC630.
+       * rs6000.md (scheduling information): Add lmul and ldiv
+       representing 64-bit integer multiply and divide.  Add rs64a and
+       PPC630 information.
+       (ashldi3): Add support for "rldic" instruction.
+       * sysv4.h (PROCESSOR_DEFAULT): Change to PROCESSOR_750.
+
+Tue Jul 27 15:31:53 1999  Vladimir Makarov  <vmakarov@toad.to.cygnus.com>
+
+       * config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
+       instead of V8 for sparclite86x in cpu_table.
+
+Tue Jul 27 17:49:42 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
+       output_file_directive.
+
+Tue Jul 27 03:15:33 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * expr.c (expand_expr, case PLUS_EXPR): Get the mode from the
+       tree for op1, not the rtl.
+
+Tue Jul 27 00:18:34 1999  Richard Henderson  <rth@cygnus.com>
+
+       * m88k.c (m88k_builtin_saveregs): Break out the constructor code
+       to m88k_va_start, leaving only the register spill.
+       (m88k_build_va_list): New.
+       (m88k_va_start): New.
+       (m88k_va_arg): New.
+       * m88k.h (BUILD_VA_LIST_TYPE): New.
+       (EXPAND_BUILTIN_VA_START): New.
+       (EXPAND_BUILTIN_VA_ARG): New.
+
+Mon Jul 26 19:07:11 1999  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/rs6000.c (rs6000_expand_builtin_saveregs):
+       Rename from expand_builtin_saveregs.
+       * config/rs6000/rs6000.h (EXPAND_BUILTIN_SAVEREGS): Change caller.
+
+Mon Jul 26 22:52:47 1999  Richard Henderson  <rth@cygnus.com>
+
+       * i960.c (i960_setup_incoming_varargs): Use get_varargs_alias_set
+       for the register spill block.
+       (i960_build_va_list): New.
+       (i960_va_start): New.
+       (i960_va_arg): New.
+       * i960.h (BUILD_VA_LIST_TYPE): New.
+       (EXPAND_BUILTIN_VA_START): New.
+       (EXPAND_BUILTIN_VA_ARG): New.
+       * i960.md (store_multiple): Use change_address on individual mems.
+
+Mon Jul 26 22:43:12 1999  Richard Henderson  <rth@cygnus.com>
+
+       * builtins.c (stabilize_va_list): Don't INDIRECT_REF through
+       an ARRAY_TYPE.
+       (std_expand_builtin_va_start): Back out one word if !stdarg_p.
+       (expand_builtin_va_end): Evaluate arg for side effects.
+       * c-common.c (c_common_nodes_and_builtins): Construct a
+       va_list_arg_type_node to handle array decomposition to pointer.
+
+Mon Jul 26 18:51:34 1999  Richard Henderson  <rth@cygnus.com>
+
+       * except.c (st_dynamic_cleanup): Use force_operand on the
+       buffer's address.
+
+Mon Jul 26 16:43:26 1999  Richard Henderson  <rth@cygnus.com>
+
+       * c4x.h (EXPAND_BUILTIN_VA_ARG): New.
+       * c4x.c (c4x_va_arg): New.
+
+Mon Jul 26 12:30:09 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
+       has manual_pop set.
+
+1999-07-26  Nathan Sidwell  <nathan@acm.org>
+
+       * eh-common.h (__eh_matcher): Prototype correctly.
+
+Mon Jul 26 17:24:51 1999  Philip Blundell  <pb@nexus.co.uk>
+
+       * config/arm/thumb.h (THUMB_FLAG_SINGLE_PIC_BASE): Define.
+       (TARGET_SINGLE_PIC_BASE): Likewise.
+       (GOT_PCREL, NEED_GOT_RELOC, NEED_PLT_RELOC): Provide default
+       definitions.
+       (TARGET_CALLEE_INTERWORKING): Fix typo in comment.
+       (TARGET_SWITCHES): Add -m{no-}single-pic-base.
+       (TARGET_OPTIONS): Add -mpic-register=N.
+       (OUTPUT_INT_ADDR_CONST): New macro.
+       (INDEX_REGISTER_RTX_P, PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC,
+       LEGITIMATE_PIC_OPERAND_P): Likewise.
+       (LEGITIMIZE_ADDRESS, GOT_IF_LEGITIMATE_ADDRESS): Support PIC.
+       (ASM_OUTPUT_INT): Use OUTPUT_INT_ADDR_CONST rather than calling
+       output_addr_const directly.
+       (PRINT_OPERAND_PUNCT_VALID_P): Accept `|' for compatibility with
+       ARM port.
+       (thumb_pic_register, thumb_pic_register_string): Declare.
+
+       * config/arm/thumb.c (symbol_mentioned_p): New function: Imported
+       from arm.c.
+       (label_mentioned_p): New function: Imported from arm.c.
+       (legitimize_pic_address): New function: Imported from arm.c.
+       (is_pic):New function: Imported from arm.c.
+       (thumb_finalize_pic):New function: Imported from arm.c.
+       (add_constant): Cope with PIC constants.
+       (fixit): Cope with PIC constants.
+       (output_return): Do not treat the PIC register as live if
+       TARGET_SINGLE_PIC_BASE is true.
+       (thumb_function_prologue): Do not treat the PIC register as live if
+       TARGET_SINGLE_PIC_BASE is true.
+       (thumb_expand_prologue): Do not treat the PIC register as live if
+       TARGET_SINGLE_PIC_BASE is true.
+       (thumb_unexpand_epilogue): Do not treat the PIC register as live if
+       TARGET_SINGLE_PIC_BASE is true.
+       (thumb_print_operand): Accept '|'.
+       (thumb_override_options): Process PIC options.
+
+       * config/arm/thumb.md (movsi): Support PIC.
+       (call_insn): Change "i" constraint to "X".
+       (call_value_insn): Likewise.
+       (consttable_4, consttable_8, consttable_end): Set and clear
+       "making_const_table" as appropriate.
+       (pic_load_addr, pic_add_dot_plus_four): New insns.
+
+       * invoke.texi (Thumb Options): Fix spelling.  Document new
+       options -msingle-pic-base and -mpic-register=.
+
+1999-07-26  Andrew Haley  <aph@cygnus.com>
+
+       * config/m32r/initfini.c (__init): Use a full word immediate for
+       __fini: this allows it to be placed in any memory region.
+
+       * config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
+       -mmodel=medium.  This is OK for all memory models.
+
+Mon Jul 26 11:58:46 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
+       * config/arm/arm.h: Replace %R%s in asm_fprintf strings with %r.
+
+Mon Jul 26 10:23:36 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
+       defined.
+
+       * tm.texi: Document ASM_FPRINTF_EXTENSIONS.
+
+Sun Jul 25 23:51:59 1999  Richard Henderson  <rth@cygnus.com>
+
+       * i860.h (EXPAND_BUILTIN_SAVEREGS): New.
+       (BUILD_VA_LIST_TYPE): New.
+       (EXPAND_BUILTIN_VA_START): New.
+       (EXPAND_BUILTIN_VA_ARG): New.
+       * i860.c (output_delayed_branch): Disable.
+       (output_delay_insn): Likewise.
+       (i860_saveregs): New.
+       (i860_build_va_list): New.
+       (i860_va_start): New.
+       (i860_va_arg): New.
+       * i860.md: Disable all peepholes using output_delayed_branch.
+       * i860/sysv4.h (I860_SVR4_VA_LIST): New.
+
+Sun Jul 25 23:44:13 1999  Richard Henderson  <rth@cygnus.com>
+
+       * clipper.h (EXPAND_BUILTIN_SAVEREGS): Remove argument.
+       (BUILD_VA_LIST_TYPE): New.
+       (EXPAND_BUILTIN_VA_START): New.
+       (EXPAND_BUILTIN_VA_ARG): New.
+       * clipper.c (clipper_builtin_saveregs): Only dump registers.
+       Return the address of the save area.
+       (clipper_build_va_list): New.
+       (clipper_va_start): New.
+       (clipper_va_arg): New.
+
+Sun Jul 25 22:56:47 1999  Richard Henderson  <rth@cygnus.com>
+
+       * arc.h (EXPAND_BUILTIN_VA_START): New.
+       (EXPAND_BUILTIN_VA_ARG): New.
+       * arc.c (arc_setup_incoming_varargs): Set alias set of
+       varargs save area.
+       (arc_va_start): New.
+       (arc_va_arg): New.
+
+Sun Jul 25 22:45:55 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.h (EXPAND_BUILTIN_SAVEREGS): Delete.
+       (BUILD_VA_LIST_TYPE): New.
+       (EXPAND_BUILTIN_VA_START): New.
+       (EXPAND_BUILTIN_VA_ARG): New.
+       * alpha.c (alpha_builtin_saveregs): Delete.
+       (alpha_build_va_list): New.
+       (alpha_va_start): New.
+       (alpha_va_arg): New.
+
+Sun Jul 25 21:40:33 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
+       column zero.
+       (DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
+       (FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
+
+       * gcc.texi: More changes related to list conversion.
+       * invoke.texi: Likewise.
+
+Sun Jul 25 18:15:39 1999  Richard Henderson  <rth@cygnus.com>
+
+       * builtins.c (expand_builtin_saveregs): Remove static, remove exp
+       and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
+       (expand_builtin_next_arg): Accept ARGLIST not EXP.
+       (stabilize_va_list): New function.
+       (std_expand_builtin_va_start): New function.
+       (expand_builtin_va_start): New function.
+       (get_varargs_alias_set): New function.
+       (std_expand_builtin_va_arg): New function.
+       (expand_builtin_va_arg): New function.
+       (expand_builtin_va_end): New function.
+       (expand_builtin_va_copy): New function.
+       (expand_builtin): Call them.
+       * c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
+       __builtin_{varargs_start,stdarg_start,end,copy}.
+       (build_va_arg): New function.
+       * c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
+       (build_va_arg): Declare.
+       * c-decl.c (ptr_type_node, va_list_type_node): New.
+       * c-parse.gperf (__builtin_va_arg): New.
+       * c-parse.in (VA_ARG): New token.
+       (unary_expr): Recognize it.
+       * expr.c (expand_expr): Expand VA_ARG_EXPR.
+       * expr.h (std_expand_builtin_va_start): Declare.
+       (std_expand_builtin_va_arg): Declare.
+       (expand_builtin_va_arg): Declare.
+       (get_varargs_alias_set): Declare.
+       * tree.def (VA_ARG_EXPR): New.
+       * tree.h (BUILT_IN_VARARGS_START): New.
+       (BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
+       (ptr_type_node, va_list_type_node): Declare.
+       * tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
+       * m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
+       * m88k.h, m88k.c: Likewise.
+       * mn10300.h, mn10300.c: Likewise.
+       * pa.h, pa.c: Likewise.
+       * rs6000.h, rs6000.c: Likewise.
+       * sh.h, sh.c: Likewise.
+       * sparc.h, sparc.c: Likewise.
+
+       * emit-rtl.c (operand_subword): Copy alias set.
+       (change_address): Likewise.
+
+Sun Jul 25 15:04:37 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.c (compute_frame_size): Scan all the used callee saved registers,
+       not just the first one.
+
+Fri Jul 23 14:09:58 1999  Philip Blundell  <pb@nexus.co.uk>
+
+       * config/arm/arm.h (TARGET_SWITCHES): Add
+       -m{no-}single-pic-base.  Correct help string for -mshort-load-words.
+       (TARGET_OPTIONS): Add -mpic-register=.
+       (ARM_FLAG_SINGLE_PIC_BASE, TARGET_SINGLE_PIC_BASE): Define.
+       (arm_pic_register_string): Declare.
+       (NEED_PLT_GOT): Delete, replace with ...
+       (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  New macros.
+       (OUTPUT_INT_ADDR_CONST): Replace NEED_PLT_GOT with NEED_GOT_RELOC.
+       (ASM_OUTPUT_MI_THUNK): Replace NEED_PLT_GOT with NEED_PLT_RELOC.
+       * config/arm/arm.c (arm_override_options): Add new option
+       -mpic-register=N.
+       (arm_pic_register_string): New variable.
+       (arm_finalize_pic): Respect TARGET_SINGLE_PIC_BASE.
+       (output_func_prologue): If TARGET_SINGLE_PIC_BASE, treat the PIC
+       register as never live.  Use NEED_PLT_RELOC not NEED_PLT_GOT.
+       (output_return_instruction): Likewise.
+       * config/arm/elf.h (NEED_PLT_GOT): Delete, replace with ...
+       (NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  Define to flag_pic.
+       * config/arm/arm.md: Use NEED_PLT_RELOC in place of NEED_PLT_GOT.
+
+       * invoke.texi (ARM Options): Fix spelling.  Remove duplicate
+       mention of -msched-prolog.  Document new options -msingle-pic-base
+       and -mpic-register=.
+
+Thu Jul 22 18:23:56 1999  Richard Henderson  <rth@cygnus.com>
+
+       * haifa-sched.c (reemit_notes): Tidy.
+       * sched.c (reemit_notes): Duplicate 1998-08-31 patch to
+       haifa's routine.
+
+Thu Jul 22 18:21:04 1999  Richard Henderson  <rth@cygnus.com>
+
+       * explow.c (trunc_int_for_mode): New function.
+       (plus_constant_wide): Use it.
+       * combine.c (simplify_and_const_int): Likewise.
+       (merge_outer_ops): Likewise.
+       (simplify_shift_const): Likewise.
+       * cse.c (simplify_unary_operation): Likewise.
+       (simplify_binary_operation): Likewise.
+       * emit-rtl.c (operand_subword): Likewise.
+       * rtl.h: Declare it.
+
+Thu Jul 22 14:34:59 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
+       (use NUM_REGS instead of NUM_INTS).
+
+Thu Jul 22 11:25:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * builtins.c: New file.
+       * expr.c (saveregs_value, apply_args_value):  Delete definition,
+       moved into builtins.c.
+       (string_constant): No longer static.
+       (get_pointer_alignment, c_strlen, get_memory_rtx, expand_builtin,
+       apply_args_size, apply_result_size, result_vector,
+       expand_builtin_apply_args, expand_builtin_apply,
+       expand_builtin_return): Delete functions, moved into builtins.c.
+       (INCOMING_REGNO, OUTGOING_REGNO): Delete unused macros.
+       * expr.h (saveregs_value, apply_args_value): Declare variables.
+       (expand_builtin, string_constant): Declare functions.
+       * Makefile.in: Update to build builtin.o.
+
+Wed Jul 21 00:46:58 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
+       * tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Define it.
+       * dwarf2out.c (dwarf2out_init): Don't output a label to mark the
+       start of the text section if DWARF2_GENERATE_TEXT_SECTION_LABEL is
+       false.
+       * config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL):
+       Define to zero.
+
+1999-07-21  Michael Meissner  <meissner@cygnus.com>
+
+       * print-rtl.c (print_rtx): Print the names of the virtual
+       registers.
+
+Wed Jul 21 16:00:32 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
+       introduced in previous delta.
+
+Wed Jul 21 14:30:51 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * c-lang.c (finish_file): Rename void_list_node to void_list_node_1
+       to avoid name clash.
+
+Wed Jul 21 08:39:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * c-lex.c (yylex) : Correct the test for overflow when lexing
+       integer literals.
+
+Tue Jul 20 18:02:42 1999  Richard Henderson  <rth@cygnus.com>
+
+       * haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
+       (adjust_priority): Always call ADJUST_PRIORITY.
+       (schedule_insn): Only put insns into the ready at cost 0.
+       (schedule_block): Remove redundant initial sort.  Give clock_var
+       and can_issue_more to MD_SCHED_REORDER.  Requeue if hazard cost
+       is not 0.
+       * tm.texi (MD_SCHED_REORDER): Update docs.
+
+       * sparc.h (MD_SCHED_REORDER): Update.  Set CAN_ISSUE_MORE.
+       * sparc.c (ultra_reorder_called_this_block): Delete.
+       (ultrasparc_sched_init): Don't set it.
+       (ultrasparc_sched_reorder): Don't check it.
+
+Tue Jul 20 17:07:54 1999  Richard Henderson  <rth@cygnus.com>
+
+       * rs6000.h (struct rs6000_args): Add sysv_gregno.
+       * rs6000.c (init_cumulative_args): Init sysv_gregno.
+       (function_arg_boundary): Align DFmode.
+       (function_arg_advance): Restructure for ABI_V4; use sysv_gregno
+       to get fp reg and stack overflow correct.
+       (function_arg): Likewise.
+       (function_arg_pass_by_reference): True for TFmode for ABI_V4.
+       (setup_incoming_varargs): Restructure for ABI_V4; use
+       function_arg_advance to skip final named argument.
+       (expand_builtin_saveregs): Properly unskip the last integer arg
+       when doing varargs.  Adjust overflow location calculation.
+
+       * ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr
+       explicitly unsigned.
+       (__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
+       (__VA_GP_REGSAVE): Similarly.
+       (__va_longlong_p): Delete.
+       (__va_arg_type_violation): New declaration.
+       (va_arg): Restructure.  Flag promotion errors.  Align double.
+       TFmode passed by reference.
+
+       * rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
+       in the HOST_BITS_PER_WIDE_INT > 32 case.
+
+Tue Jul 20 12:37:30 1999  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * dwarf2out.c (output_abbrev_section): Terminate with a zero.
+
+Tue Jul 20 12:12:27 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
+       * toplev.c (documented_lang_options): Add -fpreprocessed.
+       * cpplib.h (struct cpp_buffer): Add preprocessed.
+       * cppinit.c (cpp_handle_option): Handle -fpreprocessed.
+       (cpp_start_read): Don't expand macros or emit an initial #line
+       directive if -fpreprocessed.
+
+Tue Jul 20 12:12:09 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
+
+       * cpplib.h (struct cpp_buffer): Added manual_pop for
+       better C++ tokenization.
+       * cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
+       Also, support C++ tokenization for ->*, .*, <?, and >? operators.
+       * c-common.c (cpp_token): Make non-static.
+
+Tue Jul 20 11:24:19 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * c-common.h: New file.
+       * c-common.c (permanent_obstack): Delete unused declaration.
+       (c_global_trees): New array.
+       (c_common_nodes_and_builtins): New function; split off common code
+       from init_decl_processing in both c-decl.c and cp/decl.c.
+       * c-tree.h: Delete lots of declarations of tree nodes; replaced by
+       c_global_trees and accessor macros defined in c-common.h.
+       Include c-common.h.
+       * c-decl.c: Delete definitions for tree nodes that were replaced by
+       c_global_trees.
+       (init_decl_processing): Build void_list_node.
+       Call c_common_nodes_and_builtins; delete code to generate the common
+       builtins here.
+       * objc/objc-act.c (build_module_descriptor): Rename variable
+       void_list_node to avoid clash with c-common.h.
+
+       * Makefile.in: Update dependencies.
+       * objc/Make-lang.in: Likewise.
+
+Mon Jul 19 14:22:18 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
+       (UNIQUE_SECTION_P): Likewise.
+       (UNIQUE_SECTION): Likewise.
+
+1999-07-19  Linas Vepstas  <linas@linas.org>
+
+       * config/i370/README: New file.
+       * config/i370/linux.h: New file.
+       * config/i370/mvs.h: New file.
+       * config/i370/oe.h: New file.
+       * config/i370/t-linux: New file.
+       * config/i370/t-mvs: New file.
+       * config/i370/t-oe: New file.
+       * config/i370/x-oe: New file.
+       * config/i370/xm-linux.h: New file.
+       * config/i370/xm-mvs.h: New file.
+       * config/i370/xm-oe.h: New file.
+
+       * i370.c (label_node_t): Add first_ref_page, label_addr,
+       label_first_ref, label_last_ref members.
+       (mvs_need_base_reload): Renamed from mvs_label_emitted.
+       (MAX_MVS_LABEL_SIZE): Define.
+       (MAX_LONG_LABEL_SIZE): Define.
+       (alias_node_t, alias_anchor, alias_number): New.
+       (mvs_function_table): Reorder for EBCDIC.
+       (ascebc, ebcasc): Unconditionally define.
+       (i370_branch_dest, i370_branch_length): New functions.
+       (i370_short_branch, i370_label_scan): New functions.
+       (mvs_get_label): Renamed from mvs_add_label.  Search for
+       an existing label before creating a new one.
+       (mvs_add_label): New function.
+       (mvs_get_label_page): New function.
+       (mvs_free_label_list): Renamed from mvs_free_label.  Iterate
+       over the entire list.
+       (mvs_check_page) [TARGET_HLASM]: Use BASR not BALR.
+       (mvs_check_page) [TARGET_ELF_ABI]: New function.
+       (mvs_add_alias, mvs_need_alias): New functions.
+       (mvs_get_alias, mvs_check_alias): New functions.
+       (handle_pragma): New function.
+       (mvs_function_check): New function.
+       (unsigned_jump_follows_p): Search harder.
+       (i370_function_prolog) [TARGET_HLASM]: Handle LE370.  Scan labels.
+       (i370_function_prolog) [TARGET_ELF_ABI]: New function.
+       * i370.h (TARGET_VERSION): Delete.
+       (CPP_SPEC, CPP_PREDEFINES): Delete.
+       (mvs_label_emitted): Delete.
+       (TARGET_EBCDIC): Delete.
+       (MAP_CHARACTER): Define only if TARGET_EBCDIC.
+       (HANDLE_PRAGMA): Define.
+       (HARD_REGNO_NREGS): Handle complex modes.
+       (HARD_REGNO_MODE_OK): Likewise.
+       (CLASS_MAX_NREGS): Likewise.
+       (RET_REG): Likewise.
+       (EXTRA_CONSTRAINT): Define.
+       (RETURN_IN_MEMORY): True for DImode.
+       (TRAMPOLINE_TEMPLATE): Use gen_rtx instead of GEN_INT.
+       (FUNCTION_PROFILER): Delete.
+       (COUNT_REGS): Fail if REG_P but not REG_OK_FOR_BASE_P.
+       (NOTICE_UPDATE_CC): Correct handling of MULT, DIV, logicals and shifts.
+       (TARGET_ESC, TARGET_BELL): Conditionally define for TARGET_EBCDIC.
+       (TARGET_BS, TARGET_TAB, TARGET_NEWLINE): Likewise.
+       (TARGET_VT, TARGET_FF, TARGET_CR): Likewise.
+       (ASM_FILE_START): Add "RMODE ANY".
+       (ASM_OUTPUT_EXTERNAL): Check for aliases.
+       (ASM_GLOBALIZE_LABEL): Likewise.
+       (ASM_OUTPUT_LABELREF): Likewise.
+       (ASM_OUTPUT_COMMON): Likewise.
+       (PRINT_OPERAND): Handle 'K', 'W', default.
+       (PRINT_OPERAND_ADDRESS): New.
+       (Lots of defines): Add support for TARGET_ELF_ABI.
+       * i370.md (attr length): New.  Define for all patterns.
+       (*): Lots of tweeks to assembly output and constraints.
+
+Mon Jul 19 15:09:29 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
+       Disable patterns performing SImode comparisons with SImode values
+       if TARGET_POWERPC64 and instruction does not sign-extend or does
+       not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
+       differ for signed quantities.
+       (indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
+       (tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
+       (decrement_and_branch_on_count): Add 64-bit variant.
+
+Mon Jul 19 09:36:27 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * final.c (output_asm_insn): When searching for the matching string
+       for a given dialect, don't run past the end of the list of
+       alternatives if there are fewer alternatives in the template than
+       dialects.
+
+1999-07-17  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
+       Removed paragraph about compression of files and size limitation,
+       duplicated in the FAQ.  Use gcc-patches for posting patches.
+       * gcc.c (main): Updated URL with bug reporting instructions to
+       gcc.gnu.org.  Removed e-mail address.
+       * system.h (abort): Likewise.
+
+1999-07-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (stmp-multilib-sub): Make the files extracted
+       from $(LIBGCC1) writable.
+
+Sat Jul 17 14:25:46 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/aout.h: Reformat for improved readability.
+
+       * config/arm/arm.h: Reformat for improved readability.
+       Replace uses of fprintf with asm_fprintf where appropriate.
+       (ARM_DECLARE_FUNCTION_NAME): New macro:  Perform any generic ARM
+       function declaration assembler actions.
+       (NUM_INTS): New macro: Convert from bytes to words.
+       (NUM_REGS): New macro: Compute number of registers required to
+       hold a quanitity of tyep MODE.
+       (NUM_REGS2): New macro: Like NUM_REGS but also copes with BLKmode
+       types.
+       (NUM_ARG_REGS): New macro: The number of argument registers
+       available.
+       (ARG_REGISTER): New macro: Compute the register number of the Nth
+       argument register.
+       (LAST_ARG_REGNUM): New macro: The number of the last argument
+       register.
+       (SP_REGNUM): New macro: Register number of the stack pointer.
+       (FP_REGNUM): New macro: Register number of the frame pointer.
+       (FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS, INIT_CUMULATIVE_AGS,
+       FUNCTION_ARG_ADVANCE, SETUP_INCOMING_VARARGS): Change
+       CUMULATIVE_ARGS so that it counts registers not bytes.
+
+       * config/arm/arm.c: Rename TARGET_THUMB_INTERWORK to
+       TARGET_INTERWORK.
+       Replace uses of fprintf with asm_fprintf where appropriate.
+       (output_ascii_pseudo_op): Replace with version from thumb.c
+
+       * config/arm/coff.h (ASM_FILE_START): Emit ASM_APP_OFF.
+
+       * config/arm/elf.h (CPP_PREDEFINES): Replace with
+       SUBTARGET_CPP_SPEC.
+       (ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
+       (ASM_FILE_START): Emit ASM_APP_OFF.
+
+Fri Jul 16 13:48:09 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.c (compute_frame_size): Round frame according to
+       STACK_BOUNDARY rather than a hardwired value.
+
+       * pa.h (POINTER_SIZE, PARM_BOUNDARY): Define in terms of BITS_PER_WORD.
+
+       * configure.in (hppa*-*-hpux11*): Use symbolic MASK_PA_11 instead
+       of "1".
+       * configure: Rebuilt.
+
+       * configure.in (hppa*-*-linux*): New configuration.
+       * configure: Rebuilt.
+       * pa.h (MAX_OFILE_ALIGNMENT): Delete.
+       * pa/som.h (MAX_OFILE_ALIGNMENT): Define.
+       * pa/pa-linux.h: New file.
+       * pa/t-linux: New file.
+       * pa/xm-linux.h: New file.
+
+       * pa.c (hppa_legitimize_address): Change references from SImode to
+       either Pmode or word_mode as appropriate.
+       (emit_move_sequence, store_reg, load_reg): Likewise.
+       (set_reg_plus_d, hppa_expand_prologue): Likewise.
+       (output_mul_insn): Likewise.
+       * pa.h (PROMOTE_MODE): Likewise.
+       (INITIALZE_TRAMPOLINE): Likewise.
+       (Pmode): Define to word_mode.
+
+       * pa.c (compute_frame_size): Use UNITS_PER_WORD instead of hardwired
+       value of 4.  Allocate 8 bytes for each FP register save.
+       (hppa_expand_epilogue): Use UNITS_PER_WORD instead of harwarewired
+       value of 4.
+       (hppa_expand_prologue): Likewise.
+       * pa.h (PROMOTE_MODE): Likewise.
+       (HARD_REGNO_MODE_OK, FUNCTION_ARG_SIZE): Likewise.
+       (FUNCTION_ARG_BOUNDARY): Likewise.
+
+       * invoke.texi (HPPA Options): Remove -mspace/-mno-space.
+
+       * pa.c (out_of_line_prologue_epilogue): Delete.
+       (override_options): Remove -mspace related code.
+       (hppa_expand_prologue, hppa_expand_epilogue): Likewise.
+       (compute_frame_size): Only allocate space for register that
+       actually need to be saved.
+       * pa.h (MASK_SPACE, TARGET_SPACE): Delete.
+       (TARGET_SWITCHES): Remove -mspace, -mno-space
+       * pa/t-pa (LIB2FUNCS_EXTRA): Remove ee.asm and ee_fp.asm
+       * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.  Remove -mspace multilib.
+       * pa/ee.asm, pa/ee_fp.asm: Delete.
+
+       * pa/elf.h (ASM_OUTPUT_DOUBLE_INT): Define.
+
+       * config/svr4.h (CONST_SECTION_ASM_OP): Do not emit assembler
+       directive in column zero.
+
+Fri Jul 16 01:39:57 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * m68k.c (output_function_prologue): Fix computation of save mask
+       when generating PIC code.
+
+Thu Jul 15 15:40:09 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * tree.c (build_type_attribute_variant): Move current_obstack restore
+       after build_qualified_type call.
+
+1999-07-15  Mark Mitchell  <mark@codesourcery.com>
+
+       * configure.in: Use t-iris6, even with GNU LD.
+       * config/mips/iris6gld.h: Fix typo in linker spec.
+       * config/mips/t-iris6gld: Remove.
+
+Thu Jul 15 15:15:43 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md (insv, extzv): Remove SImode dependence in named
+       patterns.  Explicitly generate DImode RTL if PowerPC64 and
+       operand is DImode.
+       (insvdi): Reverse start and size in instruction template.
+
+1999-07-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * invoke.texi: Typo fixes.
+
+Wed Jul 14 23:28:06 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * emit-rtl.c (gen_realpart): Issue an error for cases GCC can not
+       handle at this time instead of silently generating incorrect code.
+       (gen_imagpart): Likewise.
+
+       * reload.c (find_reloads): Emit a USE for a pseudo register without
+       a hard register if we could not create an optional reload for the
+       pseudo.
+
+Wed Jul 14 23:45:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * c-typeck.c (output_init_element, process_init_element):
+       When advancing constructor_unfilled_fields for a RECORD_TYPE,
+       check for nameless bit fields.
+
+Wed Jul 14 01:57:39 1999  Richard Henderson  <rth@cygnus.com>
+
+       * regclass.c (scan_one_insn): Notice subregs that change the
+       size of their operand.
+       (record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE.
+
+Wed Jul 14 01:41:42 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in (alpha*-*-*): Include alpha/t-ieee.
+       * configure: Rebuilt.
+       * alpha/t-ieee: New file.
+
+Tue Jul 13 10:45:58 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * rs6000.c (find_addr_reg): Do not select r0 as an address
+       register.
+
+Tue Jul 13 00:46:18 1999  Philippe De Muyter  <phdm@macqel.be>
+
+       * m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'.
+
+Mon Jul 12 14:29:15 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * rs6000.md (movsf): Do not force easy FP constants into memory.
+
+       * expr.c (expand_expr, case PLUS_EXPR): Pass constants through
+       immed_double_const to ensure they are properly truncated then
+       sign extended.
+
+Mon Jul 12 10:40:01 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+
+       * config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
+       always unless NO_DEBUG is used.  Compile this code
+       unconditionally.
+       (replace_symbols_in_block): Compile it unconditionally.
+
+Sun Jul 11 12:32:32 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in (i?86-*-elf*): New target.
+       * configure: Rebuilt.
+       * i386/i386elf.h, i386/t-i386elf: New files.
+
+Fri Jul  9 22:39:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * toplev.c (main): Don't complain about saying -gdwarf.
+       (rest_of_compilation): Remove redundant code.
+
+Fri Jul  9 19:08:55 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * unroll.c (unroll_loops): Don't delete named CODE_LABELs.
+
+Fri Jul  9 18:54:18 1999  Felix Lee  <flee@cygnus.com>
+
+       * config/i960/i960.c (ret_label): Change asm label from "LR:" to
+       "Li960R:", to avoid name clash.
+
+Fri Jul  9 10:48:28 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+
+       * loop.c (check_dbra_loop): When reversing a loop, delete all
+       REG_EQUAL notes referencing the reversed biv except those which are
+       for a giv based on it.
+
+Fri Jul  9 03:51:52 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * version.c: Drop "gcc-" prefix from version #.
+
+Thu Jul  8 18:06:30 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * dwarf2out.c (dwarf2out_line): Emit a line number comment after
+       the label if we're being verbose.
+
+Thu Jul  8 14:18:46 1999  Richard Henderson  <rth@cygnus.com>
+
+       * m68k.c (output_function_prologue): Add pic register to mask
+       if live and flag_pic.
+       (output_function_epilogue): Likewise.
+
+Thu Jul  8 12:55:12 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Do not put assembler
+       directives in column zero.
+
+       * pa/elf.h (ASM_FILE_START): Define.
+       * pa/som.h (ASM_FILE_START): Include .level directives.
+       * pa/hpux10.h (ASM_FILE_START): Delete.
+       * pa/hpux11.h (ASM_FILE_START): Delete.
+
+       * pa/elf.h (BSS_SECTION_ASM_OP): Use .section .bss.
+
+Thu Jul  8 18:03:19 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * reload1.c (choose_reload_regs): Never call remove_address_replacements
+       when reload_out equals reload_in.
+
+Thu Jul  8 16:50:14 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * invoke.texi (Spec Files): New node: Describe the contents of
+       spec files.
+
+Thu Jul  8 10:28:25 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * invoke.texi (DEC Alpha Options): Put @end table at
+       beginning of line, to avoid confusing texi2html.
+
+Thu Jul  8 09:22:06 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Fixed typo
+       introduced in previous delta.
+
+Wed Jul  7 02:00:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * reload1.c (gen_reload): When synthesizing a 3 operand add
+       sequence, improve test for when to reload OP1 into the reload
+       register instead of OP0.
+
+Wed Jul  7 01:38:03 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
+
+1999-07-07  Manfred Hollstein  <mhollstein@cygnus.com>
+
+       * m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line
+       string literal.
+
+Wed Jul  7 01:16:43 1999  Richard Henderson  <rth@cygnus.com>
+
+       * ginclude/varargs.h (__builtin_va_alist_t): New typedef.
+       (va_dcl): Use __builtin_va_alist_t.
+
+Wed Jul  7 01:14:42 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * dwarf2out.c (gen_struct_or_union_type_die): Only remember types
+       on the permanent_obstack.
+       * dwarfout.c (output_type): Likewise.
+
+Tue Jul  6 15:25:32 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * c-common.c (unsigned_type,signed_type,signed_or_unsigned_type) :
+       Merged from c-typeck.c and cp/typeck.c.
+       * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
+       Merged into c-common.
+
+Tue Jul  6 13:06:01 1999  Dave Brolley  <brolley@cygnus.com>
+
+       * c-lex.c (errorcount): Declare it.
+       (finish_parse): Update errorcount when using CPPLIB.
+
+1999-07-06  Bruce Korb  <ddsinc09@ix.netcom.com>
+
+       * fixinc/inclhack.def(end_else_label): Double the backslash so
+       sed gets a chance to see it.
+       * fixinc/inclhack.sh: regen
+       * fixinc/fixincl.x: regen
+
+Fri Jul  2 18:49:51 1999  Nick Clifton  <nickc@cygnus.com>
+
+       Add framework to support armv5 architecture when it becomes
+       available:
+
+       * config/arm/arm.c (FL_ARCH5): New processor capability flag.
+       (arm_arch5): New variable.
+       (all_architectures): Add armv5 line.
+       * config/arm/arm.h (CPP_CPU_ARCH_SPEC): Define __ARM_ARCH_5__ if
+       -march=armv5 is specified on the command line.
+       (arm_arch5): Export this variable.
+       * invoke.texi: Document new string accepted by -march= switch for
+       ARM ports.
+
+       * config/arm/arm.h: Replace use of constant 12 as a register
+       number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
+       * config/arm/arm.c: Replace use of constant 12 as a register
+       number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
+
+       * config/arm/elf.h: Tidy up.
+       * config/arm/coff.h: Tidy up.
+
+Thu Jul  1 19:08:13 1999  Mark P. Mitchell  <mark@codesourcery.com>
+
+       * gcc/configure.in (mips-sgi-irix6*): Handle --with-gnu-ld.
+       * gcc/config/mips/t-iris6gld: New file.
+       * gcc/config/mips/iris6gld.h: Likewise.
+
+Fri Jul  2 13:23:39 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * c-decl.c (widest_integer_literal_type_node,
+       widest_unsigned_literal_type) : New.
+       (init_decl_processing): Handle/use the two new types.
+       * c-common.c (type_for_size,type_for_mode) : Same.
+       * c-lex.c (yylex) : Same.
+       * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
+       Same.
+       * c-tree.h (widest_integer_literal_type_node,
+       widest_unsigned_literal_type) : New.
+
+Fri Jul  2 03:05:44 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * dwarfout.c (field_byte_offset): Correctly compute the object's
+       byte offset for the first bit of a field which crosses an alignment
+       boundary on a !BYTES_BIG_ENDIAN target.
+
+Fri Jul  2 01:36:36 1999  Robert Lipe  <robertlipe@usa.net>
+
+       * fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and
+       ntohs.
+
+Fri Jul  2 00:46:47 1999  Richard Henderson  <rth@cygnus.com>
+                         Jeff Law <law@cygnus.com>
+
+       * ginclude/varargs.h (va_dcl): Use word_mode for type of
+       __builtin_va_list.
+
+       * except.c: Include intl.h.
+       (expand_eh_return): Set current_function_cannot_inline.
+       (save_eh_status, restore_eh_status): Twiddle eh_return_stub_label.
+       * function.h (struct function): Add eh_return_stub_label.
+       * flow.c (delete_unreachable_blocks): Don't merge across EH edges.
+       * Makefile.in (except.o): Depend on intl.h.
+
+Fri Jul  2 00:04:23 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the
+       same as offsettable in cases 1 and 2.
+
+Thu Jul  1 20:54:10 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md (extqh): Define as 64-((R&7)*8) instead of 56-(((R-1)&7)*8).
+       (extlh, extwh): Likewise.
+
+Thu Jul  1 11:05:25 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * c-lex.c (yylex): Improve 'integer constant out of range' messages.
+
+Wed Jun 30 16:51:41 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * configure.in: Add arm-pe and thumb-pe targets.
+       * configure: Regenerate.
+
+       * thumb.c (arm_naked_function_p): New function: Determines if
+       a function is naked (has no gcc generated prologue/epilogue).
+       (is_called_in_ARM_mode): Return true if the func has the
+       interfacearm attribute.
+       (output_return): Do not generate a return for naked functions.
+       (thumb_function_prologue): Do not generate a prologue for
+       naked functions.
+       (thumb_expand_prologue): Do not generate a prologue for naked
+       functions.
+       (thumb_expand_epilogue): Do not generate an epilogue for naked
+       functions.
+       (arm_valid_machine_decl_attribute): New function, copied from
+       arm.c:  Permit naked and interfacearm attributes.
+
+       * config/arm/pe.c: New file: Support code for arm-pe target.
+       * config/arm/pe.h: New file: Header file for arm-pe target.
+       * config/arm/tpe.h: New file: Header file for thumb-pe target.
+       * config/arm/t-thumb-pe: New file: Makefile fragment for
+       thumb-pe target.
+
+1999-07-01  Mark Kettenis  <kettenis@gnu.org>
+
+       * config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if
+       -fPIC or -fpic is specified.
+
+Wed Jun 30 03:31:54 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * expr.c (emit_block_move): Use copy_to_mode_reg for
+       !TARGET_MEM_FUNCTIONS case too.
+
+       * configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as
+       appropriate.
+       * configure: Rebuilt.
+       (hppa1.1-*-pro*, hppa1.1-*-rtems*): Define target_cpu_default.
+       * pa.h: Include dbxelf.h.  Delete various dbx/stabs related
+       definitions made redundant by dbxelf.h inclusion.  Delete
+       lots of definitions related to assembly output that are
+       specific to the SOM object format.
+       * pa.c (output_function_prologue): Do not emit the function's
+       name for OBJ_ELF.
+       * pa-pro-end.h (STARTFILE_SPEC): Undefine before redefining.
+       * pa-pro.h: Deleted.
+       * som.h: New file with SOM specific definitions.
+       * elf.h: New file with ELF specific definitions.
+
+       * elfos.h (const_section): Output a tab before assembler directives.
+       (ctors_section, dtors_section): Likewise.
+       (ASM_OUTPUT_SECTION_NAME): Likewise.
+
+       * pa/pa1.h: Delete unused file.
+
+Tue Jun 29 01:37:53 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in (hppa*-hp-hpux11*): New configuration.
+       * configure: Rebuilt.
+       * pa/pa-hpux11.h: New file.
+       * pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp
+       command line.
+
+       * mips.md (leasi, leadi): New patterns.
+
+       * expr.c (emit_block_move): Properly handle case where one of the
+       block move arguments has a queued increment or decrement.
+       (clear_storage): Similarly.  Fix formatting goof.
+
+1999-06-28  "David O'Brien"  <obrien@NUXI.com>
+
+       * fixinc/inclhack.def(stdio_va_list): This patch Removes a
+       semicolon from the BSD VA_LIST replacement expression.
+
+       * fixinc/inclhack.sh: regen
+       * fixinc/fixincl.x: regen
+
+       * fixinc/mkfixinc.sh: Have `i[34567]86-*-freebsd*' machines
+       now use the fixincl program.
+
+Mon Jun 28 05:28:12 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA
+       case.  Also make the PIC register call_used.
+
+       * m68k.h (FINALIZE_PIC): Delete.
+       * m68k.c (finalize_pic): Delete.
+
+Mon Jun 28 05:16:35 1999  Richard Henderson  <rth@cygnus.com>
+
+       * m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles
+       to memory.
+
+Mon Jun 28 04:07:27 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
+
+Sun Jun 27 02:39:08 1999  Richard Henderson  <rth@cygnus.com>
+
+       * jump.c (jump_optimize_1): Validate the cmov copy to a temporary.
+
+Sat Jun 26 17:18:18 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.c (print_operand, case 'L'): Use plus_constant_for_output.
+
+Fri Jun 25 11:33:24 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (override_options): Add -mcpu=ev45 as an alias for ev4.
+
+Fri Jun 25 13:41:25 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.c (output_toc): Always use hex values for floating-point
+       constants.  Store single-precision values in upper-half of TOC
+       entry in 64-bit mode.
+       * rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64
+       to final constraints.
+       (fix_truncdfsi2 splitter): Change pattern matching fctiwz.
+       (fctiwz): Improve accuracy of RTL for pattern.
+
+Fri Jun 25 11:26:38 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * expr.c (expand_expr): Allow RTL_EXPR's through the
+       MAX_INTEGER_COMPUTATION_MODE checks.
+
+Fri Jun 25 06:06:37 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define
+       such that MASK_SUPPORT_ARCH is not negative.
+
+Fri Jun 25 05:35:44 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * loop.c (verify_dominator): Properly handle ADDR_VEC and
+       ADDR_DIFF_VEC insns that appear inside loops.
+
+Thu Jun 24 22:54:05 1999  David Edelsohn  <edelsohn@gnu.org>
+                         Jeff Law <law@cygnus.com>
+
+       * rs6000.md (movdf_hardfloat32): Revert previous patch.
+       Handle LO_SUM the same as offsettable in cases 1 and 2.
+       * rs6000.c (find_addr_reg): Revert previous patch.
+
+Thu Jun 24 22:43:12 1999  Philippe De Muyter  <phdm@macqel.be>
+
+       * system.h (strstr): New external function declaration.
+       * acconfig.h (NEED_DECLARATION_STRSTR): New define slot.
+       * configure.in (GCC_NEED_DECLARATIONS): Check for strstr.
+       * config.in, configure: Rebuilt.
+
+1999-06-24  Tom Tromey  <tromey@cygnus.com>
+
+       * gcc.c (main): Read user-specified specs files after computing
+       additional startfile_prefixes.
+
+Thu Jun 24 15:00:47 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       Revert these two patches:
+
+       Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+       * loop.c (strength_reduce): When doing biv->giv conversion, update
+       reg note of NEXT->insn.
+
+       Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+       * loop.c (strength_reduce): When doing biv->giv conversion, fix up
+       reg_biv_class.
+       (recombine_givs): Set ix field after sorting.
+
+Wed Jun 23 21:26:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * rtlanal.c (reg_referenced_p): Use reg_overlap_mentioned_p
+       for the parts of an UNSPEC / UNSPEC_VOLATILE.
+
+1999-06-23  Bruce Korb  <ddsinc09@ix.netcom.com>
+
+       *fixinc/inclhack.def:  Add fix development commentary
+       (read_ret_type): reactivate and add selection clause
+       (zzz_*): tweak output file name to match what is used in hackshell.tpl
+       *fixinc/{fixincl.x|inclhack.sh}: regen
+
+Wed Jun 23 00:48:21 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * expr.c (expand_expr): STRIP_NOPS before checking against
+       MAX_INTEGER_COMPUTATION_MODE
+       (check_max_integer_computation_mode): Likewise.
+
+Tue Jun 22 20:23:43 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * md.texi (smul@var{m}3_highpart): Add missing 's' prefix.
+
+1999-06-22  Jim Wilson  <wilson@cygnus.com>
+
+       * expr.c (store_expr): When target is a promoted subreg, return a
+       promoted subreg as a result.
+
+Tue Jun 22 17:14:58 1999  Michael Meissner  <meissner@cygnus.com>
+
+       * dwarf2out.c (dwarf2out_frame_debug_expr): Reformat to match GNU
+       coding standards.
+       (dwarf2out_define): Mark unused parameters appropriately.
+       (gen_unspecified_parameters_die): Ditto.
+       (gen_subprogram_die): Fix signed/unsigned warnings.
+       (gen_variable_die): Ditto.
+
+1999-06-22  Bruce Korb <ddsinc09@ix.netcom.com>
+
+       * fixinc/inclhack.def(end_else_label): combined else_label
+       and endif_label and fixed the sed expression.
+       *fixinc/{fixincl.x|inclhack.sh}: regen
+
+Tue Jun 22 01:58:18 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * rs6000.md (movdf_hardfloat32): Use %X instead of always emitting
+       'x' when handling non-offsettable addresses
+
+Tue Jun 22 00:20:05 1999  Richard Earnshaw (rearnsha@arm.com)
+
+       * final.c (shorten_branches): Don't try to split an insn that has
+       been deleted.
+
+Mon Jun 21 12:47:39 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * config/mips/mips.c (symbolic_expression_p): New function.
+       (mips_select_rtx_section): Put symbolic expressions in the
+       data section, not the read-only data section.
+
+Mon Jun 21 22:13:06 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * rs6000.md (find_addr_reg): Handle LO_SUM addresses.
+
+Mon Jun 21 20:10:42 1999  Richard Henderson  <rth@cygnus.com>
+
+       * collect2.c (main): Log frame table count.
+       (GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
+       (scan_prog_file) [COFF]: Handle frame tables.
+
+       * alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
+       (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
+       * alpha/elf.h: Undef them again.
+       * alpha/vms.h: Remove their definitions.
+
+Tue Jun 22 03:17:53 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.c (machine_dependent_reorg): When fixing up fp pcloads,
+       remove the clobber of r0 and change the REG_UNUSED note to
+       REG_INC.
+
+1999-06-21  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * real.c (ereal_from_double): Fix for 64-bit big endian hosts.
+       * emit-rtl.c (gen_lowpart_common): Add case for hosts where double
+       fits in HOST_WIDE_INT and one uses union to access a long constant
+       as double.
+
+Mon Jun 21 17:18:25 1999  Richard Henderson  <rth@cygnus.com>
+
+       * sparc.c (sparc_override_options): Don't allow profiling for
+       code models other than medlow.
+       (sparc_function_profiler): New function from old FUNCTION_PROFILER
+       macro.  Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION.
+       (sparc_function_block_profiler): Likewise.  Use user_label_prefix.
+       (sparc_block_profiler): Likewise.
+       (sparc_function_block_profiler_exit): Likewise.
+       * sparc.h (FUNCTION_PROFILER): Call new sparc.c function.
+       (FUNCTION_BLOCK_PROFILER): Likewise.
+       (BLOCK_PROFILER): Likewise.
+       (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
+       (MCOUNT_FUNCTION): New.
+       * sparc/pbd.h (FUNCTION_PROFILER): Delete.
+       (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete.
+       * sparc/sun4o3.h (FUNCTION_PROFILER): Delete.
+       (MCOUNT_FUNCTION): New.
+       * sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete.
+       (BLOCK_PROFILER): Delete.
+       (MCOUNT_FUNCTION): New.
+
+Mon Jun 21 14:11:29 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md (movdf_hardfloat32): Fix typo in case 2.
+
+Mon Jun 21 12:27:17 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+
+       * config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
+       Add the macros.
+
+       * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
+       Ditto.
+
+       * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
+       Ditto.
+
+       * config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
+       Ditto.
+
+Mon Jun 21 14:58:42 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.h: Add cpp support for ARM920 and ARM920T cpu
+       types.
+
+Mon Jun 21 06:22:21 1999  Mark Elbrecht <snowball3@bigfoot.com>
+
+       * i386/djgpp.h (LIB_SPEC): New.
+       (STARTFILE_SPEC): New.
+
+       * i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete.
+
+Mon Jun 21 06:19:33 1999  Philippe De Muyter  <phdm@macqel.be>
+
+       * fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in
+       compiler flags.
+
+       * system.h (WSTOPSIG): New macro.
+
+Mon Jun 21 05:33:15 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * c-pragma.c (push_alignment): Don't ignore alignments greater than
+       4 bytes.
+       (insert_pack_attributes): Take into account member natural
+       alignment.
+
+       * i386/winnt.c (exports_head): New static variable.
+       (i386_pe_record_exported_symbol): New function.
+       (i386_pe_asm_file_end): Use.
+       * i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported
+       symbols to be emitted at end of assembly.
+       (ASM_DECLARE_OBJECT_NAME): Likewise.
+       (ASM_DECLARE_FUNCTION_NAME): Likewise.
+
+       * i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and
+       -iwithprefix.
+
+Mon Jun 21 04:44:31 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced
+       in last change.
+
+Sun Jun 20 17:27:20 1999  Richard Henderson  <rth@cygnus.com>
+
+       * haifa-sched.c (sched_analyze_1): Use free_list instead of
+       zapping reg_last_uses directly.
+       (sched_analyze_2, sched_analyze_insn): Likewise.
+       (sched_analyze): Likewise.  Don't clear reg_last_uses on calls.
+
+Sun Jun 20 16:57:29 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md (movdf_hardfloat32): Use worst case insn length
+       attributes for cases 1 and 2.
+
+Sat Jun 19 22:52:55 1999  Richard Henderson  <rth@cygnus.com>
+
+       * haifa-sched.c (sched_analyze): Mark call-user regs as clobbered
+       instead of set.
+
+Sat Jun 19 05:40:07 1999  Philip Blundell <pb@nexus.co.uk>
+
+       * arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN.
+
+Sat Jun 19 05:25:05 1999  Richard Earnshaw (rearnsha@arm.com)
+
+       * arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use
+       PIC_OFFSET_TABLE_REGNUM for general alloaction.
+       (INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register
+       must be stacked if it is used for PIC accesses.
+       * arm.c (use_return_insn): Handle PIC register specially.
+       (output_return_instruction): Likewise.
+       (output_func_{prologue,epilogue}): Likewise.
+       (output_expand_prologue): Likewise.
+
+       * arm.md (*adddf_esfdf_df): Renamed from *adddf_df_esfdf.
+       (*strsi_predec): Renamed from *strqi_predec.
+       (*loadsi_shiftpreinc): Renamed from *loadqi_shiftpreinc.
+       (*loadsi_shiftpredec): Renamed from *loadqi_shiftpredec.
+
+       * arm.c (arm_override_options): Remove warning about PIC code
+       not being supported.
+
+Fri Jun 18 23:47:06 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.c (find_addr_reg): New function.
+       * rs6000.h (find_addr_reg): Declare.
+       (offsettable_addr_operand): Delete.
+       * rs6000.md (movdf_hardfloat32): Handle non-offsettable loads
+       from and stores to GPRs.
+
+Fri Jun 18 15:44:18 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (alpha_expand_block_move): Use get_insns rather than
+       gen_sequence as argument to emit_no_conflict_block.
+
+Fri Jun 18 07:02 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+
+       * fixinc/mkfixinc.sh: enable the fixincl program for DG/UX
+       * fixinc/inclhack.def(dgux_int_varargs): script must end with \n
+       *fixinc/fixincl.x: regen
+       *fixinc/inclhack.sh: regen
+
+Thu Jun 17 15:06:10 PDT 1999 Don Lindsay  <dlindsay@cygnus.com>
+
+       * added support for -mpcrel (PC relative addressing for m68k)
+       based on code done by Michael Tiemann  <tiemann@axon.cygnus.com>.
+       * invoke.texi (m68000 options): Add documentation for -mpcrel flag.
+       * m68k.c (print_operand_address): Handle 32-bit PIC case.
+       (comments for general_src_operand): Add some explanation
+       about EXTRA_CONSTRAINTS.
+       (OVERRIDE_OPTIONS): Enable -fPIC in combination with -mpcrel.
+       * m68kelf.h (OVERRIDE_OPTIONS): Ditto.
+       (LEGITIMATE_PIC_OPERAND_P): Fix typo.
+       (LEGITIMATE_PIC_OPERAND_P): Re-derive from m68k.h case.
+       * m68k.h (LEGITIMATE_PIC_OPERAND_P): Fix delete-o.
+       (INDIRECTABLE_1_ADDRESS): Delete spurious '/' at end of macro.
+       (OVERRIDE_OPTIONS): Change behavior so that -mpcrel implies -fpic
+       if not already set.
+       (OVERRIDE_OPTIONS): Merge in changes from m68k.h.
+       * m68k.h (TARGET_PCREL): New target flag.
+       (TARGET_SWITCHES): Add "pcrel" as a recognized switch.
+       (OVERRIDE_OPTIONS): Add checks for -mpcrel.
+       (LEGITIMATE_PIC_OPERAND_P): Don't normally accept anything that
+       contains a SYMBOL_REF.  Relax this constraint during reload, since
+       we want to use the predicates, not reload's built-in concept of a
+       valid memory address, to control what insns need reloading.
+       (EXTRA_CONSTRAINT): Define constraints to accept pc-relative
+       operands (essentially 'g', 'm', and 's' under normal circumstances).
+       * m68k.c (print_operand): Cause printing of pc-relative addresses
+       to include pc register.
+       (print_operand_address): Ditto.
+       (general_src_operand): Accept operands that are not only
+       general_operands, but are also valid when used as a pc-relative
+       source.
+       (nonimmediate_src_operand): Similar, for nonimmediate_operands.
+       (memory_src_operand): Similar, for memory_operands.
+       (pcrel_address): New predicate to accept the special case of a
+       pc-relative address.
+       * m68k.md (many patterns): Rewrite common SImode, HImode, and
+       QImode insns to accept *_src_operand instead of *_operand where
+       pc-relative operands can fit.  For example, a pc-relative operand
+       can be used as a memory source operand for addsi3, but not as a
+       memory destination.
+       * hp320.h linux.h m68kv4.h (LEGITIMATE_PIC_OPERAND_P) as in m68k.h.
+
+Fri Jun 18 09:11:07 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS): New Marco: USe
+       .thumb_set pseudo op to mark aliases of thumb functions.
+
+Wed Jun 16 18:19:13 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * varasm.c (assemble_alias): Use ASM_OUTPUT_DEF_FROM_DECLS in
+       preference to ASM_OUTPUT_DEF, if it is defined.
+
+       * tm.texi: Document new, optional target macro
+       ASM_OUTPUT_DEF_FROM_DECLS.
+
+Thu Jun 17 15:07 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+
+       * fixincludes: ISCNTL patch
+       * fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of [_]*ISCTRL().
+       (dgux_int_varargs): new for DG/UX
+       * fixinc/{fixincl.x,inclhack.sh}: Regenerated.
+
+Thu Jun 17 21:34:24 1999  Jeff Law <law@cygnus.com>
+
+       * invoke.texi (ia32 options): Fix typo.
+
+Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.c (strength_reduce): When doing biv->giv conversion, update
+       reg note of NEXT->insn.
+
+Thu Jun 17 14:25:08 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * loop.c (move_movables): Note issues with replacing REGs with
+       SUBREGs.
+       * mips.h (GO_IF_LEGITIMATE_ADDRESS): Handle SUBREGs properly.
+
+Thu Jun 17 13:28:30 1999  David O'Brien <obrien@FreeBSD.org>
+
+       * i386/freebsd-elf.h (LINK_SPEC): Fix typo.
+
+       * i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and
+       the reference to `mcount' was not correct for the ELF on FreeBSD.
+
+Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.c (strength_reduce): When doing biv->giv conversion, fix up
+       reg_biv_class.
+
+       (recombine_givs): Set ix field after sorting.
+
+Thu Jun 17 02:54:30 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * emit-rtl.c (operand_subword): Tighten checks for when it is safe
+       to safe to extract a subword out of a REG.
+
+Thu Jun 17 01:45:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.md (mulsi3): Don't add a no-op move at the end.
+
+Wed Jun 16 20:29:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * cse.c (cse_insn): Don't put hard register source into tables for
+       the last insn of a libcall.
+
+Wed Jun 16 19:44:33 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.c (strength_reduce): Insert sets of derived givs at every
+       biv increment, even if it's the only one.
+
+Wed Jun 16 10:33:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * dwarfout.c (add_incomplete_type): New fn.
+       (output_type): Call it.
+       (retry_incomplete_types): New fn.
+       (dwarfout_finish): Call it.
+
+       From Eric Raskin <ehr@listworks.com>:
+       (output_type): Output types for bases.
+
+Tue Jun 15 12:51:23 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * mips.c (mips_output_conditional_branch): Add `break'
+       between `default' label and `close braces'.
+
+Tue Jun 15 01:55:20 1999  David O'Brien <obrien@FreeBSD.org>
+
+       * i386/freebsd-elf.h (LINK_SPEC): clean up the linking library
+       specifications and make it realistic.
+       (LIB_SPEC): Likewise.
+
+Mon Jun 14 15:38:43 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * config/mips/mips.c (mips_secondary_reload_class): Check for
+       (PLUS (SP) (REG)) and return appropriate register class.
+       * config/mips/mips.md (reload_insi): Delete predicate for operand 1.
+       Handle (PLUS (SP) (REG)).
+       (tablejump): In mips16 code, use emit_insn instead of emit_jump_insn.
+       (tablejump_mips161, tablejump_mips162): Use emit_jump_insn instead
+       of emit_insn for tablejump.
+
+Mon Jun 14 17:26:40 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.c (output_prolog): RS6000_CALL_GLUE must be
+       asm_fprintf format string by itself.
+       (output_function_profiler): Likewise.
+
+Mon Jun 14 12:57:38 1999  David Mosberger  <davidm@hpl.hp.com>
+
+       * combine.c (simplify_logical, case AND): Only call
+       simplify_and_const_int if the mode is no wider than HOST_WIDE_INT
+       or the constant is positive.
+
+Mon Jun 14 11:43:41 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * configure.in: Fix typo in rs6000-ibm-aix4 case.
+       * configure: Regenerate.
+
+Mon Jun 14 03:55:40 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not
+       require a sub-version #.
+       * configure: Rebuilt.
+
+1999-06-14  Robert Lipe  (robertlipe@usa.net)
+
+       * svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition.
+
+Mon Jun 14 10:30:52 BST 1999  Nathan Sidwell  <nathan@acm.org>
+
+       * c-typeck.c (process_init_element): Detect excess elements in
+       char array initializer.
+
+1999-06-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * gcc.texi: Mention gcc 2.96 instead of egcs 1.00.
+
+Sat Jun 12 22:29:48 EDT 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+
+       * invoke.texi (Option Summary): Add -fpermissive flag.
+
+Sat Jun 12 03:40:42 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands
+       that require PIC code sequences.
+
+Wed Jun  9 16:29:01 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * configure.in: Add new target: thumb-elf.
+       * configure: Regenerate.
+       * config/arm/t-thumb-elf: New file: Makefile fragment for
+       thumb-elf build.
+       * config/arm/telf.h: New file: Header file for thumb-elf
+       build.
+
+Fri Jun 11 03:17:51 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument.
+       * libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide
+       initializers is some circumstances.
+
+       * fixinc/inclhack.def (endif_label): Add additional selector for
+       more bogus stuff after #endif statements.
+       * fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
+
+Thu Jun 10 20:44:36 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * i386/cygwin.h (SET_ASM_OP): Define.
+
+Thu Jun 10 20:37:57 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns.
+
+Thu Jun 10 19:23:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.h (TARGET_HARWARD, TARGET_HARVARD): Changed the former to the
+       latter.
+
+       * sh.md (ic_invalidate_line_i): Remove second alternative.
+
+Thu Jun 10 06:55 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+
+       *fixinc/inclhack.def(sun_auth_proto): We do not know how to
+       test for the presence of valid prototypes.  Delete bypass expr.
+       (ioctl_fix_ctrl): Correct the selection expression.
+       (no_double_slash): Correct quoting rules
+       *fixinc/fixincl.x: regen
+       *fixinc/inclhack.sh: regen
+
+Thu Jun 10 15:08:15 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.c (struct all_cores): Add ARM920 and ARM920t.
+
+Wed Jun  9 15:57:57 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * rs6000.md (movsi_got_internal_mem): Delete.
+       * rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM.
+       (GOT_TOC_REGNUM): Delete.
+       (PIC_OFFSET_TABLE_REGNUM): Define.
+       (FINALIZE_PIC): Disable.
+       * rs6000.c (rs6000_got_register): New code for fixed pic register.
+       (rs6000_replace_regno): Delete.
+       (rs6000_finalize_pic): Likewise.
+       (output_prolog): Handle PIC_OFFSET_TABLE_REGNUM.
+
+Wed Jun  9 19:44:26 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.c (loop_insn_first_p): Don't compare LUIDs when P
+       is a note; use <= for the compare; advance P while it is
+       a NOTE.
+
+Wed Jun  9 13:12:24 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * fixinc/inclhack.def (no_double_slash): Fix quoting for test.
+       * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
+
+       * varasm.c (remove_from_pending_weak_list): Verify t->name
+       is non-NULL before passing it to strcmp.
+
+Wed Jun  9 06:50 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+
+       *fixinc/inclhack.def(sun_auth_proto): bypass the patch if
+       the typed arguments are not part of a comment
+       (ioctl_fix_ctrl): Added a purpose comment
+       *fixinc/fixincl.x: regenerate
+       *fixinc/inclhack.sh: regenerate
+
+Wed Jun  9 22:57:02 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * invoke.texi: Add C4x invocation docs.
+
+Wed Jun  9 22:34:38 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS):
+       Define new macros.
+       * config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use
+       TARGET_EXPOSE_LDP.
+       (c4x_legitimize_reload_address): New function.
+       * config/c4x/c4x.md: Update docs.
+
+Wed Jun  9 04:14:48 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * fixincludes: Avoid removing '.'.
+       * fixinc/fixinc.svr4: Likewise.
+       * fixinc/fixinc.winnt: Likewise.
+       * fixinc/inclhack.tpl: Likewise.
+       * fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt.
+
+1999-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fixinc/inclhack.def (sun_catmacro): Escape parens in the select
+       pattern.
+       * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
+
+Wed Jun  9 03:10:34 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
+       correctly.
+
+Tue Jun  8 13:06:15 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
+       * configure: Regenerate.
+
+Tue Jun  8 05:47:48 1999  Richard Earnshaw (rearnsha@arm.com)
+
+       * optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
+       values.
+
+Mon Jun  7 22:30:37 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * fixinc/inclhack.def (avoid_bool): Also catch
+       "typedef [unsigned] int bool".
+       * fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
+
+       * m68k/x-hp3bsd44: Delete obsolete and incorrect file.
+       * configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44.
+       * configure: Rebuilt.
+
+Mon Jun  7 22:05:03 1999  Mark Kettenis  <kettenis@gnu.org>
+
+       * config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
+       such that we can override its definitions if necessary.
+       (CPP_SPEC): New define.  Support processor specific predefines via
+       %(cpp_cpu).
+       (CC1_SPEC): New define.  Support processor specific compiler
+       options via %(cc1_cpu).
+       (STARTFILE_SPEC): New define.  Use crt0.o instead of crt1.o for
+       -static.
+
+1999-06-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace
+       between sed's -e flag, and the open-quote following it.
+       * fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
+
+Mon Jun  7 20:34:20 1999  Robert Lipe <robertlipe@usa.net>
+                         Jeffrey A Law  (law@cygnus.com)
+
+       * varasm.c (assemble_start_function): Remove the function
+       from the pending weak decls list when we define a function.
+       (assemble_variable): Similarly for variables.
+       (weak_finish): Ignore items on the list with a NULL name.
+       (remove_from_ending_weak_list); New function to "remove" an item
+       from the pending weak declarations list.
+
+Mon Jun  7 19:27:07 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+
+       * pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns.
+
+Mon Jun  7 14:07:39 1999  Dave Brolley  <brolley@cygnus.com>
+
+       * c-lex.c (GETC): Redefine to call getch.
+       (UNGETC): Redefine to call put_back.
+       (putback_buffer): New structure type.
+       (putback): New static structure.
+       (getch): New function.
+       (put_back): New function.
+       (yylex): Replace unused bytes from bad multibyte character.
+
+Mon Jun  7 13:33:39 1999  Dave Brolley  <brolley@cygnus.com>
+
+       * cpplib.c (do_define): Cast `alloca' return value.
+       (do_include, do_undef, do_pragma): Likewise.
+       * cpphash.c (dump_definition): Cast `xstrdup' and `alloca' return
+       values.
+       * cppfiles.c (initialize_input_buffer): Cast `xmalloc' return values.
+       * gcc/cppspec.c (lang_specific_driver): Cast xmalloc return value.
+
+Sun Jun  6 11:58:34 1999  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * sparc.md (abstf2): This should be an expand.
+       (split after abstf2_notv9): Fix mode.
+       (abstf2_hq_v9): New pattern.
+       (abstf2_v9): Only use when no hard quad.
+       (absdf2_v9): Fix if target is not the same as source.
+       (ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2):
+       Add correct output constraints.
+
+Sat Jun  5 17:04:16 1999  Craig Burley  <craig@jcb-sc.com>
+
+       From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
+       * invoke.texi: Clarify text vis-a-vis Intel CPUs.
+
+Sat Jun  5 12:11:24 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * mips.h (mips_output_conditional_branch): New function.
+       (mips_adjust_insn_length): Likewise.
+       (ASSEMBLER_SCRATCH_REGNUM): New macro.
+       (ADJUST_INSN_LENGTH): Likewise.
+       * mips.c (print_operand): Add `F' and `W' for floating-point
+       comparison opcodes.
+       (machine_dependent_reorg): Adjust MIPS16 code; instruction-lengths
+       are now in bytes.
+       (mips_adjust_insn_length): New function.
+       (mips_output_conditional_branch): New function.
+       * mips.md (length): Adjust attribute definition to handle
+       conditional branches.  Change lengths to bytes, rather than
+       instructions throughout.  Remove length attribute from
+       instructions whose length is four bytes, and rely on the default
+       instead.
+       (dslot): Fix typo in comment.
+       Reword conditional branch patterns to use
+       mips_output_conditional_branch.
+
+Fri Jun  4 13:30:27 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads.
+       (LIB_SPEC): Likewise.
+       Link with -lprof1_r for -g/-pg.
+
+1999-06-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * loop.c (check_dbra_loop): Fix change of Jan 19.
+
+Fri Jun  4 00:12:40 1999  Marc Espie <espie@cvs.openbsd.org>
+
+       * freebsd-elf.h (SWITCH_TAKES_ARG):  Redefine, not define.
+       (STARTFILE_SPEC):  Define, override the svr4.h version.
+       (ENDFILE_SPEC):  Likewise.
+
+Thu Jun  3 23:58:55 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
+       * fixinc/fixincl.x: Regenerated.
+       * fixinc/inclhack.sh: Regenerated.
+
+Fri Jun  4 05:42:23 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.c (barrier_align): Don't return early for normal branch/barrier
+       when optimizing for SH2.
+
+Thu Jun  3 22:27:50 1999  Robert Lipe  <robertlipe@usa.net>
+
+       * i386/udk.h (LINK_SPEC): Correct linker search path for
+       system libraries.
+
+Fri Jun  4 03:20:40 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.c (fixup_addr_diff_vecs): Emit braf reference label.
+       (braf_label_ref_operand): Delete.
+       * sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
+       * sh.md (casesi_jump_2): Operand1 is now the inside of a
+       label_ref, and has no predicate.
+       The pattern has a predicate to guard against invalid substitutions.
+       (dummy_jump): Delete.
+       (casesi): Update use of casesi_jump_2.
+
+Thu Jun 3 07:48 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+
+       *fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression
+       *fixinc/fixincl.x: regenerate
+       *fixinc/inclhack.sh: regenerate
+
+Thu Jun  3 02:15:07 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * dwarf2out.c (add_incomplete_type): New fn.
+       (gen_struct_or_union_type_die): Call it.
+       (retry_incomplete_types): New fn.
+       (dwarf2out_finish): Call it.
+
+Thu Jun  3 01:19:03 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * gcse.c (insert_insn_end_bb): Correct placement of insns when the
+       current block starts with a CODE_LABEL and ends with a CALL and
+       we can not find all the argument setup instructions for the CALL.
+
+Wed Jun  2 15:44:15 1999  Mark Mitchell <mark@codesourcery.com>
+
+       Revert this change:
+       * fold-const.c (fold): STRIP_NOPS when deciding whether or not
+       something is a candidate for optimize_bit_field_compare.
+
+Wed Jun  2 21:53:05 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.h (CONST_OK_FOR_I, CONST_OK_FOR_L): Cast VALUE to HOST_WIDE_INT.
+
+Wed Jun  2 12:25:55 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (override_options): Thinko in last patch.
+
+       * alpha/osf.h (CPP_SUBTARGET_SPEC): Define.
+       (LIB_SPEC): Recognize -pthread.
+
+Wed Jun  2 08:42:55 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/tcoff.h (USER_LABEL_PREFIX): Synchronize with
+       definition in config/arm/coff.h
+       * config/arm/coff.h: Add comment about USER_LABEL_PREFIX.
+
+Wed Jun  2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
+
+       * fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark
+       fixes that need "file=xxx\n" prepended before invocation
+       (start_fixer - new): starting the fixer process is complex enough
+       to warrent its own routine.  It prepends the "file=xxx\n" stuff.
+       (process): uses the new routine; omit usage of putenv()
+       * fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT
+       * fixinc/fixincl.x: regenerate
+
+Wed Jun  2 02:29:07 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
+       and version #s (1.1 -> 2.96) as needed.
+       * README.g77: Kill way out of date file in the toplevel directory.
+
+Wed Jun  2 00:52:34 1999  David O'Brien <obrien@FreeBSD.org>
+
+       * configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
+       i386/freebsd-elf.h no longer requires it.  Instead include svr4.h.
+       * configure: Rebuilt.
+       * i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
+       (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
+       (PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
+       (SWITCH_TAKES_ARG): Likewise.
+       * i386/freebsd.h: Remove FREEBSD_NATIVE support.
+       * config/t-freebsd: Moved from config/i386/ so it can used for all
+       FreeBSD targets.
+
+Mon May 31 02:22:55 1999  Philippe De Muyter  <phdm@macqel.be>
+
+       * m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o.
+
+Wed Jun  2 00:08:34 1999  Robert Lipe  <robertlipe@usa.net>
+
+       * configure.in (i[34567]86-*-udk*): Install headers with cpio.
+       * configure: Rebuilt.
+
+Tue Jun  1 19:06:22 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000/aix41.h (RS6000_CALL_GLUE): Define.
+       * rs6000/aix43.h (RS6000_CALL_GLUE): Likewise.
+       * rs6000/rs6000.c (rs6000_file_start): Use putc.
+       (rs6000_output_load_toc_table): Same.
+       (output_prolog, output_mi_thunk): Same.
+       * rs6000/rs6000.h (SELECT_SECTION): Formatting.
+       (ASM_GLOBALIZE_LABEL): Use putc.
+
+Mon May 31 15:23:23 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md (reload_*_help): New patterns and splitters.
+       (reload_*): Use them.
+       (mov[qh]i): Likewise.
+
+Mon May 31 11:48:07 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * cccp.c (handle_directive): Handle backslash-newlines in quoted
+       strings correctly.
+
+Mon May 31 09:36:11 1999  Cort Dougan  <cort@cs.nmt.edu>
+
+       * rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
+
+Mon May 31 11:40:20 EDT 1999  John Wehle  (john@feith.com)
+
+       * flow.c (mark_regs_live_at_end, insn_dead_p,
+       mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM
+       and HARD_FRAME_POINTER_REGNUM special treatment if reload
+       hasn't run or the frame pointer is needed.
+       * haifa-sched.c (attach_deaths): Likewise.
+       * sched.c (attach_deaths): Likewise.
+
+Mon May 31 00:46:17 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * jump.c (jump_optimize_1): Only set CAN_REACH_END if
+       calculate_can_reach_end returns nonzero.
+
+       * configure.in (native gas tests): Search for an assembler in the
+       same manner that the installed compiler will.
+       * configure: Rebuilt.
+       * tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too.
+
+       * alias.c (find_base_term): Improve handling of addresses
+       constructed from binary operations.
+
+Sun May 30 14:29:17 1999  Eric Raskin (ehr@listworks.com)
+
+       * dgux.h (STARTFILE_SPEC): Fix incorrectly matched curly-braces.
+
+Sun May 30 14:19:13 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * function.h (cleanup_label, frame_offset): Declare.
+       (tail_recursion_label, tail_recursion_reentry): Likewise.
+       (arg_pointer_save_area, rtl_expr_chain): Likewise.
+       * stmt.c (cleanup_label, frame_offset): Delete extern declarations.
+       (tail_recursion_label, tail_recursion_reentry): Likewise.
+       (arg_pointer_save_area, rtl_expr_chain): Likewise.
+
+Sat May 29 19:08:10 1999  Philip Blundell  <philb@gnu.org>
+
+       * config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already
+       defined.
+       * config/arm/elf.h (ASM_OUTPUT_ALIGN): Define.
+       (MAX_OFILE_ALIGNMENT): Define.
+
+Fri May 28 21:40 1999  Robert Lipe <robertlipe@usa.net>
+
+       * fixincl.c: Replace local include scheme with #includes of
+       gansidecl.h and system.h.
+       * procopen.c:  Likewise.
+       * server.c:  Likewise.
+
+Fri May 28 03:47:03 1999  Eric Raskin (ehr@listworks.com)
+
+       * i386/t-dgux (EXTRA_PARTS): Add crti.o
+       (crti.o): Add build rule and dependencies.
+       * fixinc/fixinc.dgux:  Use modified _int_varargs.h
+
+Fri May 28 03:41:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * rs6000/sysv4.h (CC1_SPEC): Add support for -profile
+       (LIB_LINUX_SPEC): Likewise.
+       (LIB_LINUX_SPEC): Add support for -pthread
+       (CPP_OS_LINUX_SPEC): Likewise.
+       (CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are
+       specified.
+
+Thu May 27 13:04:52 1999  H.J. Lu  (hjl@gnu.org)
+
+       * i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
+       conditional move.
+       (notice_update_cc, output_float_compare): Enable TARGET_CMOVE support.
+       (output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison
+       for IEEE math and CC_FCOMI.
+       (put_jump_code): No IEEE if CC_FCOMI is set.
+
+1999-05-27  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * fold-const.c (fold_truthop): Make the field reference unsigned
+       when converting a single bit compare.
+
+Thu May 27 02:40:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.c (strength_reduce): Don't do biv->giv conversion on constants.
+
+Thu May 27 02:09:27 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * varasm.c (STRIP_NAME_ENCODING): Remove default definition.
+       * output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm
+       version did.
+
+       * reload.c (push_reload): Do not call remove_address_replacements
+       when presented with identical optional reloads.
+
+Wed May 26 14:18:05 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.h (MASK_FIX, TARGET_FIX): New.
+       (MASK_*): Reorganize constants.
+       (CPP_AM_FIX_SPEC): New.
+       (TARGET_SWITCHES): Add FIX.
+       (EXTRA_SPECS): Likewise.
+       (CPP_CPU_EV6_SPEC): Use FIX, not CIX.
+       (SECONDARY_MEMORY_NEEDED): Likewise.
+       (REGISTER_MOVE_COST): Likewise.
+       * alpha.c (override_options): Add FIX support.  Always use
+       ALPHA_TP_PROG for ev6.
+       * alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX.
+       * alpha/elf.h (ASM_FILE_START): Look at FIX too.
+       * configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX.
+
+Wed May 26 09:53:05 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * fold-const.c (fold): STRIP_NOPS when deciding whether or not
+       something is a candidate for optimize_bit_field_compare.
+
+Wed May 26 09:40:02 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * gcc.texi (Passes): Document branch-shortening.
+       * invoke.texi (Debugging Options): Document the fact that `-dp'
+       outputs length information for instructions.
+
+Wed May 26 08:49:31 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * flow.c: Revert previous delta.
+
+Wed May 26 06:05:10 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * flow.c (insn_dead_p): Check against frame_pointer_rtx not
+       FRAME_POINTER_REGNUM.
+       (mark_set_1): Ditto.
+       (mark_used_regs): Ditto.
+
+Wed May 26 02:19:31 1999  Philip Blundell  <pb@nexus.co.uk>
+
+       * arm.h (NEED_PLT_GOT): Fix mistake in last change.
+       (GOT_PCREL): New macro.  Define to 1 if not already defined.
+       * arm/elf.h (GOT_PCREL): Define to 0.
+       * arm.c (arm_finalize_pic): Take into account the setting of
+       GOT_PCREL.
+
+Tue May 25 14:06:06 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * output.h (STRIP_NAME_ENCODING): Provide default definition.
+       * dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING.
+
+       * flow.c (mark_set_1): Do not record BLKmode stores as dead
+       store elimination candidates.
+
+Tue May 25 08:55:57 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if
+       TARGET_GAS.
+
+Mon May 24 20:30:08 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
+       Add use of x-aix41-gld.
+
+Mon May 24 16:44:09 1999  Jakub Jelinek  <jj@ultra.linux.cz>
+
+       * sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Define.
+       (ASM_OUTPUT_DESTRUCTOR): Define.
+
+Mon May 24 14:35:24 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the
+       last CODE_LABEL in a loop if we have previously passed a jump
+       to the top of the loop.
+
+Mon May 24 07:56:29 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): Fix blunder made when
+       applying Philip's patch.
+
+Mon May 24 01:02:12 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * stmt.c (expand_end_bindings): Ignore any elements of VARS that
+       are not VAR_DECLs.
+
+Sun May 23 20:31:16 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * loop.c (strength_reduce): Grow reg_single_usage as needed.
+
+Sun May 23 10:13:20 1999  David O'Brien <obrien@FreeBSD.org>
+
+       * i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic.
+       Also remove a useless comment.
+
+Sun May 23 10:05:23 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+
+       * pa.md (negdf2,negsf2):  Use fneg instead of fsub on pa 2.0.
+
+Sat May 22 21:02:06 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * collect2.c (main): Only generate import or export file and add
+       to link arguments if non-empty.  Use xmalloc not alloca.
+       (write_{export,import}_file): Delete.
+       (write_aix_file): New function.
+       (locatelib): Use xmalloc not malloc.
+       (GCC_OK_SYMBOL): Do not check type if aix64.
+
+Sat May 22 09:35:51 1999  Philip Blundell  <pb@nexus.co.uk>
+
+       Based on patch by Scott Bambrough and Pat Beirne:
+       * config/arm/arm.c (making_const_table): New variable.
+       * config/arm/arm.h (making_const_table): Declare.
+       (OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
+       appropriate.
+       * config/arm/arm.md (consttable_4, consttable_8, consttable_end):
+       Keep track of when we are building the constant table.
+
+Sat May 22 09:34:22 1999  Philip Blundell  <pb@nexus.co.uk>
+
+       * config/arm/arm.c (arm_override_options): Fix erroneous warning
+       message.
+
+Sat May 22 09:06:33 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.h (NEED_PLT_GOT): Only define if not already
+       defined.
+
+Sat May 22 07:17:05 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * tm.texi (FUNCTION_ARG): Correct description of a stack element
+       in a PARALLEL.
+
+Sat May 22 01:27:49 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE.
+
+Fri May 21 21:19:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * rs6000.c (output_mi_thunk): Enable full support again.
+
+Fri May 21 20:09:52 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.h (BRANCH_COST): Define.
+
+Thu May 20 10:00:42 1999  Stephen L Moshier  <moshier@world.std.com>
+
+       * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
+
+Thu May 20 09:58:57 1999  Jan Hubicka <hubicka@freesoft.cz>
+
+       * function.c (assign_stack_local): Align stack slot properly.
+       (assign_outer_stack_local): Likewise.
 
-       * cse.c (fold_rtx): Don't simplify float+0, float-0, float*0
-       if using IEEE floating point.
-       Don't simplify float-self even if not IEEE.
-       * fold-const.c (fold): Likewise.
+Thu May 20 10:38:43 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * i386.md (trunc**): Use long move if source is constant.
-       * out-i386.c (PRINT_REG): Handle CODE == 'k'.
+       * expr.h (lang_expand_constant): Declare.
+       * toplev.c (lang_expand_constant): Define it.
+       * varasm.c (output_constant): Use it.
 
-       * fixincludes: Use rm -fr to delete before making link.
+Thu May 20 11:28:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * optabs.c (init_optabs): Support MULDI3_LIBCALL, etc.
+       * optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
+       Change function definitions to K&R style.
 
-Sat May 12 17:04:58 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu May 20 08:16:39 1999  Bruce Korb <ddsinc09@ix.netcom.com>
 
-       * cse.c (find_best_addr): Don't modify constant address MEMs; they
-       are shared.
+       * fixinc/fixincl.c: We must not ignore SIGCLD now.
 
-Sat May 12 15:17:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu May 20 07:06:39 1999  Alexandre Oliva  <aoliva@acm.org>
 
-       * ns32k.md (signed bitfield extract): Don't output assembler comment.
+       * fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options
+       * fixinc/fixincl.c(wait_for_pid): K&R-ify arguments
+       (several places): omit static initialization
+       (process): use single fd, since only the read fd is used
+       * fixinc/gnu-regex.c: define 'const' away, if not supported
+       * fixinc/procopen.c(several places): omit static initialization
+       * fixinc/server.c: define 'volitile' away, if not supported
 
-Fri May 11 15:23:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+1999-05-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * Makefile.in: Don't use $(libsubdir) as a target since it involves
-       shell `...` constructs.
+       * config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use
+       asm_fprintf and %L to generate the label name.
+       * config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
+       (ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels.
 
-       * genattr.c (fatal, main): Remove relics of old program name.
-       * genattrtab.c: Likewise.
+Thu May 20 01:40:55 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * expr.c (expand_expr, case COND_EXPR): Add missing argument to
-       operand_equal_p.
+       * jump.c (can_reverse_comparison_p): Do not abort if the comparison
+       insn for a conditional jump can not be found.
 
-       * reload.c (form_sum): Handle case where second operand is
-       (plus foo (const_int ...)).
+Wed May 19 23:58:58 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * c-typeck.c (c_sizeof{,_nowarn}, c_alignof): Don't blow up for
-       ERROR_MARK.
-       * cplus-typeck.c (c_sizeof{,_nowarn}, c_alignof): Likewise.
+       * mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations
+       on variables in specific sections other than .sbss and .sdata.
 
-       * cplus-typeck.c (c_sizeof{,_nowarn}): Convert from bytes to chars,
-       since c defines sizeof (char) as 1.
+Wed May 19 03:56:56 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * loop.c (mark_loop_jump): RETURN, SIGN_EXTEND, and ZERO_EXTEND can
-       also occur in JUMP_INSN's.
+       * stmt.c (expand_return): Call start_cleanup_deferral and
+       end_cleanup_deferral around conditional code.
 
-       * reload.c (find_reloads, find_reloads_address): Correct errors where
-       an arg to find_reloads is "VOIDmode" instead of "0" and vice versa.
-       (find_reloads_address_1): Likewise.
+Wed May 19 08:40:08 1999  Bruce Korb <ddsinc09@ix.netcom.com>
 
-       * global-alloc.c (global_alloc): Avoid divide-by-zero for allocnos
-       where all regs have reg_live_length == -2.
+       * fixinc/fixincl.tpl: Avoid depending on ANSI C features for
+       filename lists.  Utilizes new "krstr" AutoGen function.
+       * fixinc/fixincl.x: Rebuilt.
 
-Fri May 11 14:45:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed May 19 02:47:11 1999  Jan Hubicka  (hubicka@freesoft.cz)
 
-       * tm-i860.h (ASM_OUTPUT_CASE_LABEL): Align to multiple of 4.
+       * i386.c (output_float_compare): Avoid GNU-C extensions.
 
-Thu May 10 23:43:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed May 19 00:34:40 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * out-i860.c (single_insn_src_p, strict_single_insn_src_p):
-       Correct conditions for needing multiple instructions.
-       (output_delayed_branch): Likewise.
+       * version.c: Bump to distinguish mainline tree from the
+       gcc-2.95 branch.
 
-See file ChangeLog.1.
-\f
-Local Variables:
-mode: indented-text
-left-margin: 8
-fill-column: 76
-version-control: never
-End:
+See ChangeLog.1 for earlier changes.