OSDN Git Service

PR c/5420:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog.1
index b0f29ab..0530536 100644 (file)
-Thu May 10 22:48:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * rtl.def (DEFINE_DELAY): Change description to describe annulling.
-
-       * genattr.c (main): Write out definitions for annulling, if present.
-
-       * genattrab.c (expand_delays): Build internal attributes for
-       which insns can be annulled in a delay slot.
-       (gen_delay): Validate number of elements in DEFINE_DELAY list.
-       (write_eligible_delay): Write out routines for validating annulled
-       insns as well as those in normal delay slot.
-       (main): Call write_eligible_delays to output annulling information,
-       if it exists for this machine.
-
-       * out-m68k.c (not_sp_operand): New function.
-       * m68k.md (andsi3): Don't allow sp as ourput to avoid reload
-       inefficiency.
-
-       * calls.c (struct arg_data): Delete field STORED; add fields
-       PASS_ON_STACK and SAVE_AREA.
-       (prepare_call_address): Static chain value can't have QUEUED.
-       (expand_call): Rework to support additional calling sequence options.
-
-       Major changes include:
-       Call FUNCTION_ARG_PASS_BY_REFERENCE to determine whether an 
-       object should be passed by invisible reference.
-       Handle arguments passed both on stack and in a register; this can be
-       used to allow arguments that are hard to compute directly into
-       registers to be passed.
-       Support option (ACCUMULATE_OUTGOING_ARGS) where the largest amount
-       of stack for outgoing arguments is computer and pushed during the
-       function prologue.  Stack space usage is tracked and any location
-       that would need to be reused will be saved and restored.
-       If preallocating arg block, compute address where each arg will be
-       placed and pass it as target to expand_expr.
-
-       Other changes:
-       Use virtual regs to see if structure value address isn't stable.
-       If inlined, return TARGET if TARGET and TEMP are equivalent.
-       UNNAMED_ARGS_IN_REGISTERS is redundant with the NAMED parameter to
-       FUNCTION_ARG and has been deleted.
-       Use virtual_outgoing_stack_rtx instead of FIRST_PARM_CALLER_OFFSET.
-       Use locate_and_pad_parm to compute any needed padding for argument.
-       If REG_PARM_STACK_SPACE is defined, allocate backing stack locations
-       for args passed in registers; these are not included in the length
-       of stack space required unless OUTGOING_REG_PARM_STACK_SPACE is also
-       defined.
-       When precomputing register parameters, can stop computation when we
-       obtain any rtx, not necessarily a register.
-       No longer need code to protect data written below bottom of stack;
-       this is taken care of by preexpanding calls in argument.
-       target_for_arg no longer needed; its function is performed by
-       store_one_arg.
-       Always copy function return result to our target since they cannot
-       possibly be the same.
-       (target_for_arg): No longer used.
-       (store_one_arg): Save and restore in-use argument list location.
-       Support args passed both in register and on stack.
-       No need for explicit code for preallocated area; now pass location
-       as target to expand_expr; only copy if result in different place.
-       Put sequence point after expanding one value.
-
-       * cse.c (struct write_data): Add bit to indicate stack pointer changed.
-       (canon_hash): Allow recording of stack pointer.
-       (cse_insn): Indicate stack pointer invalidated by subroutine calls.
-       Pass stack push and pop operations to note_mem_written.
-       Process stack pointer assignment as normal operation.
-       Finish change of April 7th that excludes ap and fp from being marked
-       as clobbered by calls.  Also exclude sp; if it is clobbered by a
-       call, an explicit CLOBBER will be written.
-       (note_mem_written): Look for adjustment of stack pointer.
-       (invalidate_from_clobbers): Invalidate stack pointer, if required.
-
-       * emit-rtl.c (gen_inline_header_rtx): Add field for outgoing args size.
-       (copy_rtx_if_shared): Check for any virtual register instead of frame
-       or argument pointer.
-       (init_emit): Start normal pseudos after virtual pseudos.
-       Copy the unique virtual regs into regno_reg_rtx.
-       (init_emit_once): Incoming and outgoing static chain can be the same;
-       inlining of nested functions won't need the distinction.
-       Create unique copies of virtual registers.
-
-       * explow.c (memory_address): Don't worry about refs to fp or ap;
-       force_reg knows how to handle them correctly.
-       (fix_lexical_addr): Moved to function.c
-       (adjust_stack, anti_adjust_stack): Do nothing for adjustment of zero.
-       (allocate_dynamic_stack_space): New function copied from
-       expand_builtin.  Handle STACK_POINTER_OFFSET via
-       virtual_stack_dynamic_rtx.  When STACK_POINTER_OFFSET is defined,
-       perform alignment by always reserving a multiple of STACK_BOUNDARY
-       stack bits.  This avoids concern about whether sp itself or the top of
-       stack needs to be aligned; if we start with an aligned stack, we keep
-       it aligned.
-       (round_push): Use ADD and AND rather than DIV and MULT.
-
-       * expr.c (init_expr): Initialize some more vars.
-       (push_block): Use virtual_outgoing_args_rtx so don't need
-       STACK_POINTER_OFFSET here.
-       Merge extra and size more efficiently; no need to call force_operand
-       since memory_address is called.
-       (emit_push_insn): Pass type for FUNCTION_ARG_PADDING.
-       Use REG_PARM_STACK_SPACE instead of FIRST_PARM_CALLER_OFFSET.
-       To see if must copy address, check if it is a virtual register that
-       will be mapped to sp; only need check if not accumulating space
-       space for outgoing parms.
-       Ignore EXTRA if argument block has already been allocated.
-       (emit_library_call): Major rework to support calling sequences similar
-       to expand_call in calls.c, but only support a very small subset of
-       the conventions; abort if something outside our subset occurs.
-       Abort if incorrect mode is passed; we can't convert here since we don't
-       know the signedness.
-       (store_field): Check for virtual registers instead of hard registers
-       when seeing if stable.
-       (safe_from_p): Location in outgoing stack area is known to be safe.
-       (expand_builtin, BUILT_IN_ALLOCA): Use allocate_dynamic_stack_space.
-
-       * expr.h: Define current_function_outgoing_args_size and
-       locate_and_pad_parm; delete definition of get_structure_value_addr.
-       (ARGS_SIZE_RTX): Always return a valid operand.
-       (ARGS_SIZE_TREE): New macro.
-       (FUNCTION_ARG_PADDING): Accept MODE and TYPE like other
-       FUNCTION_ARG_... macros.
-       (FUNCTION_ARG_BOUNDARY): Provide default for new macro.
-       (MUST_PASS_IN_STACK): New macro.
-       (allocate_dynamic_stack_space): New function.
-       * tm-3b1.h, tm-3b1g.h, tm-apollo68.h, tm-crds.h, tm-mot3300.h:
-       Change definition of FUNCTION_ARG_PADDING to use TYPE instead of SIZE.
-
-       * function.c (current_function_outgoing_args_size): New var.
-       (arg_pointer_save_area, virtuals_instantiated): Likewise.
-       (invalid_stack_slot): No longer used.
-       (push_function_context, pop_function_context): Save and restore
-       outgoing args size and arg pointer save area.
-       No longer save or restore invalid_stack_slot.
-       (pop_function_context): Set up variables whose value is constant
-       throughout rtl generation.
-       (get_frame_size): No longer adjust by STARTING_FRAME_OFFSET.
-       (assign_stack_local): Use virtual_stack_vars_rtx instead of fp
-       until virtuals have been instantiated, then use fp.
-       Remove reference to obsolete invalid_stack_slot.
-       Can no longer be called with size == 0.
-       (assign_outer_stack_loc): Use virtual_stack_vars_rtx instead of fp.
-       Remove references to obsolete invalid_stack_slot.
-       Push to obstack of containing function when allocating rtx.
-       (put_var_into_stack): Only switch obstacks around making of
-       queue entry.
-       Replace call to parm_stack_loc with reference to info in proper
+Tue May 18 03:53:37 1999  Craig Burley  <craig@jcb-sc.com>
+
+       Improve open-coding of complex divide:
+       * flags.h: Declare new front-end-malleable flag.
+       * toplev.c: Define new flag.
+       * optabs.c (expand_cmplxdiv_straight): New function to do original
+       open-coding.
+       (expand_cmplxdiv_wide): New function to do new open-coding,
+       from Toon Moene, with changes (call to emit_barrier, dropping
+       of spurious `ok = 1;', plus the obvious `break;' -> `return 0;').
+       (expand_binop): A bit of spacing fixing, while at it.
+       Use new functions instead of inlining the open-coding code.
+
+Tue May 18 00:51:46 1999  Krister Walfridsson <cato@df.lth.se>
+
+       * configure.in (arm*-*-netbsd*): Use collect2.
+       (i[34567]86-*-netbsd*): Likewise.
+       (m68k*-*-netbsd*): Likewise.
+       (ns32k-*-netbsd*): Likewise.
+       (sparc-*-netbsd*): Likewise.
+       (vax-*-netbsd*): Likewise.
+       * configure: Rebuilt.
+
+Tue May 18 00:21:34 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * cppspec.c: Insert -no-gcc into command line unless -gcc was
+       given by user.
+       * gcc.c (default_compilers): Define __GNUC__ and
+       __GNUC_MINOR__ only if -no-gcc was not given.
+       * objc/lang-specs.h: Likewise.
+       * cpp.texi: Document -x and -std options; explain that -lang
+       is no longer supported.  Minor related corrections.
+
+Mon May 17 23:56:39 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * Makefile.in (stmp-fixproto): Pass location of mkinstalldirs to
+       fixproto.
+       * fixproto: Avoid unportable constructs such as `basename' and
+       `mkdir -p'.  Use mkinstalldirs from the environment if `mkdir -p'
+       fails.
+
+       * fixinc/fixincl.c: Remove #error, it is not portable.
+
+Mon May 17 23:50:41 1999  Marc Espie <espie@cvs.openbsd.org>
+
+       * collect2.c (main):  Fix typo in COLLECT2_HOST_INITIALIZATION.
+
+Mon May 17 19:45:41 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * fixinc/fixincl.c (process): Wait for children from chain_open()
+       to avoid creating zombies.
+
+       * fixinc/inclhack.tpl: Removed no-op pipe.
+
+       * fixinc/inclhack.sh fixinc/fixincl.sh: regenerate
+
+Mon May 17 07:23:34 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match
+       reality.
+       * expr.c (init_noncopied_parts): Don't generate initializers for
+       parts that don't need them.
+
+Mon May 17 02:56:35 PDT 1999 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sat Oct 31 05:08:34 CET 1998 Jan Hubicka  (hubicka@freesoft.cz)
+
+       * reg-stack.c: Do not emit pop insns after cc0 setter.
+       (emit_pop_insn): Do not emit insn in case WHEN is NULL.
+       (compare_for_stack_reg): Update REG_DEAD note and 
+       do not emit push insn.
+
+       * i386.c: (output_float_compare): Handle new REG_DEAD notes.
+
+Mon May 17 01:57:37 1999  David Daney <daney@ibw.com.ni>
+
+       * i386/sol2.h (LINK_SPEC): Do not pass "-z text" to the linker
+       if -mimpure-text.
+
+1999-05-17  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * m68k.c (standard_68881_constant_p): Don't accept -0.0 as valid
+       68881 constant.
+
+       * fold-const.c (fold_truthop): When converting a one-bit
+       comparison don't sign extend the constant.
+
+       * cse.c (cse_insn): Copy SRC_CONST before putting it in the
+       REG_EQUAL note.
+
+1999-05-17  Mike Stump  <mrs@wrs.com>
+
+       * rs6000/vxppc.h (CPP_SPEC): Fix support for vararg functions.
+
+Sat May 15 14:22:40 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * fixinc/hackshell.tpl: Fix mis-applied patch.
+       * fixinc/inclhack.sh: Regenerated.
+
+Thu May 13 21:05:55 1999  Mark Kettenis  <kettenis@gnu.org>
+
+       * fixinc/mkfixinc.sh: Add the Hurd (*-*-gnu*) to the list of
+       targets that do not need any fixes.
+
+Sat May 15 14:12:38 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (set_lo_sum+2): New splitter to load large
+       const_ints.
+
+Sat May 15 14:09:08 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (decrement_and_branch_on_count): Disabled.
+       (doloop_begin, doloop_end): New patterns.
+       (*rptb_init): Added extra operands.
+
+Fri May 14 21:31:36 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (*umulqi3_highpart_clobber): Fix operand 2
+       constraints order.
+
+1999-05-14  Ulrich Drepper  <drepper@cygnus.com>
+
+       * fixinc/fixinc.x86-linux-gnu (FD_ZERO): Fix operand numbers in
+       asm input operands.
+
+Thu May 13 15:34:18 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.c (mask_constant): Delete.
+       (mask_operand): Move mask_constant() body to here.
+       * rs6000.h (mask_constant): Delete declaration.
+       * rs6000.md (nabsdi2): Reverse subtraction in splitter.
+
+Thu May 13 02:25:01 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * cpp.texi: Fix some typos.
+
+Thu May 13 01:49:55 1999  Graham Stott <GrahamS@RCP.co.uk>
+
+       * loop.c (maybe_eliminate_biv): Check regno against
+       max_reg_before_loop.
+
+       * i386.c (memory_address_info): Correct the scale
+       factor test.
+
+Thu May 13 01:31:19 1999  Nick Burrett  <nick.burrett@btinternet.com>
+
+       * arm.md (nop): Backout Apr 27 change. Ensure REGISTER_PREFIX is
+       applied to each register.
+       * aof.h (ASM_FILE_START): Define register `r0'.
+
+1999-05-12 20:22 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * configure.in: Make --enable-cpp and --with-cpp-install-dir
+       documented options.  Enable the cpp driver by default.
+       * configure: Rebuilt.
+
+Wed May 12 18:08:48 1999  David Edelsohn     <edelsohn@gnu.org>
+                         Richard Henderson  <rth@cygnus.com>
+
+       * rs6000.c (print_operand) [w]: Calculate signed constant more clearly.
+       (rs6000_allocate_stack_space): Print as hexadecimal value.
+       * rs6000.h (CONST_OK_FOR_LETTER_P): 'L' checks for a signed,
+       16-bit shifted constant.  Fix typo for 'P'.
+       (EXTRA_CONSTARINT): 'T' checks for a 32-bit mask operand.
+       * rs6000.md (movsi, addsi3_internal1, movdi, adddi3_internal1):
+       Use 'L' for shifted constant.
+       (anddi3_internal3): Fix typo.
+       (32-bit mask patterns): Use 'T'.
+
+Wed May 12 07:30:31 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+
+       * fixinc/fixincl.c(quoted_file_exists): new procedure to ensure that
+       a file exists before trying to copy it into the destination
+       (extract_quoted_files): use that routine.
+
+Wed May 12 07:27:31 1999  Craig Burley  <craig@jcb-sc.com>
+
+       Allow front end (like g77's) to override maintenance of errno:
+       * expr.c (expand_builtin): Bother with errno only if
+       flag_errno_math.
+       * flags.h: Declare flag_errno_math.
+       * toplev.c: Define flag_errno_math.
+
+Tue May 11 23:55:49 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * fixproto: Change "mkdir" calls to "mkdir -p"
+
+       * fixinc/inclhack.def (io_def_quotes): Consistently allow multiple
+       whitespace characters between the "define" and the name of the macro.
+       * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
+
+Tue May 11 20:46:37 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (alpha_expand_block_move): Handle TImode registers
+       used with ADDRESSOF.
+       (alpha_expand_block_clear): Handle ADDRESSOF specially.
+
+1999-05-11  Ulrich Drepper  <drepper@cygnus.com>
+
+       * fixinc/fixinc.x86-linux-gnu (FD_ZERO): Remove unneccessary
+       memory output operand which irritates gcc.
+
+Tue May 11 11:45:16 1999  Dave Brolley  <brolley@cygnus.com>
+
+       * toplev.c (documented_lang_options): Add -MD, -MMD, -M and -MM for
+       cpplib-enabled compilers.
+
+Tue May 11 11:34:56 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+
+       * config/sparc/sparc.h (GO_IF_LEGITIMATE_ADDRESS): Add parentheses
+       around &&.
+
+Mon May 10 13:51:24 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * tm.texi (FUNCTION_ARG): Stack element of PARALLEL must come
+       first.
+
+Tue May 11 01:32:01 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * fixinc/inclhack.def (sun_auth_proto): Apply to all targets.
+       (sysz_stdlib_for_sun): Similarly.
+       * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
+
+Mon May 10 20:34:10 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * config/mips/elf.h (UNIQUE_SECTION_P): Undef.
+       * config/mips/elf64.h (UNIQUE_SECTION_P): Undef.
+       * config/mips/mips.h (UNIQUE_SECTION_P): Define to 0.
+
+1999-05-10 18:21 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cppfiles.c (initialize_input_buffer): New function.
+       (finclude): Call it, if pfile->input_buffer is NULL.  Accept
+       any character device as an input file.
+       (read_and_prescan): Use pfile->input_buffer and
+       pfile->input_speccase.
+       * cppinit.c (cpp_cleanup): Free pfile->input_buffer and
+       pfile->input_speccase.
+       * cpplib.h (cpp_reader): Add input_buffer, input_speccase, and
+       input_buffer_len members.  Use memcpy in CPP_PUTS_Q.
+
+       * cppmain.c: Buffer output in the token_buffer; throttle
+       number of calls to fwrite; check for errors from fwrite.
+
+1999-05-10 18:21 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * cppspec.c: Treat two non-option arguments as input and
+       output file.  Three or more non-option args is an error.
+       Clean up.
+       * gcc.c (default_compilers): Pass -$ to the preprocessor.
+       * objc/lang-specs.h: Likewise.
+
+Mon May 10 12:59:20 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * optabs.c (emit_cmp_and_jump_insns): Handle the case where both
+       operands to the comparison are constants.
+
+Mon May 10 07:28:10 1999  Bruce Korb <autogen@autogen.freeservers.com>
+
+       * fixinc/inclhack.def(arm_norcroft_hint): check before fixing
+       (no_double_slash): portability
+       (math_exception): added reminder comment
+
+Mon May 10 01:28:10 1999  Craig Burley  <craig@jcb-sc.com>
+
+       From Fri May 7  9:31:41 1999 Donn Terry (donn@interix.com):
+       * varasm.c (mark_constant_pool): Add some transitive closure.
+
+Sun May  9 22:51:04 1999  Craig Burley  <craig@jcb-sc.com>
+
+       Fix gcc.dg/990506-0.c:
+       * c-typeck.c (require_complete_type): Handle ERROR_MARK input.
+
+Sun May  9 13:19:12 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * gcse.c (cprop_insn): Do not try to simplify a simple jump.
+
+Sun May  9 11:12:19 1999  Philip Blundell <bp@nexus.co.uk>
+
+       * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Add (PLT) to branch if
+       necessary.  Reported by jim@federated.com.
+
+Sat May  8 23:05:35 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.h (PRINT_OPERAND_ADDRESS): Output "%r0", not "r0" for the
+       base register in an absolute memory address.
+       * pa.md (conditional moves): Avoid using immediate zero for
+       register zero.
+
+Sat May  8 06:23:21 1999  Philip Blundell  <pb@nexus.co.uk>
+
+       Based on patch by Scott Bambrough:
+       * config/arm/arm.h (NEED_PLT_GOT): New macro.  Set to 0 if not
+       already defined.
+       * config/arm/elf.h (NEED_PLT_GOT): Define to flag_pic.
+       * config/arm/arm.md (call_symbol, call_value_symbol et al.): If
+       NEED_PLT_GOT is true, add explicit "(PLT)" to generated branches.
+       * config/arm/arm.c (output_func_epilogue,
+       output_return_instruction): Likewise for calls to abort.
+
+Sat May  8 01:57:58 1999  Donn Terry (donn@interix.com)
+
+       * calls.c (rtx_for_function_call): Extend function pointer being
+       passed to chkr_check_exec_libfunc, if needed.
+
+Sat May  8 01:51:50 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * ginclude/stdarg.h (__va_rounded_size): Use long type for
+       rounding on AIX.
+       * ginclude/varargs.h: Likewise.
+
+Sat May  8 01:47:20 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * invoke.texi: Remove duplicates in the description of -d
+       letters.  Fix use of @item vs. @itemx.
+
+Sat May  8 01:43:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * rs6000.h (RS6000_VARARGS_OFFSET): Die die die.
+       (CUMULATIVE_ARGS): Remove varargs_offset; update commentary.
+       * rs6000.c (setup_incoming_varargs): Fix typo last change.
+       (init_cumulative_args): Remove varargs_offset references.
+
+       * rs6000/linux.h (NO_IMPLICIT_EXTERN_C): Define.
+       (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine.
+
+Sat May  8 01:34:19 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * reload1.c (gen_mode_int): New function.
+       (reload_cse_move2add): Use it to generate the new constants.
+
+Sat May  8 01:25:09 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * varasm.c (output_constant): Do nothing if -fsyntax-only.
+
+Fri May  7 19:10:15 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+
+       * sparc.h (GO_IF_LEGITIMATE_ADDRESS): Prohibit REG+REG addressing
+       for TFmode when there are no instructions which accept REG+REG
+       instructions.
+
+Fri May  7 12:38:54 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * mips/elf64.h (MAKE_DECL_ONE_ONLY, UNIQUE_SECTION_P): Define.
+       * mips/mips.c (mips_select_rtx_section): When TARGET_MIPS16, use
+       function_section instead of text_section.
+       * mips/mips.h (ENCODE_SECTION_INFO): Add check for UNIQUE_SECTION_P
+       in TARGET_MIPS16 STRING_CST handling.
+
+Fri May  7 09:54:11 1999  Nick Clifton  <nickc@cygnus.com>
+
+       Patch from: Nick Burrett  <nick.burrett@btinternet.com>
+
+       * arm.c (arm_poke_function_name): New function to implement
+       -mpoke-function-name.
+       * aof.h (ASM_DECLARE_FUNCTION_NAME): Call it.
+       * aout.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+       * elf.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+       * arm.h: Prototype it.
+       (TARGET_SWITCHES): Add `no-poke-function-name'.
+
+Fri May  7 14:19:31 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * fixinc/server.c (load_data): Cast text_size to long, adapt
+       format.
+       * fixinc/server.c (read_pipe_timeout): Declare volatile, modified
+       in signal handler.
+       (sig_handler): Add debug code.
+       * fixinc/server.c (run_shell): Don't \-escape cd, it breaks the
+       Ultrix V4.3 /bin/sh.
+       * fixinc/server.c (def_args): Use static instead of STATIC to
+       avoid redefinition error from linker iff DEBUG.
+
+       * fixinc/hackshell.tpl: Don't strip trailing directory from
+       DESTDIR - that is already done
+
+       * fixinc/fixincl.c (run_compiles): fix memory leak
+
+Thu May  6 20:34:00 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * resource.c (mark_referenced_resources): Make volatil
+       monotonically increasing.
+       (mark_set_resources): Likewise.
+
+Thu May  6 20:02:33 1999  Fred Fish  <fnf@be.com>
+
+       * rs6000/xm-beos.h (HAVE_VPRINTF): Don't redefine if already defined.
+       (HAVE_PUTENV, HAVE_ATEXIT, HAVE_RENAME): Likewise.
+
+Wed May  5 20:28:32 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * install.texi (Header Dirs): s/GPLUS/GPLUSPLUS/.
+
+Wed May  5 23:44:15 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * unroll.c (copy_loop_body): Don't copy VTOP notes from copy_notes_from.
+
+Wed May  5 16:26:13 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+
+       * function.c (purge_addressof_replacements): Rename into
+       purge_bitfield_addressof_replacements.
+       (purge_addressof_replacements): New variable.
+       (purge_addressof_1): Add code for changing addressof in notes for
+       field values which are extracted by usage MEM with narrower mode.
+       (purge_addressof): Initialize purge_bitfield_addressof_replacements.
+
+Wed May  5 07:40:02 1999  Nick Clifton  <nickc@cygnus.com>
+
+       Patch from: Nick Burrett  <nick.burrett@btinternet.com>
+       * config/arm/arm.h (ARM_MCOUNT_NAME): Define.
+       (FUNCTION_PROFILER): Remove assembler dialect dependency and use
+       ARM_MCOUNT_NAME.
+       (TRAMPOLINE_TEMPLATE): Remove assembler dialect dependency.
+
+       * config/arm/aof.h (ARM_MCOUNT_NAME): Define.
+
+1999-05-05 09:58 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * gcc.c (default_compilers): Fix brace nesting bug.
+       * objc/lang-specs.h: Use %i, not %g.mi, for the input file
+       when processing an .mi file.
+
+Tue May  4 13:17:55 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * resource.c (mark_set_resources): Handle UNSPEC_VOLATILE,
+       ASM_INPUT, TRAP_IF, and ASM_OPERANDS just like in
+       mark_referenced_resources.
+
+Mon May  3 22:38:41 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Change non-PowerPC
+       and AIX64 combination to warning.  Add warning for disabling
+       PowerPC64 support when using 64-bit mode.
+       (LIB_SPEC): Do not link with libg.a in 64-bit mode.
+       (LINK_SPEC): Do not export libg.exp symbols in 64-bit mode.
+       * rs6000/rs6000.h (MY_ISCOFF): Treat import/export files as valid
+       XCOFF files.
+       (read_only_data_section, private_data_section,
+       read_only_private_data_section): Always align CSECTs to doubleword
+       boundary regardless of mode.
+       (TEXT_SECTION_ASM_OP): Align text CSECT on doubleword boundary in
+       64-bit mode.
+       (DATA_SECTION_ASM_OP): Always align CSECT to doubleword boundary.
+       (ASM_OUTPUT_LOCAL): Use rounded size in 64-bit mode to
+       maintain doublword alignment.
+
+Mon May  3 14:45:23 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10200.md (btst insns): btst does not leave cc0 in a usable
+       state for redundant tst eliminatino.
+       * mn10300.md (btst insns): Likewise.
+
+Mon May  3 16:14:32 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * mips.h (Pmode): Revert Oct 14th change which added a cast.
+
+Sun May  2 14:02:21 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.h (struct tree_decl): Add comdat_flag.
+       (DECL_COMDAT): Define it.
+       * toplev.c (wrapup_global_declarations): Don't output a
+       DECL_COMDAT function just because it's public.
+
+Sun May  2 15:16:42 1999  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * pdp11.h (TARGET_SWITCHES): Fix error in previous change.
+       (ASSEMBLER_DIALECT): Define.
+       (CONDITIONAL_REGISTER_USAGE): Rename floating point registers if
+       required for the UNIX assembler.
+       (ASM_OUTPUT_INT): Remove.  The compiler will synthesise it.
+       (ASM_OUTPUT_ADDR_VEC_PROLOGUE): Remove.
+       (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Change to "[" and "]".
+       (TRAMPOLINE_TEMPLATE): Use ASM_OUTPUT_SHORT.
+       * pdp11.c (output_addr_const_pdp11): Copy of output_addr_const
+       adapted to output constants in octal.
+       * pdp11.c, pdp11.h, pdp11.md: Use output_addr_const_pdp11 instead
+       of output_addr_const.  Output constants in octal.  Use assembler
+       dialect alternatives where DEC and UNIX assemblers use different
+       instruction names.
+
+Sun May 2 01:15:06 PDT 1999 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Fri Apr 30 13:55:43 1999  Richard Henderson  <rth@cygnus.com>
+
+       * va-ppc.h (__va_start_common): Let __builtin_saveregs do the work.
+       * rs6000.c (expand_builtin_saveregs): For V4, initialize a private
+       va_list struct, and return a pointer to it.
+       (setup_incoming_varargs): V4 save area based off virtual_stack_vars
+       instead of frame_pointer.
+
+Thu Apr 29 23:02:22 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * emit-rtl.c (start_sequence): Expand comments.
+       (start_sequence_for_rtl_expr): Likewise.
+       (push_to_sequence): Likewise.
+       (end_sequence): Likewise.
+       * expr.c (inhibit_defer_pop): Likewise.
+       * expr.h (inhibit_defer_pop): Likewise.
+       (NO_DEFER_POP): Likewise.
+       (OK_DEFER_POP): Likewise.
+
+Thu Apr 29 22:13:46 1999  Robert Lipe  <robertlipe@usa.net>
+
+       * configure.in (i?86-UnixWare7*-sysv): Set thread_file to 'posix'
+       --enable-threads[={yes,pthreads,posix}] is passed as a command
+       line parameter to configure.
+       * config/i386/sysv5.h (LIB_SPEC): Add support for '-pthread'.
+       (CPP_SPEC): Likewise.
+
+Thu Apr 29 17:23:59 1999  Richard Henderson  <rth@cygnus.com>
+
+       * emit-rtl.c (operand_subword): Religiously mask and sign-extend
+       from 32-bits to HOST_WIDE_INT.
+
+Thu Apr 29 15:58:52 1999  Robert Lipe  <robertlipe@usa.net>
+
+       * fixinc/regex.c, fixinc/regex.h: Removed.   Replace with...
+       * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Imported from GDB 4.18.
+       * fixinc/Makefile.in (OBJ, HDR): Handle name changes from above.
+       (gnu-regex.o): Define REGEX_MALLOC to avoid memory leak.
+       * fixinc/fixincl.c: new regex.h header name
+       * Makefile.in: new regex.[ch] file names
+
+Thu Apr 29 12:53:33 1999  Richard Henderson  <rth@cygnus.com>
+
+       * calls.c (emit_call_1): Pass rounded_stack_size to emit_call
+       instead of the unrounded size.
+
+1999-04-28 14:40 Bruce Korb <ddsinc09@ix.netcom.com>
+
+       * fixinc/mkfixinc.sh: Makesure the result shell script is writable
+
+Wed Apr 28 10:36:39 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * config/m68k/m68k.md (cmpsi+1): Use cmp.w when comparing a 16 bit
+       constant with an address register.
+
+Wed Apr 28 00:14:41 PDT 1999 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Tue Apr 27 19:50:25 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * rtl.h (REG_EH_REGION): Update comment to indicate a value of -1
+       indicates no throw and no nonlocal gotos.
+       * optabs.c (emit_libcall_block): Emit REG_EH_REGION with a value
+       of -1 instead of 0 to indicate a nonlocal goto won't happen either.
+       * flow.c (count_basic_blocks, find_basic_blocks_1): Ignore libcall
+       blocks, look for REG_EH_REGION note exclusively.
+       (make_edges): Check for REG_EH_REGION > 0 for specified handlers.
+
+Tue Apr 27 15:33:42 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.h (read_only_data_section, private_data_section,
+       read_only_private_data_section, toc_section): Align CSECT on
+       doubleword boundary for 64-bit target.
+       (DATA_SECTION_ASM_OP): Likewise.
+       * rs6000.c (rs6000_stack_info): Leaf procedure stack limit is 288.
+
+Tue Apr 27 20:19:47 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.md (insv): Use copy_addr_to_reg.
+
+       * final.c (insn_lengths_max_uid): New variable.
+       (init_insn_lengths, shorten_branches): Set it.
+       (get_attr_lengths): Test insn uid against insn_lengths_max_uid.
+
+1999-04-27 08:32 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * expr.c (emit_move_insn_1): Abort if MODE argument is invalid.
+       (compare): Punt if TREE_OPERAND (exp, 0) is an ERROR_MARK.
+
+Tue Apr 27 01:33:43 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (ORDINARY_FLAGS_TO_PASS): Renmaed from FLAGS_TO_PASS.
+       Remove "CC".
+       (FLAGS_TO_PASS): New variable.
+
+Tue Apr 27 00:36:44 1999  Nick Burrett  <nick.burrett@btinternet.com>
+
+       * arm.md (nop): Output instruction using output_asm_insn to fix
+       assembler dialect problems.
+
+Mon Apr 26 23:55:50 1999  Robert Lipe  <robertlipe@usa.net>
+
+       * Makefile.in (fixinc.sh): Fix dependencies.
+
+       * fixinc/inclhack.def (avoid_bool): Enable match if typedefs are
+       prepended by spaces.
+       (sco5_stat_wrappers): New fix.   Make sys/stat.h C++ safe.
+       * fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
+
+Mon Apr 26 23:28:54 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+                          Donn Terry  <donn@interix.com>
+
+       * function.c (put_var_into_stack): Change ptr_mode to Pmode
+       in setup for chkr_set_right_libfunc calls.
+       (assign_params): Likewise.
+       * expr.c (emit_push_insn): Change ptr_mode to Pmode in
+       setup for chkr_copy_bitmap_libfunc and chkr_set_right_libfunc calls.
+       (expand_assignment): Change ptr_mode to Pmode in
+       setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc.
+       (store_expr): Change ptr_mode to Pmode in
+       setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc.
+       (expand_expr): Change ptr_mode to Pmode in
+       setup for chkr_check_addr_libfunc.
+       (expand_builtin): Change ptr_mode to Pmode in
+       setup for chkr_check_str_libfunc, chkr_copy_bitmap_libfunc and
+       chkr_check_addr_libfunc.
+       * calls.c (rtx_for_function_call): Change ptr_mode to Pmode in
+       setup for chkr_check_exec_libfunc.
+       (expand_call): Change ptr_mode to Pmode in
+       setup for chkr_set_right_libfunc.
+       (expand_call): Change ptr_mode to Pmode in
+       setup for chkr_set_right_libfunc.
+       (store_one_arg): Change ptr_mode to Pmode in
+       setup for chkr_set_right_libfunc.
+
+       * c-parse.in (absdcl1): Allow attributes in explicit typespecs.
+       (%expect): Update.
+       * c-parse.y: Regenerate.
+       * c-parse.c: Likewise.
+       * objc/objc-parse.c: Likewise.
+       * objc/objc-parse.y: Likewise.
+
+Mon Apr 26 21:17:41 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * c-pragma.c (push_alignment): Don't ignore alignments greater than
+       4 bytes.
+       (handle_pragma_token): Likewise.
+
+       * c-pragma.c: Support for #pragma pack (push, <id>, <n>).
+       (struct align_stack): Add id field.
+       (push_alignment, pop_alignment): Take id parameter.
+       (handle_pragma_token): Add necessary states.
+       * c-pragma.h (enum pragma_state): Add necessary states.
+
+Tue Apr 27 13:58:23 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (*cmpqf, *cmpqf_noov, *cmpqi_test,
+       *cmpqi_test_noov): Remove ? modifier from constraints list.
+       (*smulqi3_highpart_clobber, *umulqi3_highpart_clobber): Swap
+       output strings to match new constraint ordering.
+
+1999-04-26 19:16 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cpphash.c (dump_definition): New function.
+       * cpphash.h: Prototype it.
+
+       * cpplib.c (handle_directive): Don't output anything here.
+       Streamline.
+       (pass_thru_directive): Take a length, not a pointer to the
+       end.  All callers changed.
+       (do_define): Handle -dD, -dN, -g3 entirely here.  Streamline.
+       (do_include): Handle -dI here.
+       (do_ident): Correct to match cccp.
+       (do_pragma): Copy the pragma through here.
+       (do_assert, do_unassert): Tidy.
+
+       * cppinit.c (cpp_finish): If -dM was specified, walk the macro
+       hash table and call dump_definition on all the entries.
+       * cppmain.c: cpp_finish may produce output.
+
+Mon Apr 26 15:27:33 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * toplev.c (compile_file): Move call to check_global_declarations
+       after output_exception_table to restore behavior as it was before
+       1999-04-22 change.
+
+1999-04-26 10:50 -0700 Bruce Korb <ddsinc09@ix.netcom.com>
+
+       * fixinc/fixincl.c:  Improve the handling of child process exits
+       * fixinc/server.[ch]: Export the interface for shutting down
+       the server process
+       * fixinc/inclhack.tpl: Remove unnecessary character quote
+       * fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate
+
+Mon Apr 26 10:41:42 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * alpha.md (builtin_setjmp_receiver): Use a label_ref instead of
+       a code label.
+
+1999-04-26 09:47 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * rtl.texi: Document the rtl classes and their relation to
+       formats.
+
+Mon Apr 26 01:02:38 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md (fix_trunc patterns): Use reg_no_subreg_operand on op0
+       for less work in reload.
+       (movsf and movdf patterns): Put fp reg alternatives first.
+
+Mon Apr 26 01:55:56 1999  Marc Espie  <espie@cvs.openbsd.org>
+
+       * configure.in (openbsd): Factorize xmake_file.
+       (ix86 openbsd): Trim obsolete comment.
+       (vax openbsd): Fix typo.
+       * configure: Rebuilt.
+
+Mon Apr 26 01:30:59 1999 Donn Terry <donn@interix.com>
+
+       * expr.c (expand_assignment): Improve test for pointer type.
+
+Mon Apr 26 00:26:18 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (print_operand_address): Account for the subreg word.
+
+Mon Apr 26 01:08:36 1999  Toshiyasu Morita  (tm@netcom.com)
+
+       * fold-const.c (make_range): Always initialize arg0 and arg1.
+       (fold): Similarly for alt0 and alt1.
+       * function.c (fixup_var_refs_insns): Initialize insn_list.
+       (instantiate_virtual_regs_1): Initialize offset.
+       * optabs.c (expand_binop): Initialize carry_in, carry_out, op0_xhigh
+       and op1_xhigh.
+       * stmt.c (expand_end_case): Initialize minval and maxval.
+
+Mon Apr 26 01:02:34 1999  Nathan Sidwell  <nathan@acm.org>
+
+       * toplev.c (report_error_function): Reorder file stack and
+       function name printing.  Ignore FILE parameter.
+
+Mon Apr 26 00:58:54 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+
+       * pa.h (architecture_type): New enum.
+       (pa_arch_string, pa_arch): Declare.
+       (MASK_PA_10, MASK_PA_20): New flags.
+       (TARGET_SWITCHES): Add pa-risc-2-0.  Update docs for PA1.0 codegen.
+       (TARGET_OPTIONS): Add -march= option.
+       * pa.c (pa_arch, pa_arch_string):  Define.
+       (override_options):  Set them.
+       * pa/pa-hpux10.h (ASM_FILE_START):  Output LEVEL 2.0 asm directive for
+       2.0 architecture.
+       * invoke.texi (Option Summary, HPPA Options):  Document new
+       architecture flags.
+
+       * pa/pa-hpux.h, pa/pa-hpux10.h, pa/pa-hpux9.h, pa/pa-osf.h, pa.h,
+       pa.c, pa.md, configure.in, configure: Replace TARGET_SNAKE by
+       TARGET_PA_11 and MASK_SNAKE by MASK_PA_11.
+
+Mon Apr 26 00:28:25 1999  Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+
+       * flags.h (inline_max_insns): Declare.
+       * integrate.c (inline_max_insns): New variable.
+       (function_cannot_inline_p): Use it.
+       * toplev.c (main): Add the flag -finline-limit-n.
+       (display_help): Document -finline-limit-n.
+       * invoke.texi: Document -finline-limit-n
+
+Sun Apr 25 23:03:32 1999  Richard Henderson  <rth@cygnus.com>
+
+       * stmt.c (expand_asm_operands): Reload in-out reg-only memory operands.
+
+Sun Apr 25 13:06:13 1999  Richard Henderson  <rth@cygnus.com>
+
+       * function.c (assign_parms/STACK_BYTES): Revert last change,
+       and that of 19 Nov.
+
+Sun Apr 25 12:30:50 1999  Richard Henderson  <rth@cygnus.com>
+
+       * calls.c (emit_call_1): New arg rounded_stack_size; update callers.
+       Update pending_stack_adjust based on this value.
+       (compute_argument_block_size): Include pending_stack_adjust in
+       PREFERRED_STACK_BOUNDARY alignment.
+       * function.c (assign_parms): Don't round to PREFERRED_STACK_BOUNDARY.
+
+Sun Apr 25 14:38:10 EDT 1999  John Wehle  (john@feith.com)
+
+       * stupid.c (stupid_mark_refs): Generate a REG_UNUSED note
+       for a register which is clobbered even if the register
+       was used by an earlier instruction.
+
+       * i386.md (fix_truncsfdi2, fix_truncdfdi2,
+       fix_truncxfdi2): Don't bother with the gen_reg_RTX.
+       (fix_truncsfsi2, fix_truncsfdi2, fix_truncdfsi2,
+       fix_truncdfdi2, fix_truncxfsi2, fix_truncxfdi2): Update
+       operand constraints and modes.
+       * i386.c (output_fix_trunc): Use HImode register to avoid
+       memory stalls.  Call output_move_double instead of output_to_reg.
+       (output_to_reg): Remove.
+       * i386.h: Likewise.
+
+       * i386.md (negsf2, negdf2, negxf2): Set the type
+       attribute to fpop.
+
+Sat Apr 24 23:15:57 1999  Donn Terry (donn@interix.com)
+
+       * alpha.md (call_value_nt): Correct subscripts.
+
+Sat Apr 24 20:49:20 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.h (PRINT_OPERAND_ADDRESS): Break out to ...
+       * alpha.c (print_operand_address): here.  Handle subregs.
+
+Fri Apr 23 22:35:41 EDT 1999  John Wehle  (john@feith.com)
+
+       * acconfig.h (HAVE_GAS_FILDS_FISTS): Add.
+       * configure.in: Check assembler instructions.
+       * configure: Rebuild.
+       * config.in: Likewise.
+       * i386.md (floathisf2, floathidf2, floathixf2): New patterns.
+       * i386.c (print_operand): Use the proper suffix for a 387 HImode
+       operand.  Abort if a 387 operand has an unsupported size.
+
+Fri Apr 23 16:57:40 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (alpha_write_verstamp): Mark `file' unused.
+       * alpha.h (FUNCTION_VALUE): Use gen_rtx_REG not gen_rtx.
+       (LIBCALL_VALUE): Likewise.
+       (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Handle normal subregs.
+
+Fri Apr 23 14:57:33 1999  Donn Terry  <donn@interix.com>
+
+       * alpha32.h (INITIALIZE_TRAMPOLINE): Get offsets right.
+
+       * alpha.c (alpha_initialize_trampoline): Add covert_memory_address
+       calls as needed.
+
+Fri Apr 23 14:36:47 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (alpha_expand_prologue): Don't negate frame size
+       for use with subq.
+
+Fri Apr 23 09:43:18 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * print-rtl.c (print_rtx): Display LABEL_NUSES for labels.
+
+Thu Apr 22 23:08:37 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * toplev.h (wrapup_global_declarations): Declare.
+       (check_global_declarations): Likewise.
+       * toplev.c (wrapup_global_declarations): New function, split out
+       from ...
+       (check_global_declarations): Likewise...
+       (compile_file): Here.
+
+Thu Apr 22 22:34:41 1999  Richard Henderson  <rth@cygnus.com>
+
+       * c-parse.in (expr_no_commas): Verify we've an expr before
+       calling C_SET_EXP_ORIGINAL_CODE.
+
+Thu Apr 22 22:22:15 EDT 1999  John Wehle  (john@feith.com)
+
+       * toplev.c (rest_of_compilation): Always set
+       current_function_uses_only_leaf_regs appropriately.
+
+Thu Apr 22 14:39:43 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * i386/xm-cygwin.h (HAVE_BCOPY): Delete unneeded macro.
+       (HAVE_BZERO): Likewise.
+       (HAVE_BCMP): Likewise.
+       (HAVE_RINDEX): Likewise.
+       (HAVE_INDEX): Likewise.
+       (DIR_SEPARATOR_2): Define.
+       (GET_ENV_PATH_LIST): Turn path lists into POSIX.
+       (PATH_SEPARATOR): Use ':'.
+
+1999-04-22 Bruce Korb <ddsinc09@ix.netcom.com>
+
+       * configure.in: enable disabling of fast fixincludes
+       * configure: regenerate
+
+1999-04-21 14:55 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * gen-protos.c: #undef abort after including system.h.
+       Delete defns of fancy_abort and fatal.
+       * fix-header.c: Delete defn of fancy_abort.
+
+Wed Apr 21 12:09:38 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * cccp.c (simplify_filename): Always preserve leading double slash.
+
+Wed Apr 21 18:15:55 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md: Add new peepholes to remove redundant loads.
+
+Wed Apr 21 17:41:29 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (binary patterns): Reorder alternatives
+       so that two operand instructions are chosen before three operand
+       instructions.
+
+Tue Apr 20 23:38:58 1999  Nathan Sidwell  <nathan@acm.org>
+
+       * objc/Make-lang.in (objc-parse.c): Put BISON parameters in correct
+       order.
+
+       * Makefile.in (c-parse.c): Put BISON parameters in correct
+       order.
+
+Tue Apr 20 16:38:11 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md (nt_lda): New pattern.
+       * alpha.c (alpha_expand_prologue): Use it for large frames
+       under windows nt.
+
+Tue Apr 20 17:57:14 1999  Catherine Moore  <clm@cygnus.com>
+
+       * config/arm/arm.md (movhi):  Add check for odd offset.
+
+Tue Apr 20 13:14:58 EDT 1999  John Wehle  (john@feith.com)
+
+       * i386.c (output_move_double): Abort if a non-offsettable
+       memory operand is encountered.  Delete unused code.
+       (find_addr_reg): Remove.
+
+Mon Apr 19 21:13:02 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * tree.def (BLOCK): Fix typo in comment.
+
+1999-04-19 14:51 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cpplib.c (output_line_command): Drop CONDITIONAL argument.
+       We can omit unnecessary line commands if file_change ==
+       same_file and pfile->lineno != 0.  All callers changed.
+       (cpp_get_token [case '\n']): Don't bump pfile->lineno if
+       CPP_OPTIONS (pfile)->no_line_commands is set.
+       * cpplib.h: Fix prototype of output_line_command.
+
+1999-04-18 17:46 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cppfiles.c (find_position, read_and_prescan): Use `unsigned
+       long' variables consistently to count line and column numbers.
+
+Sun Apr 18 15:50:33 EDT 1999  John Wehle  (john@feith.com)
+
+       * output.h (current_function_is_leaf,
+       current_function_uses_only_leaf_regs): Declare.
+       * function.c (current_function_is_leaf,
+       current_function_uses_only_leaf_regs): Define.
+       (init_function_start): Initialize current_function_is_leaf
+       and current_function_uses_only_leaf_regs.
+       * final.c (leaf_function): Don't define.
+       (final_start_function): Replace uses of leaf_function with
+       current_function_uses_only_leaf_regs.
+       * toplev.c (rest_of_compilation): Set current_function_is_leaf
+       prior to invoking local register allocation.
+       (rest_of_compilation): Replace uses of leaf_function with
+       current_function_uses_only_leaf_regs.
+       * dbxout.c (dbxout_symbol, dbxout_parms): Likewise.
+       * dwarf2out.c (add_location_or_const_vaule_attribute): Likewise.
+       * dwarfout.c (add_location_or_const_value_attribute): Likewise.
+       * sdbout.c (sdbout_symbol): Likewise.
+       * sparc.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
+       * sparc.c (eligible_for_epilogue_delay, output_return,
+       sparc_return_peephole_ok): Likewise.
+       * sparc.md (leaf_function attribute, untyped_return): Likewise.
+       * i386.c (ix86_compute_frame_size): Don't align the stack
+       for leaf functions which don't allocate any stack slots.
+       * tm.texi: Update documentation.
+
+Sun Apr 18 02:15:09 PDT 1999 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sun Apr 18 00:08:45 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Correct last change --
+       make sure FP_BASE_P registers are only used with an integer.
+
+Sat Apr 17 22:54:17 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.h (REG_OK_FP_BASE_P): New macro.
+       (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Use it.
+       * alpha.md (adddi3+1): New insn to handle large constants off
+       the soft frame pointer.
+       (adddi3+2): Don't split soft frame pointer or arg pointer additions.
+
+Sun Apr 18 17:24:10 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (legitimize_operands): Use rtx_cost
+       to determine if it is worthwhile forcing a constant into a register.
+       * config/c4x/c4x.h (CONST_COSTS): An integer value of 255 or 65535
+       used with a logical and or an integer value of 16 or 24 used with
+       a right shift has zero cost on the C40.
+
+Sat Apr 17 21:30:11 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+
+       * gcse.c (compute_local_properties): If setp is nonzero, clear
+       TRANSP instead of setting it to all ones.
+
+Sat Apr 17 21:10:10 1999  Jan Hubicka <hubicka@freesoft.cz>
+
+       * i386.c (i386_preferred_stack_boundary_string): New global variable.
+       (i386_preferred_stack_boundary): New global variable.
+       (override_functions): Set it.  Tidy option setting code.
+       * i386.h (TARGET_OPTIONS): New command line option.
+       (i386_preferred_stack_boundary_string): Declare it.
+       (i386_preferred_stack_boundary): Likewise.
+       (PREFERRED_STACK_BOUNDARY): Use i386_preferred_stack_boundary.
+
+Sat Apr 17 19:22:38 1999  Jan Hubicka <hubicka@freesoft.cz>
+
+       * i386.c (k6_cost): Take into account the decoding time.
+
+Sat Apr 17 19:13:22 1999  Donn Terry  <donn@interix.com>
+
+       * i386.h (PRINT_OPERAND_PUNCT_VALID_P): Allow _.
+       * i386.c (print_operand): New %_ operator.
+       (load_pic_register): Proper number of leading _ in GOT literal.
+       * i386.md (prologue_get_pc_and_set_got): Likewise.
+       * i386/unix.h (ASM_OUTPUT_MI_THUNK): Likewise.
+
+Sat Apr 17 19:13:07 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (alpha_expand_prologue): Use gen_adddi3 instead of
+       emit_move_insn+plus_constant.  For NT, don't use the stack probe
+       loop pointer to allocate stack space.
+       * alpha.md (adddi3): Always use lda to set the stack pointer.
+
+1999-04-17 20:11 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * c-aux-info.c, emit-rtl.c, explow.c, expmed.c, gcse.c,
+       haifa-sched.c, optabs.c, reorg.c, resource.c, sched.c: Include
+       toplev.h for real declaration of trim_filename.
+       * Makefile.in: Update dependencies.
+
+Sat Apr 17 14:36:19 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * tree.c (chainon): Check for circularity only if
+       ENABLE_CHECKING is defined.
+
+1999-04-17 10:15 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cccp.c: Make fatal non-static.
+
+Sat Apr 17 23:47:24 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (*andqi3_255_clobber,*andqi3_65535_clobber):
+       New logical and patterns using C40 bit-field insert instructions.
+       (*lshrqi3_24_clobber,*ashrqi3_24_clobber,*lshrqi3_16_clobber,
+       *ashrqi3_16_clobber): New shift patterns using C40 bit-field insert
+       instructions.
+
+1999-04-16 22:44 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * system.h: Always prototype abort.  Prototype fatal.  Define
+       abort to call fatal, not fprintf/exit.  Define a stub macro
+       for trim_filename.
+       * toplev.c: Define DIR_SEPARATOR.  (trim_filename): New
        function.
-       (fixup_stack_1): Handle any virtual register instead of handling
-       just fp.
-       (instantiate_virtual_regs, instantiate_virtual_regs_1): New functions.
-       (use_variable, use_variable_after): Check for virtual register
-       instead of checking against ap and fp.
-       (parm_stack_loc): Function deleted.
-       (assign_parms): No longer need internal_arg_pointer.
-       Accept SECOND_TIME argument that suppresses rtl generation and
-       assignments to DECL_RTL.  Used by integrate.c to recompute vars.
-       Don't use FIRST_PARM_OFFSET here; use virtual_incoming_args_rtx.
-       Replace test for nonstable incoming arg pointer.
-       If structure value address is treated as the first argument, add
-       it into the list of arguments; this means we can have a RESULT_DECL
-       in with the PARM_DECL's.
-       DECL_OFFSET is no longer needed by integrate.c.
-       Handle args passed by invisible reference.
-       Support new macro, SETUP_INCOMING_VARARGS, to save all registers used
-       for args including and beyond those for the current arg.  Used for
-       non-ANSI varargs.
-       Pass locate_and_pad_parm data it needs to handle reg->stack boundary
-       if register parameters have assigned stack space.
-       If we received the function's incoming structure pointer as a
-       normal argument, update DECL_RTL of DECL_RESULT.
-       Round total argument size if required; similarly, always use at
-       least REG_PARM_STACK_SPACE bytes if defined.
-       (locate_and_pad_parm): Do not need PARM.
-       Major rework to do much of the job of aligning and padding stack
-       location.  Now a void function wich is passed pointers to struct 
-       args_size vars that are set to the argument position, size, and
-       initial offset.
-       Accept flag denoting if a parm was passed in a register and also
-       the current function declaration.
-       If register parameters are assigned stack locations and there is a
-       minimum required size for the area assigned to register parameters,
-       pad the stack position when a parameter not assigned to a register
-       is encountered.
-       Remove redundant code in MAX_PARM_BOUNDARY case.
-       (lookup_static_chain): Use virtual_stack_vars_rtx instead of fp.
-       (fix_lexical_addr): Move from explow.c.
-       If referencing variable that lives in the incoming argument area
-       of its parent and a separate ap is required, allocate a save area in
-       the parent for it and use it here.  If no separate ap is require,
-       compute offset between ap and fp.
-       (trampoline_address): No need to push obstacks here.
-       (init_function_start): Initialize new vars; delete obsolete vars.
-       (expand_function_start): Don't need to handle case where incoming
-       structure return address is passed as hidden parameter here; now done
-       completely in assign_parms.
-       (expand_function_end): Save ap if a save area was made for it.
-       Set REG_FUNCTION_VALUE_P when copying address of returned
-       structure.
-       Be consistent in use of FUNCTION_... macros vs. hard_function_value.
-
-       * function.h (outgoing_args_size, arg_pointer_save_area): New fields.
-       (invalid_stack_slot): Obsolete, deleted.
-
-       * integrate.c: Major rework and simplification.
-       Split up vars into two classes.  Those used for expand_inline_function
-       and children are now part of struct inline_remap.  Most of the others
-       are for save_for_inline and its children.
-       (function_cannot_inline_p): The only type of arguments that will
-       cause us to reject inlining are variable-sized arguments; also
-       reject functions that return variable-sized objects.
-       For now, don't inline a nested function.  We'll support this shortly.
-       Use current_function_returns_pcc_struct instead of duplicating test.
-       (save_for_inline): No need to set TREE_VOLATILE for parms.
-       Save outgoing args size in header.
-       Use unique copy of virtual reg rtx's.
-       Handle any required fixups for INSN_LIST forward-references.
-       Don't bother resetting dead static vars when we are done.
-       Need not save current_function_pretend_args_size.
-       (copy_for_inline): First copy all insns, then all REG_NOTES to avoid
-       problems with forward references.
-       (struct inline_remap): Move all previously-static vars used by
-       expand_inline_function and children into this structure.  This avoids
-       potential problems due to recursive calls to expand_inline_function.
-       (expand_inline_function and children): Allocate a struct inline_remap
-       and pass to all children.
-       (expand_inline_function): Rework parameter handling by looking at
-       DECL_RTL and using it to determine what types of mappings need to be
-       done.  Support objects passed by invisible reference.  Put any
-       constant memory addresses into const_equiv_map.  parm_map is no longer
-       used.
-       Likewise for the return value: consult DECL_RTL (DECL_RESULT)).
-       Don't allocate space for called function's frame until referenced.
-       No longer need special handling for insn following CALL.
-       Ignore USE whose argument has REG_FUNCTION_VALUE_P true.
-       Ignore setting function register if we don't have a mapping for it
-       (e.g., we are ignoring the result of the call).
-       Look at new SET_SRC for constant equivalences.  Some new ones may
-       have resulted from constant folding.
-       Pass both new and old rtx to try_constants.
-       Discard NOTE_INSN_DELETED notes.
-       Copy insns first, then REG_NOTES, to avoid problems with forward refs.
-       (copy_parm_decls): Compute new address of parameter using the
-       constant equivalence map, which will contain the remapping of
-       the frame and argument pointer.
-       (copy_decl_tree): Likewise.
-       (copy_rtx_and_substitute): Handle references to frame and argument
-       pointers by allocating a space equal to the size of the frame and
-       incoming arguments, respectively, and setting a pseudo to point to
-       the start of each area.  Set up an equivalence in CONST_EQUIV_MAP
-       between fp or ap and the actual address.  Return the pseudo.
-       Don't need to deal with possibility of (SUBREG (CONST_INT)) since
-       we are only replacing register with other registers here.
-       No longer need to special-case PLUS and MEM;  subst_constants will do
-       this work.
-       Update detection of sets of ap and fp.
-       (try_constants, subst_constants): Accept old and new rtx.  They will
-       be isomorphic, with only register numbers changed.  Use old rtx to
-       look up register in CONST_EQUIV_MAP and new rtx for substitution.
-       Correctly handle SUBREG of CONST_INT and CONST_DOUBLE.
-       Fix typos in handling of PLUS.
-       (access_parm_map, copy_address): Delete functions.
-       (try_fold_cc0): Handle both compare and test.
-       (fold_out_cnst_cc0): Rework to simplify and remove dubious cases.
-       (output_inline_function): Call assign_parms to perform any needed
-       setups.
-       Need not restore pretend arg size (will be computed by assign_parms).
-       Restore outgoing argument size.
+       * toplev.h: Prototype trim_filename, and #undef system.h's stub.
+
+       * gcc.c, genattr.c, genattrtab.c, gencodes.c, genconfig.c,
+       genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c,
+       genpeep.c, genrecog.c: Make fatal non-static.
+       * gcov.c, gengenrtl.c, protoize.c: #undef abort after
+       including system.h.
+
+       * config/i386/dgux.h, config/m68k/xm-amix.h: Remove stale code
+       relating to abort.
+
+Sat Apr 17 11:25:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (mulqf3_clrqf_clobber, mulqi3_clrqi_clobber):
+       New patterns to support parallel multiply and load of zero.
+
+Fri Apr 16 01:23:47 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * tree.c (valid_machine_attribute): If we're modifying the
+       FUNCTION_TYPE within a POINTER_TYPE and we don't get a decl,
+       update the POINTER_TYPE.
+
+Fri Apr 16 00:19:31 1999  Jan Hubicka <hubicka@freesoft.cz>
+
+       * i386.c (x86_adjust_cost): Move break statement to correct place.
+
+Thu Apr 15 23:17:33 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+
+       * pa.h (HAVE_PRE_INCREMENT, HAVE_POST_INCREMENT,
+       HAVE_PRE_DECREMENT, HAVE_POST_DECREMENT): Fix pa_cpu value from
+       8000 to PROCESSOR_8000.
+
+Thu Apr 15 20:46:57 1999  Donn Terry (donn@interix.com)
+
+       * expr.c (expand_assignment): Force pointers to proper mode if
+       POINTERS_EXTEND_UNSIGNED is defined.
+
+       * xm-alpha.h (alloca.h): Add Interix to list of special machines
+       that don't like alloca.h, pending using autoconf results.
+
+       * except.c (start_catch_hadler): Be sure rtime_address is Pmode
+       if POINTERS_EXTEND_UNSIGNED.
+
+       * except.c (expand_eh_return): Force pointers to proper mode if
+       POINTERS_EXTEND_UNSIGNED.
+
+Thu Apr 15 23:13:35 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.h:  Tweaked comment formatting.
+       * config/c4x/c4x.c:  Likewise.
+
+Thu Apr 15 02:45:19 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * aclocal.m4 (GCC_FUNC_MKDIR_TAKES_ONE_ARG): Define.
+       * configure.in: Use.
+       * configure: Rebuilt.
+       * acconfig.h (MKDIR_TAKES_ONE_ARG): Add.
+       * config.in: Rebuilt.
+       * system.h: Use.
+
+Thu Apr 15 01:03:21 1999  Jan Hubicka <hubicka@freesoft.cz>
+                         Jeff Law <law@cygnus.com>
+
+       * i386.md (QImode add pattern): Support lea instruction.
+       (HImode add pattern): Likewise.
+
+       * i386.md (ashlsi patterns): Call output_ashl instead of output_ashlsi3.
+       (ashlqi): Use expander, separate LEA and SAL / ADD patterns; call
+       output_ashl.
+       (ashlhi): Likewise.
+       * i386.h (output_ashl): Renamed from output_ashlsi3.
+       * i386.c (output_ashl): Likewise; support HImode and QImode operands
+       as well.
+
+       * i386.md (notsi, nothi, xorsi, xorhi, and xorqi patterns): Call
+       memory_address_displacement_length instead of memory_address_length.
+       * i386.c (memory_address_info): Renamed from memory_address_length.
+       Accept new argument DISP_LENGTH.  All callers changed.  If DISP_LENGTH,
+       then return the displacement length.  Else return length of the
+       entire memory address.  Handle MULT case correctly.
+       * i386.h (memory_address_info): Update declaration.
+
+       * i386.md (memory_bit_test): Fix paren error.
+
+Wed Apr 14 21:29:18 1999  Andrew Haley  <aph@cygnus.com>
+
+       * flow.c: (make_edges): Always make edges from a basic block
+       to its exception handlers, even if the block ends with a jump.
+
+1999-04-14 23:26 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * graph.c (node_data): Return void.  Ignore result of
+       print_rtl_single.  Change caller to match.
+       * integrate.c (subst_constants): Initialize op0_mode to an
+       invalid mode, and abort before use if it's still invalid.
+       (Can only happen if the RTX_CLASS, RTX_FORMAT tables are corrupted.)
+       * objc/objc-act.c (get_objc_string_decl,
+       build_selector_translation_table, generate_protocol_list,
+       synth_id_with_class_suffix, build_keyword_selector,
+       build_selector_expr, gen_declarator): Abort when the tree
+       structure is corrupted.
+
+Wed Apr 14 19:57:49 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in (alpha interix): Use symbolic names to set
+       target_cpu_default.
+       * configure: Rebuilt.
+
+       * explow.c (allocate_dynamic_stack_space): Undo last change.  Use
+       convert_memory_address instead.
+
+Wed Apr 14 19:42:02 1999  Donn Terry (donn@interix.com)
+
+       * alpha/lib1funcs.asm: New file.
+       * alpha/t-interix (lib1funcs.asm): Add to build.
+
+       * explow.c (allocate_dynamic_stack_space): Correctly convert TARGET
+       to Pmode.
+
+Wed Apr 14 14:26:36 1999  John Wehle  (john@feith.com)
+
+       * i386.md (truncxfdf): Output the template supplied
+       by output_move_double with the correct operands.
+
+       * i386.md (extendsfdf, extendsfxf, extenddfxf): Use
+       output_float_extend instead specifying '#' as the template.
+       * i386.c (output_float_extend): Define.
+       * i386.h (output_float_extend): Declare.
+
+Wed Apr 14 10:48:03 1999  Catherine Moore  <clm@cygnus.com>
+
+       * config/mips/elf.h, config/mips/elf64.h
+       (CTORS_SECTION_ASM_OP): Define.
+       (DTORS_SECTION_ASM_OP): Define.
+       (EXTRA_SECTIONS): Define.
+       (INVOKE__main): Define.
+       (NAME__MAIN): Define.
+       (SYMBOL__MAIN): Define.
+       (EXTRA_SECTIONS_FUNCTIONS): Define.
+       (SECTION_FUNCTION_TEMPLATE): Define.
+       (ASM_OUTPUT_CONSTRUCTOR): Define.
+       (ASM_OUTPUT_DESTRUCTOR): Define.
+       (CTOR_LIST_BEGIN): Define.
+       (CTOR_LIST_END): Define.
+       (DTOR_LIST_BEGIN): Define.
+       (DTOR_LIST_END): Define.
+       (LIB_SPEC): Define.
+       (STARTFILE_SPEC): Define.
+       (ENDFILE_SPEC): Define.
+       * config/mips/linux.h:  Undefine all of the above.
+       * config/mips/rtems64.h: Likewise.
+       * config/mips/t-r3900: Likewise.
+       * config/mips/t-elf: New file.
+       * config/mips/vxworks.h: New file.
+       * configure.in (mips-wrs-vxworks): Use mips/vxworks.h.
+       (mips*-*-*elf*):  Use t-elf instead of t-ecoff.
+       * configure: Regenerate.
+
+Wed Apr 14 09:59:38 1999  Richard Henderson  <rth@cygnus.com>
+
+       * reload1.c (emit_reload_insns): Also find equivalent mems
+       for subregs of pseudos.
+
+       * alpha.c (aligned_memory_operand): Recognize the output of
+       LEGITIMIZE_RELOAD_ADDRESS.  Examine reg_equiv_memory_loc in
+       the event of a pseudo.
+       (unaligned_memory_operand): Likewise.  Don't otherwise accept
+       completely illegal addresses.
+       (normal_memory_operand): Likewise.  Handle subregs of pseudos.
+       (get_aligned_mem): Revert previous change.  Abort if we don't have a
+       mem.  During reload, call find_replacement on all illegal memories.
+       (get_unaligned_address): Likewise.
+       * alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Use !aligned_memory_operand
+       instead of unaligned_memory_operand.
+       * alpha.md: Revert extra argument to get_aligned_mem.
+       (reload_inqi): Use any_memory_operand in constraints.  Abort if
+       we're not given some sort of mem.
+       (reload_inhi): Likewise.
+       (reload_outqi, reload_outhi): Likewise.
+
+Wed Apr 14 09:39:20 1999  Richard Henderson  <rth@cygnus.com>
+
+       * i386.md (neghi): Use the whole register when widening the op.
+
+1999-04-14 12:37 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cpperror.c, cppexp.c, cpplib.c: Never call abort.
+       * cpphash.c: Only call abort when we detect corruption of the
+       malloc arena.
+       * cppmain.c: Don't define fatal or fancy_abort.
+
+Wed Apr 14 09:19:39 1999  Jan Hubicka <hubicka@freesoft.cz>
+
+       * i386.c (x86_adjust_cost): Agi stall takes 1 cycle on Pentium, fst
+       requires value to be ready one extra cycle.
+
+Wed Apr 14 11:28:34 1999  Dave Brolley  <brolley@cygnus.com>
+
+       * config/i386/i386.c (memory_address_length): Add missing parenthesis.
+
+Wed Apr 14 13:59:27 1999  Martin von Loewis  <loewis@informatik.hu-berlin.de>
+
+       * extend.texi (Deprecated Features): New node.
+       * invoke.texi (-Wdeprecated): Document.
+
+Wed Apr 14 00:18:22 1999  Jan Hubicka <hubicka@freesoft.cz>
+
+       * i386.md (SImode logical compare): Avoid outputing non-pariable testw
+       and testl on Pentium.
+       (register and memory bit tests): Likewise.
+       (setcc, normal and reversed conditional branches): Use shorter
+       sequence for testing flags stored in EAX.
+
+       * i386.md (xorsi3): Do not output NOT instrctions on Pentium.
+       (xorqi3): Likewise.
+       (xorhi3): Likewise.
+       (notsi2): Likewise.
+       (notqi2): Likewise.
+       (nothi2): Likewise; do not output prefixed opcodes when possible.
+
+       * i386.md (neghi2): Do not output prefixed opcode when possible.
+       (ashlhi3): Likewise.
+
+Wed Apr 14 00:08:46 1999  Richard Henderson  <rth@cygnus.com>
+
+       * i386.c (memory_address_length): New function.
+       * i386.h (memory_address_length): Declare it.
+
+Tue Apr 13 22:52:04 1999  Donn Terry (donn@interix.com)
+                         Martin Heller (Ing.-Buero_Heller@t-online.de)
+
+       * configure.in (interix Alpha): Add.
+       (winnt Alpha): Use alpha32.h
+       (interix i386): Parallel Alpha32.
+       * configure: Rebuilt.
+
+       * config/interix.h: Move common elements from i386-interix.h.
+       * config/i386/i386-interix.h: Delete same.
+       * config/alpha/alpha-interix.h: New file.
+
+       * config/alpha/alpha32.h: New file, part fron win-nt.h.
+       * config/alpha/win-nt.h: Deletions (-> alpha32.h).
+       * config/alpha/interix.h: New file
+
+       * config/alpha/alpha.md (interix): Comment.
+
+       * config/alpha/xm-alpha-interix.h: New file.
+
+       * config/alpha/t-interix: New file.
+
+       * fixinc/mkfixinc.sh (interix/Alpha): Add.
+
+1999-04-13  Mike Stump  <mrs@wrs.com>
+
+       * i386/vxi386.h (CPP_CPU_SPEC): Define appropriately for vxworks.
+       (CPP_PREDEFINES, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): likewise.
+
+Tue Apr 13 21:01:36 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * c-common.c (default_valid_lang_attribute): New fn.
+       (valid_lang_attribute): New callback ptr.
+       (decl_attributes): Call it.  Move init_priority support into
+       C++ frontend.
+
+Tue Apr 13 17:47:14 1999  John Wehle  (john@feith.com)
+
+       * i386.md (movdi): Add splitter.
+
+Wed Apr 14 10:04:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (storeqf_int, storeqf_int_clobber, loadqf_int,
+       loadqf_int_clobber): Add new patterns with corresponding splitters
+       to handle moves of floating point values into and out of intager
+       registers by using memory.
+
+       * config/c4x/c4x.c (c4x_check_legit_addr): Disallow PRE_INC for modes
+       other than QFmode and QImode.
+       (mixed_subreg_operand): New function.
+       (c4x_emit_move_sequence): If moving a floating point value into or
+       out of an integer register, use the new patterns storeqf_int_clobber
+       or loadqf_int_clobber.
+       (reg_imm_operand, *_reg_operand): Call reg_operand instead of
+       register_operand.
+       (reg_operand, src_operand): Disallow operand if it satisifes
+       mixed_subreg_operand.
+
+       * config/c4x/c4x.h (mixed_subreg_operand): Add prototype.
+
+Tue Apr 13 14:49:13 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * i386.c (agi_dependent): Handle push operation more correctly.
+
+Tue Apr 13 14:45:17 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * i386.md (anddi3): Add % constraint.
+       (iordi3, xordi3): Likewise.
+
+Tue Apr 13 14:29:58 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * i386.md (extendhisi2): Output mov instead of cw instruction for K6
+       to improve decoding bandwidth.
+       * i386.md (extendhiqi2): Likewise.
+
+Tue Apr 13 14:26:31 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * i386.md (movsf_push): Handle memory to memory case too, new splitter.
+       (movdf_push, movxf_push): Likewise.
+       (movsf_push_memory, movdf_push_memory, movxf_push_memory): Remove.
+
+Tue Apr 13 14:14:06 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * i386.md: Do not output mov %0,reg on AMD K6.
+
+Tue Apr 13 12:14:07 1999  Dave Brolley  <brolley@cygnus.com>
+
+       * cppinit.c (cpp_start_read): Fix buffer overwrite.
+       * Makefile.in (cppinit.o): Typo in dependencies.
+
+Tue Apr 13 05:04:59 1999  Richard Earnshaw  (rearnsha@arm.com)
+
+       * arm.h (function prototypes for arm.c): Ifdef these out if
+       HAVE_CONFIG_H is not defined.
+
+Tue Apr 13 02:11:11 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.c: Avoid Using immediate zero for register zero.
+       * pa.md: Likewise.
+
+       * pa.c (print_operand, case 'f'): New case for FP register or 0.0.
+       (print_operand, case 'r'): Use %r0 for zero value.
+       * pa.md (move patterns, fcmp patterns): Use new %f output arg.
+
+       * pa.c: Use a register name, not a raw immediate in branch,
+       compare/clear, sub, subb, uaddcm and vshd instructions.
+       * pa.md: Likewise.
+
+       * pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
+
+       * pa.c: Use a register name, not a raw immediate in "bv" instructions.
+       * pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
+
+       * pa.c: Remove space register specification in memory addresses,
+       except where it is actually needed.
+       * pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
+
+Mon Apr 12 23:34:35 1999  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Mon Apr 12 14:58:30 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * reg-stack.c (check_stack_regs_mentioned): Remove variable SIZE.
+
+Mon Apr 12 19:15:17 1999  Daniel Jacobowitz  <dan@debian.org>
+
+       * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Add missing backslash.
+
+Mon Apr 12 19:11:38 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * i386/cygwin.h (SUBTARGET_SWITCHES): Add -mconsole; fix
+       -mno-nop-fun-dllimport and minor doc fixes.
+       (STARTFILE_SPEC): Cygwin DLLs don't have dllcrt0.
+       (LINK_SPEC): Add -mconsole support.
+       * i386/mingw32.h (LIB_SPEC): Make libraries consistent with
+       Cygwin.
+       (LINK_SPEC): Remove. Use Cygwin's version.
+       (MATH_LIBRARY): Make it null.
+       * i386/crtdll.h (MATH_LIBRARY): Likewise.
+
+Fri Apr 12 15:00:52 1999  Stan Cox  <scox@cygnus.com>
+
+       * c-decl.c (c_decode_option, start_decl, start_function,
+       finish_function) : Recognize -Wno-main so we can avoid warnings.
+
+1999-04-12  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cpphash.c (collect_expansion, macroexpand,
+       push_macro_expansion): Make the escape character in macro
+       buffers '\r', not '@'.  Remove code to protect literal
+       occurrences of the escape character; '\r' cannot appear
+       in a macro buffer unless we put it there.
+       * cpplib.c (skip_comment, copy_comment, cpp_skip_hspace,
+       copy_rest_of_line, cpp_get_token, parse_string,
+       parse_assertion): '\r' might be a backslash-newline marker, or
+       it might be a macro escape marker, depending on
+       CPP_BUFFER (pfile)->has_escapes.  '@' is not a special
+       character.
+       * cpplib.h: Update commentary.
+
+Mon Apr 12 09:30:03 1999  Richard Earnshaw  (rearnsha@arm.com)
+
+       * arm.h (target_fp_name, structure_size_string, arm_cpu_select):
+       Const-ify.
+       * arm.c (target_fp_name, structure_size_string): Const-ify.
+
+       * arm.md (reload_inhi, reload_outhi): Make the scratch DImode.
+       * arm.c (arm_reload_in_hi): Handle cases when the input is still
+       a pseudo, make use of scratch registers for reloading the address
+       as appropriate.
+       (arm_reload_outhi): Similarly for when the output is still a pseudo.
+
+       * riscix.h (SUBTARGET_SWITCHES): Document.
+
+1999-04-12  Bruce Korb  <ddsinc09@ix.netcom.com>
+
+       * fixincludes:
+       make fixincludes behave like the scripts in fixinc/
+
+       * Makefile.in( stmp-fixinc ):
+       ensure the SHELL value is that of the make
+
+       * fixincl/inclhack.tpl:
+       the file name lists ought to be restricted to "*.h" anyway
+       C++ files may be named .../[a-z]++/... also
+       Adding copyright year and attribution to output
+
+       * fixincl/inclhack.def:
+       fixed broken expression
+       Clarify a some comments
+
+       * fixincl/fixincl.tpl:
+       Clarify a some comments
+       Remove dead template text
+       Correct the counting of regular expressions
+
+Mon Apr 12 03:07:44 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (aligned_memory_operand): Handle out of range stack slots.
+       Take a new SCRATCH argument for the occasion.  Update all callers.
+       (get_unaligned_address): Abort on out of range stack slots.
+       * alpha.md (adddi3 splitter): Check s_p_rtx not REGNO.
+       (reload_inqi): Check for aligned mems before unaligned.
+       (reload_inhi): Likewise.
+
+Mon Apr 12 03:11:30 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * flow.c (flow_delete_insn): If we delete a CODE_LABEL, also remove
+       it from the nonlocal_goto_handler_labels list.
+       * jump.c (delete_insn): Likewise.
+       (jump_optimize_1): Also recompute LABEL_NUSES when we are just
+       marking labels.
+       * rtl.h (remove_node_from_expr_list): Declare.
+       * rtlanal.c (remove_node_from_expr_list): New function.
+
+Mon Apr 12 02:37:02 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * reg-stack.c: Update comment, include varray.h.
+       (stack_regs_mentioned_data): New global variable.
+       (check_stack_regs_mentioned): New function.
+       (stack_regs_mentioned): New function.
+       (reg_to_stack): Initialize and free stack_regs_mentioned_data,
+       use stack_regs_mentioned.
+       (record_asm_reg_life): Change insn type cache for changed insn.
+       (record_reg_life): Do not change the insn mode.
+       (emit_pop_insn): Likewise.
+       (emit_swap_insn): Likewise.
+       (move_for_stack_reg): Likewise.
+       (stack_reg_life_analysis): Use stack_regs_mentioned.
+       (emit_swap_insn): Likewise.
+       (subst_stack_regs): Likewise.
+       (convert_regs): Likewise.
+       * jump.c (find_cross_jump): Use stack_regs_mentioned.
+       * rtl.h (stack_regs_mentioned): Declare.
+
+Mon Apr 12 00:57:10 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
+
+       * integrate.c (INTEGRATE_THRESHOLD): Sync it with the comment.
+
+Sun Apr 11 10:24:18 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * rtl.h (rtx_def): Update documentation for jump and call.
+
+Sun Apr 11 07:43:44 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * jump.c (jump_optimize_1): Make the definition static to match
+       the prototype.
+
+Sat Apr 10 22:51:53 1999  Jan Hubicka  <hubicka@limax.paru.cas.cz>
+
+       * flow.c (life_analysis): New parameter remove_dead_code.
+       (life_analysis_1): Likewise.
+       (propagate_block): Likewise; use it.
+       * output.h: Update prototype.
+       * toplev.c: Update calls to life_analysis.
+
+Sat Apr 10 22:12:12 1999  Jan Hubicka  <hubicka@freesoft.cz>
+
+       * recog.c (constrain_operands): Ignore unary operators when
+       matching operands.  Recognize '5'..'9' as well.
+
+Sat Apr 10 21:53:02 1999  Philipp Thomas  (kthomas@gwdg.de)
+                         Richard Henderson  <rth@cygnus.com>
+
+       * configure.in: Set target_cpu_default2 for target_alias k6.
+       * i386.h (TARGET_SWITCHES): Remove no-<cpu> entries.
+       (CC1_CPU_SPEC): Likewise.
+       (CPP_CPU_DEFAULT_SPEC): Streamline definition.  Add K6 version.
+       (CPP_K6_SPEC): New.
+       (CPP_CPU_SPEC): Add K6 variant.
+       (EXTRA_SPECS): Likewise.
+
+Fri Apr  9 11:29:17 1999  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (merge_blocks_nomove): Rewrite to properly handle two
+       blocks that vanish entirely during merging.
+
+Sat Apr 10 20:09:55 1999  John Wehle  (john@feith.com)
+
+       * i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2,
+       floatsixf2, floatdixf2, movsicc, movhicc, movsfcc, movdfcc,
+       movxfcc, movdicc): Remove unused register constraints from
+       the splitters.
+
+       * i386.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
+       fixuns_truncxfsi2): Delete.
+
+       * reg-stack.c (delete_insn_for_stacker): Ensure that
+       the only side effects of a PARALLEL are clobbers.
+       (subst_stack_regs): Handle subst_stack_regs_pat deleting
+       a PARALLEL.
+       * i386.md (extendsfdf2, extenddfxf2,
+       extendsfxf2): Rewrite using a splitter.
+       * i386.c (output_op_from_reg): Remove.
+       * i386.h: Likewise.
+
+Sat Apr 10 13:09:18 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.c (di_operand): Allow SUBREGs as well.
+       (soft_df_operand): Allow SUBREGs as well.
+
+Sat Apr 10 06:14:31 1999  Jan Hubicka  <hubicka@paru.cas.cz>
+
+       * extend.texi (Assembler Instructions with C Expression Operands):
+       Document the i386 floating point operands.
+
+1999-04-10  Mike Stump  <mrs@wrs.com>
+
+       * configure.in (*-*-vxworks): Add vxWorks thread support for all
+       vxWorks targets.
+       * configure.in (thumb-wrs-xvworks): Add vxWorks support for thumb.
+       * configure: Rebuilt.
+
+Sat Apr 10 06:04:50 1999  Donn Terry  (donn@interix.com)
+
+       * i386/t-interix: Use mostly system headers unchanged.
+       Use system assert.h
+       * fixinc/fixinc.interix: Ditto (make almost no-op).
+       * config/x-interix.h (_ALL_SOURCE): add -D
+       * config/x-interix.h (crti.o): Delete dependency.
+       * config/xm-interix.h (ONLY_INT_FIELDS): Define only when bootstrapping.
+       * i386/xm-i386-interix.h: New file.
+       * i386/interix.h (ASM_OUTPUT_LIMITED_STRING): Fix warnings.
+       * i386/i386-interix.h: Renamed from interix.h.
+       * configure.in (interix): Use new files.
+       * configure: Rebuilt.
+
+Sat Apr 10 05:25:28 1999  Daniel Jacobowitz  <dan@debian.org>
+
+       * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Fix conditions
+       for -Dunix and -Dlinux, and remove duplicate definition.
+       Change -Asystem(linux) to -Asystem(posix).
+       (CPP_OS_SOLARIS_SPEC): Fix conditions for -Dunix, -Dsun,
+       -DSVR4, -D__EXTENSIONS__.
+
+       * rs6000/linux.h (CPP_PREDEFINES): Remove -Dunix,
+       -Dlinux, -Asystem(linux), and -Asystem(unix).
+
+Sat Apr 10 05:14:50 1999  Mark Elbrecht  <snowball3@usa.net>
+
+       * i386/djgpp.h (SET_ASM_OP): Define.
+
+       * cccp.c (DIR_SEPARATOR): Move to the top of the file.
+       (is_dir_separator): New function.
+       (simplify_filename): Use it.
+       * collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in place
+       of the DIR_SEPARATOR test.
+       Consider any file starting with a drivename to be absolute.
+       If the absolute filename test fails and EXECUTABLE_SUFFIX is
+       defined, append EXECUTABLE_SUFFIX to the file and try again.
+       * cppinit.c (base_name): Use HAVE_DOS_BASED_FILE_SYSTEM
+       in place of __MSDOS__ and _WIN32.
+       * cppfiles.c (simplify_pathname): Likewise.
+       * gcc.c (IS_DIR_SEPARATOR): Define new macro. Returns true if a
+       character is a directory separator.
+       (find_a_file): Use it.
+       (convert_filename): Likewise.
+       (process_command): Likewise.
+       (do_spec_1): Likewise.
+       (is_directory): Likewise.
+       (main): Likewise.
+       * prefix.c (IS_DIR_SEPARATOR): Define. Tests whether a character is
+       a directory separator.
+       (translate_name): Use it.
+       (update_path): Change DIR_SEPARATOR_2 to DIR_SEPARATOR. Fix
+       warning in block where '/' is changed to DIR_SEPARATOR.
+       * i386/xm-djgpp.h (DIR_SEPARATOR): Set to '/'.
+       (DIR_SEPARATOR_2): New macro. Set to '\'.
+       (HAVE_DOS_BASED_FILESYS): Define.
+       * i386/xm-mingw32.h: Updated copyright. Set
+       DIR_SEPARATOR_2 to '/'. Define HAVE_DOS_BASED_FILE_SYSTEM.
+       * i386/xm-os2.h: Likewise.
+       * winnt/xm-winnt.h: Likewise.
+       * i386/xm-dos.h: Likewise.  Add copyright.
+
+1999-04-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * pdp11.h (TARGET_SWITCHES): Add option to vary assembler syntax.
+       (TARGET_DEFAULT): Possibly use UNIX syntax.
+       (TARGET_UNIX_ASM, TARGET_UNIX_ASM_DEFAULT): New macros.
+       (REGISTER_NAMES): Use "r5" instead of "fp".
+       (ASM_OUTPUT_ALIGN): Use ".even" directive, and abort for any
+       greater alignment.
+       * 2bsd.h (TARGET_UNIX_ASM_DEFAULT): Default to UNIX assembler
+       syntax for 2BSD.
+       * pdp11.c (output_ascii): Use working syntax for ".byte".
+       (print_operand_address): Use "*" instead of "@" when using UNIX
+       assembler syntax.
+
+Sat Apr 10 03:50:12 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * rtl.h (rebuild_jump_labels): Declare.
+       * jump.c (jump_optimize_1): Renamed from jump_optimize.  Make static.
+       Add new argument MARK_LABELS_ONLY.  Quit after mark_all_labels if
+       requested.
+       (jump_optimize, rebuild_jump_labels): New wrapper functions for
+       jump_optimize_1.
+       * toplev.c (rest_of_compilation): Use rebuild_jump_labels instead of
+       running the entire jump optimizer.
+
+       * rtl.h (local_alloc): Returns an integer now.
+       * local-alloc.c (recorded_label_ref): New file scoped variable.
+       (local_alloc): Initialize recorded_label_ref to zero.  Return its
+       value when local allocation has completed.
+       (update_equiv_regs); If we create an equivalence for a LABEL_REF,
+       set recorded_label_ref.
+       * toplev.c (rest_of_compilation): Run the jump optimizer after
+       register allocation and reloading if needed.
+
+Fri Apr  9 21:02:57 1999  Krister Walfridsson  (cato@df.lth.se)
+
+       * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Fix typo.
+       * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+
+1999-04-09  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cpphash.c (special_symbol): When expanding __LINE__, use the
+       top file buffer, not the top buffer.
+
+Fri Apr  9 13:41:04 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * Makefile.in (check-g++, check-gcc, check-g77, check-objc): Add
+       cd .. to TCL_LIBRARY command.
+
+Fri Apr  9 13:04:52 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Only define if
+       not already specified.
+
+Fri Apr  9 11:18:55 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * c-common.c (decl_attributes, A_INIT_PRIORITY): Allow arrays
+       of classes, too.
+
+Fri Apr  9 10:40:10 1999  Kaveh R. Ghazi  <ghazi@snafu.rutgers.edu>
+
+       * rs6000.c (rs6000_override_options, ptt, rs6000_file_start,
+       rs6000_float_const, rs6000_replace_regno, debug_stack_info,
+       rs6000_output_load_toc_table, output_prolog, output_epilog):
+       Const-ify a char*.
+       (output_mi_thunk): Likewise.  Mark parameter `thunk_fndecl' with
+       ATTRIBUTE_UNUSED.  Hide unused variables `r0', `sp', `toc',
+       `schain', `r12', `buf' and `labelno'.
+       (output_ascii): Const-ify a char*.
+       (rs6000_gen_section_name): Initialize variable `last_period'.
+       (rs6000_adjust_priority): Mark parameter `insn' with
+       ATTRIBUTE_UNUSED.
+       (rs6000_trampoline_template, rs6000_dll_import_ref,
+       rs6000_longcall_ref, rs6000_encode_section_info): Const-ify a char*.
+
+       * rs6000.h (offsettable_mem_operand, optimization_options): Add
+       prototypes.
+
+       * rs6000.md (movdi, define_split): Cast a value to HOST_WIDE_INT
+       when comparing against one.
+
+Thu Apr  8 19:20:18 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * expr.c (expand_expr, case ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF):
+       Do not try to optimize a aggregate address which has VOIDmode.
+       Mirrors March 23 change to expand_assignment.
+
+       * flow.c (delete_unreachable_blocks): Do not require EDGE_FALLTHRU
+       for an edge when tidying an edge which connects consecutive basic
+       blocks.
+
+       * flow.c (can_delete_label_p): Do not convert a label into a
+       deleted label here.
+
+       * cse.c (flush_hash_table): New function.
+       (cse_insn): Flush the hash table when we encounter a volatile asm.
+       (cse_basic_block): Use flush_hash_table instead of doing it
+       inline.
+
+       * reload1.c (reload_cse_regs_1): Flush known register values if
+       we encounter a volatile asm.
+
+       * loop.c (strength_reduce): Re-enable Joern's loop improvements.
+
+Thu Apr  8 09:37:40 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.c (arm_print_operand): Undo previous change -
+       always print large constants in decimal.
+
+Thu Apr  8 10:22:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * configure.in (host_xm_file, build_xm_file): Include hwint.h.
+       Use case statements instead of "if test -a ... -a ... -a ..."
+
+       * machmode.h: Don't define HOST_WIDE_INT, etc. Wrap use of
+       HOST_WIDE_INT in #ifdef.
+
+       * mips.h: Include hwint.h instead of providing definitions for
+       HOST_WIDE_INT, etc.  Wrap uses of HOST_WIDE_INT in #ifdef.
+
+Thu Apr  8 06:16:14 1999  John Wehle  (john@feith.com)
+
+       * i386.md (truncdfsf2, truncxfsf2,
+       truncxfdf2): Rewrite using a splitter.
+
+Thu Apr  8 01:26:05 1999  Arg Haas  (ahaas@neosoft.com)
+                         Jeffrey A Law  (law@cygnus.com)
+
+       * freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Avoid ambiguous
+       else statement.
+       * gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+       * linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+       * openbsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+
+Wed Apr  7 22:40:19 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * i960/i960.c (i960_function_prologue): Don't save static chain
+       pointer.
+       * i960/i960.h (STACK_CHAIN_REGNUM): Change from r3 to g12.
+       (TRAMPOLINE_TEMPLATE): Likewise.
+       (FRAME_POINTER_REQUIRED): Check current_function_has_nonlocal_goto.
+       * i960/i960.md (nonlocal_goto): Rewrite.
+
+Tue Apr  6 17:49:49 1999  Philip Blundell  <pb@nexus.co.uk>
+
+       * config/arm/lib1funcs.asm: Test for __ELF__ not __elf__.
+
+Wed Apr  7 14:07:34 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * h8300.c (h8300_adjust_insn_length): Also avoid recognizing
+       ADDR_VEC and ADDR_DIFF_VEC insns.
+
+       * h8300.c (h8300_adjust_insn_length): Avoid trying to recognize
+       USE, CLOBBER or SEQUENCE insns.
+
+       * unroll.c (unroll_loop): For HAVE_cc0 machines, adjust copy_end_luid
+       to account for the uncopied insn that sets cc0 at the end of the loop.
+
+       * unroll.c (copy_loop_body): Always ensure at least two insns
+       are in the copied loop.
+
+Wed Apr  7 14:52:18 1999  Catherine Moore  <clm@cygnus.com>
+
+       * config/mips/elf.h (MAKE_DECL_ONE_ONLY): Define.
+       (UNIQUE_SECTION_P): Define.
+
+1999-04-07  Bruce Korb  <ddsinc09@ix.netcom.com>
+
+       * fixinc/inclhack.tpl & fixincl.tpl:
+       Remove dynamic content from generated files
+
+Wed Apr  7 13:16:22 1999  John Wehle  (john@feith.com)
+
+       * i386.c (output_move_memory): Remove.
+       * i386.h: Likewise.
+
+       * i386.md (movsi, movhi, movstricthi, movqi, movstrictqi,
+       movsf, movdf, movxf, movdi): Check no_new_pseudos instead
+       of (reload_in_progress | reload_completed).
+
+Wed Apr  7 03:16:45 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (reg_no_subreg_operand): New function.
+       * alpha.h (PREDICATE_CODES): Add it.
+       * alpha.md (floatdi?f patterns): Use it for op1.
+
+       * alpha.c (alpha_end_function): Don't flag weak functions.
+
+Wed Apr  7 02:11:55 1999  Richard Henderson  <rth@cygnus.com>
+
+       * expr.c (expand_builtin) [BUILT_IN_RETURN_ADDRESS]: Use
+       copy_to_mode_reg; don't force constants into a register.
+
+Tue Apr  6 22:55:25 1999  Richard Henderson  <rth@cygnus.com>
+
+       * toplev.c (compile_file): Typo flow_dump -> flow2_dump.
+
+1999-04-06  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * pdp11.c (simple_memory_operand): Add default case in switch.
+       * pdp11.h (TARGET_SWITCHES): Add help strings.
+       (NOTICE_UPDATE_CC): Don't include excess argument to format.
+       (ASM_OUTPUT_DOUBLE_INT): Remove.
+
+Tue Apr  6 22:09:40 1999  Richard Henderson  <rth@cygnus.com>
+
+       * expr.c (expand_builtin_setjmp): Put setjmp return label on
+       nonlocal_goto_handler_labels for flow.
+
+Tue Apr  6 22:05:21 1999  Jan Hubicka  <hubicka@paru.cas.cz>
+                         Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (verify_flow_info): New function.
+       (find_basic_blocks): Call it if ENABLE_CHECKING.
+       (merge_blocks): Don't merge if there are non-deletable labels.
+       * toplev.c (fatal_insn): Allow a printf-style arg list.
+       * toplev.h (fatal_insn): Update prototype.
+
+Tue Apr  6 16:18:58 1999  Jan Hubicka  <hubicka@paru.cas.cz>
+
+       * flow.c (split_edge) update correctly flow graph, disable
+       EDGE_CRITICAL flag on the split edge, update NUSES for new label.
+
+Tue Apr  6 15:47:51 1999  Richard Henderson  <rth@cygnus.com>
+
+       * emit-rtl.c (gen_rtx_CONST_DOUBLE): Use XWINT not XINT.
+       Clear third and following slots, if they exist.
+
+Tue Apr  6 15:45:28 1999  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (create_basic_block): Make sure the bb note is in the block.
+       (can_delete_note_p): Rename from delete_note_p.
+       (delete_insn_chain): Preserve undeleteable labels too.
+       (tidy_fallthru_edge): Use next_real_insn instead of confusing
+       inline code.
+
+1999-04-06  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cppexp.c (parse_charconst): Initialize c.
+       (cpp_parse_expr): Initialize rprio.
+       * cppfiles.c (merge_include_chains): Initialize prev.
+       (finclude): Set fp->line_base to fp->buf before returning.
+       * cpphash.c (macroexpand): Initialize token.
+       * cppspec.c (lang_specific_driver): Change suff to
+       const char *const *.
+
+1999-04-06  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cppinit.c (install_predefs): Delete function.
+       (cpp_start_read): Don't call install_predefs.
+       (cpp_handle_option): Remove case 'u' and all refs to
+       opts->inhibit_predefs.
+       (print_help): Don't mention -undef.
+       (initialize_builtins): Define __HAVE_BUILTIN_SETJMP__, to
+       match cccp.
+       * cpplib.h (struct cpp_options): Remove inhibit_predefs
+       member.
+
+       * cccp.c (predefs): Delete variable.
+       (main): Remove case 'u' in argument parse loop,
+       'inhibit_predefs' variable, and the code block that would
+       process CPP_PREDEFINES.
+       (initialize_builtins): Don't define __OBJC__, the driver will
+       do that.
+
+       * gcc.c (default_compilers): Remove -undef from all specs that
+       invoke a C preprocessor.
+       * ch/lang-specs.h: Likewise.
+       * cp/lang-specs.h: Likewise.
+       * f/lang-specs.h: Likewise.
+       * objc/lang-specs.h: Likewise.
+
+Mon Apr  5 11:55:31 1999  Donn Terry  (donn@interix.com)
+
+       * Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix misapplied patch.
+
+Mon Apr  5 11:51:38 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * m68k.md (movdf): Hide GPR sources & destinations from regclass.
+
+Mon Apr  5 09:54:42 1999  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Mon Apr  5 05:55:15 1999  Bruce Korb  <ddsinc09@ix.netcom.com>
+
+       * fixincl.tpl: Separate "-e" from its argument, a la
+       the Sat Apr  3 17:05:13 1999 fix.
+       * genfixes: Ensure that the server shell is _NOT_ csh.
+
+Mon Apr  5 03:52:30 1999  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Mon Apr  5 04:47:14 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * i386.c (x86_double_with_add): Turn off for Pentium and PPro.
+       (small_shift_operand, output_ashlsi3): New functions.
+       * i386.h (small_shift_operand, output_ashlsi3): Declare.
+       * i386.md (ashlsi3): Simplify ahlsi3 patterns.  Remove splitters
+       that are no longer needed.
+
+Sun Apr  4 04:05:04 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * stmt.c (expand_loop_end): When copying the loop exit test,
+       do not walk into a nested loop.
+
+Sun Apr  4 00:14:54 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * fixinc/hackshell.tpl: Skip links to directories, to avoid
+       removing them.
+       * fixinc/inclhack.tpl: Likewise.
+       * fixinc/fixinc.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
+
+Sat Apr  3 23:46:13 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md (addsi3, iorsi3, xorsi3, adddi3, iordi3, xordi3,
+       movsi_got, movsi, movsf): Use no_new_pseudos.
+       * rs6000.c (rs6000_got_register): Likewise.
+       (offsettable_mem_opereand): Use || not |.
+
+Sat Apr  3 22:02:56 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * acconfig.h (ENABLE_CHECKING): Remove redundant #undef.
+       * config.in: Rebuilt.
+
+Sat Apr  3 16:22:59 1999  Toshiyasu Morita  (tm@netcom.com)
+
+       * gcc.texi: Add info on regmove pass.
+
+       * regmove.c (fixup_match_1): Consistently evaluate
+       HAVE_POST_INCREMENT and HAVE_POST_DECREMENT.
+
+Sat Apr  3 19:21:05 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER): Use grep
+       instead of test and sed to check whether they're GNU programs.
+       * configure: Rebuilt.
+
+Sat Apr  3 17:57:35 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * Makefile.in (install-headers-tar, install-headers-cpio): Avoid
+       problems with CDPATH.
+       Reported by Ralf Canis <canis@bigfoot.com>
+
+Sat Apr  3 13:50:16 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * fixinc.x86-linux-gnu: Deleted.
+
+Sat Apr  3 17:05:13 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * inclhack.tpl: Insert spaces between `sed -e' and '...'.
+       Reported by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+       * fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Regen.
+
+Sat Apr  3 14:54:46 1999  Craig Burley  <craig@jcb-sc.com>
+
+       * tree.def (BLOCK): Fix typo in comment.
+
+Sat Apr  3 00:53:29 1999  John Wehle  (john@feith.com)
+
+       * i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2,
+       floatsixf2, floatdixf2): Rewrite using a splitter.
+
+Fri Apr  2 17:36:10 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.c (arm_print_operand): Print large constants in
+       hex rather than decimal.
+
+Fri Apr  2 17:23:58 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * print-rtl.c (print_rtx): Use both HOST_WIDE_INT_PRINT_DEC
+       and HOST_WIDE_INT_PRINT_HEX to display constants.
+
+1999-04-02  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * config/i386/i386.h: Document all TARGET_SWITCHES or add
+       explicit null initializer.
+
+       * config/i386/cygwin.h: Document all SUBTARGET_SWITCHES.
+       * config/i386/dgux.h: Likewise.
+       * config/i386/osf1elf.h: Likewise.
+       * config/i386/win32.h: Likewise.
+       * config/i386/osfrose.h: Likewise.  Drop obsolete -mno-ident option.
+
+Fri Apr  2 17:49:44 1999  Toshiyasu Morita  <tm@netcom.com>
+
+       * regmove.c (fixup_match_1): Remove now useless if (0).
+
+Sat Apr  3 11:37:20 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * tm.texi (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
+       USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT): Document.
+       (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
+       USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Fix documentation.
+
+       * rtl.h (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
+       USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT,
+       USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
+       USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Provide default
+       definition.
+
+       * expr.c (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
+       USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Delete default
+       definition.
+
+Fri Apr  2 16:03:05 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * fixinc.dgux, fixinc.interix, fixinc.irix, fixinc.ptx: Deleted.
+       * fixinc.sco, fixinc.svr4, fixinc.winnt, fixinc.wrap: Likewise.
+
+Fri Apr  2 15:46:25 1999  Donn Terry  (donn@interix.com)
+
+       * configure.in: Set and substitute quoted_cc_set_by_configure.
+       * configure: Rebuilt.
+       * Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix quoting problem with ``.
+
+Fri Apr  2 14:35:45 1999  Stan Cox  <scox@cygnus.com>
+
+       * config/i386/cygwin.h (CPP_SPEC): Use mingw_include_path instead
+       of a hardcoded path for -mno-cygwin.
+       (mingw_include_path): New.
+
+1999-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * pdp11.c: Include "recog.h".
+       (output_function_prologue): Remove unused variables `nregs', `i',
+       `offset'.
+       (output_function_epilogue): Remove unused variables
+       `may_call_alloca', `nregs', `regno', `adjust_fp'.
+       (output_ascii): Mark as returning void.
+       (print_operand_address: Likewise.
+       (simple_memory_operand): Remove unused variables `plus0', `plus1',
+       `offset'.
+       * pdp11.h: Declare functions `arith_operand',
+       `const_immediate_operand', `expand_shift_operand',
+       `legitimate_address_p', `notice_update_cc_on_set', `output_ascii',
+       `output_function_epilogue', `output_function_prologue',
+       `print_operand_address', `register_move_cost',
+       `simple_memory_operand'.
+       (HARD_REGNO_MODE_OK): Parenthesize `REGNO' arg.
+       (REGNO_REG_CLASS): Likewise.
+       * pdp11.md: Add explicit `int' to `static count' (in two places).
+       (addhi3): Add explicit braces to avoid ambiguous else.
+       (addqi3): Likewise.
+       (ashlhi3): Likewise.
+
+Fri Apr  2 14:17:10 1999  Jerry James  <jerry@cs.ucsb.edu>
+
+       * gcc/invoke.texi: Add documentation for additional supported
+       MIPS CPU types, options -mips16 and -mentry, and ABI and ISA
+       defaults.
+
+Fri Apr  2 14:12:06 1999  John Wehle  (john@feith.com)
+
+       * i386.md: Delete floating point compare, add, subtract,
+       multiply, and divide patterns which allowed integer
+       operands.
+       * i386.c (output_387_binary_op): Delete unused code.
+       (output_float_compare): Likewise.
+
+Fri Apr  2 11:53:37 1999  John Wehle  (john@feith.com)
+
+       * i386.md (movsf+1, movdf+1, movxf+1): Update constraints
+       so that SECONDARY_MEMORY_RELOAD is used.  Remove dead code.
+
+1999-04-02  Bruce Korb  <ddsinc09@ix.netcom.com>
+
+       * fixinc/mkfixinc.sh: Added support for x86-interix.
+       * fixinc/fixinc.interix: Fixincludes script, slight changes
+       from ./fixinc.interix.  Untested (needs interix box).
+       * fixinc/inclhack.def:
+       Complete the change to the 'fixinc.tmp' file.
+       Fixed regex for finding C++ headers.
+       * fixincl.x, fixincl.sh, inclhack.sh: Regenerate.
+
+Fri Apr  2 11:36:12 1999  Jan Hubicka  (hubicka@paru.cas.cz)
+
+       * i386.c (print_operand_address, case REG): Do not use ESI addressing
+       mode for the K6.
+
+       * i386.c (print_operand_address, case MULT): Use more efficient
+       encoding (mult (reg) (const_int 2)).
+
+Thu Apr  1 17:01:50 1999  Richard Henderson  <rth@cygnus.com>
+
+       Move over patch from Bernd Schmidt from GC branch:
+       * emit-rtl.c (gen_rtx_CONST_DOUBLE): New function.
+       (gen_rtx): Call it.  Tidy cases.
+       * rtl.h (gen_rtx_CONST_DOUBLE): Prototype it.
+       * gengenrtl.c: Add commentary.
+       (special_rtx): Also match CONST_DOUBLE.
+       (gencode): Emit call to memset instead of bzero.
+
+Fri Apr  2 12:58:26 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (ashlhi3, lshrhi3, ashrhi3): Force operand 1
+       into a register if shift count not constant.
+       (ashlhi3_reg, lshrhi3_reg, ashrhi3_reg): Ensure that operand 1
+       is a register.
+
+Fri Apr  2 12:19:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (*db): Enable pattern if TARGET_LOOP_UNSIGNED
+       is non-zero.
+       (movstrqi_small, movstrqi_large, *cmpstrqi): Add + modifier to address
+       register constraints.
+       (*movhi_clobber+1): Modify splitter pattern to handle destination
+       register that is used in the source address.
+       (*xorhi3_clobber): Replace AND with XOR in call to legitimize_operands.
+
+Fri Apr  2 12:16:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.h: Added more comments.
+
+Fri Apr  2 11:58:22 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_emit_move_sequence): Force invalid QImode
+       constants into memory if we get called directly from gen_move_insn
+       rather than emit_move_insn.
+       (c4x_legitimize_address): Fix up LABEL_REF addresses.
+
+Thu Apr  1 12:04:05 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * expr.c (store_field): When check direct_store, assume all complex
+       modes can be directly stored.
+
+1999-04-01  Bruce Korb  <ddsinc09@ix.netcom.com>
+
+       * fixinc/genfixes: New shell script that runs autogen
+       to create the generated files.
+
+1999-04-01  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * Makefile.in (cppmain$(exeext)): Depend on intl.o.  Link in intl.o.
+
+Thu Apr  1 03:48:34 1999  H.J. Lu  (hjl@gnu.org)
+
+       * i386.c (output_fp_conditional_move): Abort for LT, LE, GE, and GT
+       signed integer comparisons.
 
-       * output.h (current_function_outgoing_args_size): New var.
+       * i386.c (output_int_conditional_move): Use "enum rtx_code" for code
+       type.
 
-       * rtl.h (OUTGOING_ARGS_SIZE): New field in INLINE_HEADER.
-       (PRETEND_ARGS_SIZE): No longer needed.
-       (virtual_..., VIRTUAL_...): Define virtual register numbers and rtx.
+       * i386.c (notice_update_cc): No need to check the INT mode for
+       conditional moves since FLOAT conditional moves don't affect cc0.
 
-       * rtlanal.c (rtx_equal_p): Update comment on use of
-       REG_FUNCTION_VALUE_P.
+Thu Apr  1 02:17:18 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * stmt.c (expand_goto): Just restore fp; non-local goto handler
-       will restore ap if needed.
-       (expand_return): Don't use STARTING_FRAME_OFFSET here.
-       (expand_end_bindings): Adjust fp in nonlocal-goto handler.  If needed,
-       reload ap from its save area in the frame; allocate save area if none.
-       (expand_decl): Use new function allocate_dynamic_stack_space.
+       * fixinc/inclhack.def (zzz_ki_syscalls, zzz_time): Fix trigger
+       string to only match on hpux11.
+       * fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
 
-       * toplev.c (rest_of_compilation): Instantiate virtual registers.
-       Clear rtx_equal_function_value_matters immediately after possibly
-       saving current routine for inlining.
+Thu Apr  1 01:09:27 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
-       * stupid.c (stupid_life_analysis): Don't try to allocate virtual
-       registers (which don't exist any more).
+       * fixinc/hackshell.tpl: Complete transition to fixinc.tmp.
+       * fixinc/inclhack.sh: Rebuilt.
 
-Thu May 10 13:59:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * fixinc/inclhack.def: Fix typos in c_asm.h fix.
+       * fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
 
-       * reload1.c (modes_equiv_for_class_p): Don't compare HARD_REGNO_NREGS.
+Wed Mar 31 17:20:11 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * combine.c (subst): Simplify
-       (sign_extend:M (subreg:N (ashiftrt:M (sign_extend:M (any:N ...))))).
+       * toplev.c (rest_of_compilation): Allow dbr_schedule to write to
+       the dump file too.
 
-       * fixincludes: Verify that a link leads back to /usr/include
-       by checking name of dir it arrives in.  If so, use rest of dirname
-       as target for new link.
+Wed Mar 31 12:32:43 1999  Richard Henderson  <rth@cygnus.com>
 
-       * Makefile.in (tmpgnulib): Put dummy entry in loop with LIBFUNCS_EXTRA
-       so loop is never null.  Then ignore that entry when it comes up.
+       * flow.c (find_basic_blocks): New argument `do_cleanup'.
+       Conditionally call delete_unreachable_blocks.
+       (free_basic_block_vars): Zero ENTRY/EXIT data.
+       (allocate_for_life_analysis): Kill.  Split into...
+       (allocate_bb_life_data, allocate_reg_life_data): ... new functions.
+       (life_analysis_1): Update.
+       * gcse.c (gcse_main): Update find_basic_blocks call.
+       * toplev.c (rest_of_compilation): Likewise.
+       * stupid.c (stupid_life_analysis): Update life data calls.
+       * rtl.h, output.h: Update prototypes.
 
-       * gcc.c (default_compilers): Add explicit suffix to arg of -dumpbase.
+Wed Mar 31 12:10:00 1999  Bruce Korb  <ddsinc09@ix.netcom.com>
 
-Tue May  8 13:54:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * inclhack.def (several): Added spaces in tests to ensure
+       correct shell syntax.  Added c_asm.h fix from fixincludes.
+       Also corrected the corrected fix to C++ comments :-}
 
-       * tm-ultrix.h: New file.
+       * inclhack.tpl: Changed method of traversing symlink trees
+       so that file name matching will work correctly.
 
-Mon May  7 18:47:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * fixincl.c, hackshell.tpl: Fallout from above.
+       * fixincl.x, inclhack.sh, fixincl.sh: Rebuilt.
 
-       * i386.md (test... recognizers): Output symbolic constant first.
+Tue Mar 30 10:43:49 1999  Philip Blundell  <pb@nexus.co.uk>
 
-Sun May  6 22:51:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/arm/aout.h (DBX_DEBUGGING_INFO): Avoid redefinition if
+       dbxelf.h was previously included.
+       (CPP_APCS_PC_DEFAULT_SPEC): No need to undefine.
 
-       * function.c (fixup_memory_subreg): Make a sequence if -fforce-addr.
+       * config/arm/linux-elf.h (FP_DEFAULT): Correctly override the
+       definition from arm.h.
 
-       * fixincludes: When going to directory of link name, don't lose  
-       if name has no directory.
-       Move the code to fix netinet/ip.h; was in the middle of something.
+Wed Mar 31 10:33:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile.in (tmpgnulib): Test LIBFUNCS_EXTRA for nonempty.
+       * Makefile.in (c-gperf.h): Generate using gperf language 'C', not
+       'KR-C', so gperf uses the `const' keyword on strings.
 
-Sun May  6 08:29:27 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-parse.gperf (resword): Const-ify a char*.
 
-       * Makefile.in (LIBFUNCS): Remove extraneous "\".
+Wed Mar 31 01:49:31 1999  Ian Lance Taylor  <ian@zembu.com>
 
-       * Makefile.in (stamp-gnulib2): Move "-" to proper line.
+       * t-rtems (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
 
-       * gnulib2.c (clear_cache): Ignore routine unless INSN_CACHE_SIZE
-       is defined (avoids cpp-detected divide-by-zero).
+Wed Mar 31 00:50:48 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * expr.c (safe_from_p): Don't blow up when passed a null tree.
+       * system.h (STDERR_FILENO): Fix typo.
 
-       * varasm.c (get_pool_size): New function to return constant pool size.
+       * inclhack.def (bool): Also fix bogus bool in curses_colr/curses.h.
+       * fixincl.x, inclhack.sh, fixincl.sh: Rebuilt.
 
-Fri May  4 16:11:54 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Mar 30 20:51:40 1999  Mark Mitchell  <mark@codesourcery.com>
 
-       * expr.c (safe_from_p): If EXP has some rtx, just check it.
-       Handle TREE_LIST, RTL_EXPR, and WITH_CLEANUP_EXPR.
-       Note that CALL clobbers memory and hard registers.
-       Look at enclosed object for SUBREG, but SUBREG of a hard reg is unsafe.
+       * alias.c (alias_set_compare): Remove.
+       (record_alias_subset): Use splay_tree_compare_ints instead of
+       alias_set_compare.
+       (init_alias_once): Likewise.
+       * cse.c: Include splay-tree.h.
+       (reg_qty): Remove.
+       (reg_tick): Likewise.
+       (reg_table): Likewise.
+       (cse_reg_info): New structure.
+       (cse_reg_info_free_list): New variable.
+       (cse_reg_info_tree): Likewise.
+       (cached_regno): Likewise.
+       (cached_cse_reg_info): Likewise.
+       (all_minus_one): Remove.
+       (consec_ints): Likewise.
+       (GET_CSE_REG_INFO): New macro.
+       (REG_TICK): Likewise.  Use throughout instead of reg_tick.
+       (REG_IN_TABLE): Likewise.  Use throughout instead of reg_in_table.
+       (REG_QTY): Likewise.  Use throughout instead of reg_qty.
+       (get_cse_reg_info): New function.
+       (free_cse_reg_info): Likewise.
+       (new_basic_block): Reinitialize cse_reg_info_tree instead of
+       reg_tick, all_minus_one, and consec_ints.
+       * Makefile.in (cse.o): Depend on splay-tree.h
 
-       * expr.c (store_constructor): Now that safe_from_p has been applied
-       to the target, need not avoid hard register targets.
-       Abort if called with neither ARRAY_TYPE or RECORD_TYPE.
+Tue Mar 30 13:19:36 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * reload.c (find_equiv_reg): Handle goal of (plus (sp) (const)).
+       * libgcc2.c (throw_helper): Just return the SP offset, rather than
+       a whole udata.  Include args_size in the offset.
+       (__throw, __rethrow): Adjust.
 
-       * Makefile.in (STAGESTUFF): Include hard-params.
+Tue Mar 30 11:39:27 1999  Craig Burley  <craig@jcb-sc.com>
 
-Fri May  4 15:33:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * extend.texi (Extended Asm): Delete spurious `b' before
+       `@end example', which was confusing texi2html.
 
-       * gcc.c (add_prefix): New arg WARN.  Record in prefix_list.
-       (main): Calls changed.  Pass nonzero for -B prefixes.
-       Later, call unused_prefix_warning.
-       (unused_prefix_warning): Warn about prefixes never used.
+Tue Mar 30 00:26:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
-Thu May  3 16:56:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * dwarf2out.c (output_line_info): Don't emit redundant info.
+       Do start a new row if the file changes and the line # doesn't.
 
-       * print-tree.c (print_node): Align the `align' line with the others.
+Mon Mar 29 15:48:39 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * expmed.c (store_bit_field): Maximum size for loading mem struct
-       into reg comes from the mode of the value to be stored.
-       Alignment is no restriction if it matches BIGGEST_ALIGNMENT.
-       Always do the real work in SImode if couldn't use MEM.
-       (extract_bit_field): Likewise.
+       * invoke.texi (Invoking G++, C++ Dialect Options): Update.
 
-       * combine.c (subst): Handle (sign_extend:M (subreg (sign_extract:M)))
-       on big-endian machine like corresponding zero_extend case.
+Mon Mar 29 15:05:39 1999  Richard Henderson  <rth@cygnus.com>
 
-       * combine.c (try_combine): Use rtl_equal_p instead of == when
-       testing for sources and destinations that match.
+       * except.c (start_dynamic_handler): Force jmp_buf address to
+       and operand before moving to memory.
 
-       * pyr.md (bitw recognizer): Set CC_NO_OVERFLOW.
+Mon Mar 29 15:11:10 1999  Craig Burley  <craig@jcb-sc.com>
 
-Thu May  3 13:03:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * invoke.texi (Code Gen Options): Attempt to clarify
+       -fcheck-memory-usage.  Minor edits to -fprefix-function-name.
 
-       * expr.c (expand_expr, case COND_EXPR): Can always use original
-       target if specified.
-       In "X ? A + B : A" case, use safe_from_p to see if target conflicts
-       with B.
+Mon Mar 29 20:52:47 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * cse.c (cse_insn): Don't rewrite (set REG0 REG1) if REG1 is a hard
-       register even if is REG0 cheaper.
+       * loop.c (maybe_eliminate_biv): For libcalls that set a giv, skip to
+       end of libcall.
 
-Thu May  3 12:04:19 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Mar 29 20:35:49 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * reload1.c (reload): Handle multiple size groups for one class.
+       * sh.md (mulsi3): Tag an extra REG_EQUAL note to the middle insn.
 
-       * stdarg.h: Typo in conditional.
+Mon Mar 29 11:50:34 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
 
-Wed May  2 16:34:25 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * pa.h (HAVE_PRE_INCREMENT): Disable when optimizing for a PA8000
+       class machine.
+       (HAVE_PRE_DECREMENT, HAVE_POST_INCREMENT): Likewise.
+       (HAVE_POST_DECREMENT): Likewise.
 
-       * tm-sun3.h (CC1_SPEC): Ignore -target.
-       (WORD_SWITCH_TAKES_ARG): Define it.
-       * tm-sparc.h (CC1_SPEC): Ignore -target and -dalign.
-       (WORD_SWITCH_TAKES_ARG): Define it.
+Mon Mar 29 08:24:43 1999  Bruce Korb  <korb@datadesign.com>
 
-Wed May  2 09:38:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * fixinc/mkfixinc.sh: Fix portability problems with old shells.
 
-       * cse.c (cse_insn): Always replace registers with oldest equivalent,
-       including the case when the destination is present in the source.
+       * fixinc/README: Updated for release announcement
 
-Tue May  1 15:55:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Mar 28 20:26:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * gnulib2.c (__adddi3, __subdi3): New, simpler algorithm.
+       * recog.h (insn_outfun, insn_operand_predicate): Add prototype
+       arguments.
 
-Tue May  1 14:48:03 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * rtl.h (note_stores): Likewise.
 
-       * Makefile.in: Insert "else true;" in *_ALLOCA macros.
+       * rtlanal.c (note_stores): Likewise.
 
-       * stor-layout.c (mode_for_size): No longer static.
-       Accept LIMIT parameter to limit mode to MAX_FIXED_MODE_SIZE.
-       (layout_decl, layout_type): Pass appropriate limit parameter to
-       mode_for_size.
+Sun Mar 28 15:34:28 1999  Richard Henderson  <rth@cygnus.com>
 
-Tue May  1 13:09:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * varasm.c (output_constant_pool): Always mark the constant pool.
 
-       * stmt.c (assign_parms): Don't make entry_parm and stack_parm valid.
-       Leave them explicit stack slots.
-       * explow.c (validize_mem): Copy it, don't alter it.
+Sun Mar 28 16:09:01 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
 
-       * out-m68k.c (standard_68881_constant_p): Handle HOST_WORDS_BIG_ENDIAN.
+       * pa.md (pa7100LCshiftmem, pa7100LCalu): Change simultaneity.  Use
+       shift/mem ops in pa7100LCalu.
 
-       * integrate.c (save_for_inline): Copy reg notes after all insns.
+       * pa.c (pa_adjust_cost): Don't do cost adjustments on pa8000.
+       (pa_reorg): Don't call pa_combine_instructions on pa8000.
 
-       * combine.c (subst): When checking reg_last_set, verify nonzero.
+Sun Mar 28 15:27:26 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * gcc.c (default_compilers): Use %b, not %i, after -dumpbase.
+       * reload1.c (reload): Remove accidental code duplication.
 
-       * stor-layout.c (make_unsigned_type): Change like make_signed_type.
+Sun Mar 28 12:22:12 1999  Robert Lipe  (robertlipe@usa.net)
 
-Tue May  1 07:36:21 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * i386/sysv5.h: New file to describe UnixWare7/SVR5.
+       * configure.in (i?86-UnixWare7*-sysv): Use it.
+       * i386/udk.h: Use sysv5.h.  Now uses Dwarf-2.
 
-       * tm-m68k.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Allocate space
-       for local variables even if no frame pointer; adjust size to account
-       for place where old frame pointer would have been placed.
-       (INITAL_FRAME_POINTER_OFFSET): Add frame size instead of subtracting
-       it and perform adjustment described above.
+Sun Mar 28 01:15:04 1999  Jeff Law  (law@cygnus.com)
 
-       * expr.c (validate_subtarget): Deleted.
-       (expand_expr): Replace calls to validate_subtarget with safe_from_p.
+       * version.c: Bump for snapshot.
 
-Mon Apr 30 01:39:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Mar 28 00:44:27 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * Makefile.in (install-headers): Simplify loop by cd'ing to srcdir.
+       * sdbout.c (sdbout_symbol): Do not call build_pointer_type, build
+       one on the fly and do not cache the result.
 
-       * stor-layout.c (layout_type): Get alignment of all scalar types
-       from the mode.
-       (make_signed_type): Get rid of ptr_size_node, function_size_node.
-       * tm-*.h (POINTER_BOUNDARY): Deleted.
+       * gcc.cps, cpp.cps: Delete unwanted files.
 
-       * c-typeck.c (build_unary_op): For ADDR_EXPR of COMPONENT_REF,
-       mark the PLUS_EXPR constant if appropriate.
-       (parser_build_binary_op): Record C_SET_EXP_ORIGINAL_CODE here.
-       (build_binary_op): Not here.
+Sat Mar 27 23:37:40 1999  John Wehle  (john@feith.com)
 
-       * fold-const.c (size_int): Make arg unsigned.
+       * i386.md (movdicc+3, movdicc+4): Rewrite using split_di.
+       * i386.c (output_int_conditional_move): Delete unused code.
 
-       * varasm.c (output_addressed_constants): Fixed typo.
+Sat Mar 27 21:17:36 1999  David Edelsohn  <edelsohn@gnu.org>
 
-       * cccp.c (macarg1): `\' not special outside strings.
+       * rs6000/{aix41.h,aix43.h} (ASM_CPU_SPEC): Add 604e.
 
-       * c-typeck.c (build_unary_op): In increment ops,
-       typo checking for ptr to void/function.
-       Check original type for this and for amount of increment.
+Sat Mar 27 16:13:50 1999  Jeffrey A Law  (law@cygnus.com)
 
-Sat Apr 28 16:43:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * flow.c (mark_used_regs): Improve handling of ASMs.
 
-       * c-typeck.c (build_indirect_ref): Error if target is incomplete type.
+1999-03-26  Zack Weinberg  <zack@rabi.columbia.edu>
 
-Fri Apr 27 13:56:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * Makefile.in (xcpp, cppspec.o): New targets.
+       (CPP_INSTALL_NAME): New macro.
+       (install-cpp): Install xcpp.  Use CPP_INSTALL_NAME.
+       (all.build, start.encap): Build xcpp.
 
-       * reload1.c (order_regs_for_reload): Count multi-word pseudos right.
+       * cppspec.c: New file, implements argument filtering for a
+       user-visible C preprocessor.
+       * cpp.sh: Removed.
 
-Thu Apr 26 17:52:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Mar 26 20:41:46 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * cccp.c (handle_directive): Don't pass directive through if no_output.
+       * Makefile.in (stmp-fixinc): Use tooldir instead of gcc_tooldir.
 
-       * c-parse.y (yylex): Large hex constants are signed if -traditional.
+Fri Mar 26 16:02:37 1999  Nick Clifton  <nickc@cygnus.com>
 
-Tue Apr 24 13:57:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * configure.in (arm-*-vxworks*): Just include arm/vxarm.h.
+       * configure: Regenerate.
+       * config/arm/vxarm.h: Define SUBTARGET_CPU_DEFAULT before
+       including arm/coff.h
 
-       * i860.md, m88k.md: Add missing = in some output constraints.
+1999-02-16  Scott Bambrough  <scottb@corelcomputer.com>
 
-       * tm-ns32k.h (POINTER_BOUNDARY): Now 32.
+       * configure.in (arm*-*-linux-gnu*): Set thread_file to 'posix' if
+       --enable-threads[={yes,pthreads,posix}] is passed as a command
+       line parameter to configure.
 
-       * out-*.c (output_move_double): Use split_double.
-       * final.c (split_double): New function, handles byte-order differences.
+       * configure: Regenerate.
 
-       * stmt.c (expand_decl): Check size for integer, not "constant".
-       * stor-layout.c (layout_decl, layout_type): Likewise.
-       * c-decl.c (finish_decl): Likewise.
-       * c-typeck.c (digest_init): Likewise.
-       * varasm.c (assemble_variable, output_constructor): Likewise.
-       (decode_addr_const): Distinguish getting rtl by code alone.
-       (output_addressed_constants): No need to abort.
-       In ADDR_EXPR case, check TREE_CODE_CLASS.
+       * gcc/config/arm/t-linux (TARGET_LIBGCC2_CFLAGS): Include -fPIC.
 
-       * c-tree.h (C_DECLARED_LABEL_FLAG): New flag.
-       * c-parse.y (label declarations): Set it.
-       * c-decl.c (pop_label_level, lookup_label): Use it.
+Fri Mar 26 19:42:19 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * expr.c (string_constant): Accept variable offsets.
-       (expand_expr): Check for explicit integers, not constants, in sizes.
-       (safe_from_p): No need to check TREE_CONSTANT.
+       * loop.c (combine_givs): Fix index into can_combine when doing
+       benefit adjustment for remaining givs when having combined a giv.
 
-       * Makefile.in (prefix): Now replaces /usr/local instead of adding on.
+Fri Mar 26 11:38:01 1999  Nick Clifton  <nickc@cygnus.com>
 
-Mon Apr 23 02:01:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Define.
 
-       * cplus-tree.h (DECL_FRIENDLIST): Use DECL_INITIAL.
+Fri Mar 26 10:48:27 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * expr.c (expand_assignment): Use expr_size to compute size.
+       * config/arm/linux-elf.h: Include dbxelf.h
 
-Sun Apr 22 21:53:55 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Mar 26 10:43:47 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * expr.c (expand_assignment, expand_expr): Check for COMPONENT_REF
-       before testing DECL_BIT_FIELD.
+       * config/svr4.h: Include new header file dbxelf.h.
+       (DBX_DEBUGGING_INFO): Remove definition.
+       (DBX_USE_BINCL): Remove definition.
+       (DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition.
+       (ASM_IDENTIFY_GCC): Remove definition.
+       (ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition.
+       (ASM_OUTPUT_SOURCE_LINE): Remove definition.
+       (DBX_FUNCTION_FIRST): Remove definition.
+       (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Remove definition.
 
-       * stor-layout.c (convert_units): Deleted.  All calls eliminated.
+       * config/elfos.h: Include new header file dbxelf.h.
+       (DBX_DEBUGGING_INFO): Remove definition.
+       (DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition.
+       (ASM_IDENTIFY_GCC): Remove definition.
+       (ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition.
+       (ASM_OUTPUT_SOURCE_LINE): Remove definition.
+       (DBX_FUNCTION_FIRST): Remove definition.
 
-       * TREE_CONSTANT renamed from TREE_LITERAL.
-       * TYPE_READONLY split off from TREE_READONLY.
-       * TREE_SIDE_EFFECTS renamed from TREE_VOLATILE.
-       * TYPE_VOLATILE split off from TREE_VOLATILE/TREE_THIS_VOLATILE.
+       * config/dbxelf.h: New header file.
+       (DBX_DEBUGGING_INFO): Define.
+       (DBX_BLOCKS_FUNCTION_RELATIVE): Define.
+       (DBX_FUNCTION_FIRST): Define.
+       (DBX_USE_BINCL): Define.
+       (DBX_CONTIN_LENGTH): Define.
+       (ASM_IDENTIFY_GCC): Define.
+       (ASM_IDENTIFY_GCC_AFTER_SOURCE): Define.
+       (ASM_OUTPUT_SOURCE_LINE): Define.
+       (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Define.
 
-Sun Apr 22 15:26:50 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Fri Mar 26 01:59:15 1999  "Charles M. Hannum"  <root@ihack.net>
 
-       * loop.c (strength_reduce): Avoid problems in biv elimination by not
-       being forced to use giv's that have complex new_reg values while the
-       underlying giv is marked maybe_dead; clear maybe_dead in this case.
+       * fold-const.c (fold_truthop): Optimize bitfield references with
+       different masks as long as their size and bit position are the same.
 
-       * loop.c: Make verification of loops take linear, not quadratic, time.
-       (verify_loop, can_jump_in_range_p): Deleted.
-       (prescan_loop): New function, contents are from old verify_loop.
-       (scan_loop): Call prescan_loop.
-       (find_and_verify_loops, mark_loop_jump): New functions.
-       (loop_optimize): Allocate new tables and call find_and_verify_loops
-       once instead of calling verify_loop for each loop.
-       Use data from find_and_verify_loops instead of scanning all insns.
+       * fold-const.c (fold_truthop): Build a type for both the lhs and
+       rhs and use it appropriately.
 
-       * expr.c (safe_from_p): New function.
-       (validate_subtarget): Use safe_from_p.
-       (expand_expr, case CONSTRUCTOR): Likewise.
+       * fold-const.c (fold_truthop): Mask the lhs and rhs after merging
+       adjacent bitfield references.
 
-       * expr.c (store_expr): Handle cases where EXP is a compound
-       or conditional expression specially to avoid unnecessary temporaries.
+       * fold-const.c (fold_truthop): Verify that the lhs and rhs are
+       in the same bit position when optimizing bitfield references
+       which have the same mask.
 
-Sun Apr 22 00:15:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Mar 25 22:53:27 1999  Martin von Löwis  <loewis@informatik.hu-berlin.de>
 
-       * tree.h (struct tree_type): Delete size_unit.
-       (struct tree_decl): Delete size_unit and voffset_unit.
-       Reduce lang_flags to save 1 word.
+       * gcc.texi (Copy Assignment): New node.
 
-       * function.c (init_function_start): Don't use DECL_RESULT_TYPE.
-       * integrate.c (expand_inline_function): Likewise.
-       * c-decl.c (start_function, duplicate_decls): Likewise.
-       * tree.h (struct tree_decl): Delete voffset.
-       (DECL_RESULT_TYPE): Deleted.
+1999-03-25  Zack Weinberg  <zack@rabi.columbia.edu>
 
-       * objc-actions.c (encode_field_decl, objc_copy_list):
-       Switch to DECL_FRAME_SIZE.
-       * cplus-class.c (finish_struct): Likewise.
-       * cplus-decl2.c (grokbitfield): Switch to DECL_BIT_FIELD.
-       * c-parse.y, cplus-parse.y, objc-parse.y: Likewise.
+       * gcc.c: Compile unconditionally all code formerly dependent
+       on #ifdef LANG_SPECIFIC_DRIVER.
+       * gccspec.c: New file with stub lang_specific_driver,
+       lang_specific_pre_link.
+       * Makefile.in: Link gccspec.o into xgcc.  Add rule to compile
 
-       * tree.h (TYPE_NO_FORCE_BLK): New flag in types.
-       * stor-layout.c (layout_type): Use it.
-       * tree.h (DECL_TOO_LATE): New flag.
-       * stmt.c (expand_end_bindings, expand_goto_internal): Use it.
-       * tree.h (TREE_PACKED): Deleted.
+Thu Mar 25 21:08:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * cplus-typeck.c (unary_complex_lvalue): Confusing use of
-       DECL_SIZE_UNIT; not clear what to do.
-       * cplus-tree.c (layout_vbasetypes): Likewise.
-       * cplus-class.c (modify_vtable_entry): Likewise.
+       * gcc.texi (Temporaries): Update.
 
-       * cplus-parse.y (YYDEBUG): Force it on.
-       (print_parse_statistics, init_parse): No-op if not YYDEBUG.
+Thu Mar 25 16:53:53 1999  Richard Henderson  <rth@cygnus.com>
 
-       * fold-const.c (fold): REAL_INFINITY affects reals, not ints.
+       * combine.c (distribute_notes): Place REG_LABEL also where
+       REG_EQUAL indicates.
 
-       * protoize.c (edit_fn_declaration): Make arg volatile to stop warning.
+Thu Mar 25 12:46:37 1999  Jim Wilson  <wilson@cygnus.com>
 
-Sat Apr 21 03:04:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * a29k/a29k.h (TARGET_SWITCHES): Add doc strings.
+       * i960/i960.h (TARGET_SWITCHES): Add doc strings.
+       * invoke.texi (a29k): Add documentation for -mno-multm option.
 
-       * expmed.c (store_bit_fields): Adjust for elimination of BImode.
+Thu Mar 25 14:04:54 1999  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * c-parse.y (simple_if, stmt): Store stmt_count in proper place,
-       which is slot 1 of the if.
-       (simple_if, lineno_stmt, stmt): Output the note at beginning of
-       stmt, not in lineno_stmt.  Use emit_line_note.
-       (simple_if): Set if_stmt_*, then use lineno_stmt directly.
-       (lineno_stmt): Before most uses, call skip_white_space.
-       (finput): Move to top of file.
+       * rtl.texi (RTX_FRAME_RELATED_P): Add documentation.
+       * rtl.h (struct rtx_def): Update comment for frame_related field.
+       (set_unique_reg_note): Declare prototype.
+       * dwarf2out.c (dwarf2out_frame_debug_expr): Split out from
+       'dwarf2out_frame_debug' to handle only expressions, and process
+       component parts of a PARALLEL expression.
+       (dwarf2out_frame_debug): Process insns only, and call
+       new function 'dwarf2out_frame_debug_expr' for patterns.
+       * emit-rtl.c (set_unique_reg_note): New function to add a reg note,
+       but if there is an existing one, delete it first.
+       * expmed.c (expand_mult, expand_divmod): Use set_unique_reg_note.
+       * optabs.c (add_equal_note, expand_binop): Use set_unique_reg_note.
+       (emit_no_conflict_block, emit_libcall_block): Use set_unique_reg_note.
+       (expand_fix): Use set_unique_reg_note.
 
-       * cplus-class.c (build_instantiated_decl): Fix typo.
+Thu Mar 25 11:47:49 1999  Art Haas  <ahaas@neosoft.com>
 
-       * cplus-tree.h (C_TYPE_FIELDS_READONLY): Use lang_flag_1.
-       (TYPE_HAS_CONSTRUCTOR, TYPE_HAS_DESTRUCTOR, TYPE_NEEDS_CONSTRUCTOR):
-       (TYPE_NEEDS_DESTRUCTOR): Advance each to next lang_flag.
-       * tree.h (TREE_LANG_FLAG_5, TREE_LANG_FLAG_6): Define them.
+       * tlink.c (symbol_hash_newfunc): Remove redundant call to
+       hash_newfunc.
+       (file_hash_newfunc, demangled_hash_newfunc): Likewise.
 
-       * config.gcc: Delete ./Makefile.in iff not in the source dir.
+Thu Mar 25 10:05:56 1999  Richard Henderson  <rth@cygnus.com>
 
-       * Makefile.in (for-bootstrap): New target.
+       * i386.h (PREFERRED_STACK_BOUNDARY): Set to 128.
 
-       * dbxout.c (dbxout_finish_symbol, dbxout_type, dbxout_prepare_symbol):
-       Add temporary conditionals on WINNING_GDB.
+1999-03-25  Philip Blundell  <pb@nexus.co.uk>
 
-       * print-tree.c (print_node): Print the TYPE_SYMTAB_ADDRESS.
+       Based on patch from Jim Studt  <jim@federated.com>:
+       * config/arm/linux-elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Copy
+       definitions from config/linux.h.
+       (DBX_BLOCKS_FUNCTION_RELATIVE): Define to 1.
 
-       * Makefile.in (protoize.o, unprotoize.o, SYSCALLS.c.X):
-       Include from or look in dir $(srcdir).
+Thu Mar 25 02:12:42 1999  Finn Hakansson  <finn@axis.com>
 
-Fri Apr 20 16:30:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * loop.c (strength_reduce): Correct a comment.
 
-       * varasm.c (output_constructor): Backward test for bit-field.
+       * rtl.h (MEM_COPY_ATTRIBUTES): Remove unnecessary ending backslash.
 
-       * Makefile.in (stamp-*): Delete .c or .h from these names.
+Thu Mar 25 02:02:13 1999  Axel Thimm  <Axel.Thimm@physik.fu-berlin.de>
 
-Fri Apr 20 15:56:21 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * Makefile.in (RANLIB_TEST): Improve test.
 
-       * cplus-typeck.c (compparms, comp_target_parms, build_modify_expr_1):
-       (build_modify_expr): Clean parens in complicated if.
-       * cplus-decl.c (finish_decl, grokdeclarator): Likewise.
+Thu Mar 25 01:15:33 1999  Donn Terry  <donn@interix.com>
 
-Fri Apr 20 14:42:36 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * combine.c (force_to_mode, case PLUS): Use sign extended mask
+       when masking the low bits out of a constant.
 
-       * tm-3b1.h (ASM_SPEC, PRINT_OPERAND_ADDRESS): Support 68020, 68881.
-       Useful even though this isn't one.
-       (ASM_OUTPUT_OPCODE): Convert fbne to fbneq.  Don't change ftst.
-       (REGISTER_NAMES): Define it.  Fpreg names not same as hp.
+Tue Mar 23 15:45:25 1999  Richard Earnshaw  (rearnsha@arm.com)
+                         Jeff Law  <law@cygnus.com>
 
-       * stor-layout.c (mode_for_size): Don't check MAX_FIXED_MODE_SIZE.
-       (layout_type): Check it here when appropriate.
+       * fold-const.c (make_range): If orig_type is unset, set it as soon
+       as we know the type.  Remove now unnecessary set of orig_type for
+       conversions.
 
-       * loop.c (strength_reduce): Clean parens in complicated if.
+Wed Mar 24 23:27:25 1999  Mark Elbrecht  <snowball3@usa.net>
+                         Jeff Law  <law@cygnus.com>
 
-       * fold-const.c (mul_double, const_binop): Add parens around shifts.
+       * system.h (STDIN_FILENO): Provide default definition if one is not
+       provided by the system header files.
+       (STDOUT_FILENO, STDERR_FILENO): Likewise.
 
-Thu Apr 19 03:03:39 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * i386/xm-djgpp.h (COLLECT2_HOST_INITIALIZATION): New macro.
+       * collect2.c (main): Use it.
+       (pexecute_pid): New variable. Holds return value from call to pexecute.
+       (collect2_execute): Rework to use pexecute instead of fork.
+       (collect2_wait): Use pwait() instead of wait().
 
-       * machmode.def: Delete unused modes.
+       * i386/djgpp.h: Fix typo.
 
-       * stor-layout.c (mode_for_size): Accepts mode class as arg.
-       Calls changed.
-       (layout_type): Can now use mode_for_size for floating types.
+Wed Mar 24 23:24:30 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * stor-layout.c (layout_type): Get mode of function type from size.
-       * c-decl.c, cplus-decl.c (grokdeclarator): Don't worry about
-       mode of a function type.
-       * calls.c (prepare_call_address): No values contain static chains.
+       * fixinc/mkfixinc.sh: Recognize cygwin* instead of only
+       cygwin32.
 
-       * tree.h (struct tree_decl, struct tree_common): Rename the flag bits.
-       * cplus-tree.h: References here changed.
+Wed Mar 24 15:44:12 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * tree.h (DECL_BIT_FIELD): New macro, with new flag.
-       * print-tree.c: Print it.
-       * stor-layout.c (layout_decl): Use on input instead of TREE_PACKED.
-       Clear it if field happens to be aligned.
-       * expr.c, tree.c, varasm.c, symout.c, objc-actions.c, c-typeck.c:
-       Use this to distinguish bit-fields.
-       * c-decl.c, cplus-class.c (finish_struct): Set this for bit-fields.
+       * config/m32r/m32r.c (init_idents): Accept both NAME and __NAME__
+       versions of attribute names and values.
+       (m32r_valid_machine_decl_attribute): Likewise.
+       (m32r_encode_section_info): Likewise.
 
-       * c-typeck.c (build_binary_op): Make NON_LVALUE_EXPR, not NOP_EXPR.
+Wed Mar 24 21:42:15 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * out-sparc.c (find_addr_reg): Avoid using frame pointer. 
+       * reload1.c (choose_reload_regs): If output-reloading for a
+       simple move insn, try to inherit an equivalence for the input.
 
-       * config.gcc: Delete all formfeeds from Makefile.
+1999-02-24  Mike Stump  <mrs@wrs.com>
 
-       * stor-layout.c (layout_decl): Delete `bitsize'.
-       (layout_record): Test size for CONST_INT, not TREE_LITERAL.
-       (layout_type): Simplify array case.
+       * arm/aout.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Fix quoting.
 
-       * fold-const.c (size_binop): Division not special case.
+1999-03-24  Jim Blandy  <jimb@zwingli.cygnus.com>
 
-Wed Apr 18 16:05:23 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * libgcc2.c (__CTOR_LIST__, __DTOR_LIST__): Initialize on all
+       platforms.
 
-       * c-typeck.c (datatype): Function deleted.
-       (build_binary_op_nodefault, pointer_int_sum, pointer_diff):
-       Don't use it.
-       * cplus-typeck.c (build_binary_op_nodefault, pointer_int_sum):
-       (pointer_diff): Likewise.
-       (convert_for_assignment): Likewise.  Took some work.
-       (datatype): Function deleted.
+Wed Mar 24 01:35:01 1999  Geoff Keating  <geoffk@ozemail.com.au>
 
-       * c-typeck.c (common_type): Renamed from commontype.
-       (function_types_compatible_p): New function.
-       (compparms): Deleted.
-       (self_promoting_args_p): Renamed from compparms1.
-       * cplus-typeck.c (common_type, self_promoting_args_p): Likewise.
-       * c-typeck.c (build_function_call): Eliminate local value_type.
+       * fold-const.c (fold): Recognize a rotate by an unsigned amount.
 
-       * c-typeck.c (parser_build_binary_op): Detect +/- within boolean.
+Tue Mar 23 23:32:14 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * c-typeck.c (convert_arguments): Renamed from actualparameterlist.
-       Push results on front, and reverse at end.
-       * cplus-typeck.c: Likewise.  All calls changed.
+       * pa.md (rotlsi3): New expander.  Synthesize a variable rotate
+       left using a variable rotate right.  Provide anonymous pattern for
+       rotate left by a constant value.
 
-       * tree.h (STMT_BIND_SIZE): Deleted.
-       (struct tree_bind_stmt): Deleted that slot.
-       * tree.c (build_let_stmt): Don't set it.
+       * expr.c (expand_assignment): Do not try to optimize a aggregate
+       address which has VOIDmode.
 
-       * print-tree.c (print_node): Call print_lang_identifier.
-       * c-decl.c, cplus-ptree.c (print_lang_identifier): New function.
+Tue Mar 23 22:51:48 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+                         Donn Terry  <donn@interix.com>
 
-       * gnulib2.c (__clear_cache): New function.
+       * protoize.c (abspath): Preserve multiple leading slashes for
+       _WIN32 and Interix.
 
-Tue Apr 17 16:57:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+1999-01-23  Mike Stump  <mrs@wrs.com>
 
-       * cplus-tree.c (build_member_type): Use TYPE_HASH, not TREE_UID.
-       (TYPE_HASH): Use the address.  Delete the duplicate definition.
+       * arm/vxarm.h: Split out vxWorks support into separate headerfile
+       and vxify.
+       * arm/arm.c (cpu_defaults): Allow arm710 as default.
 
-       * c-typeck.c (build_unary_op): Bug in pedantic warning about ++.
+       * configure.in: Split out vxWorks support for Arm.
+       * configure: Rebuilt.
 
-       * tree.h (TYPE_SEP, TYPE_SEP_UNIT): Deleted.
-       * stor-layout.c (layout_type): Don't set them.
-       (mode_for_size): New name for agg_mode; code cleaned up.
-       * c-tree.h (C_TYPE_FIELDS_READONLY): Use TREE_LANG_FLAG_1.
+Tue Mar 23 11:20:03 1999  Per Bothner  <bothner@cygnus.com>
 
-       * fold-const.c (size_int, size_binop): New names for build_int
-       and genop, moved here.  All callers changed.
-       (const_binop): New name for combine, and now static.
-       * stmt.c (expand_end_case, group_case_nodes, node_has_low_bound):
-       (node_has_high_bound): Don't call `combine' directly.
+       * tree.c (first_rtl_op, has_cleanups): Handle GOTO_SUBROUTINE_EXPR.
 
-       * tree.h (DECL_VOFFSET, DECL_VOFFSET_UNIT): Deleted.
-       * tree.c (staticp): Don't use DECL_VOFFSET.
-       * stor-layout.c (layout_*): Don't use it or set it.
-       (layout_record): Simplify: Keep all sizes in units of 1.
+Tue Mar 23 09:00:39 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * tree.c (debug_tree, print_node, print_node_brief, indent_to):
-       New functions to print a tree.
-       * c-decl.c (print_lang_decl, print_lang_type): Define as no-op.
-       * cplus-ptree.c (print_lang_type): Complete rewrite.
-       Most other functions deleted.
-       * tree.c (print_node): Call print_lang_* unconditionally.
+       * config/arm/riscix1.h (SUBTARGET_SWITCHES): Add doc string.
+       * config/arm/riscix1-1.h (SUBTARGET_SWITCHES): Add doc string.
 
-       * tree.c (TYPE_HASH): Now use the address.
+Tue Mar 23 07:50:20 1999  Mark Mitchell  <mark@codesourcery.com>
 
-Mon Apr 16 16:27:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * function.c: Include hash.h.
+       (insns_for_mem_entry): New struct.
+       (put_reg_into_stack): Take an optional hash-table mapping MEMs to
+       the INSNs that use them.
+       (fixup_var_refs): Likewise.
+       (put_addressof_into_stack): Likewise.
+       (purge_addressof_1): Likewise.  Keep the hash-table up to date if
+       we add new instructions.
+       (fixup_var_refs_insns): Use it to avoid searching the entire
+       instruction chain.
+       (insns_for_mem_newfunc): New function.
+       (insns_for_mem_comp): Likewise.
+       (insns_for_mem_walk): Likewise.
+       (compute_insns_for_mem): Likewise.
+       (pop_function_context_from): Pass NULL for the hash-table.
+       (put_var_into_stack): Likewise.
+       (gen_mem_addressof): Likewise.
+       (flush_addressof): Likewise.
+       (purge_addressof): Call compute_insns_for_mem to pre-compute the
+       hash table.
+       * Makefile.in (OBJS): Include hash.o.
+       (function.o): Depend on hash.h.
 
-       * final.c: Check LEAF_REGISTERS, not LEAF_REGS.
+Tue Mar 23 00:39:14 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * real.h (*_FLOAT_FORMAT): Change enums to macros.
-       (REAL_INFINITY): Define it if IEEE format.
+       * i386/openbsd.h (TARGET_DEFAULT): Use symbolic names instead of
+       numbers.
+       * i386/netbsd.h, i386/freebsd.h: Likewise.
 
-       * c-decl.c (c_decode_options): Handle -Wconversion here.
-       * toplev.c (main): Not here.
+       * crtstuff.c: Use ANSI function definitions.  Fix minor whitespace
+       problems.
 
-       * tm-*.h (INITIAL_FRAME_POINTER_OFFSET): Count get_frame_size.
+       * i386/openbsd.h (TARGET_DEFAULT): Define.
+       * configure.in: Do not set TARGET_CPU_DEFAULT for x86 OpenBSD
+       configurations.
+       * configure: Rebuilt.
 
-Mon Apr 16 15:05:49 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Mar 23 00:39:10 1999  John Wehle  (john@feith.com)
 
-       * loop.c (eliminate_biv): Build COMPARE with VOIDmode, not mode
-       of operands.
+       * i386/freebsd.h (TARGET_DEFAULT): Define instead
+       of TARGET_CPU_DEFAULT.
+       * i386/netbsd.h (TARGET_DEFAULT): Likewise.
 
-Mon Apr 16 14:55:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Mar 22 23:52:01 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+                         Donn Terry  <donn@interix.com>
 
-       * jump.c: Include real.h.
+       * sdbout.c (syms.h): Don't include on Interix.
+       * toplev.c (main): No sbrk on Interix.
 
-Sun Apr 15 20:30:24 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * configure.in: Add i386-pc-interix support.
+       * configure: Regenerate.
+       * fixinc.interix: New file.
+       * config/interix.h: New file.
+       * config/x-interix: New file.
+       * config/xm-interix.h: New file.
+       * i386/interix.h: New file.
+       * i386/interix.c: New file.
+       * i386/t-interix: New file.
 
-       * c-typeck.c (pedantic_lvalue_warning): New function.
-       (build_component_ref): Handle COMPOUND_VALUE and COND_EXPR by moving
-       reference inside it and calling pedantic_lvalue_warning.
-       (build_unary_op): Incrementing a cast-expression is warning, not
-       error; call new pedantic_lvalue_warning.
-       (unary_complex_lvalue): Use of compound or conditional expression as
-       lvalue is warning, not error.
-       (build_modify_expr): Likewise.
-       * cplus-typeck.c: Likewise.
+Mon Mar 22 23:41:49 1999  Jeffrey A Law  (law@cygnus.com)
 
-Sun Apr 15 12:27:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * i386.h (PREFERRED_STACK_BOUNDARY): Define.
 
-       * cse.c (fold_rtx, fold_cc0): Check TARGET_FLOAT_FORMAT,
-       not FLOAT_NOT_IEEE.
-       * jump.c (jump_back_p): Likewise.  FLOAT_NOT_IEEE is now gone.
+Mon Mar 22 23:41:31 1999  John Wehle  (john@feith.com)
 
-       * cccp.c (collect_expansion): Handle warn_stringify.
-       (main): Set it for -Wtraditional.
+       * i386.c (ix86_compute_frame_size): New function.
+       (ix86_prologue, ix86_epilogue): Use it.
+       * i386.h (INITIAL_ELIMINATION_OFFSET): Likewise.
+       * reload1.c: Provide default for PREFERRED_STACK_BOUNDARY.
+
+Mon Mar 22 18:06:59 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * mips/mips.h (TARGET_SWITCHES, TARGET_OPTIONS): Add option doc
+       strings.
+       * mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Likewise.
+
+Mon Mar 22 16:18:27 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother
+       passing ATTRIBUTES to arm_valid_machine_decl_attribute.
+
+       * config/arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother
+       passing ATTRIBUTES to arm_valid_machine_decl_attribute.
+
+       * config/arm/arm.h (DEFAULT_RTX_COSTS): Do not bother passing
+       OUTER_CODE to arm_rtx_costs - it is not used.
+       (arm_compare_fp): Delete declaration.
+       (FINAL_PRESCAN_INSN): Do not bother passing OPVEC or NOPERANDS to
+       arm_final_prescan_insn - they are not used.
+       (const_ok_for_op): Remove prototype.
+       (arm_rtx_costs): Fix prototype.
+       (arm_valid_machine_decl_attribute): Fix prototype.
+       (final_prescan_insn): Fix prototype.
+
+       * config/arm/arm.md: Remove references to arm_compare_fp.
+
+       * config/arm/arm.c (arm_compare_fp): Delete.
+       (const_ok_for_op): Make function static.  Add prototype.  Remove
+       mode parameter - it is unused.
+       (arm_rtx_costs): Remove outer_code parameter.
+       (reload_memory_operand): Declare mode parameter unused.
+       (power_of_two_operand): Declare mode parameter unused.
+       (equality_operator): Declare mode parameter unused.
+       (load_multiple_operation): Declare mode parameter unused.
+       (store_multiple_operation): Declare mode parameter unused.
+       (multi_register_push): Declare mode parameter unused.
+       (arm_valid_machine_decl_attribute): Remove attributes parameter -
+       it is unused.
+       (select_dominance_cc_mode): Remove op parameter - it is unused.
+       (gen_compare_reg): Remove fp parameter - it is unused.
+       (final_prescan_insn): Remove opvec and noperands parameters - they
+       are unused.
 
-       * function.c (init_function_start):
-       Set current_function_returns_pointer here.
-       (expand_function_start): Not here.
+Mon Mar 22 14:35:28 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * expr.c (emit_library_call): Precompute reg and partial of all parms,
-       to do it in proper order.
+       * tm.texi (MD_SCHED_INIT): Add missing closing parenthesis.
 
-       * final.c (final_scan_insn): Typo in deleting obvious no-ops.
+Mon Mar 22 22:24:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * expr.c (emit_push_insn): Change #if to ordinary if.
+       * reload1.c (reload_as_needed): Set reload_is_output_reload /
+       reload_has_output_reload for auto_inc expressions that could be
+       reloaded.  Call forget_old_reloads for REG_INC notes.
 
-Sat Apr 14 13:20:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Mar 22 21:51:57 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * expr.c (do_jump): In COMPONENT_REF, check TYPE is nonzero.
+       * cse.c (cse_insn): Don't change the result register of a libcall.
 
-       * tm-i386.h (ASM_OUTPUT_ADDR_DIFF_ELT): Delete spurious `abort ()'.
+Mon Mar 22 21:08:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * emit-rtl.c (reverse_comparison): New function.
-       (get_last_insn_anywhere): New function.
-       * i386.md (ble, blt): New define_expands.
+       * rtl.h (shallow_copy_rtx): Declare.
+       * rtl.c (shallow_copy_rtx): New function.
+       * reload.c (find_reloads_toplev): Use shallow_copy_rtx instead of
+       copy_rtx.
 
-       * Makefile.in (LANGUAGES): New parameter chooses languages to build.
-       (native): Use that.
-       (c, c++, objc): Targets for use in LANGUAGES.
+Mon Mar 22 10:44:33 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
 
-       * Makefile.in (install): Split up.
-       (install-cross, install-headers, install-gnulib, install-proto):
-       (install-man, $(libsubdir)): New targets.
+       * config/h8300/h8300.md (adjust_length): New attribute.
+       (modhi3+1, andsi3+1, iorsi3+1, extzv+1, extzv+2): Change insn
+       default value of attribute "adjust_length" onto "no".
 
-       * Makefile.in (native): New target, split from start.encap.
-       (tmpgnulib): Split out from gnulib.portable.
-       (gnulib.convert): Makes tmpgnulib, then converts.
-       (LIBCONVERT): New parameter.
-       (GCC_FOR_TARGET): New parameter.
-       (hard-params.o, hard-params, stamp-gnulib2): Use that.
+       * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust
+       length only if the attribute "adjust_length" value is "yes".
+       Use 0 if the shift is negative.
 
-       * cse.c (fold_cc0): Compare equivalence classes of non-constants.
-       Waiting for papers from Steven McCanne.
+       * final.c (shorten_branches): Check insn length after its
+       adjusting.
 
-Fri Apr 13 14:12:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Mar 21 17:33:48 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * stor-layout.c (layout_type): If record is BLKmode because not
-       aligned, set TREE_PACKED.  Don't force BLKmode due to field
-       with TREE_PACKED. 
+       * i860.h (TARGET_SWITCHES): Add documentation for default case.
+       * i860/paragon.h (TARGET_SWITCHES): Add documentation for default case.
+       * i370.h (TARGET_SWITCHES): Add documentation for default case.
+       * fx80.h (TARGET_SWITCHES): Add documentation for default case.
+       * elxsi.h (TARGET_SWITCHES): Add documentation for default case.
+       * clipper.h (TARGET_SWITCHES): Add documentation for default case.
+       * 1750a.h (TARGET_SWITCHES): Add documentation for default case.
+       * pa.h (TARGET_SWITCHES): Add documentation for default case.
+       (TARGET_OPTIONS): Likewise for default case.
+       * mn10300.h (TARGET_SWITCHES): Add documentation for default case.
+       * h8300.h (TARGET_SWITCHES): Add documentation for default case.
 
-       * cse.c (fold_rtx): Use dconst1, not atof.
-       * varasm.c (output_constant): Likewise.
+       * gcse.c (dump_hash_table): Fix whitespace in declaration.
+       (compute_transpout): Renamed from pre_compute_transpout.
+       (compute_pre_*): Deleted.
+       (pre_expr_reaches_here_p): New argument, CHECK_PRE_COMP.  All
+       callers changed.
+       (insert_insn_end_bb): Renamed from pre_insert_insn.
+       (pre_*): Delete unused variables.  Only leave local properties and
+       global redundant/optimal computation points.
+       (alloc_pre_mem, free_pre_mem): Corresponding changes.
+       (compute_pre_data): Simplify and call pre_lcm to run the lazy
+       code motion dataflow analysis.
+       (pre_insert, pre_insert_copies, pre_delete): Revamp to use LCM
+       based redundant and optimal computation points.
 
-       * c-parse.y (yylex): Handle SIGFPE in atof.
+       * basic-block.h (pre_lcm, pre_rev_lcm): Declare.
 
-       * tm-tti68k.h: New file.
+       * toplev.c (main): A debug option without a level defaults to
+       level 2.
 
-       * toplev.c, flags.h (flag_pretend_float): New flag.
+Sun Mar 21 12:13:01 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * regclass.c (reg_class_record): Handle `E' constraint, for float
-       constants but only if can examine their bits.
-       * reload.c (find_reloads): Likewise.
-       * recog.c (constrain_operands): Likewise.
-       * out-m68k.c (output_move_double): Abort on float constant
-       if can't examine the bits.
-       (standard_68881_constant_p): Fail if can't examine the bits.
-       (standard_sun_fpa_constant_p): Likewise.
+       * flow.c (can_delete_label_p): Do not allow user specified
+       labels to be deleted.
+       * dwarf2out.c (gen_label_die): Generate addresses for deleted
+       (programmer specified) labels.
+       * dwarfout.c (output_label_die): Generate addresses for deleted
+       (programmer specified) labels.
 
-       * m68k.md (DFmode move recognizers): Use `E', not `F'.
-       * tm-m68k.h (PREFERRED_RELOAD_CLASS): Handle float constants.
+1999-03-21  Manfred Hollstein  <manfred@s-direktnet.de>
 
-       * tm-next.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_FLOAT_OPERAND):
-       (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_DOUBLE_OPERAND): Use REAL_VALUE_ISINF.
-       * tm-sun3.h, tm-sparc.h: Likewise.
+       * Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be
+       linked with.
 
-       * xm-vax.h (HOST_FLOAT_FORMAT): Define it.
-       * tm-vax.h (TARGET_FLOAT_FORMAT): Define it.
+Sun Mar 21 01:15:03 1999  Jeff Law  (law@cygnus.com)
 
-       * real.h (enum float_format): Define codes for formats.
-       (HOST_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): New macros, defaulted here.
-       (REAL_IS_NOT_DOUBLE, REAL_VALUE_TYPE): Override if formats differ.
-       (REAL_VALUE_ISINF): New macro.
-       * xm-vax.h (isinf): Define as macro.
+       * version.c: Bump for snapshot.
 
-       * Makefile.in (LIBFUNCS_EXTRA): New variable.
-       (gnulib.portable): Compile those files.
+Sat Mar 20 22:26:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile.in (AUX_OUTPUT2): New variable.
-       (OBJS): Use it.
-       (aux-output2.o): New target.
+       * sparc.h (TARGET_SWITCHES): Add null description to default case.
 
-       * Makefile.in (RANLIB, RANLIB_TEST): New variables.
+Sat Mar 20 21:46:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile.in (AR_FLAGS, OLDAR_FLAGS): New variables.
-       (gnulib.portable, stamp-gnulib2): Use them.
+       * c-lex.c (yylex): Remove unused variable `bytes'.
 
-       * i386.md: Add patterns for `bt' insns.
+       * flow.c (print_rtl_with_bb): Cast the return value of alloca.
 
-Fri Apr 13 12:54:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * function.c (assign_parms): Wrap variable `varargs_setup' in
+       macro SETUP_INCOMING_VARARGS.
+       (thread_prologue_and_epilogue_insns): Mark parameter `f' with
+       ATTRIBUTE_UNUSED.
 
-       * c-decl.c (builtin_function): Now returns decl that was made.
+       * local-alloc.c (no_equiv): Likewise for parameter `store'.
 
-       * config.gcc: Support both -host= and +host=.
+       * sched.c (schedule_insns): Remove unused variables `insn' and `next'.
 
-Thu Apr 12 22:39:10 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * tlink.c (symbol_hash_newfunc, symbol_hash_lookup,
+       file_hash_newfunc, file_hash_lookup, demangled_hash_newfunc,
+       demangled_hash_lookup, symbol_push, symbol_pop, file_push,
+       file_pop, tlink_init, tlink_execute, frob_extension,
+       obstack_fgets, tfgets, pfgets, freadsym, read_repo_file,
+       maybe_tweak, recompile_files, read_repo_files,
+       demangle_new_symbols, scan_linker_output): Add static prototype.
 
-       * Changes from Data General.
+       (symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc):
+       Make the third argument a `hash_table_key'.
 
-       * syms.h: New file.
-       * sdbout.c: Include that if not USG.
+       * toplev.c (debug_start_source_file): Mark parameter `filename'
+       with ATTRIBUTE_UNUSED.
 
-       * tree.h (enum built_in_function): Added BUILT_IN_STRCPY and
-       BUILT_IN_STRCMP.
-       * c-decl.c (init_decl_processing): Create additional pointer and
-       function types.  Declare strcpy, strcmp, memcpy, memcmp built-in.
-       * expr.c (expand_builtin): Support strcpy, strcmp, memcpy, memcmp.
-       If special handler breaks out of switch, do library call.
-       By default, print error message and do library call.
-       (get_pointer_alignment, string_constant): New functions.
+Sun Mar 21 02:28:21 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * dbranch.c: Put entire contents in conditional on HAVE_DELAYED_BRANCH.
-       (init_flags, enote): Clear and set memr.
-       (enote): Don't move a store across a fetch.
-       (insn_eligible_p): Check enote before volatility and dependencies.
-       Check for volatility if memw or memr.
-       (loads_from_mem_p): New function.
+       * tm.texi (Varargs): Don't split argument of @item across lines.
 
-       * Makefile.in (dbranch.o): New target.
-       (OBJS): Add dbranch.o.
+       * invoke.texi: Fix use of @item vs @itemx.
 
-Thu Apr 12 22:39:10 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Mar 21 09:59:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * calls.c (expand_call): Count args in order written, with argpos.
+       * config/c4x/c4x.h (TARGET_SWITCHES): Add null description to
+       default case.
 
-Thu Apr 12 22:01:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Sat Mar 20 23:33:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * expmed.c (synth_mult): Ensure OPS is always valid in returned alg.
+       * loop.c (check_dbra_loop): Fix debug message.
 
-       * local-alloc.c (block_alloc): If we have an operand that is an
-       address, look inside it for registers to combine with.
+Sat Mar 20 15:54:35 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * reload.c (combine_reloads): If the output reload is for an
-       earlyclobber operand, can't combine it.
-       Try to use a register that dies in an insn for a single output reload
-       if the insn has only one output.
+       * config/c4x/c4x.md (decrement_and_branch_on_count): Emit rptb_end
+       pattern instead of decrement_and_branch_until_zero pattern.
 
-Thu Apr 12 21:27:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Mar 20 11:39:58 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * c-decl.c (duplicate_decls): Preserve DECL_INITIAL from old
-       function def to new one.
+       * config/c4x/c4x.h (TARGET_SWITCHES): Add documentation.
+       * config/c4x/c4x.h (TARGET_OPTIONS): Add documentation.
 
-Thu Apr 12 07:55:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Fri Mar 19 23:26:29 1999  Martin von Löwis  <loewis@informatik.hu-berlin.de>
 
-       * expr.c (expand_assignment): Order of source and destination to
-       bcopy/memcpy was reversed.
+       * expr.c (expand_expr): Handle ERROR_MARK much earlier.
 
-Wed Apr 11 17:29:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Mar 19 15:28:38 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * tm-i386.h (ABC_REGS): New register class.
-       (REG_CLASS_CONTENTS, REG_CLASS_NAMES, enum reg_class): Changed.
-       * i386.md (divsi3, etc.): Exclude register d from constraints.
+       * cccp.c (create_definition): Cast to U_CHAR* when assigning to one.
 
-       * c-parse.y (save_filename, save_lineno): New nonterminals
-       to record text location at start of statement.
-       (lineno_stmt): New nonterminal, outputs line note before statement.
-       (lineno_decl): Likewise for decl, to avoid conflicts.
-       (stmt): Don't emit line notes at start of statement.
-       (simple_if): Collect file and line using save_filename, save_lineno.
+       * cppfiles.c (read_and_prescan): Likewise.
+       Start a #define in column 0.
 
-       * Changes from Data General.
+       * cpplib.c (cpp_define): Cast to U_CHAR* when assigning to one.
+       (cpp_push_buffer): Likewise for cpp_buffer*.
+       (do_include): Change the type of `fbeg' and `fend' to unsigned char*.
+       (do_endif): Cast to char* when assigning to one.
+       (do_assert): Likewise.
+       (do_unassert): Likewise.
+       (cpp_read_check_assertion): Change the type of `name' to U_CHAR*.
+       Don't do unnecessary cast to char* anymore.
 
-       * cccp.c (main, do_include): Implement -H to print header names.
+       * genrecog.c (make_insn_sequence): Cast to char** when assigning
+       to one.  Cast the first argument of bzero to PTR.
 
-       * c-parse.y (component_decl_list): Parse even if final `;' missing.
+       * loop.c (strength_reduce): Remove unused variable `note'.
 
-Wed Apr 11 16:49:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * reload1.c (new_insn_chain): Cast to struct insn_chain* when
+       assigning to one.
 
-       * gcc.c: Fix miscellaneous typos.
+       * rtl.c (copy_rtx): Use memcpy instead of bcopy.
 
-Wed Apr 11 12:59:57 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Mar 19 11:19:31 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * config.gcc: Typos in setting pass1done, testing it,
-       and calling sed for usage msg.
+       * calls.c (initialize_argument_information): Mark parameters
+       `num_actuals' and `n_named_args' with ATTRIBUTE_UNUSED.
 
-       * cccp.c (macroexpand): Count Newline Space as part of whitespace
-       sequence when stringifying.
+       * dbxout.c (dbxout_start_new_source_file): Likewise for parameter
+       `filename'.
+       (dbxout_finish): Likewise for parameters `file' and `filename'.
+       (dbxout_prepare_symbol): Likewise for parameter `decl'.
+       (dbxout_begin_function): Likewise.
 
-       * expmed.c (expand_mult): Handle synth_mult returning no operations.
+       * explow.c (hard_function_value): Likewise for parameter `func'.
 
-Tue Apr 10 21:08:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * function.c (locate_and_pad_parm): Likewise for parameter `fndecl'.
 
-       * cccp.c (do_line): No error if string follows number without space.
+       * expmed.c (expand_divmod): Omit unused argument to `expand_abs'.
+       * expr.c (expand_expr): Likewise.
+       * expr.h (expand_abs): Delete unused argument from prototype.
+       * optabs.c (expand_abs): Remove unused parameter `unsignedp'.
 
-Tue Apr 10 20:52:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * sdbout.c (sdbout_init): Mark parameter `syms' with ATTRIBUTE_UNUSED.
+       (sdbout_end_block): Likewise for parameter `n'.
 
-       * recog.c (apply_change_group): Return a zero if rejected changes.
+       * toplev.c (debug_define): Likewise for parameters `lineno' and
+       `buffer'.
+       (debug_undef): Likewise.
 
-       * loop.c (update_giv_derive): If a giv is only set conditionally, it
-       may only derive other givs in its own basic block.
+       * varasm.c (named_section): Likewise for parameter 'reloc'.
+       (assemble_external): Likewise for parameter `decl'.
+       (assemble_alias): Likewise for parameter `target'.
 
-Tue Apr 10 13:09:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Mar 19 01:54:30 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
 
-       * tm-ctix.h:  New file.  Waiting for papers from Ronald Cole.
-       csusac!unify!dbrus.rjc@ucdavis.ucdavis.edu.
+       * toplev.c (read_integral_parameter): Constify.  Better control of
+       error messages.
+       (main): Use read_integral_parameter to set optimize, id_clash_len,
+       larger_than_size, and the debugging level.
+       * toplev.h (read_integral_parameter): Update prototype.
 
-       * cse.c (rtx_cost): Use new macro RTX_COSTS.
-       (COSTS_N_INSNS): New macro for use in RTX_COSTS.
+Fri Mar 19 01:42:05 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-       * config.gcc: Fix typos in conditionals and case.  Also usage message.
-       Missing backslashes in `echo | tee'.
-       Unset various vars after pass 1.
+       * system.h: Use putc_unlocked, fputc_unlocked, and
+       fputs_unlocked only if putc_unlocked has a prototype already.
+       Prototype fputs_unlocked if necessary.
+       * configure.in: Check for prototypes of putc_unlocked and
+       fputs_unlocked.
+       * acconfig.h: Updated.
+       * config.in, configure: Rebuilt.
 
-       * c-typeck.c (build_c_cast): Complain if function type specified.
+Fri Mar 19 02:45:12 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
-       * expmed.c (synth_mult): Accept max_cost as arg and cut off there.
-       Pass it along recursively, making it smaller.
-       Eliminate quadratic loop, thus postponing powers of 2.
-       Costs are now signed.  Initialize best_alg->cost from max_cost
-       and change to -1 only before returning.
-       (expand_mult): Pass cost of multiply as max cost.
-       Use synth_mult only if optimizing.
-       In alg_compound case, sign was backward.
-       Use TEM as target for force_operand there, to get better output.
+       * Makefile.in (INTL_TARGETS): New macro.
+       ($(INTL_TARGETS)): Depend on generated sources; drop dependencies
+       on cp/parse.c and objc/objc-parse.c.
+       ($(srcdir)/cp/parse.c): Move to cp/Make-lang.in.
+       * objc/Make-lang.in ($(INTL_TARGETS)): Depend on objc/objc-parse.c.
 
-Tue Apr 10 07:09:51 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Mar 18 22:28:53 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * expr.c (expand_expr, case COND_EXPR): Add missing argument to
-       operand_equal_p.
-       Check for (X ? unop A : A) in addition to (X ? A + B : A).
+       * i860.h (TARGET_SWITCHES): Add documentation.
+       * i860/paragon.h (TARGET_SWITCHES): Add documentation.
+       * i370.h (TARGET_SWITCHES): Add documentation.
+       * fx80.h (TARGET_SWITCHES): Add documentation.
+       * elxsi.h (TARGET_SWITCHES): Add documentation.
+       * clipper.h (TARGET_SWITCHES): Add documentation.
+       * 1750a.h (TARGET_SWITCHES): Add documentation.
+       * pa.h (TARGET_SWITCHES): Add documentation.
+       (TARGET_OPTIONS): Likewise.
+       * mn10300.h (TARGET_SWITCHES): Add documentation.
+       * h8300.h (TARGET_SWITCHES): Add documentation.
 
-       * Makefile.in (protoize, unprotoize): Compile with GCC, not just link.
+Thu Mar 18 15:58:26 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * fold-const.c (fold): Fix typo in converting conditional to COND.
+       * loop.c (strength_reduce): Do not perform pseudo replacements
+       if the loop contains volatile memory references.
 
-       * expr.c (expand_expr): Treat (A ? 1 : 0) as A when A is a comparison.
-       (do_jump): Special-case (A ? 1 : 0) and (A ? 0 : 1).
+Thu Mar 18 19:09:50 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * expr.c (store_expr): Fix typo in checking mode of target.
+       * reload.c (find_reloads_toplev): When processing X recursively,
+       don't alter it destructively except by filling in constants.
 
-Mon Apr  9 18:33:55 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Mar 18 10:14:18 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * integrate.c (expand_inline_function): Clear out parm_copies.
+       * cccp.c (default_include): Initialize structure members.
+       (pass_thru_directive): Change the type of 'keyword_length' to int.
+       (main): Cast `bindtextdomain' and `textdomain' to (void).
 
-Mon Apr  9 18:00:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * collect2.c (main): Likewise.
 
-       * tree.def: SAVE_EXPR now has three operands.
-       * tree.h: Add new field SAVE_EXPR_CONTEXT; SAVE_EXPR_RTL remains last.
-       * tree.c (save_expr): Set context to current function.
-       (decl_function_context): Context is in SAVE_EXPR_CONTEXT if SAVE_EXPR.
-       * calls.c (expand_call): Call make_tree to build an RTL_EXPR instead
-       of explicitly making SAVE_EXPR.
-       * cplus-typeck.c (c_expand_return): Use make_tree instead of SAVE_EXPR.
-       * c-parse.y, objc-parse.y: Don't call mark_addressable here.
-       * expr.c (expand_expr, ..._DECL cases): If non-local, make addressable.
-       (expand_expr, case SAVE_EXPR): If defined in containing function, put
-       put into stack.
-       * function.c (put_var_into_stack): Use SAVE_EXPR_RTL for SAVE_EXPR.
-       * print-tree.c (dump): SAVE_EXPR_RTL is now third operand.
-       * stmt.c (expand_asm_operands): Call save_expr instead of making
-       tree node directly.
+       * cppmain.c (main): Likewise.
 
-Mon Apr  9 00:08:15 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * gcc.c (main): Likewise.
 
-       * Makefile.in (install): Turn off x bit on SYSCALLS.c.X.
+       * gcov.c (main): Likewise.
 
-       * i860.md (cmpeqsf, etc.): Change opcode name to pfeq.ss, etc.
+       * protoize.c (main): Likewise.
 
-       * tm-m68k.h (PRINT_OPERAND_PRINT_FLOAT): Delete spurious backslash.
+       * toplev.c (main): Likewise.
 
-       * c-decl.c (store_parm_decls): Don't do storedecls in prototype case.
-       That was discarding the enumerators already pushdecl'd.
+1999-03-18  Gavin Romig-Koch  <gavin@cygnus.com>
 
-       * gcc.c (exec_prefix, startfile_prefix): Record prefix search paths.
-       (find_a_file): New function to search a path.
-       (find_exec_file): Deleted; find_a_file used instead.
-       (find_file): Just call find_a_file.
-       (add_prefix): Add name to a prefix path.
-       (process_command): Call that.
+       * config/mips/mips.c (mips_explicit_type_size_string): Correct
+       its type.
 
-       * gcc.c (spec_list): Generalize asm_spec, etc., to arbitrary names.
-       (set_spec): New function.  Set the old specific vars and spec list.
-       (do_spec_1): Handle `%(' and `%[' for general specs.
+Thu Mar 18 01:24:25 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * ns32k.md (ashlhi3): Use %0, not %1.
+       * configure.in: Use "exit 1", not "exit (1)".
+       * configure: Rebuilt.
 
-       * cplus-tree.h (TREE_ANON_UNION_ELEM, DECL_ANON_UNION_ELEM):
-       regdecl_attr is now in decl, not common.
-       (TREE_PARMLIST): Use external_attr.
-       (TREE_VIA_PUBLIC): Use static_attr.
+Wed Mar 17 23:17:42 1999  Mark Kettenis  <kettenis@gnu.org>
 
-Sun Apr  8 23:43:59 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/t-gnu (SYSTEM_HEADER_DIR): New variable.  Set to
+       `/include' in order to find the system's limits.h.
 
-       * fold-const (fold): Two conversions in a row are needed if from a
-       pointer type to an integer type of a different precision.
+Wed Mar 17 23:00:18 1999  Robert Lipe  <robertlipe@usa.net>
 
-       * flow.c (mark_used_regs): When replacing addition with register
-       in auto-increment creation, mark that insn must be re-recognized.
+       * fixinc/fixincl.c: Include auto-host.h instead of config.h.
+       * fixinc/procopen.c: Likewise.
+       * fixinc/regex.c: Likewise.
+       * fixinc/server.c: Likewise.
 
-Sun Apr  8 13:56:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Mar 17 22:46:13 1999  Mark Elbrecht  <snowball3@usa.net.
 
-       * tm-m68k.h (ASM_OUTPUT_FLOAT): Defn depends on CROSS_COMPILER.
-       (PRINT_OPERAND): Depends on CROSS_COMPILER and HOST_WORDS_BIG_ENDIAN.
-       (PRINT_OPERAND_EXTRACT_FLOAT, PRINT_OPERAND_PRINT_FLOAT):
-       These new subroutines contain the code that depends.
+       * config/i386/go32.h: Delete.
+       * config/i386/djgpp.h: New. Renamed from go32.h.
+       Added -DDJGPP=2 to CPP_PREDEFINES.
+       * config/i386/go32-rtems.h: Delete.
+       * config/i386/djgpp-rtems.h: New. Renamed from go32-rtems.h.
+       Added -DDJGPP=2 to CPP_PREDEFINES.
+       * config/i386/xm-go32.h: Delete.
+       * config/i386/xm-djgpp.h: New. Renamed from xm-go32.h.
+       * config/i386/x-go32: Delete.
+       * config/i386/x-djgpp: New. Renamed from x-go32.
+       * config/i386/t-go32: Delete.
+       * config/i386/t-djgpp: New. Renamed from t-go32.
+       * configure.in(pc-msdosdjgpp): Set xm_file to i386/xm-djgpp.h.
+       Set tm_file to i386/djgpp.h. Set tmake_file to i386/t-djgpp.
+       Set xmake_file to i386/x-djgpp.
+       (*-go32-msdos, *-go32*): Remove entries.  Warn that GO32/DJGPP V1.X
+       is now unsupported and *-pc-msdosdjgpp for DJGPP V2.X should be
+       used instead.
+       * configure: Rebuilt.
 
-       * xm-m68k.h, xm-mips.h, xm-pyr.h, xm-tahoe.h (HOST_WORDS_BIG_ENDIAN):
-       New macro, defined in these files.
+       * gcc.c (process_command): Dump link_command_spec too.
 
-       * config.gcc: Define macro CROSS_COMPILE if making cross-compiler.
-       * Makefile.in (INTERNAL_CFLAGS): Include CROSS.
+Wed Mar 17 20:38:08 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
+                         Jeff Law  <law@cygnus.com>
 
-       * config.gcc: Decode -host argument.  Set $host and $target.
-       Rename vars for files to link to, to tm_file, xm_file, etc.
-       Let $host override xm_file value.
-       Mention $host in messages and config.status if diff from $target.
-       Check for errors in args at beginning of processing.
+       * pa.md: Add real PA8000 scheduling information.
 
-       * expmed.c (expand_shift): Make no insns if count is 0.
+       * pa.h (processor_type): Add PROCESSOR_8000 symbol.
+       (ISSUE_RATE): Revamp, including PA8000 support.
+       * pa.c (override_options): Add 8000 as -mschedule= option.
+       Do not call strcmp if pa_cpu_string is null.
+       * pa.md (attr cpu): Add 8000.
+       * invoke.texi: Add documentation for PA8000 scheduling.
 
-       * cse.c (rtx_cost): Increase default cost of mult and div.
+Wed Mar 17 18:20:24 1999  David S. Miller  <davem@redhat.com>
 
-       * expmed.c (synth_mult): New function.  Finds best way to multiply
-       by given constant, and the cost.
-       (expand_mult): Use that.
-       (init_expmed): Init new vars add_cost, shift_cost, mult_cost,
-       and negate_cost.  mult_is_cheap has been deleted.
+       * config/sparc/sparc.h (TARGET_SWITCHES, TARGET_OPTIONS):
+       Add descriptions.
+       * config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
+       * config/sparc/splet.h (SUBTARGET_SWITCHES): Likewise.
 
-       * expmed.c (store_bit_field): Don't use insv if unit for copying
-       mem to reg won't hold the entire field.
+Wed Mar 17 14:51:19 1999  Richard Henderson  <rth@cygnus.com>
 
-Sun Apr  8 12:54:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * flow.c (compute_immediate_dominators): New function.
+       * basic-block.h (compute_immediate_dominators): Declare it.
 
-       * expr.c (expand_expr, case COND_EXPR): Add OK_DEFER_POP to path with
-       only OK_DEFER_POP.
+       * alpha.h (HARD_REGNO_MODE_OK): Allow only 4 and 8 byte unit modes
+       in FP regs.
+       (MODES_TIEABLE_P): Define asymmetricly wrt modes illegal in FP regs.
 
-Sun Apr  8 12:50:54 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Mar 17 14:41:41 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * i386.md (insv): Use SImode for operand 0.
+       * config/arm/aout.h (ASM_GENERATE_INTERNAL_LABEL): Fix compile
+       time warning.
+       * config/arm/arm.md: Fix various compile time warnings.
+       * config/arm/arm.h: Fix various compile time warnings.  Add
+       function prototypes.
+       * config/arm/arm.c: Fix various compile time warnings.
+       (arm_override_options): Reorganize to separate tuning from
+       targetting.
+       (bit_count): New function: Return a count of the number of bits
+       set in a word.
 
-Sat Apr  7 15:24:56 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Mar 17 21:29:12 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * emit-rtl.c (gen_lowpart, gen_highpart): When checking mode class,
-       check for not MODE_FLOAT.
-       * cse.c (fold_rtx): Likewise when avoiding x-x -> 0 for IEEE float.
-       * jump.c (jump_back_p): Likewise.
-       * optabs.c (emit_cmp_insn): Likewise, comparing result of libcall.
-       * expr.c (move_block_to_reg, emit_push_insn): Likewise,
-       when putting floats in memory.
+       * reload1.c (eliminate_regs): Don't keep REG_DEAD notes around for
+       things that were eliminated.
 
-       * machmode.def (PSImode, PDImode): Class is now MODE_PARTIAL_INT.
-       * expr.c (convert_to_mode): Don't treat them as ints.
+Wed Mar 17 12:16:26 1999  Richard Henderson  <rth@cygnus.com>
 
-       * fixincludes: When making directory links, assume any relative path
-       is within /usr/include.
+       * function.c (fixup_var_refs_1): First try moving the expression
+       directly into a register.  Don't separate cc0 setter and user.
 
-Sat Apr  7 14:56:27 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Wed Mar 17 11:20:29 1999  Dave Brolley  <brolley@cygnus.com>
 
-       * function.c (assign_stack_local, assign_outer_stack_local):
-       Don't use division for rounding to avoid problems with negative
-       dividends; use logical operations instead.
-       No need to ever align stricter than BIGGEST_ALIGNMENT.
+       * cppfiles.c (PIPE_BUF): #define PIPE_BUF if not defined already.
 
-Sat Apr  7 14:38:36 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Mar 17 09:25:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * expr.c (expand_expr, case CONSTRUCTOR:): Finish Jan 12 change
-       in store_expr by calling store_constructor if target is a temp.
+       * c-lex.c: Don't include setjmp.h.
+       (parse_float): New static function.
+       (pf_args): New struct.
+       (yylex): Use them in call to `do_float_handler'.
+
+1999-03-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * cse.c (cse_insn): For regs invalidated by calls, go back to
-       checking for fp and ap explicitly, not fixed_regs.
+       * cexp.y (yyerror): Call verror to get a useful error message.
+       * cexp.c: Rebuilt.
+
+       * .gdbinit: Move command to put breakpoint at abort to end of file
+       so that gdb does not bail out early.
+
+Tue Mar 16 15:30:19 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * rtl.h: Rename prototype for free_bb_memory to free_bb_mem.
+
+Tue Mar 16 23:40:09 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * sh.md (movsi_i): Move t/r alternative after r/rI alternative.
+
+Tue Mar 16 13:44:50 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * mn10200/mn10200.md (addsi3, subsi3, ashlsi3, lshrsi3, ashrsi3):
+       Delete emit_library_call_value declaration.
+
+1999-03-16  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cppfiles.c (read_and_prescan): Map backslash-newline to '\r'
+       (which cannot otherwise appear in the processed buffer) and
+       move it out of tokens that it appears in the middle of.
+       Improve performance.
+       (find_position): New function.
 
-Sat Apr  7 14:06:43 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * cpplib.c: \r (one character) indicates backslash
+       newline, not \\\n (two characters).  It cannot appear in the
+       middle of a token.  Call CPP_BUMP_LINE (pfile) whenever
+       parsing moves past \n or \r.  Increment pfile->lineno whenever
+       a \n is placed into token_buffer.  Only one mark can exist at
+       a time, and CPP_BUMP_LINE must not be used while it is
+       active.  It is automatically cleared by cpp_pop_buffer and
+       parse_goto_mark.  \r is not in is_hor_space or is_space.
 
-       * recog.h: Define num_validated_changes and cancel_changes.
-       * recog.c (validate_change, apply_change_group, cancel_changes):
-       Support changes both within an insn and within a MEM.
+       (NEWLINE_FIX, NEWLINE_FIX1, adjust_position,
+       update_position, count_newlines, parse_move_mark): Removed.
+       (parse_string, copy_comment): New functions.
+       (parse_name): Returns void.
+       (parse_set_mark, parse_clear_mark, parse_goto_mark): Take only
+       one argument, a cpp_reader *.  Change for new marking scheme.
+       (skip_comment): Handle CHILL line comments too.  Second
+       argument is now first character of comment marker; all callers
+       changed.  Issue error for unterminated block comment here.
+       (cpp_skip_hspace): Recognize CHILL comments.
+       (copy_rest_of_line): Likewise.  Call skip_comment and
+       parse_string directly, don't go through cpp_get_token.  Emit
+       "/**/" for block comments if -traditional (create_definition
+       needs this).
+       (do_define): Don't play with put_out_comments.
+       (cpp_push_buffer): Initialize ->mark to -1.
+       (cpp_buf_line_and_col): Just read out the values in the buffer
+       structure.
+       (output_line_command): Use cpp_buf_line_and_col.  Fix
+       formatting.  Remove stale code.
+       (cpp_get_token): Break out string parsing code to
+       parse_string.  Use skip_comment for CHILL comments too.  Use
+       copy_comment for put_out_comments instead of dinking with
+       marks.  Remove stale code.  Don't call output_line_command
+       unless it's necessary.
+
+       * cpplib.h (parse_marker): Removed.
+       (struct cpp_buffer): Line_base is now a unsigned char *; add
+       `mark' [long], remove `marks' [struct parse_marker *].
+       (parse_set_mark, parse_clear_mark, parse_goto_mark): Update
+       prototypes.
+       (CPP_BUMP_LINE, CPP_BUMP_BUFFER_LINE): New macros.
+       * cppinit.c (is_hor_space, is_space): '\r' is not considered
+       whitespace.
+       * cppexp.c (cpp_parse_expression): Use cpp_skip_hspace, not
+       SKIP_WHITE_SPACE.
+       * cpphash.c (macarg): Disable line commands while expanding.
+
+Tue Mar 16 11:30:19 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * c-lex.c (yylex) : Remove warning for integer literals being
+       larger than the largest target int.  Add warning for integer
+       literal being larger than than its chosen type.
+
+Tue Mar 16 10:53:17 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * invoke.texi: Add -mlong32 documentation.
+       * config/mips/mips.h (mips_explicit_type_size_string): New.
+       (TARGET_SWITCHES): Add 'long32'.
+       (TARGET_OPTIONS): Add 'explicit-type-size'.
+       (CC1_SPECS): Set -mexplicit-type-size.
+       (LONG_MAX_SPEC): Change a use of 'no-long64' to 'long32'.
+       * config/mips/abi64.h (LONG_MAX_SPEC): Same.  Add 'mabi=32'.
+       * config/mips/mips.c (mips_explicit_type_size_string): New.
+       (override_options): Use it.
+       * config/mips/osfrose.h (CC1_SPECS): Set -mexplicit-type-size.
+
+       * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC):
+       Pointer size now depends on both size longs and size of GP
+       registers.
+
+Tue Mar 16 10:22:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * config/mips/iris.h (CTORS_SECTION_ASM_OP,DTORS_SECTION_ASM_OP,
+       dtors_section): Use Pmode == DImode rather than TARGET_LONG64.
+       * config/mips/mips.c (override_options): Allow -mlong64 and
+       -mint64 with -mips2 or less.
+       * config/mips/mips.h (MASK_LONG64): Fix comment.
+       (POINTER_SIZE): Use Pmode == DImode rather than TARGET_LONG64.
+       (Pmode): Make Pmode the smaller of longs or gp registers.
+       * invoke.texi: Note the new size for pointers.
+
+Mon Mar 15 22:45:25 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.h (ASM_OUTPUT_{DOUBLE,FLOAT}): Always generate IEEE 754
+       bit-pattern directly.
+       (ASM_OUTPUT_REG_{PUSH,POP}): Delete.
+       * rs6000.c (first_reg_to_save): If profiling and context needed,
+       allocate a reg to save static chain for all ABIs.  For AIX
+       profiling, calculate parameter registers to save based on need.
+       (output_function_profiler): Save and restore static chain around
+       profile call for all ABIs.
+
+1999-03-15  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cppinit.c: Instead of one pending list, keep separate lists
+       for each category of pending option: -D/-U, -A, -include,
+       -imacros.  Move the four partial include-path lists into the
+       pending block.  Use head and tail pointers so we don't ever
+       have to reverse the lists.
+
+       (cpp_start_read): Break out blocks of code to their own
+       functions: install_predefs and initialize_dependency_output.
+       Use path_include for C_INCLUDE_PATH and friends as well as
+       CPATH.  Remove include_defaults gunk.  Warn about the
+       combination of -lang-chill and -trigraphs.  Optimize string
+       bashing.  Walk each pending list once, deallocating as we go.
+
+       (append_include_chain): Brought over from cppfiles.c.  Mark
+       dirs as system include dirs if and only if appending to
+       system include path. If opts->verbose, print a notice when a
+       dir is dropped from the include path because it doesn't
+       exist.  Fix memory leak: this function is not supposed to copy
+       its DIR argument.
+
+       (nreverse_pending, push_pending): Removed.
+       (APPEND): New macro for adding to pending lists.
+       (path_include): Can now add to any partial include path.
+       (base_name): Bring over from cccp.c.
+       (cpp_options_init): Allocate the pending block.
+       (cpp_handle_option): Add --version.  Exit after --help.  Fix
+       formatting.  Order -ifoo options by frequency of usage.
+       (install_predefs): New function, simplified version of code
+       that was in cpp_start_read.
+       (initialize_dependency_output): Likewise.  Understand OBJECT_SUFFIX.
+
+       * cppfiles.c (simplify_pathname): Export.
+       (merge_include_chains): Don't nreverse the lists.  If
+       opts->verbose, print a notice when a duplicate dir is detected
+       and dropped from the include path.
+       (finclude): Fix excessive cleverness in setting
+       fp->system_header_p.
+       (actual_directory): Set x->sysp from
+       CPP_BUFFER (pfile)->system_header_p so that one system header
+       may include another with "".
+       (deps_output): Fix double adjustment of deps_size which would
+       cause all dependencies after the first two lines to be lost.
+
+       * cpplib.c (cpp_unassert): New function.
+       * cpplib.h: Lay out struct cpp_pending here.  Adjust
+       prototypes.  Add include_prefix_len to struct cpp_options.
 
-Sat Apr  7 00:45:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Mar 15 16:01:52 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * sparc.md (addcc and subcc patterns): Set CC_NO_OVERFLOW.
+       * config/misp/mips.h (REGISTER_MOVE_COST): Make the cost of moving
+       from HI/LO/HILO/MD into general registers the same as for one
+       of moving general registers to HI/LO/HILO/MD.
 
-Fri Apr  6 15:20:51 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Mar 15 12:39:38 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * cccp.c (lookup_import): Return -1 for not found to agree with
-       the open system call.  Use -2 for duplicate.
-       (do_include): -2 now means duplicate; previously, -1 meant not found
-       from open and duplicate from lookup_import.
+       * config/m32r/m32r.c (init_idents): New function.  Initialize
+       static tree nodes for m32r specific attribute identifiers.  Remove
+       leading and trailing double underscores from the attribute names.
+       (m32r_valid_machine_decl_attribute): Call init_idents.
+       (m32r_encode_section_info): Call init_idents.
 
-Fri Apr  6 00:06:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Mar 15 10:20:20 1999  Mark Mitchell  <mark@markmitchell.com>
 
-       * c-decl.c (poplevel): Use DECL_INITIAL to detect undef label.
+       * reload.c (find_reloads): Add a REG_LABEL note if we substitute a
+       LABEL_REF for something else.
 
-       * sparc.md (peephole for returning sum): Use more restrictive preds.
+Mon Mar 15 08:24:17 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * reload1.c (choose_reload_regs): When testing reload reg
-       for HARD_REGNO_MODE_OK, use SImode instead of VOIDmode.
+       * fold-const.c (exact_real_inverse): Move variable `float_error'
+       into the scope where it is used.
+       (const_binop_1): New static function.
+       (cb_args): New struct.
+       (const_binop): Use them in call to `do_float_handler'.
+       (fold_convert_1): New static function.
+       (fc_args): New struct.
+       (fold_convert): Use them in call to `do_float_handler'.
 
-Thu Apr  5 14:00:41 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Mar 15 22:50:18 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * cccp.c (main, include_defaults): Use STANDARD_INCLUDE_DIR
-       instead of /usr/include.
-       * Makefile.in (cccp.o): Specify STANDARD_INCLUDE_DIR.
+       * rtlanal.c (auto_inc_p): New function.
+       * rtl.h (auto_inc_p): Prototype it.
+       * reload1.c (add_auto_inc_notes): New function.
+       (reload): Strip REG_INC notes and call add_auto_inc_notes
+       for each insn to restore them correctly.
 
-       * varasm.c (assemble_variable): No sdb output for initialized global.
-       * toplev.c (compile_file): Output it here, at end of run.
+1999-03-15  Manfred Hollstein  <manfred@s-direktnet.de>
 
-       * stdarg.h (va_start): Round initial pointer value down
-       to double boundary.  This is to eliminate big-endian adjustment.
+       * fixinc/Makefile.in (procopen.o): List the actual
+       dependencies.
 
-       * fixincludes: Delete netinet/ip.h and sundev/vuid_event.h
-       if no changes are needed.
+Sun Mar 14 16:22:10 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * c-typeck.c (build_c_cast): Reject array types for result.
-       * cplus-typeck.c (build_c_cast): Likewise.
+       * cse.c (check_fold_consts): New static function.
+       (cfc_args): New struct.
+       (simplify_relational_operation): Use them in call to
+       `do_float_handler'.
 
-       * tm-*.h (ASM_OUTPUT_SKIP): Print size as unsigned.
-       (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
+       * toplev.c (do_float_handler): New function to wrap calls to
+       setjmp/set_float_handler.
 
-       * fold-const.c (fold): Simplify double truncation, double extension,
-       or extension followed by truncation.
+       * toplev.h (do_float_handler): Add extern prototype.
 
-       * fixincludes: Don't ignore errors when making dirs.
-       But check whether dir already exists.
+       * tree.c (build_real_from_int_cst_1): New static function.
+       (brfic_args): New struct.
+       (build_real_from_int_cst): Use them in call to
+       `do_float_handler'.
 
-       * cse.c (fold_rtx): Don't simplify real*0, because of nans.
+Sun Mar 14 01:15:06 1999  Jeff Law  (law@cygnus.com)
 
-       * real.h (dconst0, dconst1, dconstm1): Declare them.
-       * tree.c (real_zerop, real_onep): New functions.
-       * fold-const.c (fold): Check for trivial +, -, * with reals.
-       Also use dconst0 instead of computing with REAL_VALUE_ATOF.
+       * version.c: Bump for snapshot.
 
-Tue Apr  3 22:52:26 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Mar 13 17:37:18 1999  Richard Henderson  <rth@cygnus.com>
 
-       * m68k.md (32-bit bit fields): Special patterns added.
-       (push byte and adjust stack by 2): New peephole.
-       These from Bruce Robertson.
+       * haifa-sched.c (sched_analyze_1): Only clear reg_last_uses on a SET.
 
-       * c-decl.c (grokdeclarator): Complain if fn defn has `typedef' etc.
+Sat Mar 13 11:36:16 1999  Richard Earnshaw  (rearnsha@arm.com)
 
-Tue Apr  3 21:39:54 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * arm.c (arm_split_constant): Don't try to force a constant to
+       memory after arm_reorg has run.
+       (after_arm_reorg): New static variable.
+       (arm_reorg): Set it.
+       (output_func_epilogue): Clear it.
 
-       * expr.c (preexpand_calls): Reinsert check to not expand calls
-       already preexpanded.
+Fri Mar 12 20:26:32 1999  David Edelsohn  <edelsohn@gnu.org>
 
-Mon Apr  2 07:05:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * configure.in ({rs6000,powerpc}-ibm-aix*): Set float_format to none.
+       * configure: Rebuilt.
 
-       * c-typeck.c (digest_init): Don't blow up on null list.
+Fri Mar 12 20:45:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * Makefile.in (cc1obj): Link OBJC_OBJS instead of C_OBJS.
-       * objc-actions.c: Correct compilation errors.
-       * objc-parse.y: Likewise.
+       * unroll.c (loop_iterations): Don't return a final value for EQ
+       comparison loops.
 
-Mon Apr  2 03:33:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Mar 12 12:35:01 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * objc-actions.h: Define the objc tree codes.
-       Declare doing_objc_thang.
+       * reload1.c (calculate_needs_all_insns): When ignore equivalence
+       setting insn, clear need_elim, need_reload, and need_operand_change.
 
-Fri Mar 30 17:28:30 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Fri Mar 12 07:54:43 1999  Bruce Korb  <korb@datadesign.com>
 
-       * sdbout.c (PUT_SDB_EPILOGUE_END): Write out assembler name for
-       function (i.e., usually include leading "_").
+       * fixinc/fixinc.*: Some changes from the fixincl-branch
+       were not applied (??!!).  Corrected.
 
-       * sdbout.c (PUT_SDB_...): Use new macro SDB_DELIM; it defaults to ";".
+       * fixinc/Makefile.in: Same thing.
 
-Fri Mar 30 15:25:20 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Mar 12 00:51:43 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * jump.c (prev_active_insn, next_active_insn): New functions.
-       These skip USEs and CLOBBERs.
-       (jump_optimize): Use them instead of ..._real_insn
-       for the simple optimizations.
+       * expr.c (expand_expr): Allow a CALL_EXPR with a mode wider than
+       MAX_INTEGER_COMPUTATION_MODE.
 
-       * integrate.c (expand_inline_function): Always index const_equiv_map
-       with regno from current function.  And set up the map only after
-       creating all the pseudos we will need for the parms.
-       This requires intermediate tables parm_equivs and parm_copies.
-       Make const_equiv_map big enough to handle all the pseudos we
-       expect to make.  Record actual size, and don't look in it
-       for regnos too large.
-       (subst_constants, const_equiv): Don't access const_equiv_map
-       if regno is too large.
+Thu Mar 11 14:00:58 1999  Richard Henderson  <rth@cygnus.com>
 
-       * function.c (trampoline_address): Push and pop obstacks around
-       call to assign_outer_stack_local.
+       * alpha.h (HARD_REGNO_MODE_OK): Disallow QI/HImode in fp regs.
+       (MODES_TIEABLE_P): Update.
 
-       * function.c (push_function_context, pop_function_context):
-       Save and restore max_parm_reg and parm_reg_stack_loc.
-       * function.h (struct function): Make slots.
+       * alpha.md (ev5_e0): Conflict loads and stores.
 
-       * c-decl.c (c_build_type_variant): New function.
-       (grokdeclarator): Call that, for ARRAY_TYPE only, in fields and vars.
-       * c-decl.c, c-typeck.c: All calls to build_type_variant use that now.
+Thu Mar 11 13:55:52 1999  Richard Henderson  <rth@cygnus.com>
 
-       * emit-rtl.c (reinstate_emit_status): Unused function deleted.
+       * machmode.h (smallest_mode_for_size): Prototype.
+       * stor-layout.c (smallest_mode_for_size): Remove static.
 
-Thu Mar 29 15:35:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Mar 11 21:25:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * tree.c (rtl_in_current_obstack): New function.
-       * toplev.c (rest_of_compilation): Call that.
-       This makes it true that rtl is allocated in current_obstack
-       during optimization.
+       * loop.c (strength_reduce): Don't do biv increment -> DEST_REG giv
+       conversion if we don't know the lifetime.
 
-       * reload1.c (eliminate_frame_pointer): Scan equivalent addresses
-       of pseudo-regs, and eliminate frame-pointer there too.
-       (reload): Don't do this here.
+Thu Mar 11 20:37:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * c-decl.c (build_enumerator): Return pair of decl and value.
-       (finish_enum): Go through the list replacing decls with names.
+       * reload.1c (delete_address_reloads_1): Check for reloads of
+       CURRENT_INSN even if it sets DST.
 
-       * function.c (fixup_var_refs): Eliminate all but first arg.
-       Use current sequence_stack, insn chain and rtl_expr_chain.
-       (put_var_into_stack): Don't pass those args.
-       If var is nonlocal, don't do it now; put it on fixup_var_refs_queue.
-       (pop_function_context): Do fixup_var_refs on vars queued up.
+Thu Mar 11 10:29:50 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * tree.c (function_maybepermanent_obstack): Make a separate
-       saveable obstack for each nested function level.
-       (init_tree): Init this variable.
-       (save_tree_status, restore_tree_status): Save and restore it.
-       Create and free a new obstack for the purpose.
-       (temporary_allocation, resume_temporary_allocation): Use this var.
-       (preserve_data, preserve_initializer): Use this var.
-       (make_node): Use this var for PARM_DECL nodes.
+       * dwarf2out.c (add_AT_lbl_offset): Rename from add_AT_section_offset.
+       (print_die, size_of_die, value_format, output_die): Adjust.
 
-       * tree.c (push_obstacks): New name for push_obstack.
-       Additional arg specifies saveable_obstack.  All calls changed.
-       (pop_obstacks): New name for pop_obstack.  All calls changed.
+Thu Mar 11 10:27:42 1999  Robert Lipe  <robertlipe@usa.net>
 
-       * config.gcc: Add `3300'.
-       (genix): Fix typo in name of makevar file.
-       * tm-mot3300.h, xm-mot3300.h: New files.
-       * math-3300.h: New file.
+       * dwarf2out.c (TEXT_SECTION_LABEL, DEBUG_LINE_SECTION_LABEL,
+       DEBUG_INFO_SECTION_LABEL, ABBREV_SECTION_LABEL,
+       text_section_label, debug_line_section_label,
+       debug_info_section_label, abbrev_section_label): New.
+       (output_compilation_unit_header): Emit label associated
+       with section instead of section name itself.
+       (out_pubnames, output_aranges, output_line_info,
+       dwarf2out_finish): Likewise.
+       (dwarf2out_init): Build internal label names for sections
+       from static labels.
 
-       * output.h: Fix typo in SDB_DEBUGGING_INFO.
+Thu Mar 11 17:28:32 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * tm-sun386i.h (LINK_SPEC): Moved here, and -static handled.
-       * xm-sun386i.h: Moved from here.
-       * tm-alliant.h (LINK_SPEC): Moved here, from xm-alliant.h.
+       * sh.md (mulsi3): End mul.l sequence with a no-op move.
 
-       * tm-convex.h, tm-i860.h, tm-spur.h, tm-vax.h, tm-tahoe.h, tm-pyr.h:
-       Delete FIX_FRAME_POINTER_ADDRESS.
+Thu Mar 11 08:52:02 1999  Bruce Korb  <korb@datadesign.com>
 
-       * tm-sparc.h, tm-m88k.h: Turn off FIX_FRAME_POINTER_ADDRESS.
-       INITIAL_FRAME_POINTER_OFFSET could be written later.
+       * Makefile.in: Activated fixinc/mkfixinc.sh.
+       * configure.in: Activated fixinc/mkfixinc.sh.
 
-       * tm-m68k.h, tm-ns32k.h, tm-alliant.h, tm-i386.h, tm-mips.h:
-       Define INITIAL_FRAME_POINTER_OFFSET.
+Thu Mar 11 01:38:02 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 
-       * toplev.c (compile_file): Remove .m and .cc suffixes, like .c.
+       * cppfiles.c (INO_T_EQ): Handle UWIN.
 
-       * final.c (end_final): For basic block profiling, don't output
-       source file name.  Instead, append ".d", and remove ".c".
-       * gnulib2.c (__bb_init_func): New name for __bb_init_function.
-       Conditionalize on mc68000, not m68k.
-       Fix other typos.
+       * c-common.c (decl_attributes): Flag unrecognized attribute
+       functions as warnings instead of as errors.
 
-Wed Mar 28 16:07:15 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       Support for i386-pc-uwin.
+       * i386/uwin.h: New file.
+       * i386/xm-uwin.h: New file.
+       * i386/t-uwin: New file.
+       * i386/uwin.asm: New file.
+       * configure.in (i[3456]86-*-uwin*): Define.
+       Add Workaround for vfork bug when hosted on uwin.
+       * configure: Regenerate.
 
-       * c-decl.c, cplus-decl.c (duplicate_decls): Preserve DECL_FRAME_SIZE
-       from definition past subsequent declarations.
+       * cccp.c (INO_T_EQ): Undefine. UWIN has inodes.
+       (absolute_filename): UWIN uses POSIX pathnames only.
+       * libgcc2.c (getpagesize): Do not define for UWIN.
+       (mprotect): Likewise.
+       * protoize.c (dirent.h): Conditionally include.
+       (fputc): Prototype only if it's not a macro.
 
-       * c-decl.c (xref_tag): If global_binding_level, make nodes permanent.
+Wed Mar 10 02:49:04 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * expmed.c (init_expmed): Set up mult_is_very_cheap.
-       (expand_mult): Never use shifts if mult_is_very_cheap.
+       * configure.in: Remove init_priority stuff.
 
-       * expr.c (store_expr): When copying through new temporary,
-       allocate temporary first and use as target.
+1999-03-11  Colin Smith  <colin@wrs.com>
 
-       * tm-m68k.h (HARD_REGNO_MODE_OK): Abort on VOIDmode.
+       * sdbout.c (plain_type_1): Make boolean types work better with sdb.
 
-       * reload1.c (fix_frame_pointer_address): New function.
-       (alter_frame_pointer_addresses): New arg INSN.  Calls changed.
-       Use that function instead of macro FIX_FRAME_POINTER_ADDRESS
-       which is now obsolete.
-       (eliminate_frame_pointer): Use macro INITIAL_FRAME_POINTER_OFFSET
-       to initialize depth.  Abort if that macro is missing.
+Thu Mar 11 00:20:52 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
-       * expmed.c (store_bit_field): If loading MEM into a reg, use the
-       mode of the MEM if that is not BLKmode.
-       (extract_bit_field): Likewise.
+       * gcc.texi: Update bug reporting instructions to match
+       current ezmlm list reality.
 
-       * tm-mips.h (STRUCTURE_SIZE_BOUNDARY): Changed from 16 to 8.
+Wed Mar 10 23:11:19 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * calls.c (expand_call): Handle STACK_BOUNDARY when using push insns.
+       * gcc.c (print_file_name, print_prog_name, spec_machine,
+       read_specs, set_spec, lookup_compiler, build_search_list,
+       putenv_from_prefixes, find_a_file, record_temp_file,
+       delete_if_ordinary, handle_braces, do_spec, do_spec_1, find_file,
+       is_directory, validate_switches, used_arg, default_arg,
+       pfatal_with_name, perror_with_name, pfatal_pexecute, fatal, error,
+       notice, add_preprocessor_option, add_assembler_option,
+       add_linker_option, process_command, execute,
+       unused_prefix_warnings, clear_args, fatal_error,
+       lang_specific_driver, user_specs, compiler, link_command_spec,
+       option_map, translate_options, make_temp_file, temp_name,
+       programname, path_prefix, machine_suffix, just_machine_suffix,
+       gcc_exec_prefix, standard_exec_prefix, standard_exec_prefix_1,
+       md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1,
+       standard_startfile_prefix, standard_startfile_prefix_1,
+       standard_startfile_prefix_2, tooldir_base_prefix, tooldir_prefix,
+       multilib_dir, temp_filename, temp_file, command, switchstr,
+       infile, outfiles, input_filename, input_basename, input_suffix,
+       check_live_switch, main): Qualify a char* with the `const' keyword.
 
-       * function.c (assign_parms): Note how PUSH_ROUNDING affects stack
-       parm size.
+Wed Mar 10 20:28:29 1999  Jeffrey A Law  (law@cygnus.com)
 
-Tue Mar 27 19:40:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * lcm.c: New file.
+       * Makefile.in (OBJS): Add lcm.o.
+       (lcm.o): Add dependencies.
 
-       * c-decl.c (poplevel): Output inline nested functions if needed.
-       * cplus-decl.c: Likewise.
+       * gcse.c (compute_pre_local_properties): Delete.
+       (compute_pre_data): Use compute_local_properties instead of
+       compute_pre_local_properties.
 
-       * i386.md (insv): New pattern added for the moment.
+       * gcse.c: More comments, whitespace and similar fixes.
+       (dump_cuid_table, maybe_set_rd_gen, dump_cprop_data): Delete.
+       (dump_pre_data, compute_cprop_local_properties): Likewise.
+       (one_classic_gcse_pass): Lose unused argument.  All callers changed.
+       (compute_hash_table, compute_expr_hash_table): Likewise.
+       (compute_set_hash_table, one_pre_gcse_pass, mark_call): Likewise.
+       (cprop_insn, cprop, one_cprop_pass): Add new argument ALTER_JUMPS.
+       All callers changed.  Only alter jumps if ALTER_JUMPS is nonzero.
+       Lose unused argument.
+       (gcse_main): Always run a cprop pass after finishing global cse.
+       (compute_local_properties): New function.
+       (hash_scan_pat, hash_scan_insn): No longer call maybe_set_rd_gen.
+       (compute_cprop_data): Use compute_local_properties.
 
-Tue Mar 27 17:47:35 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * gcse.c: Update various comments.
+       (current_function_calls_longjmp): Delete declaration.
 
-       * function.c (lookup_outer_static_chain): Deleted, no longer used.
-       (trampoline_address): RTL for trampoline, rather than its address, is
-       stored in trampoline list.
-       Just add entry to list; don't fill in the trampoline here.
-       (expand_function_end): Fill in any required trampolines here.
-       (expand_function_start): Move tail recursion entry to after
-       creation of display list; size computations come next.
+       * gcse.c (run_jump_opt_after_gcse): New variable.
+       (gcse_main): Returns an integer.
+       (hash_scan_set): Record initializations from CONST_DOUBLEs too.
+       (try_replace_reg): Update some comments.
+       (cprop_insn): Allow propagation into some JUMP_INSNs too.
+       * rtl.h (gcse_main): Update prototype.
+       * toplev.c (rest_of_compilation): If gcse_main returns nonzero,
+       then run a jump optimization pass.
+       * jump.c (delete_barrier_successors): Delete nop jumps too.
 
-Tue Mar 27 14:09:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Mar 10 19:04:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * m68k.md (movsi, movhi, movstricthi, movqi, movstrictqi):
-       Avoid both clr and st on volatile mem, but only on 68000.
-       (SImode store 0 recognizer): Likewise.
+       * sh.c (fp_arith_reg_operand): Actually test if reg is suitable
+       for FP arithmetic.  Changed caller.
+       * sh.md (subsf3, subsf_i): Use fp_arith_reg_operand.
 
-       * stor-layout.c (agg_mode): Don't consider PSImode, etc.
+Wed Mar 10 18:56:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Mon Mar 26 21:12:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * reload1.c (choose_reload_regs): When inheriting from the frame
+       pointer, don't clobber it.
 
-       * local-alloc.c (combine_regs): Only set suggested bit for first
-       register if multi-word quantity.
-       (find_free_reg): Look at suggested regs for first in set, then use
-       all available for subsequent regs.
+Wed Mar 10 08:01:52 1999  Bruce Korb  <korb@datadesign.com>
 
-Mon Mar 26 15:01:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * fixinc/fixinc.*: Resync-ed with the files in this
+       directory.
 
-       * c-decl.c (start_enum): Don't lay out the type.
-       (finish_enum): Always lay it out, and always set the precision.
-       Change the type of the enumerators if int is too narrow.
+       * fixinc/mkfixinc.sh: The machine case elements were
+       out-of-order.  (the ix86-*-linux-gnu* entry needed to
+       be earlier).
 
-       * tm-m68k.h (NOTICE_UPDATE_CC): addq and subq do update cc's
-       even if destination is an address register.
+Wed Mar 10 00:01:24 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * c-parse.y, objc-parse.y (check_newline): Call HANDLE_PRAGMA if def.
-       * out-next.c: New file.
-       (handle_pragma): New function.
-       * tm-next.h (HANDLE_PRAGMA): Define it.
+       * reload1.c (reload_combine_note_store): Fix calculation of number
+       of affected registers.
 
-       * Makefile.in (GNULIB2): New variable.
-       (gnulib2): Use it.
-       (gnulib2.portable): New name for old rule.
-       (install-headers): Split out part of install rule.
-       (INSTALL_HEADERS): New variable.
+Tue Mar  9 15:48:15 1999  Richard Henderson  <rth@cygnus.com>
 
-       * make-next: New file.
+       * flow.c (tidy_fallthru_edge): Be more careful finding the last
+       BARRIER of a list.  Delete the cc0 setter as well as a cond jump.
 
-       * function.c (assign_parms): Get type from proper place.
-       internal_arg_pointer is now an arg.  Compute arg_pointer_copied
-       from that.  Fix typos.
-       (expand_function_start): Compute internal_arg_pointer here.
-       Fix typos handling incoming struct value address.
+Tue Mar  9 15:26:02 1999  Hans-Peter Nilsson  <hp@bitrange.com>
 
-       * cccp.c (do_include): Ignore null strings found in stackp.
+       * i386.md (ashlsi3 splitter): Fix typo in last change.
 
-       * cccp.c (discard_comments): Handle backslash-newline.
+Tue Mar  9 11:35:20 1999  Richard Henderson  <rth@cygnus.com>
 
-Mon Mar 26 07:18:58 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * reg-stack.c (stack_reg_life_analysis): Use returnjump_p
+       instead of an explicit test for RETURN.
 
-       * function.h (temp_slot, temp_slot_level): Now saved by function.c.
-       * function.c (struct temp_slot): Move from stmt.c.
-       (push_function_context, pop_function_context): Save/restore temp slots.
-       (assign_parms): Pass type to locate_and_pad_parms.
-       (locate_and_pad_parms): Accept TYPE.
-       Don't need STACK_OFFSET.
-       (expand_function_start): Pass type to locate_and_pad_parms.
-       (init_function_start): Initialize temp_slot info.
-       * stmt.c (temp_slot, init_stmt_for_function, save_stmt_status,
-       restore_stmt_status): Delete temp_slot stuff from here.
+Tue Mar  9 09:33:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Sun Mar 25 20:21:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * Makefile.in (toplev.o): Depend on $(BASIC_BLOCK_H).
 
-       * expr.c (emit_move_insn): Turn memory address checking back on,
-       but allow push_operand for x.
+       * toplev.c: Include basic-block.h.
 
-       * ns32k.md (movstrsi): If UTEK_ASM, output $0 operand in movsd.
-       (movsi): Handle UTEK_ASM like GNX_V3.
-       * out-ns32k.c (print_operand_address): Add UTEK_ASM conditionals.
-       * tm-merlin.h: New file.
+Tue Mar  9 02:08:17 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-ns32k.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
-       Use save and restore insns if no frame pointer.
+       * calls.c (load_register_parameters): New function.
+       (expand_call): Use it.
 
-       * cccp.c (handle_directive): Discard backslash-newline within <...>.
+       * calls.c (expand_call): Slightly reorganize code.
 
-Sat Mar 24 13:23:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * calls.c (compute_argument_addresses): New function.
+       (rtx_for_function_call): New function.
+       (expand_call): Use them.
 
-       * gcc.c (default_compilers): Add entry for .m files, for Objective C.
-       Always pass some -lang... option to cpp.
+       * i386.md (zero_extendhisi2): Split into an expander and anonymous
+       pattern.  Add new anonymous pattern for use when optimizing for
+       size or for the PPro.
+       (zero_extendqihi2, zero_extendqisi2): Likewise.
 
-       * cccp.c (do_include): Support #import as well as #include.
-       (lookup_import, add_import, import_hash): New functions.
-       (main): Handle options -lang-c++ and -lang-objc and -lang-c.
-       Set variables cplusplus and objc.
-       (enum node_type, directive_table): Add #import.
-       (handle_directive): Treat #import as undefined unless objc is nonzero.
-       (initialize_builtins): If objc, define __OBJC__.
+Mon Mar  8 23:43:47 1999  Richard Henderson  <rth@cygnus.com>
 
-       * Makefile.in (lang-objc, cc1obj): New targets.
-       (objc-parse.o, objc-parse.c, objc-actions.o): New targets.
-       (C_OBJS): Add c-lang.o.
+       * haifa-sched.c (sched_analyze_1): Fix last change -- add clobber
+       dependencies to sets in the non-hard-reg case too.
 
-       * objc.gperf: New file.
-       * objc-parse.y, objc-actions.c, objc-actions.h: New files.
+Mon Mar  8 18:55:21 1999  Marc Espie  <espie@cvs.openbsd.org>
 
-       * c-lang.c: New file.
-       * c-decl.c (c_decode_option): New name for lang_decode_option.
-       Used from c-lang.c and objc-actions.c.
+       * config/openbsd.h (HANDLE_SYSV_PRAGMA): Define.
 
-       * toplev.c (compile_file): Call lang_init and lang_finish.
-       * c-lang.c, objc-actions.c, cplus-decl.c: Define those functions.
+Mon Mar  8 16:04:44 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * c-typeck.c (comptypes): Call maybe_objc_comptypes for record types.
-       * c-lang.c, objc-actions.c (maybe_objc_comptypes): New functions.
+       * local-alloc.c (combine_regs): Don't combine if we have a hard reg
+       for which CLASS_LIKELY_SPILLED_P is true.
 
-       * c-decl.c (implicitly_declare, finish_decl, finish_struct):
-       Call maybe_objc_check_decl before rest_of_decl_compilation.
-       * c-lang.c, objc-actions.c (maybe_objc_check_decl): New functions.
+       * unroll.c (loop_iterations): Only call loop_find_equiv_value if we
+       have a REG or SUBREG.
 
-       * function.c (assign_stack_local): Align each slot only as needed.
-       Normally don't round size up, just align first.
-       New argument ALIGN specifies alignment, or 0 for that of MODE.
-       All callers changed.
-       (assign_outer_stack_local): Likewise.
-       * final.c (final_start_function): Round frame size to STACK_BOUNDARY.
+Mon Mar  8 15:27:42 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * function.c (assign_stack_temp, preserve_temp_slots):
-       (free_temp_slots): Moved from stmt.c.
+       * i386.md (ashlsi3): Revise comments.  Provide new anonymous
+       pattern for Pentium and PPro/PII.  Reverse constraints in
+       generic ashlsi3 anonymous pattern.
 
-       * stmt.c (expand_decl): Use convert_units to avoid overflow.
+       * calls.c (initialize_argument_info): Accept a pointer to
+       CUMULATIVE_ARGS.
+       (expand_call): Pass the address of CUMULATIVE_ARGS.
 
-Fri Mar 23 00:52:34 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * rs6000/xm-sysv4.h (HOST_BITS_PER_LONGLONG): Remove #if 0.
 
-       * c-decl.c (grokdeclarator): Warn if array element is incomplete.
+       * mn10300.h (CASE_DROPS_THROUGH): Delete.
+       * mn10200.h (CASE_DROPS_THROUGH): Delete.
+       * h8300.h (CASE_DROPS_THROUGH): Delete.
 
-       * varasm.c (assemble_variable): Use convert_units to compute
-       size in bytes.
-       (output_constructor): Likewise, for non-bit fields.
+       * flow.c (merge_blocks_nomove): For HAVE_cc0 targets, make sure
+       to also delete the cc0 setter when deleting a conditional branch
+       to the next block.
 
-       * c-typeck.c (check_format, my_strchr): New functions.
-       (build_function_call): Call check_format.
-       * c-decl.c (lang_decode_options): Handle -Wformat.
-       * c-tree.h (warn_format): New flag.
+Mon Mar  8 18:47:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * xm-hp9k320.h (USE_C_ALLOCA): Define if not compiling with GCC.
+       * regmove.c (copy_src_to_dest): New argument max_old_uid.
 
-Thu Mar 22 23:35:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Mar  8 08:23:00 1999  Bruce Korb  <korb@datadesign.com>
 
-       * c-decl.c (get_parm_info): Void parm is special only if no name.
+       * ChangeLog: Merged entries from fixincl-branch.
 
-       * loop.c (may_not_optimize): Static var replaces local `may_not_move'.
-       (strength_reduce): Don't accept those regs as givs.
+Sun Mar  7 11:48:56 1999  Richard Henderson  <rth@cygnus.com>
 
-Thu Mar 22 06:45:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * haifa-sched.c (ENCODE_BLOCKAGE): Don't shift unit too far.
+       (print_exp): Special case addition of a constant.
+       (print_value) [CONST_INT]: Use HOST_WIDE_INT_PRINT_HEX.
 
-       * integrate.c (expand_inline_function): Compute delta to frame
-       from the address at which it was allocated.
+Sun Mar  7 11:21:02 1999  Richard Henderson  <rth@cygnus.com>
 
-Wed Mar 21 17:36:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * haifa-sched.c (reg_last_clobbers): New.
+       (reg_pending_clobbers, bb_reg_last_clobbers): New.
+       (compute_block_backward_dependences): Allocate memory for them.
+       (schedule_region): Likewise.
+       (sched_analyze_1): Clobbers don't interfere with one another.
+       They do interfere with sets ...
+       (sched_analyze_2): ... and uses.
+       (sched_analyze): Likewise.
+       (sched_analyze_insn): Update reg_last_clobbers appropriately.
 
-       * recog.c: Increase number of changes saved for validate_change.
-       (validate_change): If INSN == 0 and in group, add to group; if not,
-       always OK.
-       (apply_change_group): If INSN == 0, change is always OK.
+Sun Mar  7 08:30:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cse.c (cse_basic_block): If extending block, don't call
-       cse_end_of_basic_block with null insn if we got to end of function.
+       * gmon-sol2.c: Include config.h and system.h.  Don't redundantly
+       include system header files.
+       (sccsid): Remove.
+       (moncontrol, monstartup, _mcleanup, internal_mcount): Prototype.
+       (_mcleanup): Add the `const' keyword to a char*.
+       (internal_mcount): Declare `etext' as a char[] not a function.
+       Cast `etext' to char* when calling `monstartup'.
 
-Wed Mar 21 14:08:35 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * sparc.c (frame_base_name, save_regs, restore_regs,
+       build_big_number, sparc_cmodel_string, sparc_align_loops_string,
+       sparc_align_jumps_string, sparc_align_funcs_string, code_model,
+       cpu_default, cpu_table, output_function_prologue,
+       output_function_epilogue, output_return,
+       sparc_flat_output_function_prologue, ultra_code_names,
+       sparc_flat_output_function_epilogue): Constify a char*.
+       (hypersparc_adjust_cost): Add a default case in a switch.
 
-       * calls.c (expand_call): Don't reuse pending_stack_adjust for argblock
-       if inhibit_defer_pop.
+       * sparc.h (sparc_cmodel_string, OVERRIDE_OPTIONS,
+       sparc_cpu_select, sparc_align_loops_string,
+       sparc_align_jumps_string, sparc_align_funcs_string,
+       output_return): Constify a char*.
 
-       * expr.c (push_block): New argument EXTRA.  All callers changed.
-       (emit_push_insn): Use that for the padding when using push_block.
+       * sparc.md (movdi): Change the comparison of HOST_BITS_PER_WIDE_INT
+       so that we check "== 32", instead of "!= 64".  Cast a value to
+       HOST_WIDE_INT when comparing against one.  Hide the declaration
+       for variable `chain'.
 
-       * tm-sparc.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG):
-       Only word-aligned BLKmodes can go in registers.
-       (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
-       * tm-spur.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Likewise.
-       * expr.c (expand_call): If encounter a stack parm before offset
-       gets up to zero, make it zero.
-       * function.c (assign_parms): Likewise.
+Sun Mar  7 08:05:27 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * ns32k.md (stack adjust insn): Don't use cmpd or cmpqd on Sequent.
-       * tm-sequent.h (SEQUENT_ADJUST_STACK): Define this.
+       * system.h (const, inline): Move the stage2 handling of these
+       keywords-as-macros from here...
 
-       * make-hp9k320g (AR): Define it.
-       * Makefile.in (gnulib): Use OLDAR.
-       (OLDAR): New variable.
+       * gansidecl.h (const, inline): ...to here.
 
-       * make-iris: New file.
+Sun Mar  7 02:44:15 1999  Richard Henderson  <rth@cygnus.com>
 
-       * xm-iris.h: Undef alloca before defining it.
+       * recog.c (push_operand, pop_operand): VOIDmode needn't match modes.
 
-       * Makefile.in (stage1, ...): Always copy gnulib, never link.
+Sun Mar  7 01:58:47 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cccp.c (main): Use -d...M... as option for macro dump.
-       * gcc.c (default_compilers): Pass -d* to cpp.
+       * cse.c (canon_hash): Never reject hard regs in CCmode.
 
-Tue Mar 20 01:41:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Mar  7 01:15:04 1999  Jeff Law  (law@cygnus.com)
 
-       * c-parse.y (datadef): Error message fix.
-       * cplus-parse.y: Likewise.
+       * version.c: Bump for snapshot.
 
-Mon Mar 19 15:26:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Mar  6 17:18:44 1999  Richard Earnshaw  (rearnsha@arm.com)
+                         Richard Henderson  <rth@cygnus.com>
 
-       * integrate.c (expand_inline_function): Save static chain value.
-       (copy_rtx_and_substitute): Substitute it where called function
-       copies its static chain.
-       * emit-rtl.c (init_emit_once): Make static_chain_incoming_rtx
-       distinct.
+       * flow.c (make_edges): Handle casesi that jump to default branch.
+       If CASE_DROPS_THROUGH, force fallthru to block after casesi.
 
-       * function.c (current_function_contains_functions): New variable.
-       (init_function_start): Initialize it.
-       (pop_function_context): Set it to 1.
-       * integrate.c (function_cannot_inline_p):
-       Don't inline fn with nested fns.
+Sat Mar  6 07:49:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * integrate.c (copy_rtx_and_substitute): Don't replace fp
-       as destination of assignment.
+       * c-aux-info.c (data_type, affix_data_type, gen_decl,
+       gen_formal_list_for_type, gen_formal_list_for_func_def, gen_type):
+       Qualify a char* with the `const' keyword.
 
-       * assert.h (__assert) [not __GNUC__]: Rename arg to avoid stringify.
+       * c-common.c (declare_hidden_char_array, add_attribute, if_elt,
+       declare_function_name, decl_attributes, format_char_info,
+       check_format_info, binary_op_error): Likewise.
 
-       * function.c (expand_function_start): If struct_value_incoming_rtx
-       is 0, get the address from first parm reg or first stack slot.
-       (assign_parms): In that case, skip the space it occupies.
+       * cexp.y (yyerror, error, pedwarn, warning, token): Likewise.
 
-       * calls.c (expand_call): If STRUCT_VALUE is 0, pass address as parm
-       even if that means using a register.
+       * gcse.c (dump_hash_table): Likewise.
 
-Mon Mar 19 07:43:46 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * integrate.c (function_cannot_inline_p): Check for non-ANSI varargs
-       as well as ANSI varargs.
-       Allow inlining of functions with large frames now that we can share
-       them between inlined functions.
-       (expand_inline_function): Save static vars in case we were called
-       recursively.
-       Make sure we don't free temporary stack slot used for argument.
-
-       * tree.def: Add new code types '<', '1', and '2' for comparison,
-       unary arith, and binary arith, resp.  Change some 'e' types to those.
-       * expr.c (init_comparisons): Delete fn.
-       (expand_expr): Handle X ? A binop B : A with copy and conditional op.
-       In X ? A : B, if A and B both simply, do with only one jump.
-       Remove existing test for things like x = y | (a == b).
-       (preexpand_calls): Handle new code types for expressions.
-       * optabs.c (init_optabs): No longer call init_comparisons.
-       * fold-const.c (operand_equal_p): No longer static.
-       Ignore NON_LVALUE_EXPR.
-       Only require constants if new operand ONLY_CONST is non-zero.
-       (fold): Treat tree code types '<', '1', and '2' as 'e'.
-       Handle cases where an arithmetic operation is applied to a compound,
-       conditional, or comparison operation by distributing the arithmetic
-       operation inside the compound, conditional, or comparison operation.
-       Update calls to operand_equal_p.
-       Convert A ? B : B to (A, B).
-       * expmed.c (make_tree): No longer static.
-       * tree.h: Define new macro TREE_CODE_CLASS.
-       Define extern make_tree.
-       * print-tree.c (prtypeinfo): New new macro TREE_CODE_CLASS.
-       (dump): Use new macro and treat types '<', '1', and '2' as 'e'.
-       * cplus-lex.c (init_lex): Likewise.
-       * tree.c (make_node, copy_node): Ditto.
+       * integrate.c (function_cannot_inline_p): Likewise.
 
-Mon Mar 19 00:05:50 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * optabs.c: Include insn-config.h earlier.
+       (init_libfuncs, init_integral_libfuncs, init_floating_libfuncs):
+       Qualify a char* with the `const' keyword.
 
-       * gcc.c (main): Trap SIGPIPE.
+       * real.c (asctoe24, asctoe53, asctoe64, asctoe113, asctoe,
+       asctoeg, mtherr, ereal_atof): Likewise.
 
-Sat Mar 17 13:09:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * real.h (ereal_atof): Likewise.
 
-       * jump.c (jump_optimize): Also delete no-op insns to store bit fields.
+       * sbitmap.c (dump_sbitmap_vector): Likewise.
 
-       * sparc.md (patterns for addcc, subcc, andcc, andncc, orcc, orncc):
-       (and xorcc, xorncc): Use arith32_operand as predicate.
-
-Fri Mar 16 15:19:21 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * tm-vms.h (NO_DOLLAR_IN_LABEL): Define this.
-
-       * function.c (assign_parms): Use INIT_CUMULATIVE_INCOMING_ARGS
-       if that is defined.
-
-       * c-decl.c (duplicate_decls): `static' always prevails, for functions.
-       * cplus-decl.c (duplicate_decls): Likewise.
-
-       * sparc.md (patterns for andncc, orncc, xorncc):
-       Delete `%' from constraint.
-       (patterns for addcc, andcc, orcc, xorcc): Use symmetrical predicates.
-       (peephole for returning sum): Likewise.
-
-Thu Mar 15 22:02:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * expmed.c (expand_mult_add): Handle either x or mult having VOIDmode.
-       Always pass both args to type_for_mode.
-
-       * expmed.c (extract_bit_field, store_bit_field):
-       When changing mode of a reg to SImode, also do big-endian correction.
-       Consistently use BYTES_BIG_ENDIAN to decide how bits are numbered.
-       Fix stray ref to CODE_FOR_extzv in case for extv.
-
-       * c-typeck.c (build_unary_op): Allow function type args to `!',
-       since they convert to pointers.
-       * cplus-typeck.c (build_unary_op): Likewise.
-
-Thu Mar 15 06:30:21 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * expr.c (convert_to_mode): Don't copy constant to register.
-       Use GET_MODE_CLASS instead of integer_mode_p.
-       (integer_mode_p): Delete obsolete fn (only use above).
-
-       * loop.c (product_cheap_p): Don't crash if no insns need to multiply;
-       that case is cheap.
-
-Thu Mar 15 02:11:34 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * regclass.c (init_reg_sets_1): Set n_non_fixed_regs.
-       * loop.c (scan_loop, strength_reduce): Set threshold from num of regs.
-
-Wed Mar 14 19:31:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * integrate.c (function_cannot_inline_p): Allow BLKmode parms.
-       Allow address of aggregate parm.
-       (expand_inline_function): Create and maintain const_equiv_map
-       and const_age_map.  Increment const_age at basic blocks.
-       Don't substitute constant values for parm regs;
-       instead, call try_constants for each insn copied.
-       When structure_value_addr in't 0, check aggregate_value_p too.
-       Round size of parm_map up.
-       Don't init inline_fp_rtx unless it is used.
-       Don't use emit_move_insn when copying a SET insn.
-       (copy_rtx_and_substitute): Handle inline_target being used when 0.
-       Don't build a SUBREG of a CONST_INT.
-       For PLUS of constant, do plus_constant whether mem address or not.
-       Set up inline_fp_rtx if we need it.
-       Clear RTX_UNCHANGING_P in all MEMs.
-       (try_constants, subst_constants): New functions.
-       (access_parm_map): No big-endian offset for BLKmode parms.
-       Do change_address if mode doesn't match.
-       (const_equiv): New function.
-       (try_fold_cc0): Use that function.
-       In "small win" case, extract CODE_LABEL out of LABEL_REF for emit_jump.
-       (output_inline_function): Set return_label to 0.
-
-       * recog.c (cancel_changes, num_validated_changes): New functions.
-
-Tue Mar 13 17:30:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * recog.c (constrain_operands): Define `V' constraint.
-
-Tue Mar 13 17:10:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * cplus-lex.c (operator_name_string, init_lex): Cast enums to ints
-       to avoid errors from some C compilers.
-
-       * cplus-init.c (expand_aggr_vbase_init): Make declarations consistent.
-
-Sun Mar 11 18:37:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * ns32k.md (movsi): Flush spurious arg to abort.
-
-       * Makefile.in (gnulib.portable, stamp-gnulib2): Ignore error in ranlib.
-
-Sat Mar 10 19:38:36 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * function.h: Add new fields temp_slots and temp_slot_level.
-       * stmt.c (struct temp_slot): New structure.
-       (init_stmt_for_function): Initialize temp slot info.
-       (save_stmt_status, restore_stmt_status): Save and restore temp slots.
-       (expand_asm_operands): Remove redundant assignment to LAST_EXPR_TYPE.
-       Free any temporaries made.
-       (assign_stack_temp, preserve_temp_slots, free_temp_slots): New fns.
-       (expand_expr_stmt): If last expression had a value (i.e., in ({..})
-       grouping), maybe preserve temporaries.
-       (expand_return, tail_recursion_args): Free any temporaries allocated.
-       (expand_start_bindings): Push temporary stack level.
-       (expand_end_bindings): Pop temporary stack level.
-       (expand_decl): Use kept temporary slots for automatic variables.
-       Free temporary slots after computing size.
-       (expand_decl_init, expand_cleanups, expand_end_case): Free any
-       allocated temporaries.
-       * calls.c (expand_call): Use assign_stack_temp instead of
-       get_structure_value_addr.
-       Make a new temporary level while expanding a call and free
-       temporaries as soon as we know they aren't going to be reused.
-       (store_one_arg): Free any temporary slots made for arg being stored.
-       * function.c (get_structure_value_addr): Delete fn.
-       (init_function_start): No longer initialize structure value addr.
-       * integrate.c (expand_inline_function): Use temporary slot for
-       inlined function's frame.
-       Free temporaries needed while evaluating arguments.
-       * expr.c (expand_assignment, do_jumps): Free temps no longer needed.
-       (store_expr): Don't check for structure value addr.
-       (save_noncopied_parts, expand_expr): Call assign_stack_temp
-       instead of assign_stack_local.
-       (preexpand_calls): No longer special-case fns returning structures.
-       * c-typeck.c (c_expand_asm_operands): Free any temporaries made.
-       * cplus-typeck.c (c_expand_asm_operands): Ditto.
-       * cplus-decl2.c (finish_file): Ditto.
-       * cplus-init.c (expand_aggr_init_1): Ditto.
-       * cplus-type2.c (make_merged_ref): Preserve result and free
-       other temporaries.
-       * cplus-parse.y (stmt): Free any temporaries in EXCEPT clause.
+       * sbitmap.h (dump_sbitmap_vector): Likewise.
 
-Sat Mar 10 16:07:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * stmt.c (nesting, n_occurrences, expand_start_case): Likewise.
 
-       * loop.c (other_reg_use_p): New name for only_reg_use_p.
-       Return 0 if IN == EXPR.
-       (check_eliminate_biv): Re-invert the test using other_reg_use_p.
+       * toplev.c (rest_of_compilation): Likewise.
 
-Fri Mar  9 18:34:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * tree.h (function_cannot_inline_p, expand_start_case): Likewise.
 
-       * optabs.c (init_optabs): Handle PSImode insns.
+Fri Mar  5 23:16:42 1999  David Edelsohn  <edelsohn@gnu.org>
 
-Fri Mar  9 18:24:11 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do
+       not overwrite AIX link register save area.
 
-       * local-alloc.c (local_alloc): Clear qty_phys_sugg and _has_sugg
-       when doing loop, not just when doing bzero.
-       Add new vars qty_phys_copy_sugg and _has_copy_sugg.
-       (block_alloc): Rework detection of possible tied registers to use
-       extracted insn operands rather than trying to parse operands from
-       RTL description.
-       Don't tie registers if output has earlyclobber.
-       For REG_NO_CONFLICT, check commutativity of expression in REG_EQUAL,
-       rather than of operation of attached insn.
-       If insn is a simple copy, pass that info to combine_regs.
-       (combine_regs): For multi-word items, mark all registers actually
-       used as preferred.
-       If the insn is a simple copy, record hard reg suggestions in
-       qty_phys_copy_sugg instead of qty_phys_sugg.
-       (find_free_reg): Correctly check for all registers used.
-       If qty_phys_has_copy_sugg is non-zero, use that register set.  If
-       none of them couldn't be allocated, try the other suggest set if
-       it exists.
+Fri Mar  5 23:08:01 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Thu Mar  8 02:17:50 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * reload.c (find_reloads_subreg_address): Actually create the USE
+       for the register, not the new memory location.
 
-       * jump.c (jump_optimize): Detect tablejumps that always go to
-       the same place, and change to unconditional jumps.
+Fri Mar  5 21:41:07 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * fold-const.c (fold): Simplify comparison of integer value with self.
+       * reload1.c (emit_reload_insns): If pseudo that can't be replaced
+       with its equivalent constant, fall back to reload_in.
 
-       * rtl.h (FUNCTION_FLAGS...): Additional flag bits for saving
-       current_function_returns_pointer, and several others.
-       (FUNCTION_PRETEND_ARGS_SIZE): New component in inline header.
-       * integrate.c (save_for_inline): Record these flags.
-       (output_inline_function): Get them out again.
-       Also restore current_function_args_size and ..._pretend_...
+Fri Mar  5 13:20:39 1999  Richard Henderson  <rth@cygnus.com>
 
-       * ns32k.md (movsi, movdi): Handle floating point registers.
+       * Makefile.in: Delete .flow2 debugging files.
 
-       * dbxout.c (dbxout_prepare_symbol): New function, output N_SOL stab.
-       (dbxout_symbol, dbxout_parms, dbxout_reg_parms): Call it.
-       * final.c (output_source_file): New function.
+Fri Mar  5 11:36:11 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * reload.c (find_reloads_toplev): Do BYTES_BIG_ENDIAN offset
-       only within a word.
+       * config/arm/arm.c (arm_override_options): Change default target
+       cpu selection so that enabling TARGET_APCS_32 does not override
+       default target CPU.
 
-       * stdarg.h: Use _VA_LIST_ as macro to indicate already loaded.
+Fri Mar  5 19:26:23 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * fixincludes: Supply missing semicolon in netinet/ip.h.
+       * sh.h (SLOW_BYTE_ACCESS): Define to 1.
+       (BOOL_TYPE_SIZE): Define.
 
-       * tm-alliant.h (FUNCTION_PROLOGUE): Use `linkl' on 68020.
+Fri Mar  5 02:14:54 1999  John Wehle  (john@feith.com)
 
-       * regclass.c (init_reg_sets): For subunion, keep largest candidate.
+       * function.c (assign_stack_temp_for_type): Abort
+       if mode == Blkmode and align is less than
+       BIGGEST_ALIGNMENT / BITS_PER_UNIT.
+       (assign_stack_temp_for_type): Round the size parameter
+       passed to assign_stack_local instead of size itself.
 
-Wed Mar  7 00:37:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Mar  4 15:00:35 1999  Richard Henderson  <rth@cygnus.com>
 
-       * emit-rtl.c (in_sequence_p): New function.
+       * flow.c (delete_unreachable_blocks): Mark blocks as they
+       are put on to the worklist, not as they are taken off.
 
-       * expr.c (expand_builtin): For BUILT_IN_SAVEREGS, insert after
-       the initial NOTE insn.
+Thu Mar  4 00:05:44 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * dbxout.c (dbxout_finish_symbol): New argument is a decl or 0.
-       Output line number in desc field.
-       All callers changed to pass the argument.
+       * function.c (current_function_has_computed_jump): Remove duplicate
+       definition.
 
-       * tree.h (TREE_PUBLIC): Move back to tree_common.
+Wed Mar  3 19:09:11 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * dbxout.c (dbxout_init): Output working dir in a N_SO symbol.
+       * m68k/m68020-elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Undef.
+       (STARTFILE_SPEC, ENDFILE_SPEC): Define to empty string.
 
-       * expr.c (emit_library_call): Handle PUSH_ROUNDING.
+       * sparc/elf.h (MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL,
+       MODDI3_LIBCALL, UMODDI3_LIBCALL, STDC_0_IN_SYSTEM_HEADERS): Undef.
+       (INIT_SUBTARGET_OPTABS): Define to empty.
 
-       * explow.c (break_out_memory_refs): Use same mode as the MEM has.
+Wed Mar  3 00:00:37 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * out-mips.c (output_load_immediate): Let the assembler do the work.
+       * sh.c (force_into): New function.
+       (expand_block_move): Use it.
 
-Tue Mar  6 22:20:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Mar  2 10:39:43 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * cccp.c (macroexpand): Fix bug in scanning strings for stringify.
+       * cccp.c (struct default_include): Add 'included' field.
+       (main): Set 'included' field when a default include directory
+       is added to the chain.  If -v is specified list all default
+       include directories which do not get appended to the chain.
 
-       * stmt.c (expand_goto_internal): Adjust stack after cleanups.
-       (expand_end_bindings, fixup_cleanups): Likewise.
+Tue Mar  2 09:24:10 1999  Nick Clifton  <nickc@cygnus.com>
 
-       * tm-alliant.h (STATIC_CHAIN_REGNUM): Use 10.
+       * configure.in (gxx_include_dir): Rename to
+       gcc_gxx_include_dir in order to prevent it being overridden by
+       a top level Makefile.
+       (gcc_tooldir): If $exec_prefix != $prefix then use the
+       difference between the two as the basis for gcc_tooldir.
 
-Tue Mar  6 15:23:11 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
+       * configure: Rebuild.
 
-       * config.gcc: Accept srcdir & vint with either '-' or '+'.
+       * Makefile.in: Rename gxx_include_dir to gcc_gxx_include_dir.
 
-       * c-parse.y (hash, is_reserved_word): Use __inline so it can
-       be compiled with `gcc -traditional'.
+Tue Mar  2 16:45:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Tue Mar  6 14:52:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * unroll.c (copy_loop_body): Don't make extra copies of
+       NOTE_INSN_LOOP_CONT notes.
 
-       * c-parse.y (compstmt): Don't return null tree for empty group.  This
-       will cause the compiler to dump core on a ({}) construct.
-       * cplus-parse.y (compstmt): Ditto.
+Tue Mar  2 07:44:56 1999  Mark Mitchell  <mark@markmitchell.com>
 
-Tue Mar  6 14:33:42 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * tree.c (save_tree_status): Don't treat functions with no context
+       as nested.
 
-       * tree.h (TREE_STATIC): Move back to common.
+Tue Mar  2 09:37:05 1999  Robert Lipe  <robertlipe@usa.net>
 
-Tue Mar  6 06:04:30 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * Makefile.in (MAKEINFO): Use makeinfo built from sibling
+       tree when available.
 
-       * function.h (expr_stmts_for_value): New field.
-       * stmt.c (init_stmt_for_function): Initialize vars for expression
-       statements.
-       (save_stmt_status, restore_stmt_status): Save and restore value of
-       expr_stmts_for_value.
+Tue Mar  2 10:12:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cse.c (record_jump_equiv): Ensure previous insn is an INSN before
-       testing it (it might be a NOTE).
+       * alpha.c (alpha_cpu_name, alpha_cpu_string, alpha_tp_string,
+       alpha_fprm_string, alpha_fptm_string, alpha_mlat_string,
+       current_function_file): Add the `const' keyword.
+       (normal_memory_operand): Mark parameter `mode' with
+       ATTRIBUTE_UNUSED.
+       (alpha_expand_unaligned_load): Add a default case to a switch.
 
-Tue Mar  6 00:26:20 1990  Richard Stallman  (rms at geech)
+       * alpha.h (alpha_cpu_string, alpha_fprm_string, alpha_fptm_string,
+       alpha_tp_string, alpha_mlat_string): Add the `const' keyword.
+       (normal_memory_operand): Add prototype.
 
-       * tm-ns32k.h (NOTICE_UPDATE_CC): Use abort in case
-       that shouldn't happen.
+       * alpha.md: Cast an expression to `unsigned HOST_WIDE_INT' when
+       comparing against one.
 
-Mon Mar  5 23:11:57 1990  Richard Stallman  (rms at geech)
+Tue Mar  2 10:00:21 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile.in (cplus-tab.h): Say expect 12 reduce/reduce conflicts.
+       * mips.c (abort_with_insn): Make function static, add a prototype,
+       constify 2nd parameter and mark with ATTRIBUTE_NORETURN.
+       (current_function_file, mips_cpu_string, mips_isa_string,
+       mips_abi_string, mips_no_mips16_string, mips_entry_string,
+       mips_move_1word, mips_move_2words, output_block_move, load_store,
+       override_options, make_temp_file, mips16_fp_args): Qualify a char*
+       with the `const' keyword.
 
-       * genoutput.c (output_prologue): Include insn-attr.h.
+       * mips.h (current_function_file, mips_cpu_string, mips_isa_string,
+       mips_abi_string, mips_entry_string, mips_no_mips16_string,
+       mips_move_1word, mips_move_2words, output_block_move): Likewise.
+       (abort_with_insn): Remove extern prototype.
 
-       * pyr.md (addsi3, mulsi3, umulsi3, andsi3, iorsi3, xorsi3):
-       Make input arg predicates symmetrical.
-       (adddi3, anddi3, iordi3, xordi3): Likewise.
-       (addsi3): Use immediate subtract if suitable.
+       * mips.md: Qualify a char* with the `const' keyword.
+       Remove many unused variables named `label'.
 
-Sat Mar  3 21:08:25 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Tue Mar  2 01:27:52 1999  H.J. Lu  (hjl@gnu.org)
 
-       * expr.c (move_block_to_reg, emit_push_insn): Don't treat double 0.0
-       as two words of zero.
-       Handle DImode constants as two integers.
-       Support CONST_INT (currently only called with const0_rtx).
+       * Makefile.in (cpp_install_dir, INSTALL_CPP, UNINSTALL_CPP): New
+       variables.
+       (install-cpp, uninstall-cpp): New targets.
+       (install-normal): Depend on $(INSTALL_CPP).
+       (uninstall): Depend on $(UNINSTALL_CPP).
+       * configure.in (cpp_install_dir): New, substitute.
+       (tmake_file): Added t-install-cpp for --enable-cpp.
+       * configure: Rebuilt.
+       * cpp.sh: New cpp script.
+       * config/t-install-cpp: New target fragment.
 
-       * expr.c (convert_move): Can only use slt if STORE_FLAG_VALUE == -1.
+Tue Mar  2 01:40:01 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+                         Jeffrey A Law  (law@cygnus.com)
 
-Sat Mar  3 15:03:00 1990  Richard Stallman  (rms at geech)
+       * cse.c (fold_rtx): Update comments for (const (minus (label) (label)))
+       case.
+       (cse_insn): Avoid creating a bogus REG_EQUAL note for
+       (const (minus (label) (label)))
+       (record_jump_cond): Fix mismatched paren in comment.
 
-       * function.c (setjmp_protect_args, setjmp_args_warning): New functions.
-       * toplev.c (rest_of_compilation): Call setjmp_args_warning.
-       * c-decl.c (finish_function): Call setjmp_protect_args.
+Tue Mar  2 01:07:12 1999  Dan Nicolaescu  <dann@godzilla.ics.uci.edu>
 
-       * flow.c (regno_clobbered_at_setjmp): Argument registers
-       are in effect set at start of function.
+       * final.c (end_final): There are 11 words in the "main header"
+       structure, not 10.
 
-       * tm-sparc.h (ASM_OUTPUT_DOUBLE): Replace missing line.
+Tue Mar  2 00:09:18 1999  Marc Espie  <espie@cvs.openbsd.org>
 
-       * print-tree.c (prtypeinfo): Don't check DECL-only
-       flags for other nodes.
+       * extend.texi: Reference __extension__ in the index.
 
-       * toplev.c: Eliminate `#ifdef 0'.
+Mon Mar  1 19:09:32 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * dbxout.c (print_int_cst_octal): New function.
-       (dbxout_type): Use that for long long types.
+       * Makefile.in (CROSS_FLOAT_H): Delete.
+       (FLOAT_H): Use float_h_file.
+       (rest.cross, stmp-int-hdrs): Delete gfloat.h dependency.
+       (gfloat.h): Delete.
+       (stmp-int-hdrs): Use FLOAT_H instead of gfloat.h.
+       (mostlyclean): Delete gloat.h reference.
+       (install-cross-rest, install-float-h-cross, stmp-headers): Update
+       comments.
+       * configure.in (sparcv9-*-solaris2*): Set float_format to none.
+       (sparc-*-solaris2*): Set float_format to none for 2.5 and higher.
+       (float_h_file): Set from float_format.  Substitute into Makefile.in.
+       (float_format): No longer substitute into Makefile.in.
+       * cross-make (FLOAT_H): Delete.
+       * config/mips/t-cross64 (FLOAT_H): Delete.
+       * configure: Rebuilt.
 
-       * Makefile.in (start.encap, rest.encap): Split all.internal.
+Mon Mar  1 16:36:18 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * tahoe.md: Adjust formatting.
+       * mips.md (div_trap_normal, div_trap_mips16): Require the dependent
+       insn to be an INSN before looking at its pattern.
 
-       * tahoe.md (ashlsi3, lshlsi3): Don't clobber a const_int.
-       Instead, use %s to convert shift count to multiplier.
-       * tm-tahoe.h (PRINT_OPERAND): Handle %s.
+Mon Mar  1 15:03:51 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * tm-tahoe.h (CONST_COSTS): Specify cost of MULT.
+       * config/m68k/lb1sf68.asm (udivsi3): Change jmi to jcs.  Fix comments.
+       * config/m68k/m68k.h (LEGITIMATE_INDEX_REG_P): Reject SIGN_EXTEND of
+       HImode reg when TARGET_5200.
 
-Fri Mar  2 01:00:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Mar  1 21:44:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * cse.c (rtx_cost): By default, multiply and divide are expensive.
+       From Toshiyasu Morita:
+       * sh.h (CACHE_LOG): SH2 has cache, too.
 
-       * expmed.c (expand_mult_add): Use type_for_mode.
-       Allow ADD to have a different mode.
-       * c-typeck.c (type_for_mode): New function.
-       (get_floating_type): Function deleted.
-       * cplus-typeck.c: Likewise.
+Mon Mar  1 14:23:36 1999  Catherine Moore  <clm@cygnus.com>
 
-       * jump.c (jump_optimize): Simplify `if (x) goto foo; else goto foo;'.
+       * toplev.c (compile_file): Disable -ffunction-sections and
+       debugging warning if the object format is elf.
 
-Thu Mar  1 17:41:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Mar  1 11:46:25 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
 
-       * out-mips.c (tree_code_name): Declaration deleted.
+       * config/h8300/h8300.c (print_operand): Use 16 bit addressing
+       when the data in 8-bit area and can not be addressed by 8-bit.
 
-       * stmt.c (expand_expr_stmt): No "no side effects" warning for (void)0.
+Sun Feb 28 16:40:00 1999  Richard Henderson  <rth@cygnus.com>
 
-       * assert.h (__assert): Don't call abort; use 0 as value.
-       * gnulib2.c (__eprintf): Call abort here.
+       * flow.c (create_basic_block): Disregard integrated bb notes.
 
-       * c-decl.c (pushdecl): Don't warn if shadowing error_mark_node.
+Sun Feb 28 15:57:06 1999  Richard Henderson  <rth@cygnus.com>
 
-       * optabs.c: Use GET_MODE_WIDER_MODE instead of INC_MODE.
+       * sparc.md (blockage, nonlocal_goto_receiver): Set length to 0.
 
-       * machmode.def: Set up next-wider-mode for floating modes.
+Sun Feb 28 14:47:53 1999  Arturo Montes  <mitosys@colomsat.com.co>
 
-Wed Feb 28 18:58:22 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/i386/t-sco5gas (crti.o): New target.
 
-       * stmt.c (expand_goto_internal): Add missing stack adjust.
-       (expand_fixup): Don't do stack adjust if fixup isn't for current pos.
+Sun Feb 28 15:10:17 1999  David Edelsohn  <edelsohn@gnu.org>
 
-       * stmt.c (expand_start_stmt_expr, expand_end_stmt_expr): No need to
-       save result from start_sequence in RTL_EXPR.
+       * rs6000.md (elf_high, movsi_got, *movsi_got_internal,
+       *movsi_got_internal_mem, GOT splitter, movdf_hardfloat32,
+       movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64,
+       load_multiple, allocate_stack, call_indirect_aix32,
+       call_indirect_aix64, call_value_indirect_aix32,
+       call_value_indirect_aix64, call_indirect_nt,
+       call_value_indirect_nt): Use gpc_reg_operand instead of
+       register_operand.
 
-       * stmt.c (expand_end_loop): Correctly see if NOTE_INSN_LOOP_CONT
-       was written.
+Sun Feb 28 15:10:17 1999  Michael Meissner  <meissner@cygnus.com>
 
-       * stmt.c (expand_decl): Omit move to OLDADDR if it would be noop.
+       * rs6000.md (one_cmplsi2, andsi3, iorsi3, xorsi3, *eqvsi3,
+       *andcsi3, *iorcsi3, *nandsi3, *norsi3): Add alternatives to use CR
+       other than cr0.
+       * rs6000.c (and{,64}_operand): If the user did -ffixed-cr0, don't
+       allow andi. or andis. which always set cr0.
 
-       * expr.c (expand_expr): Don't use variable TYPE in subblocks that
-       hides TYPE at function level.
+Sun Feb 28 01:15:04 1999  Jeff Law  (law@cygnus.com)
 
-       * expr.c (force_operand): Always generate PLUS for constant.
-       Use negate_rtx to negate constant.
+       * version.c: Bump for snapshot.
 
-       * expr.c (expand_expr): Ensure that type is not wider than
-       HOST_BITS_PER_INT when assuming that constant is entirely in
-       TREE_INT_CST_LOW.
-       Simplify EXPAND_SUM code for PLUS_EXPR and MINUS_EXPR.
-       Call preexpand_calls at binop instead of all places that branch to it.
+Sun Feb 28 02:00:38 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * expmed.c (expand_shift): Skip widening try for rotates; avoid
-       passing UNSIGNEDP == -1 to expand_binop.
+       * invoke.texi: Update information for PA scheduling.
 
-       * expr.c (expand_builtin): Use a sequence instead of reorder_insns.
+Sat Feb 27 23:21:47 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
+                         Mike Stump  <mrs@wrs.com>
 
-       * tree.c (save_expr): Ignore NON_LVALUE_EXPRs.
-       Mark as TREE_VOLATILE so won't be inadvertently deleted.
-       (build): Special-case LENGTH == 1 also.
+       * pa.c (override_options): Change default to 7100LC.
 
-Wed Feb 28 12:57:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * pa.h (REG_ALLOC_ORDER): Change order to allocate left half of
+       float regs before right half of float regs.
 
-       * expr.c (convert_move): Handle conversions to and from PSImode.
+Sat Feb 27 22:48:38 1999  H.J. Lu  (hjl@gnu.org)
+                         Jeffrey A Law  (law@cygnus.com)
+
+       * frame.h: Update some comments.
+       * defaults.h (TARGET_ATTRIBUTE_WEAK): Define.
+       * crtstuff.c (__register_frame_info, __deregister_frame_info): Declare
+       using TARGET_WEAK_ATTRIBUTE.
+       (__do_global_dtors_aux): Check if __deregister_frame_info is
+       zero before calling it.
+       (__do_global_dtors): Likewise.
+       (frame_dummy): Check if __register_frame_info is zero before
+       calling it.
+       (__frame_dummy): Likewise.
+
+Sat Feb 27 19:18:24 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * SERVICE: Update from the FSF.
+
+Sat Feb 27 14:31:22 1999  Arturo Montes  <mitosys@colomsat.com.co>
+
+       * config/i386/t-sco5 (crti.o): New target.
+       * config/i386/sco5.h (STARTFILE_SPEC): Include crti.o when
+       linking -shared.
+       * configure.in (i[34567]86-*-sco3.2v5*): Add crti.o.
+
+Sat Feb 27 01:12:40 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * md.texi (prologue,epilogue): Document named patterns.
+
+Fri Feb 26 19:31:25 1999  Dave Love  <fx@gnu.org>
+
+       * md.texi, invoke.texi: Fix unterminated @xrefs.
+
+Fri Feb 26 15:33:45 1999  Richard Henderson  <rth@cygnus.com>
+
+       * genattrtab.c (simplify_knowing): Fix uninitialized read
+       in Feb 21 change.
+
+       * genextract.c (main): Clear recog_operands before extracting.
+
+Fri Feb 26 02:24:57 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * c-pragma.c (add_weak); Delete.  Moved into...
+       * varasm.c (add_weak): New external function.
+       (declare_weak): If HANDLE_PRAGMA_WEAK, then add the function to
+       the list of weak functions.
+       * c-pragma (add_weak): Declare.
+
+Thu Feb 25 23:43:59 1999  Richard Henderson  <rth@cygnus.com>
+
+       Flow rewrite to use basic block structures and edge lists:
+
+       * basic-block.h (x_basic_block_head, x_basic_block_end): Kill.
+       (basic_block_computed_jump_target, basic_block_live_at_start): Kill.
+       (struct edge_def): New.
+       (struct basic_block_def): New.
+       (basic_block_info): New.
+       (BLOCK_HEAD, BLOCK_END): Update.
+       (ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): New.
+       (uid_block_number): Kill.
+       (basic_block_for_insn, BLOCK_FOR_INSN): New.
+       (BLOCK_NUM): Update.
+       * flow.c (XNMALLOC): Kill.
+       (max_uid_for_flow): Kill.
+       (uid_block_number): Kill.
+       (uid_volatile): Turn into a bitmap.
+       (SET_INSN_VOLATILE): New.
+       (basic_block_info): New.
+       (entry_exit_blocks): New.
+       (x_basic_block_head, x_basic_block_end): Kill.
+       (basic_block_computed_jump_target, basic_block_live_at_start): Kill.
+       (flow_int_list_blocks, basic_block_succ, basic_block_pred): Kill.
+       (basic_block_loop_depth): Kill.
+       (basic_block_for_insn): New.
+       (find_basic_blocks): Split out initial block counting into
+       count_basic_blocks.  Call functions split out of find_basic_blocks_1.
+       (count_basic_blocks): New.
+       (find_basic_blocks_1): Split out edge recognition, unreachable
+       block deletion.
+       (create_basic_block): New.
+       (compute_bb_for_insn): New.
+       (clear_edges): New.
+       (free_bb_memory): Kill.
+       (add_edge, add_edge_to_label): Kill.
+       (mark_label_ref): Kill.
+       (make_edges): Rewrite to use edge lists.
+       (make_edge, make_label_edge): New.
+       (mark_critical_edges): New.
+       (split_edge, insert_insn_on_edge): New.
+       (commit_one_edge_insertion, commit_edge_insertions): New.
+       (delete_unreachable_blocks): Rewrite to use edge lists.
+       Split out EH region manipulation into delete_eh_regions.
+       Call tidy_fallthru_edge and merge_blocks.
+       (delete_eh_regions): New.
+       (delete_note_p): New.
+       (delete_insn_chain): New.
+       (delete_block): Split out code into delete_insn_chain and
+       tidy_fallthru_edge.  Update edge lists.
+       (expunge_block): New.
+       (flow_delete_insn): New?
+       (can_delete_label_p): New?
+       (merge_blocks_nomove, merge_blocks): New.
+       (tidy_fallthru_edge): New.
+       (calculate_loop_depth): New.
+       (life_analysis): Allocate and free uid_volatile.
+       (free_basic_block_vars): Update for new structures.
+       (record_volatile_insns): Use SET_INSN_VOLATILE.
+       (mark_regs_live_at_end): Tidy EXIT_IGNORE_STACK usage.
+       (mark_used_regs): Likewise.
+       (life_analysis_1): Use bb global_live_at_start, global_live_at_end,
+       local_set regsets.  Use bb->aux to store new_live_at_end.  Begin
+       life propagation from EXIT_BLOCK rather than last block.  Clear
+       regs_ever_live after mark_regs_live_at_end.
+       (allocate_for_life_analysis): Update for new structures.
+       (propagate_block): Split out loop depth calculation to
+       calculate_loop_depth.
+       (regno_uninitialized): Use bb->global_live_at_start.
+       (regno_clobbered_at_setjmp): Likewise.
+       (dump_bb_data): Likewise.
+       (find_auto_inc): Use BLOCK_FOR_INSN instead of BLOCK_NUM.
+       (dump_flow_info): Update for new structures.
+       (dump_edge_info): New.
+       (print_rtl_with_bb): Update for new structures.
+       (compute_preds_succs): Do no work -- convert edge lists.
+       (set_block_for_insn): From corpse of old set_block_num.
+       (set_block_num): Call it.
+
+       * rtl.c (note_insn_name): Add NOTE_INSN_BASIC_BLOCK.
+       * rtl.h (rtunion_def): Add bb entry.
+       (NOTE_BASIC_BLOCK): New.
+       (NOTE_INSN_BASIC_BLOCK): New.
+
+       * varray.h (varray_data_tag): Add bb entry.
+       (VARRAY_BB_INIT, VARRAY_BB): New.
+
+       * emit-rtl.c (emit_label_before): New.
+
+       * except.c (expand_rethrow): Delete insns following the call to
+       rethrow.  Put the REG_EH_RETHROW on the call.
+
+       * jump.c (returnjump_p, returnjump_p_1): New.
+
+       * expr.h (nonlocal_goto_handler_labels): New declaration.
+       * function.c (nonlocal_goto_handler_labels): Define it.
+       (push_function_context_to): Save it.
+       (pop_function_context_from): Restore it.
+       (init_function_start): Clear it.
+       (nonlocal_label_rtx_list): Kill.
+       * function.h (struct function): Add storage space for it.
+       * stmt.c (expand_nl_handler_label): Return the new label.
+       (expand_nl_goto_receivers): Collect a list of them in
+       nonlocal_goto_handler_labels.
+
+       * Makefile.in (print-rtl.o): Depend on basic-block.h.
+       (flow.o): Depend on insn-flags.h.
+
+       * function.c (thread_prologue_and_epilogue_insns): Do not
+       half-heartedly update bb structures.
+
+       * toplev.c: Add flow2 dump as -dw.
+       (rest_of_compilation): Finish .greg before flow2.
+
+       * graph.c (draw_edge): Handle class 3.
+       (print_rtl_graph_with_bb): Make abnormal edges red class 2,
+       change non-fall-thru but adjacent to green class 3.  Update
+       to use new structures.
+
+       * print-rtl.c (print_rtx): Handle NOTE_INSN_BASIC_BLOCK.
+
+       * reg-stack.c (BLOCK_NUM): Convert to function.  Abort if
+       block_number is -1.
+       (reg_to_stack): Initialize block_num to -1.
+
+       * combine.c (set_nonzero_bits_and_sign_copies): Update reference
+       to basic_block_live_at_start to bb->global_live_at_start.
+       (try_combine): Likewise.
+       (reg_dead_at_p): Likewise.
+       * global.c (global_conflicts): Likewise.
+       Handle stack regs on all abnormal edges, not just computed jumps.
+       (mark_elimination): Update reference to basic_block_live_at_start.
+       (build_insn_chain): Likewise.
+       * haifa-sched.c (haifa_edge): Rename from edge for conflict.
+       (is_cfg_nonregular): Look at nonlocal_goto_handler_labels instead
+       of nonlocal_label_rtx_list.
+       (check_live_1): Update reference to basic_block_live_at_start.
+       (update_live_1): Likewise.
+       (find_pre_sched_live): Likewise.
+       (find_post_sched_live): Likewise.
+       * local-alloc.c (update_equiv_regs): Likewise.
+       (block_alloc): Likewise.
+       * reload1.c (reload, reload_combine): Likewise.
+       * regmove.c (mark_flags_life_zones): Likewise.
+       * resource.c (mark_target_live_regs): Likewise.
+       * sched.c (schedule_block): Likewise.
+
+       * regclass.c (regset_release_memory): Don't free
+       basic_block_live_at_start.
+
+       * unroll.c (copy_loop_body): Don't duplicate NOTE_INSN_BASIC_BLOCK.
+
+Thu Feb 25 21:32:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * fixinc.wrap: Also handle struct queue in sys/stream.h.
+       * fixinc.svr4: Likewise.
+
+       * dwarf2out.c (scope_die_for): Set scope_die to comp_unit_die
+       rather than asserting it.
+
+Thu Feb 25 23:33:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cppexp.c (left_shift, right_shift, parse_charconst, COMPARE,
+       cpp_parse_expr): Replace uses of long/HOST_BITS_PER_LONG with
+       HOST_WIDEST_INT/HOST_BITS_PER_WIDEST_INT.
+
+       * Makefile.in (cppmain.o, cpplib.o, cpphash.o, cppalloc.o,
+       cpperror.o, cppexp.o, cppfiles.o, cppinit.o, fix-header.o,
+       scan-decls.o): Don't depend on machmode.h.
 
-       * stor-layout.c (layout_type): For integer types, don't consider
-       PSImode, etc.
+       * cppexp.c: Don't define CHAR_BIT or HOST_BITS_PER_WIDE_INT anymore.
+       Replace all instances of HOST_WIDE_INT with HOST_WIDEST_INT.
 
-       * expmed.c (init_expmed): Typo: test was backwards.
+       * cppfiles.c: Likewise.
 
-       * Makefile (install): When installing $${eachfile}, use basename.
+       * cpplib.c: Likewise.
 
-Tue Feb 27 14:48:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cpplib.h: Likewise.  Also don't include machmode.h anymore.
 
-       * tree.h (struct tree_common): Delete certain attributes.
-       external, public, static, nonlocal, regdecl, inline.
-       (struct tree_decl): Insert them here.
+Thu Feb 25 18:46:26 1999  Richard Henderson  <rth@cygnus.com>
 
-       * combine.c (try_combine): Avoid generating nested SUBREGs for
-       operands when handling case where I2 or I1 is a SUBREG assignment.
-       Never combine with an insn that sets a register to itself if it has
-       a REG_EQUAL note.
-       (subst): Correct errors in changing (minus (x) (c)) to (plus (x) (-c)).
-       Recompute CODE before second switch.
-       Case NOT: in second switch failed to set undobuf.storage.
-       (gen_lowpart_for_combine): Don't allow multi-word modes; do allow
-       null conversions.
+       * gcc.c (default_compilers): Define __FAST_MATH__ when appropriate.
+       * objc/lang-specs.h: Likewise.
 
-Tue Feb 27 07:13:17 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Feb 25 16:19:43 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * combine.c (try_combine): Don't combine when doing so would
-       replace destination that is being modified, as opposed to replaced.
+       * pa.md (call patterns): Lose unused argument to output_call.
 
-       * function.c (fixup_var_refs_1): Rework to correctly support
-       bit-field insns that don't allow memory operands.
-       Correctly detect insns that simply copy a variable to or from a
-       register.
-       (optimize_bit_field): Use a sequence rather than reorder_insns.
-       * Makefile.in (function.o): Update dependancies.
+       * print-rtl.c (print_rtl): Print /j and /c for the jump/call flags.
 
-       * recog.h: Delete obsolete insn_machine_info.
+1999-02-25  Zack Weinberg  <zack@rabi.columbia.edu>
 
-       * function.c (assign_parms): Use move_block_from_regs to place
-       first part of parameter partially in registers into memory.
+       * cpphash.c (install): Rename to cpp_install, add cpp_reader*
+       first argument.  All callers changed.
+       (hashtab): Removed.
+       (cpp_lookup, cpp_install): Change all refs to hashtab to
+       pfile->hashtab.
+       (cpp_hash_cleanup): Removed.
+       * cpphash.h: Adjust prototypes.
+       * cpplib.h (struct cpp_reader): Add hashtab pointer.
+       * cppinit.c (cpp_reader_init): Also allocate space for the
+       hashtab.
+       (cpp_cleanup): Delete all macros and free the hashtab.
 
-Mon Feb 26 19:02:56 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Feb 25 21:52:54 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * fixincludes: Find only .h files when looking for headers.
+       * sh.h (PASS_IN_REG_P): For TARGET_HITACHI, don't pass structures
+       in registers.
 
-       * function.c (expand_function_start): Save arg ptr reg
-       if there are nonlocally-referenced parms.
+       * expr.h (PRETEND_OUTGOING_VARARGS_NAMED): Provide default definition.
+       * function.c (assign_parms): Honour PRETEND_OUTGOING_VARARGS_NAMED.
+       * calls.c (expand_call): Likewise.
 
-Fri Feb 23 13:21:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * sh.c (sh_expand_prologue): For TARGET_HITACHI, don't push varargs /
+       stdarg arguments.
+       * sh.h (CPP_SPEC): Add -D__HITACHI__ for -mhitachi.
+       (FUNCTION_ARG): For TARGET_HITACHI, don't pass unnamed
+       arguments in registers.
+       (PRETEND_OUTGOING_VARARGS_NAMED): Define.
+       * va-sh.h (entire file): If __HITACHI__ is defined, use sh[123]
+       flavor varargs.
 
-       * c-parse.y (readescape): For x, avoid overflow when shifting in if.
+Thu Feb 25 14:32:40 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Thu Feb 22 19:14:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cse.c (dump_class): Revert last change and make the prototype
+       extern.
 
-       * fixincludes: Delete directories before creating them.
-       When making internal symbolic directory links, chase
-       chain of existing links to the end.
+Thu Feb 25 19:13:42 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * dbxout.c (dbxout_type): Always use main variant (until
-       there is code to report the distinctions usefully).
+       * rtl.h (insn_first_p): Don't declare.
+       * rtlanal.c (insn_first_p): Delete.
+       * loop.c (loop_insn_first_p): Faster implementation.
 
-Wed Feb 21 13:20:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Feb 25 10:44:35 1999  Richard Earnshaw  (rearnsha@arm.com)
 
-       * math-68881.h (hypot): New function.
+       * arm.h (TARGET_SWITCHES): Delete deprecated switches -m[236].
+       (TARGET_3, TARGET_6): Delete.
+       (ARM_FLAG_ARM[36]): Delete.
+       (CPP_CPU_ARCH_SPEC): No need to handle -m[236] any more.
+       (CC1_SPEC): Don't expand -m[236] into new equivalents.
+       (CPP_APCS_PC_SPEC): No need to handle -m[236] any more.
+       * arm.c (arm_override_options): Delete warnings about deprecated
+       options -m[236].
 
-       * optabs.c (expand_binop): Swap operands if that makes modes match.
+       * arm.c (arm_finalize_pic): Build the label into the special pic
+       adjustment insn instead of issuing it separately.
+       * arm.md (pic_add_dot_plus_eight): Rework to contain the label
+       that is needed.
 
-       * expr.c (expand_expr): For ARRAY_EXPR, when converting to
-       multiplication and addition, use type of index for product.
+       * arm.md (*zeroextractqi_compare0_scratch): Delete.
+       (*ne_zeroextractsi): New pattern.
 
-       * gcc.c (LIB_SPEC): Link with -lg if -g specified.
-       * tm-isi68.h, tm-next.h, tm-sparc.h, tm-sun3.h, tm-sun386i.h: Likewise.
-       * tm-mips.h (LIB_SPEC): Override to avoid using -lg.
+Thu Feb 25 18:40:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * toplev.c (main): Warn for -g if not supported.
+       * stmt.c (expand_end_loop): Grok code emitted by
+       expand_exit_loop_if_false.
 
-       * c-decl.c (grokdeclarator): Do pedantic checks for const functions
-       where function decls and variant function types are made.
+Thu Feb 25 10:17:32 1999  Nick Clifton  <nickc@cygnus.com>
 
-Mon Feb 19 20:06:48 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/arm/arm.c (return_in_memory): Float fields in unions
+       force a return in memory.
+       (load_multiple_sequence): Add comment explaining why two LDR
+       instructions can be better than an LDMIA instruction.
 
-       * optabs.c: Restore Feb 13 change.
-
-       * varasm.c (readonly_data_section): New fn.
-       (assemble_variable, get_or_assign_label, output_constant_pool):
-       Use new fn instead of text_section.
-       * final.c (end_final): Write profiling table to read-only section.
-       (get_attr_length, shorten_branches): Address vectores take no space
-       if not in text section.
-       Vectors are in operand 0 for ADDR_VEC but 1 for ADDR_DIFF_VEC.
-       (final_scan_insn): Merge cases for ADDR_VEC and ADDR_DIFF_VEC.
-       Put vector tables in read-only section.
-
-Sun Feb 18 13:58:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * gnulib2.c (__shtab): New vector.
-       * Makefile.in (LIB2FUNCS): Add that member.
-
-       * *tahoe*: New versions of these files.
-
-       * optabs.c: File was deleted.  Copied last backup.
-       Feb 13 change lost.
-
-       * tm-sparc.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Handle nans.
-       Don't output more digits than the numbers have.
-       * tm-sun3.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Likewise.
-       (ASM_OUTPUT_DOUBLE_OPERAND): Don't output excess digits.
-
-       * m68k.md (movqi): Don't use clrb or st if dest is volatile.
-
-       * expmed.c (expand_mult): Don't use sum of shifts if mult is cheaper.
-       (init_expmed): Set mult_is_cheap based on rtx_cost.
-       * toplev.c (compile_file): Call init_expmed.
-       * cse.c (rtx_cost): Not static.
-
-       * tm-mips.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
-       Start name with $.
-
-       * tm-alliant.h, tm-convex.h, tm-hp9k3bsd.h, tm-news.h, tm-seq386.h:
-       * tm-sequent.h, tm-spur.h, tm-sun2.h, tm-tahoe.h, tm-vax.h:
-       (LIB_SPEC): Put in -lc with appropriate alternatives.
-
-       * toplev.c (rest_of_compilation):
-       Clear rtx_equal_function_value_matters just before final.
-
-       * cccp.c (rescan): If don't find paren after macro, back up over space.
-
-Sat Feb 17 20:58:21 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * tm-hp9k320.h (CPP_SPEC): Remove _INCLUDE__STDC__.
-
-Wed Feb 14 09:06:26 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * loop.c (struct movable): Add SET_DEST and SET_EQUAL fields.
-       (single_set): New fn.
-       (scan_loop, force_movables, move_movables, consec_set_invariant_p):
-       Use new fn to look for insns that contain a single set.
-       Use new fields in struct movable.
-       (scan_loop, strength_reduce): Pass number of registers to
-       strength_reduce.
-       (libcall_benefit): New fn.
-       (scan_loop, strength_reduce, consec_sets_giv): Use it.
-       (skip_consec_insns): Correctly count insns to be skipped when
-       NOTEs are present.
-       (combine_movables): In some cases, combine regs that load CONST_INTs
-       even if the modes of the destination differ.  This requires starting
-       the inner loop from the start of the movable list.
-       Use find_reg_note to search for notes.
-       Don't choose a use of an equivalence instead of the insn that sets
-       the register directly (hence setting up the equivalence).
-       Set DONE for the matched movable to ensure it isn't duplicated.
-       (replace_call_address): No longer used.
-       (move_movables): When moving a LIBCALL block where the address of
-       the fn is in a register, emit an insn to move the actual address
-       in case the original move was CSE'ed out of the block.
-       Emit AND insn via expand_binop instead of explicit RTL.
-       Search for matching from start of list, not from movable being matched.
-       If mode of combined movables differ, use SUBREG to replace narrower.
-       (replace_regs): Don't replace register if it is the destination.
-       (count_nonfixed_reads): Mem ref is fixed if addres is loop invariant.
-       (can_jump_into_range_p): Speed up common cases.
-       (count_loop_regs_set): Do same thing for parts of PARALLEL as when
-       they occur standalone.
-       (struct induction): Delete fields forces, forces2, and consec.
-       Store dest and src reg rtx instead of register number.
-       Add new fields always, cant_derive, combined_with, maybe_dead, and
-       derive_adjustment.
-       (struct iv_class): Add new fields initial_test, init_set, incremented.
-       (all strength reduction routines): Use single_set and use new 
-       struct induction fields; forces is no longer used.
-       (record_biv): New fn.
-       (strength_reduce): Use it.
-       (record_initial, valid_initial_value_p): New fns.
-       (strength_reduce): Scan for bivs in loop order.
-       Refine handling of maybe_never.
-       A reg isn't a biv if it is never incremented.
-       Use note_stores and record_initial to correctly note all changes
-       to a biv's register prior to the start of the loop.
-       We may know biv's initial value if it was tested NE before the loop.
-       Use new valid_initial_value_p.
-       Ensure giv's insn is the last in a LIBCALL block or if consec.
-       Don't set maybe_never on jump back to top of loop.
-       Don't delete any insns setting givs; flow will eliminate them as
-       dead.  Ditto for biv updates when biv can be eliminated.
-       If giv's last use is in a computation of another giv, mark that it
-       might be dead.
-       Make two passes over givs.  In first pass, handle non-matched
-       givs.  In second pass, handle the matched givs.
-       (only_reg_use_p): Now static.
-       (delete_insn_forces): Fn deleted; no longer used.
-       (update_giv_derive): New fn.
-       (strength_reduce): Call it for every insn and label.
-       (record_giv): If giv never used, ignore it.
-       (basic_induction_var): Always set *MULT_VAL to something.
-       A set of a biv from an invariant MEM is allowed.
-       (simplify_giv_expr, expr_cost): New fns.
-       (general_induction_var): Rewrite to use them.  More types of
-       expressions are now recognized as givs.
-       Use results produced by update_giv_derive to ensure that giv derivation
-       works correctly when spanning biv update.
-       (consec_sets_giv): Can allocate temporary induction struct on stack.
-       Skip insns that set irrelevant items between two updates to giv.
-       (gen_iv_mult, emit_iv_init_code): Replace with emit_iv_add_mult.
-       (update_reg_last_use): New fn.
-       (emit_iv_add_mult): Call it for all operands.
-       (express_from, combine_givs_p, combine_givs): New fns.
-       (strength_reduce): Call them to combine givs.
-       (product_cheap_p): Rewrite to handle more cases.
-       Free any memory allocated.
-       (get_condition): New fn.
-       (strength_reduce, check_dbra_loop): Use it.
-       (check_dbra_loop): Use emit_move_insn instead of writing explicit SET.
-       Use emit_cmp_insn/emit_jump_insn to write out replacement test.
-       (check_eliminate_biv): Use single_set.
-       Refine test for insns that use biv only to calculate giv.
-       Return non-zero if can eliminate biv; don't set eliminable.
-       (can_eliminate_biv_p): Remove some duplicate code and allow
-       all constants in some cases where only CONST_INT was allowed.
-       Don't replace biv with giv that might be dead.
-       (eliminate_biv): Compute whether to put an invariant before insn
-       in which the biv is being eliminated or at the start of loop.
-       Allow more types of constants.
-       Don't replace biv with giv that might be dead.
-       Use validate_change when substituting into insn.
-       (strength_reduce): Change calls to check_eliminate_biv and
-       eliminate_biv.  Call the former again after maybe_dead has possibly
-       been set on some givs.
-
-Tue Feb 13 19:58:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * tree.c (function_obstack): New variable.
-       (init_allocation): Init it to temporary_obstack. 
-       (save_tree_status): Save it, make new obstack for it.
-       (restore_tree_status): Free new obstack, restore old.
-       (temporary_allocation, resume_temporary_allocation): Use that one.
-       * function.h (struct function): Slot for saved function_obstack.
-       * tree.c (push_obstack, pop_obstack): New functions.
-       These implement a stack for obstack selection.
-       * function.c (put_var_into_stack): If var is nonlocal,
-       switch to obstacks of the function it is in.
-
-Tue Feb 13 17:52:15 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * optabs.c (emit_no_conflict_block): During reload, don't do
-       any encapsulation or add notes.
-       Allow single insn or no insns in sequence.
-
-Tue Feb 13 12:51:45 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * stor-layout.c (build_int): Increase limits of cache size.
-
-       * sdbout.c (sdbout_symbol): Force output of symbol's type.
-
-Tue Feb 13 08:28:37 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
-
-       * toplev.c (rest_of_compilation): Don't skip compilation of function
-       if TREE_INLINE but no saved insns (e.g., if not -O).
-
-       * rtlanal.c (replace_rtx): New function.
-       * rtl.h: Define it.
-
-Tue Feb 13 00:02:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * c-decl.c (finish_struct): Lay out any existing array types
-       of newly completed struct.
-       (layout_array_type): New subroutine.
-
-Mon Feb 12 11:33:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * function.c (assign_parms): If not -O, keep all parms in memory.
-
-       * expr.c (clear_pending_stack_adjust): Ignore TREE_INLINE if not -O.
-
-       * out-i386.c (output_fix_trunc): New function.
-       (fp_pop_int): Re-enabled.  Handle more modes, individually.
-       (print_operand): Handle %D.
-       * i386.md (fix_truncdfdi2, fixuns_truncdfdi2): New patterns.
-       These changes from James Van Artsdalen.
-
-       * gnulib2.c (__builtin_vec_delete): Use __builtin_delete, not free.
-
-       * sdbout.c (sdbout_field_types): Do look through pointer types.
+       * config/arm/arm.h (TARGET_SHORT_BY_BYTES): Add comment
+       describing the real meaning of this option.
+       (FIXED_REGISTERS): Default r10 to not-fixed.
+       (CALL_USED_REGISTERS): Default r10 to not-call-used.
+       (SUBTARGET_CONDITIONAL_REGISTER_USAGE): If not defined, define
+       as empty.
+       (CONDITIONAL_REGISTER_USAGE): Fix r10 if TARGET_APCS_STACK is
+       true.  Invoke SUBTARGET_CONDITIONAL_REGISTER_USAGE after
+       performing other checks.
 
-Sat Feb 10 19:31:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/arm/arm.md (zero_extendhisi2): Undo previous change.
+       (extendhisi2): Undo previous change.
+       Also add comments describing why TARGET_SHORT_BY_BYTES can be
+       ignored for armv4(t) architectures.
 
-       * sdbout.c (plain_type_1): Don't output tag until known.
-       (sdbout_one_type): Don't record tag in KNOWN_TYPE_TAG until end.
-       Reenable output of member types before original structure.
+       * config/arm/riscix.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE):
+       Define to fix r10.
 
-       * expr.c (expand_expr): Convert post-inc to pre-inc if result ignored.
+       * config/arm/riscix1-1.h
+       (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define to fix r10.
+
+Thu Feb 25 12:09:04 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cse.c (dump_class): Make the function definition static to match
+       the prototype.
+
+Wed Feb 24 17:47:28 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * dbxout.c (gstab.h): Use if CROSS_COMPILE.
+
+       * dwarf2out.c (add_location_or_const_value_attribute): Add big
+       endian correction for parms passed in regs but living on the stack.
+
+Wed Feb 24 14:03:54 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * calls.c (initialize_argument_information): New function extracted
+       from expand_call.
+       (expand_call): Use initialize_argument_information.  Remove variables
+       which are no longer used due to cleanups.
+
+       * calls.c (compute_argument_block_size): New function, extracted from
+       expand_calls.
+       (expand_calls): Use compute_argument_block_size.  Delete
+       original_args_size, use unadjusted_args_size instead.
+
+       * calls.c (precompute_arguments): New function, extracted from
+       expand_call.
+       (expand_call): Use precompute_arguments.
+
+       * calls.c (finalize_must_preallocate): New function, extracted from
+       expand_call.
+       (expand_call): Use finalize_must_preallocate.
+
+       * calls.c (store_one_arg): Mark "variable_size" as possibly unused.
+
+       * regclass.c (record_reg_classes, case 'p'): Set classes appropriately.
+       An alternative always fails if it needs a pseudo and no suitable
+       register class can be found.
+
+Wed Feb 24 19:47:56 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * loop.h (loop_insn_first_p): Declare.
+       * loop.c (loop_insn_first_p): No longer static.
+       * unroll.c (iteration_info): Fix comparison to
+       reg_iv_type->num_elements.
+       Before accessing reg_biv_class, check index against
+       max_reg_before_loop.
+       Fix and enable code for giv iterators.
+       (loop_iterations): Compare with reg_iv_type->num_elements instead
+       of with max_reg_before_loop.
+
+Wed Feb 24 19:17:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * unroll.c (unroll_loop): Avoid out-of-bounds index for local_regno.
+
+Wed Feb 24 11:26:41 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
+
+       * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Don't use
+       PIC_OFFSET_TABLE_REGNUM for register allocation when -fPIC.
+
+Tue Feb 23 16:24:19 1999  Marc Lehmann  <pcg@goof.com>
+
+       * config/i386/i386.md: Fix typo.
+
+Mon Feb 22 19:36:33 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * config/mips/mips.c (mips_debugger_offset): When TARGET_MIPS16 &&
+       frame_pointer_needed adjust frame size.
+       (function_prologue): Don't MIPS16 .mask GPOFFSET. Already adjusted
+       in .frame pseudo-op.
+       Frm Jim Wilson  <wilson@cygnus.com>:
+       * mips.c (function_prologue): Adjust frame size in .frame pseudo-op
+       when TARGET_MIPS16 && frame_pointer_needed.
+
+1999-02-22  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.h: Add TARGET_CPU_strongarm1100.
+       Add -mno-sched command line switch to disable scheduling of
+       instructions into the function's prologue.
+       (enum processor_type): Remove.
+       (TARGET_OPTIONS): Add "fpe=" option to match documentation.
+       (struct arm_cpu_select): Replace 'set_tune_p' and 'set_arch_p'
+       fields with 'processors' field.
+       (CONDITIONAL_REGISTER_USAGE): Allow r10 to be used if stack
+       checking is not enabled.
+       (RETURN_IN_MEMORY): Always call arm_return_in_memory.
+
+       * config/arm/arm.c (arm_cpu): Remove.
+       (tune_flags): Remove.
+       (arm_is_strong): New variable: true iff the target processor is a
+       StrongARM.
+       (arm_is_6_or_7): New variable: true iff the target processor is an
+       ARM6 or and ARM7.
+       (arm_select): Fields reorganised.
+       (struct processors): processor_type field removed.
+       (all_procs): Remove.
+       (all_cores): New array: Definitions of all known ARM cpu cores.
+       (all_architectures): New array: Definitions of all known ARM
+       architectures.
+       (streq): New macro.
+       (FL_SCHED): New processor flag: processor required load
+       scheduling.
+       (FL_STRONG): New processor flag: processor is a StrongARM.
+       (arm_override_options): Reorganized to make code clearer.
+       (use_return_insn): Test for "not (TARGET_APCS and
+       frame_pointer_needed)".
+       (arm_return_in_memory): Improve handling of structures.
 
-Sat Feb 10 14:35:03 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/arm/arm.md: Remove "cpu" attribute.  Replace with
+       "is_strongarm" and "is_arm_6_or_7" attributes.
+       (zero_extendhisi2): Check for TARGET_SHORT_BY_BYTES before
+       arm_arch4.
+       (extendhisi2): Check for TARGET_SHORT_BY_BYTES before arm_arch4.
 
-       * ns32k.md (movsf): Convert double constant to float.
+       * invoke.texi (ARM Options): Document -mtune= and -mfp= options.
 
-Fri Feb  9 00:02:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+1999-02-22  Philip Blundell  <philb@gnu.org>
 
-       * c-decl.c (duplicate_decls): Don't lose alignment of OLDDECL.
+       * config/arm/linux-gas.h (INITIALIZE_TRAMPOLINE): Replace default
+       definition with one including cache synchronization.
+       (CLEAR_INSN_CACHE): Correct syscall number and enable definition.
+       Move definition of inhibit_libc to...
+       * config/arm/xm-linux.h: ... here.
 
-       * cccp.c (handle_directive): Keep comments by copying them explicitly.
+       * config/arm/t-linux: Disable multilib configurations since the
+       only effect for most people is to cause builds to fail.
 
-       * cccp.c (rescan): When scanning for open-paren after macro name,
-       discard comments if appropriate.
+       * config/arm/elf.h (ASM_FILE_START): Add .file directive.
+       (ASM_SPEC): Translate -mapcs-float to -mfloat for the assembler.
+
+       * config/arm/linux-elf.h (DEFAULT_VTABLE_THUNKS): Define.
+       (HANDLE_SYSV_PRAGMA): Likewise.
+       (LIB_SPEC): Copy definition from generic Linux files.
+       (LIBGCC_SPEC): Include -lfloat if -msoft-float was given.
+       (FP_DEFAULT): Set to SOFT3 on 32-bit targets.
+       (DWARF2_DEBUGGING_INFO): Define.
+       (PREFERRED_DEBUGGING_TYPE): Define as DBX_DEBUG.
 
-Fri Feb  9 18:26:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Feb 22 16:54:18 1999  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * cse.c (cse_insn): Suppress infinite loop when associating
-       operations in cases where a reg, R, is equal to "R OP const1" and
-       we are looking at "R OP const2" for some associative operator OP.
+       * loop.c (libcall_other_regs): Make extern.
+       * rtl.h (find_last_value): Add parameter to prototype.
+       (libcall_other_reg): Add extern declaration.
+       * rtlanal.c (find_last_value): Add another parameter to allow
+       a definition using a hardware register to be found as well.
 
-Thu Feb  8 14:19:41 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Feb 22 13:33:47 1999  Mark Mitchell  <mark@markmitchell.com>
 
-       * c-decl.c (build_enumerator): Pedantic warning if value not an int.
-       Access default value after checking for constant specified,
-       as it should no longer be possible to have NON_LVALUE_EXPR
-       in the default.
+       * cse.c (dump_class): New function.
+       (invalidate_memory): Fix typo in comment.
+       * function.c (temp_slot): Add an alias set field.
+       (assign_stack_temp): Only reuse slots if they will have the
+       same alias set as before.
+       (combine_temp_slots): Don't combine if -fstrict-aliasing;
+       that's unsafe.
+       * rtl.c (copy_rtx): Copy all the flags (in particular,
+       MEM_SCALAR_P).
 
-       * c-typeck.c (default_conversion): Don't truncate wide enums.
+Mon Feb 22 14:13:23 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
 
-       * tm-hp9k320.h (CPP_SPEC): Define _INCLUDE__STDC__ if not traditional.
-       * tm-hp9k310.h (CPP_SPEC): Likewise.
+       * configure.in (i[34567]86-*-linux-gnu*,
+       i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
+       i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
+       fixincludes.
 
-Wed Feb  7 12:59:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * configure: Rebuilt.
 
-       * emit-rtl.c (emit_insns_before): New fn.
-       (init_emit_once): Add uses of new macros to support static chain
-       passed in memory.
-       * calls.c (prepare_call_address): Rework to set static chain for
-       languages that have EPmode function addresses and for nested
-       functions in C.
-       Emit USE insn for static_chain_rtx into list of USE insns to be
-       placed later.
-       (emit_call_1): USE_INSNS is now a list of insns, not a SEQUENCE.
-       (expand_call): Remove gratuitous forcing of FUNEXP to Pmode (it
-       might have been EPmode).
-       Make USE_INSNS a list, rather than a SEQUENCE.
-       Use prepare_call_address to emit load into static chain.
-       * expr.c (emit_library_call): Update call to prepare_call_address.
-       * function.c (expand_function_start): Use incoming static chain rtx
-       instead of outgoing form (was correct in one place, wrong in one).
-       * stmt.c (expand_goto): Set static_chain rtx after stack pointer
-       in case it uses the stack pointer.
-       Only write one USE for stack_pointer_rtx.
+       * fixinc.x86-linux-gnu: New script for fixing asm-statements bug
+       on x86 linux.
 
-Tue Feb  6 17:26:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * fixinc/fixinc.x86-linux-gnu: Copy of the previous one.
 
-       * jump.c (jump_optimize): Suppress optimization of `if (...) x = 1;
-       else {...}  if (x) ...', when a label is present between the
-       assignment to X and the unconditional jump.
+       * fixinc/mkfixinc.sh (i[34567]86-*-linux-gnu*,
+       i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
+       i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
+       fixincludes.
 
-Mon Feb  5 23:22:30 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Mon Feb 22 08:55:05 1999  Ovidiu Predescu  <ovidiu@cup.hp.com>
 
-       * combine.c (try_combine): If I2 or I1 is a PARALLEL, ignore only
-       CLOBBER parts when combining.  Previously used to ignore USE parts
-       also but the latter can indicate that the insn needs some setup that
-       isn't shown in its rtl.
+       * objc/objc-act.c (encode_type): Temporary revert to the old
+       behavior of encoding types as the new one seems to break the
+       encoding of bitfields.
 
-Mon Feb  5 13:32:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Feb 22 11:40:44 1999  Craig Burley  <craig@jcb-sc.com>
+Sat Feb 20 09:59:36 1999  Craig Burley  <craig@jcb-sc.com>
 
-       * vax.md (addhi3, addqi3): Fix typo checking for dec insn.
+       * Makefile.in (all.internal, all.cross): Depend on `doc'
+       target, to ensure docs get made before installation.
 
-       * cccp.c (struct file_buf): New field `nominal_fname' is name spec'd
-       in #line command; `fname' is name of actual input file.
-       Many functions now use or set this field as well or instead.
+       Decrease spurious warnings from -fsyntax-only:
+       * stmt.c (expand_expr_stmt): Expand expr even when -fsyntax-only.
 
-       * c-decl.c (grokdeclarator): Fix missing paren.
+Mon Feb 22 10:55:00 1999  Gavin Romig-Koch  <gavin@cygnus.com>
 
-Sun Feb  4 12:37:00 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * c-lex.c (yylex): Replace warning about integer constants being
+       larger than long-longs, with a warning about integer constants
+       being larger than the largest target integer.
 
-       * tm-3b1g.h: New file.
-       * config.gcc (3b1g, 3b1-gas): New alternative.
+Mon Feb 22 08:35:38 1999  Craig Burley  <craig@jcb-sc.com>
 
-       * loop.c (move_movables): Skip USE insns when checking for
-       the insn that loads the address of a library function.
+       Fix -fsyntax-only ICEs:
+       * varasm.c (assemble_zeros, assemble_variable,
+       output_constant_def): Do nothing when -fsyntax-only.
 
-       * combine.c (combine_instructions): Compute total_distrib_*.
+Fri Feb 19 18:18:56 1999  Don Bowman  <don@pixstream.com>
 
-       * final.c (final): Do basic block profiling at end of function.
-       (final, final_scan_insn): Run CC_STATUS_INIT after block profiling.
-       (final_scan_insn): Detect cond jumps that use PARALLEL.
+       * configure.in (mips*-*-vxworks*): Enable gthreads vxworks support.
+       * configure: Rebuilt.
 
-Sun Feb  4 00:04:22 1990  Richard Kenner  (rms at sugar-bombs.ai.mit.edu)
+Sun Feb 21 20:34:44 1999  Jeff Law  (law@cygnus.com)
 
-       * function.c (assign_stack_local): Use plus_constant to avoid
-       PLUS when offset is zero.
-       (assign_outer_stack_local): Ditto.
+       * version.c: Bump for snapshot.
 
-Sun Feb  4 00:04:22 1990  Ron Guilmette  (rms at sugar-bombs.ai.mit.edu)
+Sun Feb 21 20:35:10 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * explow.c (fix_lexical_addr): Fix typo.
+       * config/aoutos.h (ASM_OUTPUT_CONSTRUCTOR): Delete.
+       (ASM_OUTPUT_DESTRUCTOR, ASM_OUTPUT_GC_ENTRY): Likewise.
+       * tm.texi: Update docs for constructors and destructors.
 
-       * tree.c (build_type_variant): Special handling for protoize.
+Sun Feb 21 17:11:18 1999  Richard Henderson  <rth@cygnus.com>
 
-       * protoize.c: New file.
+       * genattrtab.c (check_attr_value): Allow negative const_int if
+       negative_ok.  Accept integral arithmetic operators.  Accept
+       direct references to other attributes.  Accept symbol_ref in
+       non-constant attributes.
+       (max_attr_value): Add new argument `unknownp'.  Update all callers.
+       (or_attr_value): Likewise.
+       (simplify_knowing): Don't optimize if max_attr_value unknown.
+       (write_length_unit_log): Likewise with or_attr_value.
+       (find_and_mark_used_attributes): Don't fallthru case.
+       (write_attr_set): Pass thru all non-cond expressions.
+       (write_attr_value): Handle symbol_ref, attr, and arithmetic.
 
-       * toplev.c (flag_gen_aux_info): Define it.
-       (f_options): Recognize the flag.
-       (compile_file): Open and close the aux_info file.
+Sun Feb 21 13:16:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * flags.h (flag_gen_aux_info): Declare it.
+       * regmove.c (discover_flags_reg): Use word_mode instead of SImode.
 
-       * c-typeck.c (comptypes): Handle equivalent variant types for protoize.
+Sun Feb 21 13:15:40 1999  Richard Henderson  <rth@cygnus.com>
 
-       * c-decl.c (implicitly_declare): Call gen_aux_info_record.
-       (start_decl, store_parm_decls): Likewise.
-       (pushdecl): For protoize, distinguish different names for same type.
-       (grokdeclarator): For protoize, don't always get main variant.
-       (finish_function): Take the main variant here.
+       * regmove.c (discover_flags_reg): Remove cc0 code.
+       (mark_flags_life_zones) [HAVE_cc0]: Force use of cc0; bail if
+       a potential flags register was identified.
 
-       * c-aux-info.c, SYSCALLS.c: New files.
+Sat Feb 20 16:16:07 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
-       * Makefile.in (proto, protoize, unprotoize): New targets.
-       (protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize): More new.
-       (c-aux-info.o): Also new.
-       (STAGESTUFF): Add protoize, unprotoize.
-       (install): Install protoize, unprotoize and SYSCALLS.c.X.
+       * rs6000.md (scc plus ltu): Fix typo in last change.
 
-Sat Feb  3 17:09:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Feb 20 09:08:44 1999  Richard Earnshaw  (rearnsha@arm.com)
 
-       * c-typeck.c (digest_init): Allow conversion of array exp to pointer.
-       Constructors with types are simply expressions, so don't treat as
-       initializers.               
+       * xm-arm.h (HOST_BITS_PER_LONGLONG): Define.
 
-       * Makefile.in (uninstall): New target.
+Fri Feb 19 23:02:02 1999  Richard Henderson  <rth@cygnus.com>
 
-       * Makefile.in (include/README): Target deleted.
-       (include): Deleted.
-       (INSTALL): Create include dir here.
+       * regmove.c (discover_flags_reg): New function.
+       (flags_set_1, mark_flags_life_zones): New functions.
+       (regmove_optimize): Call them.
+       (fixup_match_1): Use insn modes rather than sets_cc0_p.
 
-       * Makefile.in (all.internal): Enable compiling cc1plus.
-       (lang-cplus): New target.
-       (*.o): Add some missing dependencies.
-       (STAGESTUFF): Add cc1plus.
+Fri Feb 19 22:47:01 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Fri Feb  2 18:21:22 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * rtlanal.c (insn_first_p): Fix return value for insn == reference.
 
-       * tree.c (decl_function_context): Don't abort when passed ERROR_MARK.
+       * loop.c (strength_reduce, check_final_value, check_dbra_loop):
+       Use loop_insn_first_p.
 
-Fri Feb  2 17:04:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Feb 19 15:49:26 1999  Michael Meissner  <meissner@cygnus.com>
+                         David Edelsohn  <edelsohn@gnu.org>
 
-       * integrate.c (copy_for_inline): Use real width of rtunion in bcopy.
-       * emit-rtl.c (copy_rtx_if_shared): Likewise.
+       * rs6000.md (scc plus eq): Fix output template.
+       (scc plus ltu): Fix output template and collapse variants
+       correcting early clobbers.
+       (scc plus geu): Fix output template.
+       (scc plus gt): Fix output template.
+       (scc plus gtu): Fix output template and collapse variants.
 
-       * assert.h (assert) [__STDC__]: Use comma operator to avoid warning.
+Fri Feb 19 15:43:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * c-decl.c (grokdeclarator): Traditionally change return type float
-       to double.
+       * cppinit.c (print_help): Remove unescaped newline in string.
 
-       * cse.c (predecide_loop_entry): Give up unless simple jump enters loop.
+Fri Feb 19 19:55:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Thu Feb  1 19:32:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * loop.c (strength_reduce): Check for intervening jumps when
+       converting biv increment to giv.
 
-       * c-parse.y (yylex, skip_white_space): CR is not whitespace.
+Thu Feb 18 16:36:58 1999  Per Bothner  <bothner@cygnus.com>
 
-Thu Feb  1 17:18:33 1990  Richard Kenner  (kenner at sugar-bombs.ai.mit.edu)
+       * tree.def (TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR): New tree nodes,
+       * expr.c (expand_expr): Support new tree nodes.
 
-       * tm-m68k.h (PREFERRED_RELOAD_CLASS): Never return DATA_REGS for
-       ADDR_REGS, even for QImode.
+Fri Feb 19 10:17:56 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * cse.c (cse_insn): If source equivalent is not in table, but
-       source is, put equivalent in same class as source.  But do not
-       do this if the destination has a STRICT_LOW_PART.
-       (cse_main): Call init_recog instead of init_recog_no_volatile.
+       * config/m68k/m68k.c (m68k_align_loops_string,
+       m68k_align_jumps_string, m68k_align_funcs_string): Add const.
+       * config/m68k/m68k.h (m68k_align_loops_string,
+       m68k_align_jumps_string, m68k_align_funcs_string): Likewise.
 
-Thu Feb  1 17:18:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Feb 18 23:28:35 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile.in (cplus-tab.c, cplus-tab.h): Renamed from cplus-parse.*. 
-       (TAGS, realclean): Renamed these files.
-       (cplus-decl2.o, cplus-type2.o, cplus-search.o): New targets.
-       (cplus-except.o, cplus-expr.o): New targets.
-       (new-method.o): Target deleted.
-       (CPLUS_OBJS): Add and delete object files.
-       (CPLUS_TREE_H): Change header names.
-       (INTERNAL_CFLAGS): Set the MERGED flag.
+       * bitmap.c (bitmap_print): Qualify a char* with the `const' keyword.
 
-       * calls.c (expand_call): Flush junk in assign of CONTEXT.
+       * bitmap.h (bitmap_print): Likewise.
 
-       * expr.c (expand_expr): LOOP_STMT is just an infinite loop.
-       Handle EXIT_STMT.
-       * tree.def (EXIT_STMT): Change meaning: exit if expression is true.
-       * stmt.c (warn_if_unused_value): Do nothing for EXIT_STMT.
+       * c-decl.c (builtin_function, grokdeclarator, grokfield): Likewise.
 
-Thu Feb  1 14:10:57 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-lang.c (build_objc_string): Likewise.
 
-       * optabs.c (emit_no_conflict_block): Accept optional expression
-       to be placed in REG_EQUAL note on last insn emitted.
-       Just emit insns if TARGET is not a register.
-       (expand_binop, expand_unop): Change calls.
+       * c-lex.c (yyerror, extend_token_buffer): Likewise.  Don't include
+       limits.h or ctype.h.  Remove unused variable `p'.
 
-Thu Feb  1 01:03:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * c-lex.h (yyerror): Qualify a char* with the `const' keyword.
 
-       * tree.def (NON_LVALUE_EXPR): New tree code.
-       * fold-const.c (non_lvalue): No longer static.
-       Make NON_LVALUE_EXPR.  Do nothing if arg certainly not lvalue.
-       * c-typeck.c (build_c_cast): Call non_lvalue.
-       (default_conversion, build_function_call, actualparameterlist):
-       (build_binary_op_nodefault, truthvalue_conversion, build_modify_expr):
-       (convert_for_assignment, digest_init): Strip NON_LVALUE_EXPR from args.
-       (build_unary_op, build_modify_expr): No longer need to check for
-       NOP_EXPR that indicates not an lvalue.
-       (build_compound_expr, build_c_cast): Don't strip NON_LVALUE_EXPR
-       * expr.c (expand_expr, do_jump): Handle NON_LVALUE_EXPR.
-       * c-decl.c (build_enumerator, grokdeclarator): Strip them.
-       * c-parse.y (case label): Strip them.
+       * c-pragma.c (handle_pragma_token): Likewise.
 
-       * limits.h (INT_MIN): Define so it has type `int', not unsigned.
-       (CHAR_MIN, SCHAR_MIN, SHRT_MIN): Put arens around value.
+       * c-pragma.h (handle_pragma_token): Likewise.
 
-       * reload1.c (inc_for_reload): Forget reg_last_reload_reg
-       for the reg being inc'd.
+       * c-tree.h (build_objc_string, builtin_function, grokfield,
+       build_indirect_ref, lvalue_or_else, readonly_warning, error_init,
+       pedwarn_init): Likewise.
 
-Wed Jan 31 17:37:53 1990  Michael Tiemann  (rms at sugar-bombs.ai.mit.edu)
+       * c-typeck.c (convert_for_assignment, warn_for_assignment,
+       push_string, warning_init, incomplete_type_error,
+       build_indirect_ref, lvalue_or_else, readonly_warning,
+       build_c_cast, spelling, push_member_name, print_spelling,
+       error_init, pedwarn_init, start_init): Likewise.
 
-       * cplus-*: New files.
+       * objc/objc-act.c (build_objc_string): Likewise.
 
-       * tree.def (TARGET_EXPR): New name for NEW_EXPR.
-       * tree.c (simple_cst_equal): Change NEW_EXPR to TARGET_EXPR.
+       * print-tree.c (print_node_brief, print_node): Likewise.
 
-       * stmt.c (estimate_case_costs): Check all nodes against ASCII range.
+       * tree.h (lvalue_or_else, print_node, print_node_brief): Likewise.
 
-       * stmt.c (warn_if_unused_value): Delete obsolete node types.
+Thu Feb 18 20:44:21 1999  David Edelsohn  <edelsohn@gnu.org>
 
-       * recog.c (validate_change): Fix one-off bug testing recog_memoized.
+       * regclass.c (record_reg_classes): Correctly handle 'p' constraint.
 
-       * local-alloc.c (local_alloc): Initialize qty_phys_reg.
+Thu Feb 18 19:59:37 1999  Marc Espie  <espie@cvs.openbsd.org>
 
-       * fold-const.c (non_lvalue): Propagate TREE_LITERAL, TREE_VOLATILE.
+       * configure.in :Handle OpenBSD platforms.
+       * configure: Rebuilt.
+       * config/openbsd.h: New file.
+       * config/xm-openbsd.h: New file.
+       * config/t-openbsd: New file.
+       * config/t-openbsd-thread: New file.
 
-       * expr.c (expand_expr): Delete DELETE_EXPR.
-       Call lang_expand_expr for any unknown tree code.
-       Handle IF_STMT, LOOP_STMT, LET_STMT for real.
+Thu Feb 18 18:47:09 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * dbxout.c (dbxout_type): Output args for method type.
-       Treat OFFSET_TYPE as int if not using GDB extensions.
+       * function.c (assign_stack_temp_for_type): Round SIZE before calling
+       assign_stack_local for BLKmode slots.
 
-Wed Jan 31 17:32:35 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Fri Feb 19 01:45:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * stmt.c (node_has_high_bound, node_has_low_bound):
-       Use integer_one_node, not new node.
+       * loop.c (strength_reduce): For derived givs, replace the
+       giv this was derived from with its new_reg.
+       (recombine_givs): Don't set new_reg for derived giv.
+       And don't print it, print SUM instead.
 
-       * expr.c (do_jump): In comparisons against zero, used unsigned, rather
-       than signed, extensions, as that is more likely to be the faster one.
+Thu Feb 18 15:52:49 1999  Jim Wilson  <wilson@cygnus.com>
 
-Wed Jan 31 14:09:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * m68kelf.h (ASM_RETURN_CASE_JUMP): Add 5200 support.
 
-       * toplev.c (rest_of_compilation): Ignore TREE_INLINE if not -O.
+1999-02-18  Zack Weinberg  <zack@rabi.columbia.edu>
 
-       * out-mips.c (mips_prologue): Handle big stack frames > 2**16.
+       * cpplib.c: Kill define of STDC_VALUE.  Don't include output.h
+         or prefix.h. Change CPP_IS_MACRO_BUFFER to not refer to
+         macro_cleanup.
+         (GET_ENV_PATH_LIST, PATH_SEPARATOR, STANDARD_INCLUDE_DIR,
+         predefs, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+         CPP_WCHAR_TYPE, USER_LABEL_PREFIX, REGISTER_PREFIX, struct
+         cpp_pending, version_string, struct default_include,
+         include_defaults_array, path_include, cpp_options_init,
+         dump_special_to_buffer, initialize_builtins, cpp_start_read,
+         cpp_reader_init, nreverse_pending, push_pending, print_help,
+         cpp_handle_option, cpp_handle_options, cpp_finish,
+         cpp_cleanup): Move to cppinit.c.
+         (macro_cleanup, struct arglist, collect_expansion,
+         create_definition, compare_defs, comp_def_part, ARG_BASE,
+         struct argdata, macarg, change_newlines, timestamp,
+         monthnames, special_symbol, unsafe_chars, macroexpand,
+         push_macro_expansion): Move to cpphash.c.
+         (quote_string, check_macro_name, cpp_expand_to_buffer,
+         output_line_command, cpp_undef): Export.
+         (null_underflow, null_cleanup, handle_directive): Make static.
 
-       * tree.h (struct tree_type): Rename `max' field to `maxval'.
-       (TYPE_MAX_VALUE, TYPE_OFFSET_BASETYPE, TYPE_METHOD_BASETYPE):
-       Use new name.
+       * cpplib.h: Prototype now-exported functions.  Adjust decls of
+         syntax tables so we can include cpplib.h in cppinit.c.
+       * cpphash.h: Prototype all functions exported by cpphash.c.
+       * cppinit.c: Make syntax tables initialized data if possible
+         (uses GCC designated-initializer extension).
+       * cppexp.c: Make cpp_lex static.
+       * Makefile.in: Move -D switches for the various include dirs
+         from cpplib.o rule to cppinit.o rule.  Adjust dependencies.
 
-       * reload1.c (reload): Reject fixed regs when spilling large groups.
+Thu Feb 18 13:15:56 1999  Marc Espie  <espie@cvs.openbsd.org>
 
-       * c-decl.c (start_function):
-       Optionally warn if non-proto defn without previous prototype.
+       * alpha/openbsd.h: New file.
+       * alpha/xm-openbsd.h: New file.
+       * sparc/openbsd.h: New file.
+       * sparc/xm-openbsd.h: New file.
+       * m68k/openbsd.h: New file.
+       * m68k/xm-openbsd.h: New file.
+       * i386/openbsd.h: New file, originally from netbsd.
+       * i386/xm-openbsd.h: New file.
 
-       * Makefile.in: New rule to make .../include subdir.
-       New rule to run fixincludes into it.
-       Rule `install' depends on them.
+1999-02-17  Zack Weinberg  <zack@rabi.columbia.edu>
 
-       * assert.h (assert) [no NDEBUG]: Split into versions with/out __STDC__
-       (_assert) [__STDC__]: Pass expression and file separately to _eprintf.
-       (_assert) [not __STDC__]: Likewise, but implemented differently.
-       * gnulib2.c (__eprintf): Handle 3 args plus format string.
+       * Makefile.in: Correct dependencies for cpplib object files.
 
-       * tm-i386.h (STACK_BOUNDARY): Define it.
+Wed Feb 17 14:04:18 1999  Michael Meissner  <meissner@cygnus.com>
 
-Tue Jan 30 16:24:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * rs6000.md ({add,sub}si3 `.'): Add alternatives to use CR other
+       than cr0.
 
-       * Makefile.in (install): Fix typo in name of varargs file.
+Wed Feb 17 16:59:28 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * combine.c (try_combine): Don't allow combine to violate machine's
-       alignment restriction.
+       * loop.c (strength_reduce): Don't move giv insn for biv turned giv
+       below scan_start.
 
-Sun Jan 28 03:53:28 1990  Michael Tiemann  (tiemann at rio)
+Wed Feb 17 10:56:24 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * stmt.c (warn_if_unused_value): Don't warn for LOOP_STMT, IF_STMT,
-       or LET_STMT.
+       * tree.c (tree_node_kind_names, print_obstack_name,
+       get_identifier, maybe_get_identifier, build_string,
+       build_expr_wfl, is_attribute_p, lookup_attribute,
+       print_obstack_statistics, get_file_function_name_long, tree_check,
+       tree_class_check, expr_check): Qualify a char* with the `const'
+       keyword.
 
-       * toplev.c (compile_file): Code to mention symbol that was not
-       written to asm file is now #if 0'd out.  What good is it telling the
-       debugger about a symbol it cannot see?
+       * tree.h (get_identifier, maybe_get_identifier, build_string,
+       build_expr_wfl, is_attribute_p, lookup_attribute,
+       print_obstack_statistics, print_obstack_name, tree_check,
+       tree_class_check, expr_check): Likewise.
 
-       * dbxout.c (dbxout_type): Change METHOD_TYPE print character from
-       '@' to '#'.  Also, don't try to output CONST_DECLs.  GDB doesn't
-       understand them, and they don't have DECL_OFFSETs.
+Tue Feb 16 21:29:38 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * sparc.md (floatsidf2): Changed constraint from "rfm" to "rm" for
-       second operand.
+       * i386/freebsd-elf.h, i386/gas.h, i386/linux.h: Fix minor spacing
+       errors.
 
-       * toplev.c (lang_expand_expr): New variable is pointer-to-function
-       which expands language-specific tree codes.  Its default is
-       `fancy_abort'.
+       * calls.c (store_one_arg): Mark any slots used for the argument
+       as in-use immediately after we're done saving any slots which
+       will be overwritten by this argument.
 
-Sat Jan 27 10:18:44 1990  Michael Tiemann  (tiemann at rio)
+Tue Feb 16 21:02:07 1999  Anton Hartl  <toni@devsoft.com>
 
-       * gcc.c (main): Initialize COMPILERS before calling
-       `validate_all_switches'.
+       * rs6000.md (call_value): Fix typo.
 
-       * tree.c (decl_{type,function}_context): Handle LET_STMT.
+Wed Feb 17 01:29:07 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * stmt.c (expand_decl_cleanup): New function.
+       * loop.c (strength_reduce): Calculate maybe_dead before
+       calling recombine_givs.
 
-       * stmt.c (expand_decl): No longer takes CLEANUP parameter.
-       All callers changed.
+Wed Feb 17 00:43:12 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * tree.c (build_{loop,if,goto,compound}, etc): Turn these tree
-       constructors back on.
+       * loop.c (strength_reduce): Dump biv increment -> giv conversions.
 
-       * tree.def: Delete DELETE_EXPR, PUSH_EXPR, POP_EXPR.
+Tue Feb 16 15:31:39 1999  Ovidiu Predescu  <ovidiu@cup.hp.com>
 
-       * c-typeck.c (max): New macro.
+       * objc/objc-act.c (encode_type): Encode the type instead of
+       encoding the mode of the type (patch from Richard Frith-Macdonald
+       <richard@brainstorm.co.uk>).
 
-       * c-decl.c (maybe_build_cleanup): New function.
+Tue Feb 16 10:53:51 1999  Richard Earnshaw  (rearnsha@arm.com)
 
-       * tree.c ({value,purpose}_member): New functions.  Returns first
-       element of LIST that matches respective components with ELEM.
+       * config/arm/arm.md (*zeroextractqi_compare0_scratch): Re-add load
+       instruction killed in previous change.  Simplify mask generation.
+       (*zeroextractsi_compare0_scratch): Simplify mask generation.
 
-       * varasm.c (first_global_object_name): Variable defined.
+Tue Feb 16 09:52:26 1999  Nick Clifton  <nickc@cygnus.com>
 
-Sat Jan 27 23:31:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * config/arm/arm.md (zeroextractqi_compare0_scratch): Ensure that
+       bitfield does not overflow a byte boundary.
 
-       * reload1.c (reload): Reject fixed regs when completing group of 2.
+Tue Feb 16 01:37:33 1999  Charles G Waldman  <cgw@alum.mit.edu>
 
-Fri Jan 26 17:28:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * c-common.c (shorten_compare): Get the min/max value from the
+       underlying type of an enumeration, not the enumerated type itself.
 
-       * expr.c (do_jump): Don't use CONST0_RTX when value to be tested is
-       CONST_INT.
+Mon Feb 15 23:04:48 1999  Jeffrey A Law  (law@cygnus.com)
 
-Fri Jan 26 13:39:01 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * jump.c: Include insn-attr.h.
+       (delete_computation): If reload has completed and insn scheduling
+       after reload is enabled, then do not depend on REG_DEAD notes.
+       * Makefile.in (jump.o): Depend on insn-attr.h.
 
-       * gcc.c (main): Warn about bad switches at beginning, not at end.
+Mon Feb 15 16:57:38 1999  Richard Henderson  <rth@cygnus.com>
 
-Thu Jan 25 22:03:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * i386.md (addsi3): Allow lea for any constant_p.
 
-       * loop.c (general_induction_var): Reject widening multiply.
+1999-02-15  Zack Weinberg  <zack@rabi.columbia.edu>
 
-       * cccp.c (grow_outbuf): Always return 0.
+       * toplev.c (documented_lang_options): Remove -fident and
+         -fnoident, which are now handled by the language independent
+         option parser.
 
-Thu Jan 25 07:04:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+1999-02-15  Zack Weinberg  <zack@rabi.columbia.edu>
 
-       * combine.c (subst): Correctly reference length in
-       (zero_extract (zero_extend ... )) combinations.
+       * c-common.c (UNGETC [USE_CPPLIB=1]): Do nothing if c is EOF.
+       * c-lex.c: Likewise.
+       * cpplib.c (cpp_push_buffer, cpp_pop_buffer): Use a linked
+       list in malloced memory for the buffer stack.
+       (cpp_get_token): Don't pop the last buffer off the stack.
+       Calls after CPP_EOF has been returned produce CPP_EOF with no
+       state change.
+       (cpp_finish): Pop last buffer here.
+       (do_line): Don't free ip->last_nominal_fname if it is equal to
+       ip->fname.
+       (special_symbol): If a T_CONST is the empty string, push a
+       single `@ ' escape instead.
+       (macroexpand): Special symbol buffers have escapes too.
+       * cpplib.h (struct cpp_buffer): Remove unused fields, add prev
+       buffer pointer.
+       (struct cpp_reader): Remove buffer_stack.  Add
+       buffer_stack_depth.
+       (CPP_PREV_BUFFER, CPP_NULL_BUFFER): Buffer stack is now a
+       linked list.
 
-       * c-decl.c: Define warn_traditional.
-       (build_enumerator): Remove NOP_EXPRs from default value also.
+Mon Feb 15 14:44:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * fold-const.c (fold): Strip NOP_EXPRs when looking for constants.
+       * cccp.c: Don't define HOST_WIDE_INT.  Replace all occurrences of
+       WIDE_INT with WIDEST_INT.
 
-Thu Jan 25 01:57:34 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cexp.y: Likewise.
+       Don't define unsigned_HOST_WIDE_INT, CHAR_BIT or
+       HOST_BITS_PER_WIDE_INT.  Replace occurrences of PRINTF_PROTO_1()
+       style with PVPROTO() ATTRIBUTE_PRINTF_1 style macros.  Replace
+       occurrences of "unsigned_HOST" with "unsigned HOST".  Provide a
+       definition of variable `c89' when compiling a test binary and set it.
 
-       * Makefile.in (install): Clear execute bit for nonexecutable files.
+       * system.h: Don't define the PRINTF_PROTO_* macros.
 
-       * i860.md (andsi3): Truncate xop2 constant to 16 bits.
+Mon Feb 15 11:33:51 1999  Jeffrey A Law  (law@cygnus.com)
 
-Wed Jan 24 22:32:47 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * loop.c (mark_loop_jump): Handle LO_SUM.  If we encounter something
+       we do not understand, mark the loop and containing loops as invalid.
 
-       * genemit.c (main): Include output.h in insn-emit.c.
-       * genpeep.c (main): Similar.
-       * genrecog.c (main): Ditto.
-       * Makefile.in (insn-emit.h, insn-peep.h, insn-recog.h): Add dependancy.
+Mon Feb 15 00:40:45 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Wed Jan 24 20:13:08 1990  Richard Stallman  (rms at albert.ai.mit.edu)
+       * alias.c (init_alias_analysis): Avoid self-referential value
+       when setting reg_known_value from REG_EQUAL notes.
 
-       * cccp.c (do_define): Report error for duplicate macro args.
+Sun Feb 14 23:12:10 1999  Richard Henderson  <rth@cygnus.com>
 
-Mon Jan 22 07:52:28 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * i386.c (legitimate_address_p): Verify modes of base and index.
 
-       * reload1.c (alter_reg): Rework change of January 7th to allow
-       for no previous insn and clear equivalence information of correct
-       pseudo.
+Sun Feb 14 23:01:28 1999  Richard Henderson  <rth@cygnus.com>
+
+       * i386.c (legitimate_pic_address_disp_p): Remove static.
+       * i386.h (LEGITIMATE_PIC_OPERAND_P): Use it instead of
+       open-coding cases.
+
+Sun Feb 14 21:03:28 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * except.c (start_catch_handler): Use emit_cmp_and_jump_insns.
+       * explow.c (probe_stack_range): Likewise.
+       * expmed.c (do_cmp_and_jump): Likewise.
+       * expr.c (store_expr, expand_expr, expand_builtin): Likewise.
+       (do_tablejump): Likewise.
+       * stmt.c (expand_expr_stmt, expand_end_case): Likewise.
+       (do_jump_if_equal, emit_case_nodes): Likewise.
+       * optabs.c (emit_cmp_and_jump_insns): Clarify comments.  If UNSIGNEDP,
+       then convert comparison to an unsigned code before emitting the jump.
+       (expand_float, expand_fix): Use emit_cmp_and_jump_insns.
+
+Sun Feb 14 02:24:15 1999  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sun Feb 14 01:15:04 1999  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sun Feb 14 00:45:50 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * loop.c: Disable recent loop changes.  Temporary as Joern
+       continues to fix problems.
+
+Sat Feb 13 23:29:42 1999  Richard Henderson  <rth@cygnus.com>
+
+       * loop.c (combine_givs_used_by_other): Delete.
+       (combine_givs_benefit_from): Delete.
+       (combine_givs): Deny combination of givs only used once.  Simplify
+       code with the death of combine_givs_benefit_from.
+
+Sun Feb 14 11:24:05 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * loop.c (scan_loop): Call reg_in_basic_block_p before
+       loop_reg_used_before_p.
+
+Sat Feb 13 05:32:00 1999  Richard Earnshaw  (rearnsha@arm.com)
+
+       * arm.md: Use gen_rtx_FOO instead of gen_rtx (FOO, ...).
+       * arm.h: Likewise.
+       * arm.c: Likewise.
+
+       * arm.h (TARGET_OPTIONS): Reformat for clarity.
+       (GO_IF_LEGITIMATE_ADDRESS): When generating PIC, references to symbols
+       in the constant pool aren't valid.
+       (LEGITIMATE_PIC_OPERAND_P): Likewise.
+
+       * arm.c: Include "system.h", not stdio.h and string.h.
+
+Fri Feb 12 13:06:28 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * stmt.c (expand_return): Return if optimize_tail_recursion succeeded.
+       (optimize_tail_recursion): Change return type from void to int.
+       Add return statements.
+       * tree.h (optimize_tail_recursion): Change prototype to match.
+
+Fri Feb 12 21:09:51 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * reload.c (find_reloads_subreg_address): New function, broken out of
+       find_reloads_toplev.
+       (find_reloads_toplev, find_reloads_address_1): Use it.
+
+Fri Feb 12 13:20:52 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * h8300.md (zero_extendhisi2 H8/300 variant): Correctly handle
+       extending a CONST_INT.
+
+       * h8300.md (peephole for combining memrefs): Delete incorrect peephole.
+
+Fri Feb 12 18:29:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * loop.c (loop_insn_first_p, biv_elimination_giv_has_0_offset):
+       New functions.
+       (maybe_eliminate_biv_1): Use biv_elimination_giv_has_0_offset.
+
+Fri Feb 12 16:56:10 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * loop.c (load_mems): Don't guess how to do a load / store, use
+       emit_move_insn.
+
+Fri Feb 12 09:24:26 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * system.h: Provide a definition for HOST_WIDEST_INT, etc.
+
+Fri Feb 12 23:37:26 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_address_cost): Revert 9 Feb change.
+
+Fri Feb 12 00:51:26 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * reload.c (find_reloads_address_1): Fix handling of an autoincremented
+       pseudo which is homed in the stack.
+
+       * mips.c (save_restore_insns): Fix loop to save/restore FP registers.
+       (compute_frame_size): Change loop over FP regs to be consistent
+       with the loop in save_restore_insns.
+
+Thu Feb 11 17:38:40 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * i960/i960.h (OVERRIDE_OPTIONS): Warn if -mlong-double-64 is used.
+       (LONG_DOUBLE_TYPE_SIZE): Undef then unconditionally define to 96.
+
+Thu Feb 11 15:11:35 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10200.md (bset); Re-enable.
+
+Thu Feb 11 15:20:49 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * sh.md (is_sfunc): New attribute.
+       * sh.h (INSN_SETS_ARE_DELAYED, INSN_REFERENCES_ARE_DELAYED): Use it.
+
+Thu Feb 11 01:06:49 1999  Nathan Sidwell  <nathan@acm.org>
+
+       * fold-const.c (range_binop): Take account of the bounded nature
+       of fixed length arithmetic when comparing unbounded ranges.
+
+Thu Feb 11 00:08:17 1999  John Wehle  (john@feith.com)
+
+       * function.c (assign_stack_temp_for_type): Clear best_p
+       when an exact match is found.
+
+       * i386.h (LOCAL_ALIGNMENT): Define.
+       * function.c (assign_stack_local, assign_outer_stack_local): Use it.
+       (assign_stack_temp_for_type): New function based on assign_stack_temp.
+       (assign_stack_temp): Call it.
+       (assign_temp): Use assign_stack_temp_for_type, not assign_stack_temp.
+       * stmt.c: Use assign_temp, not assign_stack_temp.
+       * tm.texi: Document LOCAL_ALIGNMENT.
+
+Wed Feb 10 23:28:28 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * reorg.c: Finish deleting half-deleted comment.
+
+Wed Feb 10 17:12:21 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * emit-rtl.c (operand_subword): Sign extend REAL_VALUE_TO_TARGET_SINGLE
+       result.
+       * final.c (split_double): Sign extend REAL_VALUE_TO_TARGET_DOUBLE
+       result.
+       * real.c (endian): Delete sign extension code.
+       * config/m32r/m32r.md (movsf_insn+1): REAL_VALUE_TO_TARGET_SINGLE call
+       replaced with operand_subword call.
+
+Wed Feb 10 15:16:39 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md (cmov compound patterns): Delete.  Jump can now
+       create the correct constructs in the first place.
+
+Wed Feb 10 11:03:22 1999  Richard Henderson  <rth@cygnus.com>
+
+       * configure.in (alphaev6*): Fix typo in target_cpu_default2.
+
+Wed Feb 10 13:59:18 1999  Dave Brolley  <brolley@cygnus.com>
+
+       * mbchar.c (local_mb_cur_max): Handle the case where MB_CUR_MAX is 0.
+
+Wed Feb 10 10:35:05 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * tmp-emsgids.c: Delete.
+
+Wed Feb 10 09:57:08 1999  Mark Mitchell  <mark@markmitchell.com>
+
+       * rtlanal.c (for_each_rtx): Fix declaration to conform to GNU
+       coding standards.
+
+Wed Feb 10 10:09:41 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10200.md (bset, bclr): Operand 0 is a read/write operand.
+
+       * reload1.c (reload_combine_note_store): Second argument is no
+       longer unused/ignored.  Handle multi-register hard regs.
+       (move2add_note_store): Simplify.
+
+Wed Feb 10 10:05:23 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * collect2.c (collect_execute): Remove cygwin-specific code.
+
+Tue Feb  9 17:27:29 1999  Nathan Sidwell  <nathan@acm.org>
+
+       * system.h (_, N_): Remove dummy i18n macros.
+       * protoize.c: Move inclusion of intl.h to after system.h.
+       * cexp.y: Include intl.h.
+       * cexp.c: Rebuilt.
+
+Tue Feb  9 16:52:22 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * i386/cygwin.h (SUBTARGET_OVERRIDE_OPTIONS): New macro to ignore
+       fpic/fPIC for windows32 targets.
+       * i386/xm-cygwin.h (GET_ENV_PATH_LIST): Replace '\\' in windows32
+       paths with '/'.
+       * i386/mingw32.h (CPP_SPEC): Define.
+       (CPP_PREDEFINES): Add MINGW32 version id.
+       * i386/crtdll.h (CPP_PREDEFINES): Likewise.
+
+       * Makefile.in (collect2$(exeext)): Delete redundant dependency and
+       add missing exeext to target.
+
+       * gcc.c (convert_filename): Handle null filename argument.
+
+Wed Feb 10 15:46:10 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (*movhf_noclobber, *movhi_noclobber): Use
+       m constraint instead of QT.
+
+1999-02-09  Brendan Kehoe  <brendan@cygnus.com>
+
+       * cpplib.c (special_symbol): Move IP to be declared in function
+       scope, rather than individual case statements.
+
+1999-02-09  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cppfiles.c (finclude): Handle pipes properly under old BSD
+         derivatives.
+
+1999-02-09  Melissa O'Neill  <oneill@cs.sfu.ca>
+
+       * system.h: Provide fallback definitions for S_ISCHR,
+         S_ISSOCK, S_ISFIFO, O_NONBLOCK, and O_NOCTTY.
+
+1999-02-09  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cpplib.c (do_define): Allow redefining __STDC__ with -D.
+
+1999-02-09  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       * configure.in: For PowerPC configurations, accept "401", "ec603e",
+       "740", and "750" as valid arguments to --with-cpu.
+       * configure: Rebuilt.
+
+Tue Feb  9 00:00:14 1999  Mark Kettenis  <kettenis@gnu.org>
+
+       * configure.in (i[34567]86-*gnu*): Set float_format to i386.
+       * configure: Rebuilt.
+
+Mon Feb  8 22:38:24 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * rs6000.md: Revert "alternate use of crs if cr0 not available"
+       patches from 01-22-1999, 01-24-1999, 01-26-1999, and 02-08-1999.
+
+Mon Feb  8 21:36:44 1999  Richard Henderson  <rth@cygnus.com>
+
+       * output.h (current_function_has_computed_jump): Rename from
+       current_function_addresses_labels.
+       * function.h (struct function): Likewise for addresses_labels member.
+       * rtl.h (FUNCTION_FLAGS_HAS_COMPUTED_JUMP): Likewise.
+       * function.c (current_function_has_computed_jump): Likewise.
+       Update all references.
+       * integrate.c (function_cannot_inline_p):
+       Test current_function_has_computed_jump instead of addresses_labels.
+       (initialize_for_inline): Likewise save.
+       (output_inline_function): Likewise restore.
+
+       * expr.c (expand_expr): Don't reference addresses_labels variables.
+       * stmt.c (expand_computed_goto): Set has_computed_jump.
+
+1999-02-08  Michael Meissner  <meissner@cygnus.com>
+
+       This is being installed only to get it into the repository to help
+       with the revert, resubmit & review process for the massive rs6000.md
+       changes.
+       * rs6000.md (andsi3_internal1 splitter): Don't split if using the
+       rlwinm instruction.
+       (anddi3_internal1): Likewise.
+       (andsi3_internal{2,3}): Correct some insn lengths.
+       (anddi3*): Restore missing TARGET_POWERPC64, and don't emit old
+       mnemonics.
+
+Mon Feb  8 21:31:06 1999  Richard Henderson  <rth@cygnus.com>
+
+       * loop.c (reg_single_usage): New file-scope variable ...
+       (scan_loop): ... moved out of here.  Always initialize.
+       Test loop_has_call instead of reg_single_usage not zero.
+       Free reg_single_usage after strength reduction.
+       (count_loop_regs_set): Assume single_usage non-zero.
+       (combine_givs_used_by_other): Test reg_single_usage.
+       (load_mems_and_recount_loop_regs_set): Remove reg_single_usage
+       as a parameter.  Assume non-zero.
+
+1999-02-08  Zack Weinberg  <zack@midnite.ec.rhno.columbia.edu>
+
+       * cpplib.c (special_symbol): Rewrite.  Don't copy things
+         multiple times.  Handle __STDC__ specially.  T_CONST
+         indicates a constant /string/.  Don't handle T_*_TYPE and
+         T_SPEC_DEFINED.  Use cpp_buf_line_and_col instead of
+         adjust_position.  Determine the file buffer only if needed.
+         (initialize_builtins): Handle __SIZE_TYPE__,
+         __PTRDIFF_TYPE__, __WCHAR_TYPE__, __USER_LABEL_PREFIX__, and
+         __REGISTER_PREFIX__ with T_CONST special hashtab entries.
+         Don't provide __OBJC__; the driver does that.  Provide
+         __STDC_VERSION__, using T_CONST.  Use T_STDC for
+         __STDC__.  Give install the length of all symbols defined.
+         (eval_if_expression): Drop code to insert and remove the
+         "defined" special symbol.
+
+       * cpplib.h: Remove SELF_DIR_DUMMY (no longer used).  Remove
+         T_*_TYPE and T_SPEC_DEFINED from enum node_type; add T_STDC.
+
+       * cpphash.c (install): Drop the `ivalue' parameter.  Constify
+         the `value' parameter.  All callers changed.
+       * cpphash.h (install): Change prototype to match.
+         (union hashval): Remove `ival' member.
+       * cppexp.c (cpp_lex): Handle `defined' here.
+
+Mon Feb  8 17:29:42 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.h (EXTRA_CONSTRAINT): Fix comment.
+
+Mon Feb  8 18:57:45 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
+
+       * c-typeck.c (check_init_type_bitfields): Use nonincremental
+       initialization of unions whose first member is a bitfield.
+       Remove unnecessary code for checking the declaration mode
+       after DECL_C_BIT_FIELD.
+
+       * varasm.c (output_constructor): Additional comment about the
+       constructor of bitfield union initialization.
+
+Tue Feb  9 11:55:04 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (*movhi_stik): New pattern.
+       (movhi): Allow some immediate constants to be directly
+       stored in memory.
+
+Tue Feb  9 11:34:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (all call patterns): Add constraints "Ur".
+       (call, call_value): Force address into a register if not valid
+       for a call instruction.
+       (load_immed_address): Emit a USE of the SYMBOL_REF that is
+       forced into memory.
+       * config/c4x/c4x.c (c4x_print_operand): Fix 'C' and 'U' modifiers.
+
+Tue Feb  9 11:08:41 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (call_address_operand, symbolic_address_operand):
+       Rename from call_operand and symbolic_operand respectively.  All
+       callers changed.
+       * config/c4x/c4x.md (call_address_operand, symbolic_address_operand):
+       Likewise.
+       * config/c4x/c4x.h (call_address_operand, symbolic_address_operand):
+       Likewise.
+       (PREDICATE_CODES): Allow CONST, LABEL_REF for call_address_operand.
+
+Tue Feb  9 10:52:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_legitimize_address): Don't generate a
+       LO_SUM address for HImode or HFmode but instead force address into
+       a register so that it is offsettable.
+       (c4x_emit_move_sequence): Handle LO_SUM immediate address.
+
+Tue Feb  9 10:46:42 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_address_cost): Return cost of 1 for
+       REG+REG addressing if strength reduction enabled.
+
+Tue Feb  9 10:10:31 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/t-c4x  (LIBGCC2_CFLAGS): Delete.
+       (TARGET_LIBGCC2_CFLAGS): Define.
+
+1999-02-08  Nick Clifton  <nickc@cygnus.com>
+
+       * config/v850/v850.md: Replace \\n\\t with \\;
+
+       * config/v850/v850.md: Enforce TARGET_LONG_CALLS option.
+       * config/v850/v850.c (construct_restore_jr, construct_save_jarl):
+       Enforce TARGET_LONG_CALLS option.
 
-Mon Jan 22 01:22:00 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Feb  8 11:43:07 1999  Donn Terry  <donn@interix.com>
 
-       * fold-const.c (fold): Don't simplify non-lvalue to an lvalue.
-       (non_lvalue): New fn; makes a NOP_EXPR with readonly flag.
-       * c-typeck.c (build_unary_op, build_modify_expr): Reject such.
+       * real.c (PUT_REAL) [XFmode]: Zero the balance of the structure.
 
-Sun Jan 21 20:53:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Feb  8 11:37:24 1999  Marc Espie  (espie@cvs.openbsd.org)
 
-       * c-typeck.c (lvalue_p): Don't call language_lvalue_valid.
-       Don't bother with looking for NEW_EXPR or REFERENCE_TYPE.
-       (language_lvalue_valid): Deleted.
+       * m88k/t-luna-gas: Remove bash dependency.
 
-Sat Jan 20 19:50:15 1990  Michael Tiemann  (mtiemann at apple-gunkies.ai.mit.edu)
+Mon Feb  8 11:34:44 1999  Graham  <grahams@rcp.co.uk>
 
-       * expr.c (expand_expr): Implemented language-independent expansion
-       for NEW_EXPR.
+       * collect2.c (xrealloc): Fix typo in last change.
 
-Thu Jan 18 14:29:10 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Feb  8 09:13:38 1999  Jeff Law  (law@cygnus.com)
 
-       * cccp.c (rescan): Set beg_of_line when string ends at newline.
-       (skip_quoted_string): Don't swallow newline that ends a string.
-       (handle_directive): No need to back up here.
-       Pass LIMIT as second arg to skip_quoted_string.
+       * version.c: Bump for snapshot.
 
-Thu Jan 18 12:50:09 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Sun Feb  7 22:18:42 1999  Robert Lipe  <robertlipe@usa.net>
 
-       * emit-rtl.c (gen_lowpart): Verify CONST_DOUBLE is integer mode.
-       (gen_highpart): Add support for CONST_INT and CONST_DOUBLE.
+       * tree.h (TYPE_CHECK): Make it clear to the preprocessor
+       that we do not want macro replacement within a character constant.
+       (TYPE_CHECK1): Likewise.
 
-       * recog.c (general_operand): Don't allow nested SUBREGs.
-       (nonmemory_operand, memory_operand, register_operand): Ditto.
+Sun Feb  7 15:37:10 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * emit-rtl.c (gen_reg_rtx): Don't allow creation of pseudos
-       during or after reload.
+       * tree.h (DECL_P): New macro.
 
-Thu Jan 18 11:41:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Feb  7 01:15:04 1999  Jeff Law  (law@cygnus.com)
 
-       * c-typeck.c (actualparameterlist): -Wconversion warns if
-       representation or width is changed.
+       * version.c: Bump for snapshot.
 
-Thu Jan 18 01:09:47 1990  Michael Tiemann  (mtiemann at apple-gunkies.ai.mit.edu)
+Sat Feb  6 18:14:46 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * dbxout.c (various places): Don't assume that DECL_NAME of a
-       PARM_DECL is non-zero.  It might be empty for anonymous parms.
+       * mn10300.md (reload_insi): Do not earlyclobber the output operand.
 
-Thu Jan 18 00:06:58 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * README.g77, gcc.c, gcc.texi: Update email addresses.
+       * invoke.texi system.h: Likewise.
 
-       * local-alloc.c (local_alloc): qty_phys_sugg is now an array of
-       HARD_REG_SETs.  Initialize new variable qty_phys_has_sugg.
-       (block_alloc): Don't test for nonlocal gotos here.
-       Test qty_phys_has_sugg instead of qty_phys_sugg to see if
-       quantity needs early allocation.
-       (qty_compare, qty_compare_1): No longer consider whether a quantity
-       has a hard register suggestion as part of its priority.
-       (combine_regs): We now record multiple hard register suggestions
-       in qty_phys_sugg.
-       (find_free_reg): Test here for nonlocal gotos.
-       Support new meaning of qty_phys_sugg by restricting to those
-       registers if just_try_suggested.
-       Check for no registers available prior to looping over registers.
+Sat Feb  6 11:04:08 1999  Jim Wilson  <wilson@cygnus.com>
 
-       * global-alloc.c (prune_preferences): New fn.
-       (global_alloc): No longer keep a single vector of which registers
-       someone prefers; instead keep this record one per allocation number.
-       Record registers not saved over calls as already used for register
-       allocation purposes, so we can feel free to allocate them with no
+       * unroll.c (find_splittable_givs): After express_from, call replace_rtx
+       to convert dest_reg to new_reg.
+
+Sat Feb  6 10:31:35 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * reload1.c (reload_combine_note_store): Be more careful with
+       STRICT_LOW_PART, ZERO_EXTRACT and SIGN_EXTRACT.
+       (move2add_note_store): Likewise.
+
+Sat Feb  6 10:18:01 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cppfiles.c (read_and_prescan): Cast the result of `xrealloc' to
+       U_CHAR* when assigning to one.  Ensure the values of a ?: operator
+       have the same type.
+
+       * cppinit.c (initialize_char_syntax): Use K&R function definition.
+
+Sat Feb  6 11:17:03 1999  Richard Earnshaw  <rearnsha@arm.com>
+
+       Support for ARM9
+       * config/arm/arm.c (all_procs): Add arm9 and arm9tdmi.
+       * config/arm/arm.h ((TARGET_CPU_arm9, TARGET_CPUD_arm9tdmi): Define.
+       (TARGET_CPU_DEFAULT): Rework to support ARM9.
+       (CPP_CPU_ARCH_SPEC): Likewise.
+       (enum processor_type): Likewise.
+       * config/arm/arm.md (attr cpu): Add arm9.
+
+       General scheduling changes
+       * config/arm/arm.c (MAX_INSNS_SKIPPED): Delete.
+       (max_insns_skipped): New variable.
+       (arm_override_options): If generating hard floating point code for
+       the FPA, emit code for version 3.
+       When optimizing for space, don't synthesize constants.
+       Reword several flags based on the requested processor and optimization
+       level.
+       (use_return_insn): New argument iscond, all callers changed.  Don't
+       use a return insn if it will be conditional and that would be
+       expensive; eg on StrongARM.
+       (arm_adjust_cost): Anti- and output- dependencies normally have no
        cost.
-       Call new fn to prune preferences and build list of registers
-       preferred by earlier allocnos.
-       find_reg no longer gets preference information as argument.
-       (find_reg): Don't take preferred registers as argument; get the
-       info from global variables.
-       (set_preference): Remove regs_someone_prefers.
-       (dump_conflicts): Print register preferences in dump file.
-       
-Wed Jan 17 16:00:59 1990  Michael Tiemann  (mtiemann at apple-gunkies.ai.mit.edu)
+       (load_multiple_sequence): Newer ARMs don't benefit from ldm if
+       the sequence is short.
+       (final_prescan_insn): Use max_insns_skipped instead of
+       MAX_INSNS_SKIPPED.  Note whether we will make a return instruction
+       conditional, and aviod this if it would be expensive.
+       * config/arm/arm.md (scheduling attributes and function units):
+       Rewrite to better describe ARM8, 9 and StrongARM.
 
-       * tree.c (decl_function_context): New function, returns the
-       innermost DECL_CONTEXT of FNDECL when that context is a
-       FUNCTION_DECL.
-       * tree.c (decl_type_context): New function, returns the
-       innermost DECL_CONTEXT of FNDECL when that context is a
-       TYPE_DECL.
-       * All callers changed to use `decl_function_context' when handling
-       nested functions.
-       * All C++ callers changed to use `decl_type_context' when handling
-       member functions.
+       * config/arm/arm.md (*movhi_insn_littleend): Make op0 predicate
+       s_register_operand.
+       (*ifcompare_plus_move): Use arm_rhs_operand in place of
+       arm_rhsm_operand.  Rework constraints.
+       (*if_plus_move): Likewise.
+       (*ifcompare_move_plus): Likewise.
+       (*if_move_plus): Likewise.
+       (*ifcompre_arith_move): Likewise.
+       (*if_arith_move): Likewise.
+       (*ifcompare_move_arith): Likewise.
+       (*if_move_arith): Likewise.
 
-       * expr.c (fixed_type_p): New function says whether the compiler
-       guarantees that it knows the true type of an object.
-       * expr.c (expand_expr): Call that function for INIT_EXPR and
-       MODIFY_EXPR.  Also, for MODIFY_EXPR, check both RHS and LHS.
+       * config/arm/xm-netbsd.h: Don't include arm/xm-arm.h.
 
-       * tree.h (DECL_ARG_TYPE): Use INITIAL, not ARGUMENTS slot in
-       `tree_decl.  Now reserving ARGUMENTS slot for VAR_DECL and
-        PARM_DECL for language-specific features.
+1999-02-05  Michael Meissner  <meissner@cygnus.com>
 
-       * tree.c (build_decl): Don't set DECL_PRINT_NAME by default.
+       * loop.c (check_dbra_loop): A store using an address giv for which
+       we have no life information is not reversible.
 
-       * assert.h: Assume that undefined __GNUC__ implies `assert' must
-       rely on printf.
+Fri Feb  5 17:08:01 1999  Dave Brolley  <brolley@cygnus.com>
 
-Wed Jan 17 15:31:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * function.c (fixup_var_refs): Scan catch_clauses too.
 
-       * cccp.c (rescan): If traditional, end preproc number after expt sign.
+Fri Feb  5 11:49:49 1999  Benjamin Kosnik  <bkoz@loony.cygnus.com>
+
+       * c-common.c (decl_attributes): Fix reserved space for init_priority.
+       * tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
+
+Fri Feb  5 12:37:05 1999  Jeffrey A Law  (law@cygnus.com)
 
-Wed Jan 17 15:18:25 1990  Michael Tiemann  (mtiemann at apple-gunkies.ai.mit.edu)
+       * loop.c (strength_reduce): Clear not_every_iteration when
+       passing the NOTE_INSN_LOOP_CONT note.
+
+       * haifa-sched.c (add_dependence): Do not add a dependency on a
+       note.
+
+Fri Feb  5 10:55:43 1999  Nick Clifton  <nickc@cygnus.com>
+
+       * recog.c (split_block_insns): Only call update_flow_info if
+       instruction scheduling is enabled.
+
+1999-02-05  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * Makefile.in (gen-protos): Use libcpp.a like everyone else.
+
+Fri Feb  5 07:09:29 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * stmt.c: Extended struct nesting to hold exception handling
-       contours.  New functions:
+       * loop.c (first_loop_store_insn): New file-scope variable.
+       (prescan_loop): Set it.
+       (check_dbra_loop): Check if a store depends on a register
+       that is set after the store.
+
+Fri Feb  5 06:55:15 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * unroll.c (entire file): Remove tabs / spaces at end of lines.
+       Replace spaces with tabs where appropriate.
+
+Thu Feb  4 15:12:41 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * loop.c (scan_loop): New argument loop_cont.  Changed caller.
+       (strength_reduce): New argument loop_cont. Changed caller.
+       Before clearing not_every_iteration after a label, check if
+       we are not already past LOOP_CONT.
+
+1999-02-04  Zack Weinberg  <zack@rabi.columbia.edu>
 
-          expand_start_try, expand_end_try, in_try_block
-          expand_start_except, expand_end_except, in_except_block
-          expand_start_catch, expand_end_catch, expand_catch_default
-          expand_raise, expand_escape_except, in_exception_handler
+       * cpperror.c (cpp_print_containing_files): Fix formatting
+       bug induced by merge.
 
-Wed Jan 17 13:48:01 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+1999-02-04  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-       * cccp.c (main): Typo, had `includes' for `include'.
-       Always increment p.
+       * cpplib.c (initialize_char_syntax): Move to cppinit.c.
+       (cpp_define): Remove redundant syntax checks.
+       (make_assertion): Rename cpp_assert, remove redundant syntax
+       checks, export.
+       (cpp_options_init): Don't init things to zero twice.
+       (cpp_expand_to_buffer): Use memcpy, not a char-by-char loop.
+       (do_include): Kill excessively verbose #import warning that
+       snuck back in in the gcc2 merge.
+       (convert_string): Removed.
+       (do_line): Rewrite with simple last-name-used cache instead of
+       private hashtable.
+       (cpp_start_read): Call initialize_char_syntax here, not...
+       (cpp_reader_init): ...here.
+       (cpp_handle_options): Support the -std switch.
+       * cpplib.h (cpp_buffer): Add last_nominal_fname member.
+       (cpp_options): Add c9x flag.
+       Declare all the is_* tables and trigraph table here, as const.
+       Prototype cpp_assert and initialize_char_syntax.
+       * cppinit.c: New file.
+       * cppfiles.c (read_and_prescan): Optimize.
+       * Makefile.in (LIBCPP_OBJS): Add cppinit.o.
 
-       * reload1.c (alter_reg): Delete spurious `break'.
+Thu Feb  4 10:46:30 1999  Gavin Romig-Koch  <gavin@cygnus.com>
 
-       * local-alloc.c (block_alloc): Delete ref to undef var first_time.
+       * config/mips/mips.md ([u]divmodsi4,[u]divmoddi4,[u]divsi3,[u]divdi3,
+       [u]modsi3,[u]moddi3) : Don't copy the "zero" argument to a register
+       before calling gen_div_trap.
 
-Wed Jan 17 13:35:47 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
+Wed Feb  3 21:56:27 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * toplev.c: Unmerge all changes of Bryan Boreham--no papers (yet).
+       * configure.in (hppa1.1-*-*, hppa2*-*): Use symbolic value rather
+       than numeric value for target_cpu_default..
+       * configure: Rebuilt.
 
-Wed Jan 17 12:33:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Feb  3 21:55:56 1999  Marc Espie  <Marc.Espie@liafa.jussieu.fr>
 
-       * stor-layout.c (layout_type): Struct requires BLKmode if any field
-       crosses a word boundary.
+       * Makefile.in (xgcc$(exeext)): Remove choose-temp, pexecute and
+       mkstemp.  Get them from libiberty.
+       (COLLECT2_OBJS): Similarly for choose-temp, cplus-dem and mkstemp.
+       (PROTO_OBJS): Similarly for choose-temp, getopt, getopt1 and pexecute.
+       (cplus-dem.o, pexecute.o, choose-temp.o): Remove build rules.
+       (mkstemp.o, getopt1.o, getopt.o): Likewise.
 
-Wed Jan 17 12:04:18 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
+       * pa-gas.h (TARGET_DEFAULT): Use symbolic values rather than numeric
+       values.
+       * pa-hpux.h (LINK_SPEC): Likewise.
+       * pa-hpux10.h (LINK_SPEC): Likewise.
+       * pa-hpux9.h (LINK_SPEC): Likewise.
+       * pa-osf.h (LINK_SPEC): Likewise.
+       * pa-pro.h (TARGET_DEFAULT): Likewise.
+       * pa1.h (TARGET_DEFAULT): Likewise.
+       * pa.h (MASK_*): New defines.
+       (TARGET_*): Use symbolic values rather than numeric values.
+       (TARGET_SWITCHES): Likewise.
+       (TARGET_DEFAULT): Likewise.
+       (CPP_SPEC): Likewise.
 
-       * stor-layout.c (layout_type): Unterminate comment terminated.
+Wed Feb  3 21:07:38 1999  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * tree.c (lvalue_p,lvalue_or_else): Remove these functions from this
-       file.
-       * c-typeck.c (lvalue_p,lvalue_or_else): Put them in this file.
+       * reload1.c (reload_cse_regs_1): Undo Jan 16 patch.
+       * reload.c (find_reusable_reload): New function, broken out of
+       push_reload.  Add code to verify that none of the involved
+       outputs are subject to earlyclobbers.
+       (push_reload): Break out new function find_reusable_reload.
+       Delete "register" keyword for IN, OUT args.
 
-Wed Jan 17 00:46:24 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Feb  3 15:51:04 1999  Gavin Romig-Koch  <gavin@cygnus.com>
 
-       * c-decl.c (pushdecl): Delete garbage accidentally added before.
+       * config/mips/mips.c (true_reg_or_0_operand) : New function.
+       * config/mips/mips.h (PREDICATE_CODES): Add true_reg_or_0_operand.
+       * config/mips/mips.md (div_trap,div_trap_normal,div_trap_mips16):
+       Use true_reg_or_0_operand for div_trap.
 
-       * tree.c (set_identifier_size): SIZE is size in bytes.
-       * tree.c (get_identifier): If `set_identifier_size' has not been
-       called, abort.
-       * c-decl.c (init_decl_processing): Don't call `set_identifier_size'
-       from here.
-       * c-parse.y (init_lex): Call `set_identifier_size' from here.
+Wed Feb  3 20:44:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * varasm.c (force_const_mem): Save DESC's label on the
-       saveable_obstack.  (Note, saveable is misspelled.)
+       * loop.h (express_from): Declare.
+       (struct induction): Replace derived flag with derived_from pointer.
+       * loop.c (strength_reduce, record_giv, recombine_givs): Likewise.
+       (express_from): No longer static.
+       * unroll.c (find_splittable_givs): Replace derived with derived_from.
+       When processing an address giv with which another giv has been
+       combined that has also been derived from a third giv, handle like
+       having combined with the third giv.
+       Set splittable_regs_updates appropriately for derived givs.
 
-       * listing: New file.
+Wed Feb  3 15:26:58 1999  Gavin Romig-Koch  <gavin@cygnus.com>
 
-Tue Jan 16 20:43:55 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/mips/mips.md (div_trap_mips16): Remove nop's after branches.
 
-       * c-typeck.c (convert_sequence): Put in #if 0.
+Wed Feb  3 11:56:23 1999  Jeffrey A Law  (law@cygnus.com)
 
-Tue Jan 16 17:25:43 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
+       * pa.c (insn_sets_and_refs_are_delayed): New function.
+       * pa.h (INSN_SETS_ARE_DELAYED): Use it.
+       (INSN_REFERENCES_ARE_DELAYED): Likewise.
 
-       * toplev.c: Merged Bryan Boreham's undumping code.
+Wed Feb  3 06:24:49 1999  Richard Earnshaw  (rearnsha@arm.com)
 
-       * print-tree.c (dump): Handle TREE_VEC.
+       * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Delete.
+       * config/arm/t-linux (LIBGCC2_CFLAGS): Delete.
+       (TARGET_LIBGCC2_CFLAGS): Define.
+       (LIBGCC2_DEBUG_CFLAGS): Define.
+       * config/arm/t-netbsd: Likewise.
+       * config/arm/t-semi: Likewise.
+       * config/arm/t-semiaof: Likewise.
+       * config/arm/t-riscix: Likewise.
 
-       * varasm.c (output_constant_pool):  When done, set FIRST_POOL,
-       LAST_POOL to zero.
+Wed Feb  3 10:59:07 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * varasm.c (first_global_object_name): New variable.  Records the
-       name of the first global declaration (variable or function) whichi
-       is written to the assembly file.
+       * config/m68k/m68k.c (print_operand_address): When printing a
+       SYMBOL_REF that ends in `.<letter>' put parentheses around it.
 
-       * tree.h (tree_code_name): Add declaration.
+Tue Feb  2 23:38:35 1999  David O'Brien  <obrien@FreeBSD.org>
 
-Tue Jan 16 17:06:29 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * i386/freebsd*.h now allows '$' in label names and does not use the
+       PCC struct return method.
 
-       * local-alloc.c (block_alloc): Make an initial pass to try to
-       allocate registers that have suggested hard registers.
-       (find_free_reg): Add new argument to only try suggested hard register.
+Tue Feb  2 22:38:23 1999  Jim Wilson  <wilson@cygnus.com>
 
-Tue Jan 16 15:54:06 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
+       * Makefile.in: Change all uses of AR to AR_FOR_TARGET.  Change all uses
+       of HOST_AR to AR.  Likewise for AR_FLAGS, RANLIB, and RANLIB_TEST.
+       (RANLIB_TEST): Test to see if ranlib exists.  Only test absolute file
+       names if host == target.
+       (HOST_AR, HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Delete.
+       (AR_FLAGS_FOR_TARGET): Renamed from AR_FOR_TARGET_FLAGS.
+       (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Delete rules
+       setting them to *_FOR_TARGET.
+       * cross-make (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST):
+       Delete.
 
-       * tree.h (tree_vec): Added.
+Tue Feb  2 22:38:19 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
 
-       * tree.def (IDENTIFIER_NODE): Default length is 2.
-       * tree.def (TREE_VEC): Define it.
-       * tree.def ({NEW_,DELETE_,REFERENCE_}EXPR): fixed comments.
+       * toplev.h (read_integral_parameter): Declare.
+       * toplev.c (read_integral_parameter): New function.
 
-       * tree.c (preserve_initializer): New function.  Like
-       `preserve_data', but saves nodes on momentary_obstack as well.
-       * tree.c (make_tree_vec): New function.  Allocates a TREE_VEC node.
-       * tree.c (copy_node): Support added for TREE_VEC.
-       * tree.c (build_parse_node): New function.  Builds tree node on
-       TEMP_DECL_OBSTACK.
-       
-Tue Jan 16 15:23:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Fri Jan 29 21:00:56 1999  Bob Manson  <manson@charmed.cygnus.com>
 
-       * expr.h: Eliminate definitions of andcb_optab and expand_bit_and.
-       * expmed.c (expand_bit_and): Eliminate function.
-       (store_fixed_bit_field, extract_fixed_bit_field, expand_divmod):
-       Replace expand_bit_and with call to expand_binop.
-       * expr.c (expand_expr): Handle TRUTH_AND_EXPR and BIT_AND_EXPR
-       as normal binary operations.
-       (do_store_flag): Replace expand_bit_and with expand_binop.
-       * optabs.c (expand_binop, init_optabs): Eliminate andcb_optab.
+       * resource.c, resource.h: New files.
+       * Makefile.in (OBJS): Add it.
 
-       * expmed.c (expand_shift): Don't use extzv for rotate.
-       If all three tries at a shift operation failed, delete the
-       insns made during the last try.
-       Handle failure of extzv operation.
-       Call protect_from_queue before convert_to_mode for op1.
+       * haifa-sched.c (regno_use_in): Moved to rtlanal.c.
+       (split_block_insns): Moved to recog.c.
+       (update_flow_info): Make public.
+       * rtl.h: Declare them.
 
-Tue Jan 16 10:38:28 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
+       * reorg.c: Moved the functions dealing with computing resource
+       usage to resource.c.
 
-       * tree.c: Added temp_decl_obstack for building declarators without
-       needing to use permanent_obstack at top level.
-       * tree.c (init_tree): Init temp_decl_obstack.
-       * tree.c (permanent_allocation): Free nodes allocated on
-       temp_decl_obstack.
-       * tree.c (build_decl_list,decl_tree_cons): New functions.  Like
-       `build_tree_list' and `tree_cons', but for building on
-       temp_decl_obstack.
-       * tree.c (build1): New function.  Builds tree node for unary tree
-       node kinds; doesn't use varargs.
-       * tree.c (simple_cst_equal): Interface changed to return 1 if
-       arguments are equal, 0 if not, and -1 if arguments were not
-       understood by the function.
-       * tree.c (build_{method,offset}_type): TYPE_*_BASETYPE is the
-       TYPE_MAIN_VARIANT of BASETYPE.
+       * sched.c (regno_use_in): Moved to rtlanal.c.
+       (update_flow_info): Make public.
+       (schedule_insns): Use split_block_insns.
 
-Mon Jan 15 01:50:51 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * recog.c (split_block_insns): New function.
 
-       * cexp.y (exp): Accept unary +.
+Tue Feb  2 22:03:26 1999  David Edelsohn  <edelsohn@gnu.org>
 
-       * Makefile.in (hard-params): Compile with GCC.
-       (hard-params.o): Likewise, and depend on the GCC executables.
+       * rs6000/linux.h (LINK_START_DEFAULT_SPEC): Delete, unused.
+       (LINK_OS_DEFAULT_SPEC): Delete, unused.
 
-       * tm-sparc.h (CONST_COSTS): Give 1, not 0, for immed consts.
+Tue Feb  2 20:29:34 1999  Catherine Moore  <clm@cygnus.com>
 
-Sun Jan 14 14:38:10 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
+       * configure.in (arm-*-oabi): Support.
+       * configure: Regenerate.
+       * config/arm/unknown-elf-oabi.h: New file.
 
-       * stmt.c (estimate_case_costs): New function.  Case code no longer
-       assumes that all case values are equally likely for all types.  In
-       particular, when the type of argument for the switch statement does
-       not look like it is not ASCII text, we assume that it might be, and
-       assign a weight to its value based on frequency distribution of
-       characters in ASCII text.
-       * stmt.c (balanace_case_nodes): If case values look like ASCII text,
-       then use the cost table.  Otherwise, do not.  Using the cost table
-       means that the otherwise almost-balanced binary tree may be skewed
-       in hopes of picking up common values more quickly than just
-       log(n).  This is done at the direct expense of the less common
-       values, which will be reached at more than log(n).
-       * stmt.c (emit_case_nodes): If using COST_TABLE and the most likely
-       case value is on one side of the tree or another, hand-pick boundary
-       tests so that condition codes can be reused (if possible).
-       * stmt.c (expand_end_cast): If optimizing, and the type of
-       ORIG_INDEX is not an enumeral type, then call `estimate_case_costs.'
+Tue Feb  2 19:43:59 1999  Jeffrey A Law  (law@cygnus.com)
 
-Sun Jan 14 12:18:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * i386.md (ashlsi3): Turn into a define_expand an anonymous pattern.
+       Make the anonymous pattern match when ! optimize_size.
+       (ashlsi3 size optimizer): New pattern.
 
-       * fold-const.c (lshift_double, rshift_double, lrotate_double):
-       (rrotate_double): Don't shift more than width of operand.
+       * intl/Makefile.in (uninstall): Add missing "; \".
 
-Fri Jan 12 12:17:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Feb  2 18:21:23 1999  Stan Cox  <scox@cygnus.com>
 
-       * recog.c (next_insns_test_no_inequality): Return 1 at end of rtl.
+       * sparc.h (TARGET_CPU_sparc86x): Added. TARGET_CPU_sparclite86x
+       synonym.
 
-       * expr.c (store_expr): No special handling for constructor
-       unless value is going in struct value block.
+Tue Feb  2 20:24:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * stor-layout.c (layout_type): Use common nodes for sizes of ptrs, fns.
-       (make_signed_type, make_unsigned_type): Create those nodes.
-       (layout_record): Just ignore VAR_DECL if not static.
+       * loop.c (loop_optimize): Fix value max_uid_for_loop is reset
+       to after find_and_verify_loops call.
 
-Thu Jan 11 14:09:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Feb  2 19:48:29 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * c-decl.c (lang_decode_option): Decode -Wtraditional.
-       * c-decl.c (implicitly_declare): Warn if extern decl previously seen.
-       * c-typeck.c (c_expand_start_case): Warn if switch exp is long.
+       * (recombine_givs): Don't use a giv that's likely to be dead to
+       derive others.
 
-       * c-typeck.c (actualparameterlist): Optionally warn on truncation.
-       * toplev.c (main): Handle -Wconversion.
+       * loop.c (recombine_givs): Fix test for lifetime overlaps / loop
+       wrap around when deriving givs.
 
-       * cccp.c (skip_if_group): Skip strings even if -traditional.
-       (handle_directive): Likewise, when handling copy_command.
+Mon Feb  1 20:00:40 1999  Richard Henderson  <rth@cygnus.com>
 
-Thu Jan 11 14:15:50 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * recog.c (check_asm_operands): Treat indeterminate operand ok
+       results as success.  Try harder to resolve a matching constraint.
+       * stmt.c (expand_asm_operands): Recognize when an output operand's
+       constraint does not allow memory.  Treat indeterminate operand ok
+       results as failure.  Try harder to resolve a matching constraint.
 
-       * cse.c (cse_insn): Only check for REG_EQUAL notes and make
-       REG_EQUAL notes instead of REG_EQUIV notes.
-       * explow.c (force_reg): Make REG_EQUAL note instead of REG_EQUIV
-       note.  Check for and reuse old note if present.
-       * local-alloc.c (block_alloc): Convert REG_EQUAL to REG_EQUIV for
-       constant when register is only set once.
-       * loop.c (combine_movables, move_movables): Check for REG_EQUAL notes
-       instead of REG_EQUIV notes.
-       * optabs.c (expand_binop): Correct typo in writing REG_EQUAL note.
-       (emit_no_conflict_block): Suppress REG_NO_CONFLICT notes for
-       non-registers.
+Mon Feb  1 15:00:02 1999  Ken Raeburn  <raeburn@cygnus.com>
 
-Thu Jan 11 14:09:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       Use varrays for constant-equivalence data:
 
-       * i860.md (movsf): Ensure F to f is reloaded via r.
+       * varray.h (struct const_equiv_data): New type.
+       (union varray_data_tag): New element const_equiv.
+       (VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV): New macros.
+       (VARRAY_SIZE): New macro, returns number of elements.
+       * integrate.h: Include varray.h.
+       (struct inline_remap): Replace const_equiv_map, const_age_map and
+       const_equiv_map_size with a const_equiv_varray element.
+       (MAYBE_EXTEND_CONST_EQUIV_VARRAY): New macro; grows varray if
+       needed.
+       (SET_CONST_EQUIV_DATA): New macro; sets rtx and age fields
+       simultaneously, growing the varray if needed.
 
-       * expr.c (expand_increment): Don't call stabilize.
+       * integrate.c (global_const_equiv_map,
+       global_const_equiv_map_size): Deleted, replaced by....
+       (global_const_equiv_varray): New variable.
+       (expand_inline_function): References changed.
+       * integrate.h: Update declarations.
 
-Wed Jan 10 15:03:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * integrate.c (process_reg_parm, expand_inline_function,
+       copy_rtx_and_substitute, try_constants, subst_constants,
+       mark_stores): Use varray allocation and accessor macros, new
+       integrate.h macros, and global_const_equiv_varray.  Don't
+       conditionalize non-NULL stores on array size; instead, expand the
+       array as needed.
+       * unroll.c (unroll_loop): Likewise.
 
-       * c-decl.c (duplicate_decls): If old fn decl follows new ellipsis decl,
-       warn only if pedantic.
+       * unroll.c (unroll_loop): Initialize const_equiv_varray element to
+       zero.  After allocating varray, always exit through bottom of
+       function, where it can be deallocated if needed.  Don't explicitly
+       reallocate const_equiv_map storage; instead, just ensure the
+       varray has been initialized, and update the global reference.
 
-       * loop.c (loop_skip_over): Do nothing if don't find expected compare.
+Mon Feb  1 09:40:25 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Tue Jan  9 21:31:46 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * system.h (inline, const): Handle these for stage2 (and later) gcc.
 
-       * jump.c (jump_optimize): Don't delete USE and CLOBBER insns.
-       The later call to find_equiv_reg can malfunction if CLOBBERs are
-       deleted.
+       * dwarf2out.c (inline): Don't define.
 
-Mon Jan  8 17:48:20 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * dwarfout.c (inline): Likewise.
 
-       * gcc.c (link_command_spec): Always check gnulib both first and last.
+Sun Jan 31 22:04:37 1999  Richard Henderson  <rth@cygnus.com>
 
-Mon Jan  8 17:07:25 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * loop.c (recombine_givs): Dump recombination and derivation data.
 
-       * optabs.c (expand_unop): Perform multi-word logical negation one
-       word at a time.
-       (expand_binop, expand_unop): Insert REG_EQUAL note on last insn of
-       multi-insn sequence.
-       Use TARGET_PIECE instead of TARGET in multi-word logical operations.
-       (emit_no_conflict_block): New fn.
-       (expand_binop, expand_unop): Call it.
-       (gen_add2_insn, gen_sub2_insn): Abort if operands do not match those
-       of the predicates for the appropriate generators.
+Sun Jan 31 20:34:29 1999  Zack Weinberg  <zack@rabi.columbia.edu>
 
-       * expr.h: Fix typo and define emit_no_conflict_block.
+       * flags.h: Declare flag_no_ident.
+       * toplev.c: Define flag_no_ident.  Process -f(no-)ident here.
+       * c-tree.h: Don't declare flag_no_ident.
+       * c-decl.c: Don't define flag_no_ident.  Don't process
+         -f(no-)ident switches here.
 
-Mon Jan  8 15:33:19 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/elfos.h (ASM_FILE_END): Output final .ident directive
+         only if !flag_no_ident.
+       * config/ptx4.h: Likewise.
+       * config/svr4.h: Likewise.
+       * config/alpha/elf.h: Likewise.
+       * config/arm/linux-elf.h: Likewise.
+       * config/i386/sco5.h: Likewise.
+       * config/i860/fx2800.h: Likewise.
+       * config/mips/gnu.h: Likewise.
+       * config/i386/osfrose.h: Likewise.
 
-       * rtl.h (REG_UNSET): Fix the code.
-       * rtl.c (reg_note_name): Add REG_UNSET.
+       * gcc.c (C specs): Map -Qn to -fno-ident.
+       * objc/lang-specs.h: Likewise.
 
-       * c-decl.c (struct binding_level): parm_flag now 2 for def, 1 for decl.
-       (declare_parm_level): New parm distinguishes them.  All calls changed.
-       (pushdecl): Don't warn about shadowing with parm name in fn decl.
+Mon Feb  1 10:52:07 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-Mon Jan  8 15:15:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * configure.in: Don't remove loop.o and unroll.o when
+       enable-haifa is selected.
+       * configure: Rebuilt.
 
-       * cse.c (cse_basic_block): Allow NOTEs between LOOP_BEG and jump to
-       end test.
-       (predecide_loop_entry): Accept JUMP_INSN rather than LOOP_BEG NOTE.
+Sun Jan 31 13:22:02 1999  John Wehle  (john@feith.com)
 
-       * reload1.c (gen_input_reload): When adding constant to register,
-       move the constant into the output, then add the register, rather than
-       the other way around.
+       * i386.md (movsicc, movhicc, movsfcc, movdfcc,
+       movxfcc, movdicc): Delete unconstrained alternatives.
+       * i386.c (output_fp_conditional_move,
+       output_int_conditional_move): Delete unused case.
 
-Mon Jan  8 12:20:26 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Jan 31 01:15:04 1999  Jeff Law  (law@cygnus.com)
 
-       * c-parse.y (components): Don't allow to be empty.
-       (component_decl): Special cases if empty, to call shadow_tag.
-       Recognize the semicolon here.
-       (component_decl_list): No semicolon here.
+       * version.c: Bump for snapshot.
 
-       * c-decl.c (shadow_tag): Print warning if nameless structure defined.
+Sun Jan 31 00:52:37 1999  Richard Henderson  <rth@cygnus.com>
 
-Sun Jan  7 19:09:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * alpha.md (mov patterns): Emit the assembler aliases mov and fmov
+       instead of bis and cpys.  Combine alternatives where possible.
 
-       * varasm.c (output_constant): Use size of machine mode
-       to choose how to output the constant.
+Sat Jan 30 23:14:13 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * varasm.c (immed_real_const_1): Detect 1 as well as 0.
+       * gcov.c (fnotice): Add missing FILE* parameter.
+       (function_summary): Fix format specifiers in calls to `fnotice'.
+       (output_data): Likewise.
 
-       * reload1.c (reload): When deleting reg_equiv_init insn,
-       also delete the prev insn if it is no longer needed.
+       * toplev.c (fnotice): Constify char* parameter.
 
-       * real.h (REAL_VALUE_FROM_CONST_DOUBLE, CONST_DOUBLE_FROM_REAL_VALUE):
-       New macros.
+       * toplev.h (fnotice): Add prototype.
+       Wrap prototype with BUFSIZ to protect FILE* usage.
 
-       * reload.c (find_reloads_address_1): Preserve original X value
-       in case we replace it with new memory reference.
+Sun Jan 31 15:33:09 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * optabs.c (expand_binop): Handle case of no previous insns.
+       * config/c4x/c4x.h (RTX_COSTS): Explicitly define c4x costs.
 
-       * jump.c (jump_back_p): Check for floating point if not IEEE.
+Sat Jan 30 08:27:23 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * global-alloc.c (dump_global_regs): Break the line occasionally.
+       * combine.c (distribute_notes): Handle REG_EH_REGION notes.
 
-       * flow.c (mark_used_regs): Recognize post-decrement properly.
-       It looks like (plus REG -CONST), not (minus REG CONST).
-       Also, patch out old insn as a note in the usual way.
+       * alias.c (fixed_scalar_and_varying_struct_p): Add "static" to
+       function definition.
+       (aliases_everything_p, write_dependence_p):Likewise.
 
-       * calls.c (emit_call_1): Arg to RETURN_POPS_ARGS is FUNTYPE itself.
+       * install.texi: Fix merge lossages.
 
-       * expr.c (STACK_PUSH_CODE): New macro, which config.h can override.
-       (gen_push_operand): Use it.
-       (emit_push_insn): Reverse padding if pushing is post-increment.
-       (expand_expr): For MINUS, sign-extend negated value.
+       * cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES
+       is defined.
+       * collect2.c (main): Likewise.
+       * cppmain.c (main): Likewise.
+       * gcc.c (main): Likewise.
+       * gcov.c (main): Likewise.
+       * protoize.c (main): Likewise.
+       * toplev.c (main): Likewise.
 
-       * emit-rtl.c (init_emit_once): Initialize new variables
-       fconst1_rtx, dconst1_rtx, dconst0, dconst1, dconstm1.
+       * pa.md (parallel shift and shiftadd): Mark output of shift as an
+       earlyclobber.
 
-       * cse.c (fold_rtx): For COMPARE and MINUS, test for floating zero arg.
-       Also handle equal floating args if FLOAT_NOT_IEEE.
-       For NEG, eliminate silly temp var.
-       For MULT and DIV, handle more cases with floating point.
-       Change division by floating constant into multiplication.
+       * loop.c: Disable recent loop changes.  Temporary as Joern
+       continues to fix problems.
 
-       * config.gcc: Add i386-mach.
-       * xm-i386.h: Use built-in alloca if compiling with GCC.
+Sat Jan 30 03:24:37 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * Makefile.in (c-parse.tab.o): Delete -o switch.
-       (cexp.o): Put in explicit command.
+       * loop.c (strength_reduce): Size reg_map according to reg_iv_type.
 
-       * combine.c (record_dead_and_set_regs): Ignore stack pushes.
+Fri Jan 29 18:26:07 1999  Dave Brolley  <brolley@cygnus.com>
 
-Sat Jan  6 15:33:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * emit-rtl.c (remove_insn): New function.
+       * rtl.h (remove_insn): Add prototype.
+       * function.c (reposition_prologue_and_epilogue_notes): Call remove_insn.
 
-       * out-mips.c (function_arg, function_arg_advance):
-       Define typedef for CUMULATIVE_ARGS, and use it here.
+Fri Jan 29 22:34:41 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * c-parse.y (yylex): Put 0 at end of wide string.
+       * loop.c (recombine_givs): Don't try to derive givs that have combined.
 
-       * tm-mips.h (CC1_SPEC): Don't distort meaning of -O.
+Fri Jan 29 15:00:39 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Fri Jan  5 12:12:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__,
+       when declaring arguments and calling va_arg() to initialize them.
 
-       * optabs.c, expr.h: All use of umul_optab deleted.
-       * gnulib.c (__umulsi3): Deleted.
+       * collect2.c (notice): Likewise.
 
-       * gcc.c (link_command_spec): If LIBS_COMPILED_WITH_GCC, gnulib is last.
+       * loop.c (find_life_end): Use PROTO() macro in the prototype.
 
-       * Makefile.in (INTERNAL_CFLAGS): New parameter.
-       (ALL_CFLAGS): New variable, replaces CFLAGS when compiling.
-       (HOST_CFLAGS): Define from ALL_CFLAGS.
+Fri Jan 29 14:36:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile.in (insn-*.o, cccp.o, others): Use CPPFLAGS.
+       * collect2.c (error): Fix typo in declaration.
 
-       * Makefile.in (gnulib): Add null command.
+       * cpperror.c (cpp_message): Likewise.
 
-Fri Jan  5 08:11:20 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * cpplib.c (cpp_warning): Likewise.
 
-       * combine.c (subst): When applying De`Morgan's law, compute NOT
-       of constant.
+       * cpplib.h (cpp_notice): Use PVPROTO not VPROTO, also add
+       ATTRIBUTE_PRINTF_1.
 
-       * integrate.c (save_constants, restore_constants): Clean up fns
-       by passing in a pointer to an rtx so that insns can be modified
-       in place.
-       (save_for_inline): Change call to save_constants.
-       Apply save_constants to REG_NOTES.
-       (expand_inline_function): Use emit_move_insn instead of generating
-       an explicit SET.
-       Apply copy_rtx_and_substitute to REG_NOTES.
-       (output_inline_function): Change call to restore_constants.
-       Apply restore_constants to REG_NOTES.
+       * toplev.c (error): Fix typo in declaration.
 
-Thu Jan  4 23:58:59 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Jan 29 15:44:13 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * Makefile (c-parse.tab.o): Add explicit compilation cmd.
+       * loop.c (strength_reduce): Fix HAVE_cc0 handling when scanning
+       forward from cont dominator.
 
-Thu Jan  4 22:48:01 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Fri Jan 29 07:10:27 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cse.c (insert_regs, insert, use_related_value): Don't assume REG is
-       first in class.
-       (HASH): Handle register with HASHREG macro for speed.
-       (insert): No longer need equivalence_only.
-       Use COST macro.
-       (use_related_value): No longer need to check for valid address.
-       (find_best_addr): New function.
-       (fold_rtx): Remove copyflag argument and replace with insn.
-       Check for common cases before making recursive call.
-       Call validate_change to ensure change is valid, but always return
-       simplified expression.
-       Replace operand with folded operand, or constant operand, whichever
-       is cheaper and is valid.
-       Call find_best_addr for MEMs.
-       (fold_cc0): Add insn operand to pass to calls to fold_rtx.
-       (cse_insn): Rework to enumerate all possible equivalences and replace
-       source with cheapest valid.
-       Simplify associative operations with constants where an operand is
-       equivalent to the same operation with another constant.
-       Use validate_change for all changes.
+       * cccp.c (eprint_string): Constify a char*.
+       (notice): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
+       (vnotice): Constify a char*.
+       (error): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
+       (verror): Constify a char*.
+       (warning): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
+       (vwarning): Constify a char*.
+       (error_with_line): Likewise.  Use PVPROTO not VPROTO, add
+       ATTRIBUTE_PRINTF_2.
+       (verror_with_line): Constify a char*.
+       (vwarning_with_line): Likewise.
+       (warning_with_line): Likewise.  Use PVPROTO not VPROTO, add
+       ATTRIBUTE_PRINTF_2.
+       (pedwarn): Constify a char*.  Use PVPROTO not VPROTO, add
+       ATTRIBUTE_PRINTF_1.
+       (pedwarn_with_line): Likewise with ATTRIBUTE_PRINTF_2.
+       (pedwarn_with_file_and_line): Likewise with ATTRIBUTE_PRINTF_4.
+       Also correct typo in parameter name declaration.
+       (make_assertion): Constify a char*.
+       (quote_string_for_make): Likewise.
+       (deps_output): Likewise.
+       (fatal): Likewise.  Use PVPROTO not VPROTO, add
+       ATTRIBUTE_PRINTF_1.  Use ATTRIBUTE_NORETURN not an explicit
+       "__attribute__ ((noreturn))".
+       (fancy_abort): Likewise for ATTRIBUTE_NORETURN.
+       (pfatal_with_name): Likewise.
+       (pipe_closed): Likewise.
+       (memory_full): Likewise.
 
-Thu Jan  4 17:58:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Jan 29 00:14:55 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * stmt.c (expand_end_loop): Put NOTE_INSN_LOOP_CONT at top by default.
+       * loop.c (strength_reduce): Grow set_in_loop / n_times_set /
+       may_not_optimize to proper size when converting biv increments
+       into givs.
+       If necessary, reallocate reg_iv_type / reg_iv_info before calling
+       recombine_givs.
 
-       * c-typeck.c (actualparameterlist):
-       Convert parmnum to origin-1 to print.
+Thu Jan 28 23:24:08 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * Makefile.in (USER_H): Add float.h.
+       * loop.c (recombine_givs): New parameter unroll_p.  If set, don't
+       generate complex adds.  Changed caller.
+       Don't generate adds that cost more than the original one.
+       (strength_reduce): Warning fixes.
 
-Wed Jan  3 00:27:53 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Jan 28 09:41:11 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * gnulib.c (__extendsfdf2): Delete unused var.
+       * configure.in (hppa1.0-hp-hpux10*): Use t-pa.
+       * configure: Rebuilt.
 
-       * reload1.c (alter_reg): Undo big-endian conversion from
-       assign_stack_local.
+Wed Jan 27 23:39:53 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * calls.c (store_one_arg): Round size up for move_block_to_reg.
-       (expand_call): Round up when emitting USE insns.
-       * function.c (assign_parms): Round size up for move_block_from_reg.
+       * rtl.h (insn_first_p, no_jumps_between_p): Declare.
+       * rtlanal.c (insn_first_p, no_jumps_between_p): New function.
+       * loop.h (varray.h): Include.
+       (struct induction): Change combined_with to unsigned.
+       New members derived, ix and last_use.
+       (reg_iv_type, reg_iv_info): Now varray_type.  All references changed.
+       (REG_IV_TYPE, REG_IV_INFO): Define.
+       (first_increment_giv, last_increment_giv): Declare.
+       * loop.c (loop_number_loop_cont): New static variable.
+       (loop_number_cont_dominator): Likewise.
+       (reg_iv_type, reg_iv_info): Now varray_type.
+       (first_increment_giv, last_increment_giv): New variables.
+       (compute_luids, verify_dominator, find_life_end): New functions.
+       (cmp_recombine_givs_stats, recombine_givs): Likewise.
+       (loop_optimize): Allocate loop_number_loop_cont and
+       loop_number_cont_dominator.  Use compute_luids.
+       (find_and_verify_loops): Initialize loop_number_loop_cont and
+       loop_number_cont_dominator.
+       (strength_reduce): Try to find bivs that can be expressed as givs
+       of another biv, and to convert biv increments into givs.
+       Call recombine_givs.  Handle derived givs.
+       (record_biv): New argument location.  All callers changed.
+       (record_giv): Initialize derived and last_use fields.
+       (basic_induction_var): New argument location.  All callers changed.
+       (combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
+       Increment combined_with instead of setting to 1.
+       * unroll.c (derived_regs): New static variable.
+       (unroll_loop): Initialize it.
+       Allocate local_regno according to max_reg_num.
+       (copy_loop_body): Cope with derived givs.
+       (find_splittable_givs): Check for Givs made from biv increments.
+       Set derived_regs for givs.
+       * Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .
+
+Wed Jan 27 19:31:36 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * function.c (purge_addressof_1): Handle case when a register
+       has been used in a wider mode.
+
+1999-01-27  Bruce Korb  <autogen@linuxbox.com>
+
+       * fixinc/fixincl.c, fixinc/server.[ch]:
+       Removed the last of the capitalized variable and proc names.
+
+       * fixinc/server.c: Removed the process open code.
+       * fixinc/procopen.c: New file containing the proc open code.
+       * fixinc/inclhack.tpl: Added code to bypass a readability test
+       when a file is not present.  A problem on some systems.
+       * fixinc/inclhack.sh, fixinc/fixincl.sh: Regenerated.
+
+Wed Jan 27 11:58:18 1999  Dave Brolley  <brolley@cygnus.com>
+
+       * cpplib.h (cpp_notice): Add prototype.
+
+Wed Jan 27 02:20:48 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * Merge gcc2 snapshot 19980929.
+
+       * cccp.c (PRINTF_PROTO): Remove.
+       (PRINTF_PROTO_{1,2,3,4}: Likewise.
+       * cexp.y: Likewise.
+       * system.h: Add PRINTF_PROTO and PRINTF_PROTO_{1,2,3,4}.
+
+       * fix-header.c (cpp_file_lin_for_message): Delete.  In libcpp.
+       (cpp_print_containing_files, v_cpp_message, cpp_message): Likewise.
+       (cpp_fatal, cpp-Pfatal_with_name): Likewise.
+
+       * gen-protos.c (hashf): Delete in cpphash.o.
+       * gen-protos.c (hashf): Delete in cpphash.o.
+
+       * expr.c: Do not merge SAVE_STACKAREA_MODE changes.
+       * expmed.c: Likewise.
+       * rs6000.md: Likewise.
+
+       * rs6000.c, rs6000.md: Do not merge formatting changes yet.
+
+Wed Jan 27 01:13:42 1999  Richard Henderson  <rth@cygnus.com>
+
+       * rs6000.c (input_operand): Don't expect CONST around CONSTANT_P_RTX.
+       * rs6000.md (movsi, movdi): Likewise.
+
+Tue Jan 26 13:31:38 1999  Jim Wilson  <wilson@cygnus.com>
+
+       * function.c (expand_function_end): Pass arg_pointer_save_area to
+       validize_mem before using it.  Emit code into a sequence.
+
+Tue Jan 26 13:41:38 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md (doz + set cr and or + set cr patterns): Add missing
+       '#' to split patterns.  Correct indentation of some new patterns.
+
+1999-01-26  Zack Weinberg  <zack@midnite.ec.rhno.columbia.edu>
+
+       * cppfiles.c (safe_read): Deleted.
+       (read_and_prescan): New function, replaces safe_read, converts
+       and/or warns about trigraphs, silently converts odd line
+       terminators (\r, \n\r, \r\n).  Warns about no newline at EOF.
+       (finclude): Use read_and_prescan; turn off nonblocking mode on
+       the input descriptor; remove file-size-examination and
+       no-newline-at-EOF gunk which is longer necessary; be more
+       careful about checking that we've been handed a legitimate
+       file to read (only real files, pipes, and ttys are acceptable).
+       * cpplib.h (cpp_options): Rename no_trigraphs flag to
+       `trigraphs' and invert its sense.
+       (trigraph_table): Declare.
+       (cpp_warning_with_line): Prototype.
+       * cpplib.c: Remove all references to trigraph_pcp. Define
+       trigraph_table; initialize it in initialize_char_syntax.  Open
+       files in nonblocking mode.  s/no_trigraphs/trigraphs/
+       throughout, and invert sense.  Put cpp_warning_with_line back
+       in and export it.
+
+Tue Jan 26 23:21:49 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.h (COUNTER_REGS): New register class.
+       * config/c4x/c4x.md (*rptb_init): Change constraints.
+       (rptb_end): Emit alternate looping instructions if
+       RC register not allocated for loop counter.
+       (decrement_and_branch_on_count): Allow other registers
+       for loop counter.
+
+1999-01-25  Zack Weinberg  <zack@rabi.columbia.edu>
+
+       * cppexp.c (struct arglist): Removed.
+       (parse_number): Use HOST_WIDE_INT for the accumulator.
+       Allow two `l' suffixes unless C89.  Clean up.  Make static.
+       (parse_charconst): New function broken out of cpp_lex.
+       Code cleaned up drastically.  Don't use a token_buffer.
+       (token_buffer): Removed.
+       (cpp_lex): Don't call parse_number on a constant string.
+       Use parse_charconst.
+       (cpp_parse_expr): Properly handle an ERROR op returned by
+       cpp_lex.
+
+1999-01-25  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * cpplib.c: Don't include signal.h, sys/times.h, or
+       sys/resource.h. Don't declare localtime.
+       (macroexpand): Handle special symbols here.
+       (push_macro_expansion): Chop off the trailing '@ ' if possible
+       here.
+       (cpp_get_token): Don't do either of the above two things here.
+       Move `string' label just after case '"' so that wide strings
+       don't crash the preprocessor.
+
+Sun Jan 24 20:13:45 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md (left shift + set cr patterns): Add missing '#' to
+       split patterns.
+       (move register + set cr pattern): Likewise.
+       (movdi, !TARGET_POWERPC64 splitters): Add back in Jan. 15th patch,
+       inadvertently deleted.
+
+Sun Jan 24 08:07:59 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * stmt.c (stmt_loop_nest_empty): New function.
+       * tree.h (stmt_loop_nest_empty): Declare it.
+       * rtl.def (CALL_PLACEHOLDER): New rtx code.
+
+Sun Jan 24 21:24:43 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_emit_move_sequence, c4x_encode_section_info):
+       New functions.
+       (c4x_check_legit_addr): Remove USE and PLUS, allow
+       LO_SUM, and disable SYMBOL_REF, LABEL_REF, and CONST cases.
+       (c4x_legitimize_address): Penalize SYMBOL_REF, LABEL_REF, and
+       CONST cases.  Add LO_SUM.
+       (c4x_print_operand): Modified 'C' and 'R' cases for calls.
+       Added 'U' case.  Remove dependence on SYMBOL_REF_FLAG.
+       (c4x_print_operand_address): Handle LO_SUM.
+       (c4x_scan_for_ldp): Delete.  Hooray!
+       (c4x_process_after_reload): Remove call to c4x_scan_for_ldp.
+       Split all insns.
+       (c4x_immed_int_constant): Renamed from c4x_int_constant.  All callers
+       changed.
+       (c4x_immed_float_constant): Renamed from c4x_float_constant.  All
+       callers changed.
+       (c4x_T_constraint): Allow LO_SUM, disable SYMBOL_REF, LABEL_REF,
+       and CONST.
+       (c4x_U_constraint, symbolic_operand): New functions.
+       (src_operand): Allow 'I' constants in HImode.  Allow LO_SUM,
+       disable SYMBOL_REF, LABEL_REF, and CONST.
+       (lsrc_operand, tsrc_operand): Call src_operand instead of
+       general_operand.
+       (c4x_operand_subword): Update comments.
 
-       * Makefile (install): Use nested foreach-loop to expand va*.h.
+       * config/c4x/c4x.c (TARGET_LOAD_ADDRESS): New macro.
+       (LEGITIMATE_CONSTANT_P): Allow SYMBOL_REF, LABEL_REF, CONST,
+       plus HIGH and LO_SUM for the C40.
+       (ENCODE_SECTION_INFO): Define macro.
+       (symbolic_operand, c4x_U_constraint, c4x_emit_move_sequence): New
+       prototypes.
+       (PREDICATE_CODES): Add symbolic_operand.
 
-Tue Jan  2 16:01:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/c4x/c4x.md (movqi, movgqf, movhi, movhi): Call
+       c4x_emit_move_sequence.
+       (floatunsqiqf2, fixuns_truncqfqi2): Rework emitted RTL
+       to avoid symbol references.
+       (all patterns with g constraint): Replace 'g' constraint with 'rIm'.
+       (set_high): Renamed from set_high_use.
+       (set_lo_sum): Renamed from set_ior_lo_use.
+       (all call patterns): Make MEM explicit in call address operands.
+       Modified output templates to use 'U' modifier.
 
-       * mips.md (call_value): Ignore calls to __builtin_saveregs.
+Sun Jan 24 01:15:05 1999  Jeff Law  (law@cygnus.com)
 
-       * tm-mips.h (STARTING_FRAME_OFFSET): Change from -8 to 0.
-       (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Use new fns in out-mips.c.
-       * out-mips.c (prologue_looks, mips_prologue, mips_epilogue): New.
+       * version.c: Bump for snapshot.
 
-       * gnulib2.c: Everything except arithmetic support moved from gnulib.c.
-       * Makefile.in (LIB2FUNCS, LIBFUNCS): Likewise.
+Sat Jan 23 22:34:57 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Sun Dec 31 20:10:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * final.c (bb_str): Qualify a char* with the keyword `const'.
+       (add_bb_string, final_scan_insn, output_asm_insn): Likewise.
 
-       * tree.h (struct tree_common): Declare `code' as char, not int.
+       * fix-header.c (read_scan_file): Likewise.
 
-Thu Dec 28 13:49:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * genoutput.c (output_epilogue, process_template): Likewise.
 
-       * Makefile.in (includes): Set variable LIB.  Run from `./'.
+       * local-alloc.c (requires_inout, block_alloc): Likewise.
 
-Wed Dec 27 18:54:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * output.h (output_asm_insn, assemble_string): Likewise.
 
-       * reload1.c (eliminate_frame_pointer): Special case for reg = reg2+fp.
+       * recog.c (recog_constraints, check_asm_operands,
+       decode_asm_operands, extract_insn, preprocess_constraints,
+       constrain_operands): Likewise.
 
-       * loop.c (can_eliminate_biv_p, eliminate_biv): If add_val non zero,
-       it must be a constant or register.
+       * recog.h (operand_alternative, recog_constraints, insn_template,
+       insn_outfun, insn_operand_constraint, insn_name): Likewise.
 
-Wed Dec 27 18:11:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * regclass.c (record_reg_classes, scan_one_insn): Likewise.
 
-       * i860.md (load DF constant to reg): Typo: extra percent sign.
-       (floatsidf2): Two words of a double were backwards.
+       * regmove.c (find_matches): Likewise.
 
-Mon Dec 25 16:32:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * reload.c (alternative_allows_memconst): Likewise.
 
-       * emit-rtl.c (emit_note_before): New function.
-       * stmt.c (expand_end_loop): Output NOTE_INSN_LOOP_CONT if none.
-       ** Above change turned off.
+       * reload1.c (constraint_accepts_reg_p,
+       reload_cse_simplify_operands): Likewise.
 
-Mon Dec 25 00:02:31 1989  Torbj|rn Granlund  (tege at zevs.sics.se)
+       * rtl.h (decode_asm_operands): Likewise.
 
-       * tm-pyr.h (CONST_COSTS): Define more optimal costs.
+       * scan.h (fn_decl): Likewise.
 
-       * tm-pyr.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Should not be defined.
-         The cvtdw instruction causes a trap for floating point values
-         that are out-of-range for a signed int.
+       * varasm.c (assemble_string): Likewise.
 
-       * tm-pyr.h (CONST_DOUBLE_OK_FOR_LETTER_P): Don't accept any
-         special constraint chars, since we don't use any.
+Sat Jan 23 01:37:36 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-pyr.h (CONSTANT_ALIGNMENT): Correct comment.
+       * configure.in (gcc_tooldir): Handle case where exec_prefix has
+       not been explicitly set.
+       * configure: Rebuilt.
 
-       * out-pyr.c (weird_memory_memory): Flush decl of unused variables.
+       * fold-const.c (lshift_double): Mark 'prec' arguments as possibly
+       unused.
 
-       * out-pyr.c (has_direct_base): Don't accept 0 as a base, if there
-         is a register displacement.  This is a workaround of a bug in
-         /bin/as.  (/bin/as changes things like "cmpw 8(reg),0(reg)" into
-         "cmpw 8(reg),(reg)", which is invalid assembler.)
+       * bitmap.h (bitmap_head_def): Make indx field unsigned.
 
-Sun Dec 24 12:01:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * configure.in (gcc_tooldir): When not making a relative gcc_tooldir,
+       use $exec_prefix/$target_alias for gcc_tooldir.
+       * configure: Rebuilt.
 
-       * c-decl.c (finish_struct): Ok to define nameless union in parms.
-       * c-typeck.c (compparms): Allow union vs its member's type,
-       but only if same size & union is nameless.
-       (comptypes): In that case, for a parm, prefer the member's type.
-       (actualparameterlist): Nameless union parm casts all its memb types.
+Fri Jan 22 11:48:56 1999  Richard Henderson  <rth@cygnus.com>
 
-       * integrate.c (copy_decl_tree, copy_parm_decls): Set TREE_INLINE.
-       * c-decl.c (pushdecl): No shadow-warning if TREE_INLINE is set.
+       * cppp.c (xrealloc): Fix typo last change.
+       * cppalloc.c, gcc.c, genattr.c, genattrtab.c, gencodes.c: Likewise.
+       * genconfig.c, genemit.c, genextract.c, genflags.c: Likewise.
+       * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
 
-       * dbxout.c (current_sym_code): Declare as enum; avoid warnings.
+1999-01-22  Michael Meissner  <meissner@cygnus.com>
 
-Sat Dec 23 10:54:22 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * rs6000.h (CR0_REGNO_P): New macro to test if cr0.
+       (CR_REGNO_NOT_CR0_P): New macro to test if cr, but not cr0.
+       (PREDICATE_CODES): Add cc_reg_not_cr0_operand.
+       (cc_reg_not_cr0_operand): Add declaration.
 
-       * combine.c (subst): Under NOT, move it inside AND and IOR.
-       Under XOR, move NOT out.
+       * rs6000.c (cc_reg_not_cr0_operand): Return true if register is a
+       pseudo register, or a control register that is not CR0.
 
-       * toplev.c (set_target_switch): Handle multiple entries for one name.
+       * rs6000.md (all combiner patterns building . instructions): For
+       all `.' instructions that do something and set cr0, add an
+       alternative that does the operation, and then sets a different
+       flag, in order to avoid using the costly mcrf instruction and also
+       allow cr0 to be clobbered in asm statements.  Also fix a few
+       patterns that used the wrong register.
 
-       * ns32k.md (adjust stack): Distinguish processor subtype at run-time.
-       (extract byte from register): Likewise.
-       * tm-ns32k.h (TARGET_32532, TARGET_32332): New target options.
-       * tm-encore.h, tm-sequent.h (TARGET_DEFAULT): Default them.
+       * rs6000.h (rs6000_cpu_select): Make string, names be const char *.
+       (rs6000_debug_name): Make const char *, not char *.
 
-Fri Dec 22 20:33:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * sysv4.h (rs6000_{abi,sdata}_name): Make const char *.
 
-       * Makefile.in (all): Move above where make-MACHINE is inserted.
-       (all.internal): Definition of `all' indirects through this.
-       (GNULIB): Variable allows rule for gnulib to be redirected.
-       (gnulib.portable): Name for the standard rule for gnulib.
+       * rs6000.c (rs6000_{debug,abi,sdata}_name): Make const char *.
+       (rs6000_select): Use const char * in casts.
 
-       * tm-mips.h (ASM_OUTPUT_SOURCE_FILENAME): New macro.
-       (REG_CLASS_SUBUNION, REG_CLASS_SUBCLASSES, REG_CLASS_SUPERCLASSES):
-       Obsolete macros deleted.
+Fri Jan 22 07:43:01 1999  Jeffrey A Law  (law@cygnus.com)
 
-Thu Dec 21 16:20:00 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * Makefile.in (gcc_tooldir): Move before first reference.
+       Let autoconf substitute in a value.
+       * configure.in (gcc_tooldir): Only use a relative path to the
+       tool directory if $exec_prefix == $prefix.
+       * configure: Rebuilt.
 
-       * fold-const.c (fold): Bug taking assignments out of conversions:
-       Use language-independent method.
+       * Makefile.in (tooldir): Replace with gcc_tooldir.
 
-       * reload1.c (alter_reg):
-       Always do big-endian correction on slot address.
+Thu Jan 21 23:21:57 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * i386.md (float push recognizers): Don't pop fpreg if not dead.
+       * m68k.md (ashldi_const): Disable for !TARGET_5200.  Fix indentation.
+       (ashldi3 expander): Similarly.  Update comments.
+       (ashrdi_const, lshrdi_const): Fix indentation.
+       (ashrdi3, lshrdi3): Fix indentation.  Update comments.
 
-Wed Dec 20 10:54:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Jan 21 21:53:36 1999  Richard Henderson  <rth@cygnus.com>
 
-       * assert.h: Cast value to void.
+       * emit-rtl.c (try_split): Don't try to split non-instructions.
 
-Tue Dec 19 09:42:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Jan 21 23:47:30 1999  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * gcc.c (link_command_spec): Put %l first.
+       * expr.c (emit_push_insn): Fix dumb typo.
 
-Tue Dec 19 08:59:43 1989  Richard Kenner  (rms at sugar-bombs.ai.mit.edu)
+Thu Jan 21 20:24:02 1999  Richard Henderson  <rth@cygnus.com>
 
-       * genattrtab.c (get_attr_value): Initialize has_asm_insn field when
-       making a new attr_value.
+       * rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept
+       transformations that we have performed earlier.
+       * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
 
-Sun Dec 17 12:06:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * alpha.md (prologue_stack_probe_loop): Don't do our own label
+       handling, call gen_label_rtx instead.
 
-       * c-typeck.c (digest_init, process_init_constructor, store_init_value):
-       Give error for each invalid element seen in an initializer.
-       New arguments say whether context wants error messages.
-       * c-parse.y (cast_expr): Pass new args.
-       * Unfortunately, this doesn't do the job, since the whole initializer
-       is parsed before any is digested.
+Thu Jan 21 17:45:18 1999  Richard Henderson  <rth@cygnus.com>
 
-       * c-decl.c (duplicate_decls): Source loc of definition is
-       more important than that of declaration.
+       * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): Add missing `then'.
 
-       * cccp.c (include_defaults): On unos, also search /include.
+       * cccp.c (xrealloc): Call malloc given a NULL old pointer.
+       * collect2.c, cppalloc.c, gcc.c, genattr.c, genattrtab.c: Likewise.
+       * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
+       * genflags.c, genopinit.c, genoutput.c, genpeep.c: Likewise.
+       * genrecog.c, mips-tfile.c, protoize.c: Likewise.
 
-       * m68k.md (movsi, movhi, store-0 recognizer): Conditional for CRDS.
-       (mulhi3, mulhisi3, umulhi3, umulhisi3): Add % and CRDS conditional.
-       (zero-extend recognizers): Put % before period in clr insns.
-       (divide and modulus recognizers): Likewise for and, ext, swap and div.
-       (dbra recognizers): Likewise for sub and clr insns.
-       (tablejump recognizer): Conditional for CRDS.
-       * tm-crds.h, xm-crds.h: New files.
+Thu Jan 21 19:44:55 1999  Michael Meissner  <meissner@cygnus.com>
 
-       * gcc.c (read_specs): Don't include trailing newline in data
-       read from specs file.
-       (skip_whitespace): Empty line is a delimiter in specs data.
+       * configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): If
+       --with-gnu-ld, use x-aix41-gld instead of x-aix41 to suppress
+       adding -Wl,-bbigtoc to BOOT_LDFLAGS.
+       * configure: Regenerate.
 
-       * cccp.c (grow_outbuf): Change value back to int.
+       * config/rs6000/x-aix41-gld: New file, don't set BOOT_LDFLAGS.
 
-       * cse.c (cse_end_of_basic_block): Fix unterminated comment.
+Thu Jan 21 15:48:03 1999  Dave Brolley  <brolley@cygnus.com>
 
-       * cccp.c (main): Add `.C' as known suffix for deps output.
+       * cppexp.c (cpp_lex): Allocate token_buffer dynamically.
 
-       * expr.c (do_jump): Cast vector length to int in case will subtract.
+Thu Jan 21 14:18:04 1999  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * tm-att386.h (ASM_OUTPUT_LOCAL): Revert last change: put it data seg.
+       * expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use
+       move_by_pieces.
+       (MOVE_MAX_PIECES): Define maximum number of bytes to move at once.
+       (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): Define defaults.
+       (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define defaults.
+       (move_by_pieces): Use new macros.
+       (emit_block_move): Use new macros.
+       (clear_by_pieces): Use new macros.
+       (clear_storage): Use new macros.
+       (emit_push_insn): Use new macros.
+       (expand_expr): Use new macros.
+       * config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT):
+       Define.
+       (USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define.
+       (MOVE_BY_PIECES_P): Define based on alignment and TARGET_SMALLCODE.
+       (MOVE_MAX_PIECES): Move 8 bytes on SH4.
+       * tm.texi(MOVE_BY_PIECES_P, MOVE_MAX_PIECES, USE_LOAD_POST_INCREMENT,
+       USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT,
+       USE_STORE_PRE_DECREMENT): Describe new macros.
 
-       * reload.c (decompose): Make a separate case for SUBREG.
+Thu Jan 21 14:13:31 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
 
-       * Makefile.in (HOST_RTLANAL): Define like HOST_RTL.
-       (genattrtab): Use that to get at rtlanal.o.
-       ($(HOST_PREFIX_1)rtlanal.o): New rule for cross-compilation.
-       (STAGESTUFF): Typo in stamp-attrtab.c.
+       * varasm.c (output_constant_pool): Use floor_log2 instead of
+       exact_log2 for ASM_OUTPUT_ALIGN.
 
-       * tm-hp9k320.h (CPP_PREDEFINES): Add __hp9000s300, _HPUX_SOURCE.
+       * stor-layout.c (layout_type): Do machine-dependent extra alignment.
 
-       * stupid.c (reg_order): Make it int, in case reg # is large.
-       (stupid_reg_compare, stupid_life_analysis): Implement this.
+       * emit-rtl.c (operand_subword): Handle case when a subword outside
+       the operand.
 
-       * gnulib2.c (__floatdidf): Define WORD_SIZE.
+       * tm.texi (ROUND_TYPE_{SIZE,ALIGN}): More accurate descriptions of
+       the macros.
 
-       * flow.c (find_basic_blocks): Don't clobber stack if no basic
-       blocks.
+Thu Jan 21 01:59:30 1999  Richard Henderson  <rth@cygnus.com>
 
-Sat Dec 16 12:38:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cse.c (fold_rtx): Revert 29 Dec change.
+       (cse_insn): Revert 12 Jan change.
+       * expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX.
+       * regclass.c (reg_scan_mark_refs): Revert 29 Dec change.
+       * rtl.def: Likewise.
+       * rtl.h (CONSTANT_P): Likewise.
 
-       * loop.c (can_eliminate_biv_p, eliminate_biv): Check in case
-       neither side of a compare is the biv by itself.
-       (check_eliminate_biv): Test of only_reg_use_p was backwards.
-       (general_induction_var): If V is 0 and G is not,
-       combine additive terms with plus_constant, provided
-       either one of them is an integer.
-       Check both operands of a sum for being givs in their own right.
-       (strength_reduce): When eliminating a biv, don't mung insns that use
-       it via a giv that will be handled later.
-       (loop_skip_over): Duplicate an endtest that takes several insns.
+       * expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX
+       to memory.
+       * recog.c (immediate_operand): Accept CONSTANT_P_RTX.
+       * alpha.c (input_operand): Likewise.
+       * c4x.c (const_operand): Likewise.
 
-       * loop.c (strength_reduce): When writing insn to init a biv, 
-       update life range of reg used to init it.
+       * explow.c (allocate_dynamic_stack_space): Use register_operand
+       instead of arith_operand, which does not exist.
 
-       * combine.c (try_combine): Do combine (y = x, x = y).
+       * 1750a.h: Fix comment closure.
+       * a29k.c (a29k_set_memflags): Fix typo in 19 Jan change.
+       * arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch.
+       * arm.h (TARGET_SWITCHES): Fix typo.
+       * i370.md (anon mult and div patterns): Fix set mode mismatch.
+       * i860.c (output_delayed_branch): Fix operands to constrain_operands.
+       (output_delay_insn): Likewise.
+       * m88k.md (anon rotate insns): Fix set mode mismatch.
+       (anon BLKmode moves): Commonize and fix set mode mismatches.
+       * ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch.
+       * romp.md (movdf): Fix typo.
 
-       * loop.c (strength_reduce): When finding initial value of a biv,
-       notice assignments to subregs of it, etc.
+Thu Jan 21 00:29:35 1999  Nathan Sidwell  <nathan@acm.org>
 
-       * m68k.md (all shift patterns): Require register_operand for ops 0, 1.
+       * Makefile.in (install-common): Remove extraneous chmod for gcov
+       install.
 
-       * reload1.c (alter_reg):
-       Don't set spill_stack_slot_width if from_reg is -1.
+Wed Jan 20 18:15:08 1999  Dave Brolley  <brolley@cygnus.com>
 
-       * cse.c (cse_main): Delete local redef of flag_cse_follow_jumps.
+       * function.c (assign_parms): Save and restore setting of
+       TREE_USED (parm).
+
+Wed Jan 20 12:51:42 1999  Mark Mitchell  <mark@markmitchell.com>
+
+       * arm.md: Use MEM_COPY_ATTRIBUTES where appropriate throughout.
+       Pass MEM_SCALAR_P to arm_gen_store_multiple where appropriate.
+
+Tue Jan 19 21:20:52 1999  Richard Henderson  <rth@cygnus.com>
+
+       * recog.c (pop_operand): New function.
+       * recog.h (pop_operand): Declare it.
+       * genrecog.c (preds): Define it.
+
+       * expr.c (do_jump_for_compare): Handle conditional branch expanders
+       emitting multiple jump instructions.
+       * jump.c (condjump_label): New function.
+       * rtl.h (condjump_label): Declare it.
+
+Tue Jan 19 21:08:20 1999  Richard Henderson  <rth@cygnus.com>
+
+       * expr.c (emit_move_insn_1): Revert 17 Dec change.  Don't emit
+       clobber during or after reload.
+
+Tue Jan 19 16:56:03 1999  Richard Henderson  <rth@cygnus.com>
+
+       * genoutput.c (name_for_index): New function.
+       (scan_operands, validate_insn_alternatives): Use it.
+       * genrecog.c (insn_name_ptr_size): New variable.
+       (make_insn_sequence): Fill in insn_name_ptr.
+       (merge_trees): Use it.
+
+Tue Jan 19 16:37:36 1999  Richard Henderson  <rth@cygnus.com>
+
+       * i386/isc.h (TARGET_DEFAULT): Define symbolicly.
+       * i386/isccoff.h, i386/next.h, i386/sco.h, i386/sco5.h: Likewise.
+       * i386/scodbx.h, i386/sequent.h, i386.unix.h: Likewise.
+
+Tue Jan 19 15:00:10 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * loop.c (NUM_STORES): Delete.
+       (loop_store_mems): Turn into an EXPR_LIST of MEMs.
+       (prescan_loop): Properly initialize loop_mems_idx.
+       (note_addr_stored): Simplify using list structure instead of
+       fixed sized array.
+       (invariant_p, check_dbra_loop, load_mems): Similarly.
+
+       * flow.c (invalidate_from_autoinc): New function.
+       (mark_set_1, mark_used_regs): Use it.
+
+       * Makefile.in (protoize.o, unprotoize.o): Depend on Makefile.
+
+1999-01-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
+
+       * invoke.texi (-mlong-double-64): New option description.
+
+1999-01-19  Jim Wilson  <wilson@cygnus.com>
+
+       * libgcc2.c: Change all uses of LONG_DOUBLE_TYPE_SIZE to
+       LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
+       (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.  Set to LONG_DOUBLE_TYPE_SIZE
+       if not defined.
+       * i960/i960.h (MULTILIB_DEFAULTS): Define to mnumerics.
+       (CPP_SPECS): Add -mlong-double-64 support.
+       (TARGET_FLAG_LONG_DOUBLE_64, TARGET_LONG_DOUBLE_64): New.
+       (TARGET_SWITCHES): Add -mlong-double-64 support.
+       (LONG_DOUBLE_TYPE_SIZE): Likewise.
+       (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
+       * i960/vx960-coff.h (MULTILIB_DEFAULTS): Define to msoft-float.
+       (CPP_SPECS): Add -mlong-double-64 support.
+       * i960/t-960bare (MULTILIB_OPTIONS): Add mlong-double-64.
+       (MULTILIB_DIRNAMES): Add ld64.
+       * i960/t-vxworks960 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise.
+
+Tue Jan 19 11:54:04 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * calls.c (expand_call): Strip a TARGET_EXPR if we're passing by
+       invisible reference.
+
+Tue Jan 19 14:51:36 1999  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.c (offsettable_addr_operand): Delete.
+       (offsettable_mem_operand): New function.
+       * rs6000.h (PREDICATE_CODES): Reflect function change.
+       (RS6000_SAVE_TOC): Represent address as MEM.
+       * win-nt.h (RS6000_SAVE_TOC): Same.
+       * rs6000.md (indirect calls): Change offsettable address parameter
+       to offsettable memory parameter.
+
+Tue Jan 19 10:24:53 1999  Mark Mitchell  <mark@markmitchell.com>
+
+       * rtl.h (rtx_def): Update documentation.
+       (MEM_IN_STRUCT_P): Likewise.
+       (MEM_SCALAR_P): New macro.
+       (MEM_COPY_ATTRIBUTES): Likewise.
+       (MEM_SET_IN_STRUCT_P): Likewise.
+       * rtl.texi (MEM_SCALAR_P): Document.
+       * alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
+       (fixed_scalar_and_varying_struct_p): New function.  Use
+       MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
+       (aliases_everything_p): Likewise.
+       (true_dependence): Use them.
+       (write_dependence_p): New function, containing code common to
+       anti_dependence and output_dependence.
+       (anti_dependence): Use it.
+       (output_dependence): Likewise.
+       * calls.c (save_fixed_argument_area): Don't clear
+       MEM_IN_STRUCT_P.
+       (expand_call): Use MEM_SET_IN_STRUCT_P.
+       (emit_library_call): Don't clear MEM_IN_STRUCT_P.
+       (emit_library_call_value): Likewise.
+       (store_one_arg): Use MEM_SET_IN_STRUCT_P.
+       * combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
+       (make_extraction): Likewise.
+       (simplify_shift_const): Likewise.
+       (gen_lowpart_for_combine): Likewise.
+       * cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
+       * emit-rtl.c (operand_subword): Likewise.
+       (change_address): Likewise.
+       * explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
+       * expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
+       (emit_group_store): Use MEM_SET_IN_STRUCT_P.
+       (copy_blkmode_from_reg): Likewise.
+       (store_field): Likewise.
+       (expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
+       heuristically.  Use MEM_SET_IN_STRUCT_P.
+       (get_memory_rtx): Likewise.
+       * final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
+       * function.c (assign_stack_temp): Clear MEM_SCALAR_P and
+       MEM_ALIAS_SET on newly returned MEMs.
+       (assign_temp): Use MEM_SET_IN_STRUCT_P.
+       (put_reg_into_stack): Likewise.
+       (fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
+       (gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
+       (assign_parms): Likewise.
+       (expand_function): Likewise.
+       * integrate.c (expand_inline_function): Likewise.
+       (copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
+       * loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
+       * optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
+       * print-rtl.c (print_rtx): Print /f for frame_related.
+       * recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
+       * reload1.c (reload): Copy MEM_SCALAR_P as well.
+       * stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
+       (expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
+       * varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
+       (output_constant_def): Likewise.
+       * a29k.c (a29k_set_memflags_1): Take scalar_p.
+       Set MEM_SCALAR_P.
+       (a29k_set_memflags): Use it.
+       * alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
+       * c4x.c (c4x_scan_for_ld): Likewise.
+       * h8300.c (fix_bit_operand): Likewise.
+       * m88k.c (legitimize_address): Likewise.
+       (block_move_loop): Likewise.
+       (block_move_no_loop): Likewise.
+       (block_move_sequence): Likewise.
+       (m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
+       * mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
+       * rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
+       * sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
+       * arm.h (arm_gen_load_multiple): Take scalar_p.
+       (arm_store_load_multiple): Likewise.
+       * arm.c (arm_gen_load_multiple): Likewise.
+       (arm_gen_store_multiple): Likewise.
+       (arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.
+
+Tue Jan 19 12:30:37 1999  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all
+       calls within a libcall block to indicate no throws are possible.
+       * flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for
+       libcall blocks. Don't add edges to exception handlers if we see
+       a REG_EH_REGION note with a value of 0.
+       (make_edges): Override active_eh_region vector if the call has a note
+       indicating the call does not throw.
+
+1999-01-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
+
+       * config/rs6000/sysv4.h (CC1_SPEC): Fix correct numbers of {}.
+
+Tue Jan 19 06:26:30 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (cccp.o, cpplib.o): Depend on Makefile.
+
+Mon Jan 18 09:56:41 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * invoke.texi (C++ Dialect Options): Document -fno-rtti.
+
+1999-01-18  Vladimir N. Makarov  <vmakarov@cygnus.com>
+
+       *  invoke.texi (-mcpu=740, -mcpu=750): New options.
+       (-m(no-)multiple, -m(no-)string): Describe cases for PPC740 &
+       PPC750.
+
+1999-01-18  Michael Meissner  <meissner@cygnus.com>
+
+       * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
+       supported with -mcpu=xxx.
+       (processor_type): Add PROCESSOR_PPC750.
+       (ADJUST_PRIORITY): Call rs6000_adjust_priority.
+       (RTX_COSTS): Supply costs for 750 multiply/divide operations.
+       (rs6000_adjust_priority): Add declaration.
+
+       * rs6000.c (rs6000_override_options): -mcpu={750,740} now sets the
+       processor type as 750, not 603.  Allow -mmultiple and -mstring on
+       little endian 750 systems.
+       (rs6000_adjust_priority): Stub for now.
+       (get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle.
+
+       * rs6000.md (function/cpu attributes): Add initial ppc750 support.
+
+       * sysv4.h (STRICT_ALIGNMENT): Don't force strict alignment if
+       little endian.
+       (CC1_SPEC): Pass -mstrict-align if little endian, and not
+       overridden.
+       (CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs.
+       (SUBTARGET_EXTRA_SPECS): Add cc1 endian specs.
+
+       * {sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC): Override, default is
+       little endian.
+
+       * t-ppcgas (MULTILIB_*): Delete obsolete Solaris multilibs.
 
-       * reload1.c (new_spill_reg): Fatal error if fixed reg is spilled.
-       (order_regs_for_reload): Make sure all the regs are in spill_regs.
+Mon Jan 18 12:03:08 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * config/mips/mips.md (div_trap): Split div_trap_mips16
+       from div_trap.
+       (div_trap_normal,div_trap_mips16): Correct the length attributes.
+
+Mon Jan 18 11:48:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * mips.md (movsf): Fix wrong opcode moving genreg to fpreg.
+       * cpplib.c (special_symbol): Qualify a char* with the `const' keyword.
+       Instead of writing to const char *buf directly, use a non-const
+       variable `wbuf' to allocate and write a string, then set buf = wbuf.
+
+       * cppulp.c (user_label_prefix): Qualify a char* with the `const'
+       keyword.
+
+       * dyn-string.c (dyn_string_append): Likewise.
+
+       * dyn-string.h (dyn_string_append): Likewise.
+
+       * final.c (end_final, output_operand_lossage, asm_fprintf): Likewise.
 
-       * toplev.c: Undef FFS after including param.h.
+       * output.h (end_final, output_operand_lossage, asm_fprintf,
+       named_section, decode_reg_name, make_decl_rtl, user_label_prefix):
+       Likewise.
 
-       * final.c (final_scan_insn): Delete label reinsert_compare.
+       * profile.c (init_branch_prob): Likewise.
 
-       * expmed.c (store_bit_field): Move var value1 inside HAVE_insv.
-       (extract_bit_field): Similar for bitsize_rtx, bitpos_rtx.
+       * toplev.c (set_target_switch, vmessage,
+       v_message_with_file_and_line, v_message_with_decl,
+       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, v_really_sorry,
+       open_dump_file, dump_rtl, clean_dump_file,
+       print_version, print_single_switch, print_switch_values,
+       dump_base_name, debug_args, lang_independent_options,
+       user_label_prefix, documented_lang_options, target_switches,
+       target_options, print_time, pfatal_with_name, fatal_io_error,
+       fatal_insn, default_print_error_function, print_error_function,
+       report_error_function, error_with_file_and_line, error_with_decl,
+       error_for_asm, error, fatal, warning_with_file_and_line,
+       warning_with_decl, warning_for_asm, warning, pedwarn,
+       pedwarn_with_decl, pedwarn_with_file_and_line, sorry,
+       really_sorry, botch, output_quoted_string, output_file_directive,
+       open_dump_file, rest_of_decl_compilation, display_help, main):
+       Likewise.
 
-       * c-typeck.c (pointer_diff): Delete unused var.
-       * expr.c (emit_push_insn): Likewise.
-       * gcc.c (execute): Likewise.
-       * genrecog.c (try_merge_2): 
-       * loop.c (skip_consec_insns, scan_loop): 
-       * recog.c (asm_noperands, memory_operand):
-       * function.c (expand_function_end):
-       * stmt.c (emit_jump_if_reachable):
-       * toplev.c (error_for_asm):
-       * varasm.c (assemble_string):
+       * toplev.h (print_time, fatal, fatal_io_error, pfatal_with_name,
+       fatal_insn, warning, error, pedwarn, pedwarn_with_file_and_line,
+       warning_with_file_and_line, error_with_file_and_line, sorry,
+       really_sorry, default_print_error_function, report_error_function,
+       rest_of_decl_compilation, pedwarn_with_decl, warning_with_decl,
+       error_with_decl, error_for_asm, warning_for_asm, output_quoted_string,
+       output_file_directive, botch): Likewise.
 
-       * integrate.c (fp_addr_p): Var deleted.
+       * tree.h (make_decl_rtl): Likewise.
 
-       * regclass.c (regclass_init): Now returns void.
-       * emit-rtl.c (emit_insns): Likewise.
-       * stmt.c (emit_nop): Likewise.
-       * out-sparc.c (output_eager_then_insn): Likewise.
+       * varasm.c (strip_reg_name, named_section, decode_reg_name,
+       make_decl_rtl): Likewise.
 
-       * reload1.c (reload_reg_reaches_end_p, reload_reg_free_before_p):
-       (reload_reg_free_p): Abort if switch drops through.
+Mon Jan 18 11:35:49 1999  Gavin Romig-Koch  <gavin@cygnus.com>
 
-       * cccp.c: Supply a return type for every function (usually void).
-       (grow_outbuf): Now returns void.
-       (line_for_error): Abort if the loop terminates.
-       * gcc.c: Supply a return type for every function (usually void).
+       * Makefile.in (TCL_LIBRARY): Use 'cd' to find the library
+       directory logically rather than physically.
 
-       * jump.c (jump_optimize): Leave block-beg, block-end notes
-       in old context when swapping two ranges of insns.
-       (squeeze_block_notes): New function.
+Mon Jan 18 09:05:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * calls.c (expand_call): Compute valreg from pointer type
-       in case of pcc struct return.
+       * loop.c (insert_bct): Hide the definition of variables
+       `increment_direction', `compare_direction', `add_iteration' and
+       `loop_var_mode'.
 
-       * gnulib2.c (__builtin_saveregs): Use __ names for machine types.
+       * recog.c (mode_dependent_address_p): Mark parameter `addr' with
+       ATTRIBUTE_UNUSED.  Mark label `win' with ATTRIBUTE_UNUSED_LABEL.
+       (mode_independent_operand): Mark label `lose' with
+       ATTRIBUTE_UNUSED_LABEL.
 
-       * fold-const.c (fold):
-       Move constant out of assignment, within conversion.
+       * regclass.c (n_occurrences): Remove prototype and definition.
 
-Fri Dec 15 00:42:31 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * reload.c (find_reloads_address_1): Mark variable `tem' with
+       ATTRIBUTE_UNUSED.
 
-       * varasm.c (assemble_variable): Use new macro DATA_ALIGNMENT if def.
-       (get_or_assign_label): Use this instead of CONSTANT_ALIGNMENT.
+       * reload1.c (reload): Cast the first two arguments of `bcopy' to PTR.
 
-       * integrate.c (save_constant, restore_constant): Handle naked
-       constant-pool SYMBOL_REF.
-       (copy_for_inline, copy_rtx_and_substitute): Ditto.
+       * sbitmap.c (sbitmap_copy): Likewise.
 
-       * integrate.c (expand_inline_function):
-       Put caller's line number after inline stuff.
-       Put callee's line number before parm manipulation.
+       * scan-decls.c (scan_decls): Hide label `handle_comma'.
 
-       * tree.c (make_node): Have a DECL_SOURCE_FILE in every decl.
+       * toplev.c (output_lang_identify): Mark prototype with
+       ATTRIBUTE_UNUSED.
 
-       * m68k.md (fpa float and float-trunc): Accept general_operand.
+       * tree.c (make_node): Cast the first argument of `bzero' to PTR.
+       (make_tree_vec): Likewise.
+       (build1): Likewise.
 
-       * calls.c (expand_call): Do INIT_CUMULATIVE_ARGS just once.
+       * varasm.c (assemble_static_space): Mark variable `tem' with
+       ATTRIBUTE_UNUSED.
 
-       * calls.c (expand_call): If struct ret addr is passed as parm,
-       count it in structure_value_addr_parm.
+Mon Jan 18 04:28:36 1999  Nathan Sidwell  <nathan@acm.org>
 
-       * If local-alloc assumes a reg does not conflict,
-       don't use it as dummy reload.
-       * local-alloc.c (wipe_dead_reg): Add REG_UNSET note.
-       * reload.c (find_dummy_reload): Check for that note.
+       * Makefile.in (GCOV_INSTALL_NAME): New macro.
+       (install-common): Use it.
+       (uninstall): Use it.
+       (uninstall): Use correct names for protoize and unprotoize.
 
-       * jump.c (jump_optimize): Realize that more things can follow
-       the NOTE_INSN_FUNCTION_END note.  Change in two places,
-       for optimized and one for unoptimized.
+Mon Jan 18 03:52:56 1999  Christian Bruel  <Christian.Bruel@st.com>
+                         Jeffrey A Law  (law@cygnus.com)
 
-Thu Dec 14 23:40:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * flow.c (last_mem_set): Delete variable.  References removed.
+       (mem_set_list): New variable.
+       (life_analysis): Initialize and finalize alias analysis.
+       (propagate_block); Initialize mem_set_list.  Clear for CALL_INSNs.
+       (insn_dead_p): For a store to memory, search the entire mem_set_list
+       for a match.
+       (mark_set_1): Kill entries on the mem_set_list for aliased writes or
+       changes to their addresses.  Add new entries to the mem_set_list for
+       memory writes writes.
+       (mark_used_regs): Kill entries on the mem_set_list which may be
+       referenced by a load operation.
 
-       * Makefile.in (install, libsubdir): Change $(machine) to $(target).
+Mon Jan 18 01:01:02 1999  Jeffrey A Law  (law@cygnus.com)
 
-Tue Dec  5 07:35:57 1989  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * alias.c (base_alias_check): Add missing return for differing
+       symbols case.
 
-       * rtl.h: Declare emit_jump_insn_before and emit_jump_insn_after.
+Mon Jan 18 00:36:13 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
-       * reload.c (reg_class_subset_p): Delete duplicate copy.
-       local-alloc.c (reg_class_subset_p): Move from here.
-       regclass.c (reg_class_subset_p): Move to here.
+       * mips-tdump.c (print_file_desc): Handle unknown filenames and
+       missing local symbols.
 
-       * combine.c (try_combine): Fix placement and content of LAST_CALL_CUID
-       test to elminate memory faults.
+Sun Jan 17 21:04:31 1999  Richard Henderson  <rth@cygnus.com>
 
-       * final.c (asm_insn_count): New fn.
-       (get_length_attr, shorten_branches): Rework length
-       computation of insns with INSN_CODE == -1.  Call above fn to more
-       accurately obtain length of ASM insn.
+       * jump.c (rtx_renumbered_equal_p): Special case CODE_LABEL.
 
-       * genattrtab.c (check_attr_value): Allow CONST_INT to specify
-       numeric values for attributes.  Also, prevent memory faults
-       on errors when ATTR is null.
-       (make_canonical): Convert CONST_INT to appropriate CONST_STRING.
-       (write_attr_case): Correctly check for ASM insns.
-       (make_numeric_value): Generalize to all positive integers.
+       * system.h (bcopy): Implement with memmove not memcpy.
 
-       * jump.c (jump_optimize): Set JUMP_LABEL on jump added
-       in "{ ... x = 1;} if (x)" optimization and add to jump_chain.
+Sun Jan 17 19:23:20 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * local-alloc.c (no_conflict_p): Tighten up code to prevent
-       memory faults.
+       * Makefile.in (cppulp.o): Add dependencies.
 
-       * reload.c (find_reloads): Fix typo in EXTRA_CONSTRAINT call.
+       * i386.md (integer conditional moves): Add missing earlyclobbers.
 
-Tue Nov 28 11:20:47 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+       * regmove.c (optimize_reg_copy_1): Undo Aug 18 change.  Update
+       REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change
+       where a register is live.
 
-       * expr.c (save_noncopied_parts):  Rename stack_loc as target.
-       Make the stack slot address correct.
+Sun Jan 17 03:20:47 1999  H.J. Lu  (hjl@gnu.org)
 
-Mon Nov 27 15:39:40 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * reg-stack.c (subst_stack_regs_pat): Abort if the destination
+       of a FP conditional move is not on the FP register stack.
 
-       * math-convex.h: New file.
+Sun Jan 17 01:15:04 1999  Jeff Law  (law@cygnus.com)
 
-       * c-decl.c (grokdeclarator): Don't test size of error_mark_node
-       as type of a field.
+       * version.c: Bump for snapshot.
 
-Sun Nov 26 12:36:01 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+Sat Jan 16 23:40:33 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-mips.h (CONST_OK_FOR_LETTER_P): Delete extra paren.
+       * reload1.c (reload_cse_regs_1): Do not call
+       reload_cse_simplify_operands for an insn with asm operands.
 
-Fri Nov 24 12:36:29 1989  Chris Smith  (csmith at mozart)
+       * cccp.c (print_help): Fix typos.
+       * cpplib.c (print_help): Fix typos.
+       * toplev.c (f_optiosn): Fix typos.
+       (documented_lang_options): Fix typos.
 
-       * tm-convex.h (OVERRIDE_OPTIONS): remove target=host default.
-       * out-convex.c (override_options): remove.
+Sat Jan 16 21:48:17 1999  Marc Espie  (Marc.Espie@openbsd.org)
 
-       * tm-convex.h (*_TYPE_SIZE): define type sizes as the usual values. 
-       * convex.md (movstrictsi): new, for field insertion in DImode regs.
+       * gcc.c (do_spec_1): Fix obvious typo.
 
-       * tm-convex.h (LEGITIMATE_CONSTANT_P): allow all CONST_DOUBLES.
-       (PREFERRED_RELOAD_CLASS): reload nonimmediates from memory (NO_REGS).
-       * convex.md (movdi, movdf): use 'G' to handle nonimmediates.
-       (anddi3, iordi3, xordi3): allow immediates if high word is identity.
+Sat Jan 16 19:31:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * convex.md (tstdi): Finally figure out how to allocate a temp reg
-       in a way that won't get optimized away; remove hardwired use of s1.
+       * c-decl.c (duplicate_decls): If `warn_traditional', warn when
+       a non-static function declaration follows a static one.
 
-       * convex.md (cmpqi): don't sign extend to SImode because operands
-       might be unsigned.  Must compare bytes in registers instead.
+       * invoke.texi (-Wtraditional): Document the extra check now done
+       by this flag.
 
-       * convex.md (movtf): new.
+Sat Jan 16 15:13:46 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * convex.md (ash*, lsh*): rewrite to use shift vs. shiftrt. 
-       Better code because no need to sign or zero extend when going left.
-       (shift, mask & test peephole): test next_insn_tests_no_inequality.
-       (similar with lshiftrt): New peephole.
+       * pa.md (shadd): Create shadd insns, even if the result of the shift is
+       needed without the addition.
 
-       * tm-convex.h: add g++ defines FASCIST_ASSEMBLER, VTABLE_USES_MASK.
+Sat Jan 16 10:48:16 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Sun Nov 26 11:39:13 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+       * sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
 
-       * reload.c (decompose): Handle SUBREGs.
+Fri Jan 15 23:44:37 1999  Richard Henderson  <rth@cygnus.com>
 
-Wed Nov 22 11:26:00 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * sparc.c (sparc_issue): Add hypersparc/sparclite86x entries.
 
-       * pyr.md (mode conversion peepholes): Set CC_NO_OVERFLOW.
-       * out-pyr.c (consecutive_operands): Don't expect wrap from reg15 to 16.
+Fri Jan 15 22:30:04 1999  David Edelsohn  <edelsohn@gnu.org>
 
-       * make-pyr: Find the alloca which comes with the system.
+       * rs6000.h (CONST_OK_FOR_LETTER_P): Do not assume 32-bit CONST_INT.
+       * rs6000.c (u_short_cint_operand, add_operand, logical_operand,
+       non_add_cint_operand, non_logical_cint_operand): Likewise.
+       (get_issue_rate): Add CPU_PPC604E case.
+       * rs6000.md (movdi, !TARGET_POWERPC64 splitters): Handle 64-bit hosts.
 
-       * tm-mips.h (CONST_OK_FOR_LETTER_P): Define `K'.
-       (SMALL_INT): Range is 16 bits, not 17.
-       (SMALL_INT_UNSIGNED): New macro.
-       * mips.md (andsi3, iorsi3, xorsi3): Use `K', not `I'.
+Fri Jan 15 18:42:12 1999  Richard Henderson  <rth@cygnus.com>
 
-       * mips.md (negsi2): Accept general_operand as input.
+       * expr.c (queued_subexp_p): Make public.
+       * expr.h (queued_subexp_p): Declare it.
+       * recog.c (asm_operand_ok): New function.
+       (check_asm_operands): Use it.  After reload, use constrain_operands
+       instead.
+       * recog.h (asm_operand_ok): Declare it.
+       * stmt.c (expand_asm_operands): Use it to try harder to make
+       asms initially satisfy their constraints.
 
-       * stor-layout.c (build_int): Defend against negative arguments.
+Fri Jan 15 17:43:59 1999  Jeffrey A. Law  <law@rtl.cygnus.com>
 
-       * varasm.c (MAX_HASH_TABLE): Change to a prime.
+       * sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do not create
+       (mem (lo_sum (...)) for TFmode unless TARGET_V9.
 
-Tue Nov 21 10:58:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Jan 16 12:47:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * mips.md (one_cmpl*): Accept general_operand as input.
+       * config/c4x/c4x.md (not_repeat_reg): Allow ldp instruction
+       in delay slot of RPTBD.
 
-Mon Nov 20 11:18:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Jan 16 12:26:40 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * optabs.c (emit_cmp_insn): New arg, COMPARISON.
-       (emit_float_lib_cmp): New subroutine, handles soft-float comoare
-       of floating point values.  Chooses ibrary fn from COMPARISON.
-       * expr.c, expmed.c, stmt.c, optabs.c: All calls changed.
-       * gnulib.c (__eqdf2, __nedf2, __gtdf2, etc.): New functions.
-       (__eqsf2, __nesf2, __gtsf2, etc.): New functions.
+       * config/c4x/libgcc.S (___divhi3, ___modhi3): Fix long long
+       divide and modulo sign problem.
 
-       * cse.c (fold_rtx): Simulate negative shift counts.
+Fri Jan 15 11:02:31 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-Sun Nov 19 14:36:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * unroll.c (loop_iterations): Return 0 if the last loop insn
+       is not a jump insn or if the loop has multiple back edges.
 
-       * out-pyr.c (notice_update_cc): Set CC_NO_OVERFLOW in many cases.
+1999-01-15  Manfred Hollstein  <manfred@s-direktnet.de>
 
-       * cse.c (fold_rtx, fold_cc0): Handle float trap. 
+       * configure.in (fixinc_defs): Do not define for m[68]8k-motorola-sysv{,3};
+       it's working properly now.  Remove comment saying "see m68k-motorola-sysv
+       as an example".
+       * configure: Regenerate using autoconf.
 
-Sat Nov 18 00:17:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * fixinc/fixincl.c (main): Do not ignore SIGCHLD.
 
-       * varasm.c (output_constant): Handle float trap in fprintf.
-       * toplev.c (float_signal): Don't print message.
-       * fold-const.c (combine): Print it here.
+Thu Jan 14 22:38:41 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * sparc.md (extend patterns): Handle CONST_INT as operand.
-       * out-sparc.c (output_block_move, output_mul_by_constant): 
-       (output_eager_then_insn): Delete unused vars.
+       * unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share
+       a register with another DEST_ADDR giv if the address is not valid.
 
-       * varasm.c (decode_rtx_const): Add a cast in SYMBOL_REF case.
+       * pa.c (hppa_expand_epilogue): Save and restore the static chain
+       around the call to mcount.
 
-       * tm-i386.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE)
-       (INITIALIZE_TRAMPOLINE): New macros.
-       * i386.md (indirect_jump): New pattern.
+       * h8300.h (ASM_OUTPUT_LABELREF): Use asm_fprintf, not fprintf.
 
-       * out-i386.c (singlemove_string): Fix paren error.
+       * stmt.c (expand_end_case): Use emit_cmp_and_jump_insns to avoid
+       generating non-canonical rtl.
 
-Fri Nov 17 12:19:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+1999-01-14  Vladimir N. Makarov  <vmakarov@cygnus.com>
 
-       * expr.c (expand_increment): For pre-increment, copy the rtx to return.
+       * config/i960/i960.c (i960_output_move_double_zero,
+       i960_output_move_quad_zero): New functions for moving zeros.
+       (i960_output_move_double, i960_output_move_quad): Additional code
+       for situation when moving unaligned register group.
 
-       * c-parse.y (compstmt): There may be implicit decls, so check
-       and maybe keep the level.
+       * config/i960/i960.h (i960_output_move_double_zero,
+       i960_output_move_quad_zero): The function definitions.
 
-       * tm-mips.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
-       Use call_used_regs, not a private copy.
+       * config/i960/i960.md (movdi+1, movti+1): Usage of the functions.
 
-Thu Nov 16 00:28:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+1999-01-13  Vladimir N. Makarov  <vmakarov@cygnus.com>
 
-       * reload1.c: Keep track of paradoxical subregs of each pseudo,
-       and make extra stack space for their sake.
-       (reload): Record max size paradoxical subreg for each pseudo.
-       (scan_paradoxical_subreg): New subroutine for that.
-       (reload): Make stack slots big enough for that size.
+       * config/i960/i960.c (i960_function_prologue): New code (optimal
+       solution) for saving global registers in local registers.
+       (form_reg_groups, reg_group_compare, split_reg_group): New
+       functions used by the code.
+       (reg_group): New structure definition for the new code.
 
-       * tm-i860.h (ASM_DECLARE_FUNCTION_NAME): Define it,
-       so we can output a no-op before each function.
+1999-01-13  Manfred Hollstein  <manfred@s-direktnet.de>
 
-       * tm-pyr.h (INIT_CUMULATIVE_ARGS): Simplify.
-       Pass function type to aggregate_value_p.
+       * fixinc/fixincl.c (create_file): Pass file creation mask as
+       third parameter to "open".  Use O_TRUNC flag to open instead of
+       explicitly unlink'ing the file.
+       (process): and forget about the "chmod" stuff.
 
-       * fold-const.c (fold):
-       For foo++ > const, don't change if foo++ could overflow.
+Wed Jan 13 20:12:37 1999  Richard Henderson  <rth@cygnus.com>
 
-       * loop.c (eliminate_biv):
-       Fix typo; check both coeffs when comparing givs.
+       * integrate.c (expand_inline_function): Recognize (mem (addressof))
+       and substitute.  Copy the return value from there into a new pseudo.
 
-Wed Nov 15 00:12:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Jan 13 16:47:00 1999  Catherine Moore  <clm@cygnus.com>
 
-       * sdbout.c (sdbout_end_function, sdbout_end_block, sdbout_begin_block):
-       Don't allow line numbers < 1.
+       * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
+       before generating a call to abort for volatile functions.
+       * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
+       (TARGET_ABORT_NORETURN): Define.
+       (abort-on-noreturn): New option.
 
-       * integrate.c (copy_for_inline): `break' was missing for case 'u':.
+Thu Jan 14 13:52:42 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * sdbout.c (plain_type_1): Output .dim X,Y...; for multi-dim array.
-       (sdbout_array_dim): New recursive subroutine.
-       (PUT_SDB_DIM): Macro eliminated.
-       (PUT_SDB_START_DIM, PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM): New macros.
-       * tm-3b1.h: Override PUT_SDB_START_DIM.
+       * config/c4x/c4x.md (in_annul_slot_3): Correctly allow unarycc
+       and binarycc operations in 3rd annulled delay slot!
 
-       * jump.c (delete_insn): Extra test for PREV != 0.
+Wed Jan 13 16:16:44 1999  Catherine Moore  <clm@cygnus.com>
 
-Tue Nov 14 17:31:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
+       before generating a call to abort for volatile functions.
+       * config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
+       (TARGET_ABORT_NORETURN): Define.
+       (abort-on-noreturn): New option.
 
-       * tm-m68k.h (WORDS_BIG_ENDIAN): Define it.
-       * out-m68k.c (output_move_double): Adapt CONST_DOUBLE case to that.
+Wed Jan 13 13:30:08 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * varasm.c (decode_rtx_const): For SYMBOL_REF, use addr of string.
+       * cccp.c (xstrdup): Renamed from `savestring'.  All callers changed.
+       Remove prototype which we get from libiberty.h.
 
-       * tm-pyr.h (INIT_CUMULATIVE_ARGS):
-       If -fpcc-struct-return, always do the scalar thing.
+       * collect2.c (xstrdup): Likewise.
 
-       * tm-sun3.h (LINK_SPEC): Specify -L to control choice of -lm.
+       * genextract.c (xstrdup): Likewise for `copystr'.
+       (mybzero): Remove it and use `memset' instead.
 
-       * function.c (expand_function_end): Use FUNCTION_OUTGOING_VALUE.
+       * genoutput.c (mybcopy, mybzero): Remove these.  All callers changed
+       to use `memcpy' and `memset' instead.
 
-Sat Nov 11 00:18:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * genrecog.c (xstrdup): Renamed from `copystr'.  All callers
+       changed.  Remove prototype.
+       (mybcopy, mybzero): Remove these and use memcpy/memset.
 
-       * calls.c (prepare_call_address): If NO_RECURSIVE_FUNCTION_CSE,
-       don't do function cse on calls to same function.
-       (emit_call_1): Don't call memory_address for SYMBOL_REF.
+Wed Jan 13 00:59:04 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-att386.h (ASM_OUTPUT_COMMON): Use ROUNDED, not SIZE.
-       (ASM_OUTPUT_LOCAL): Likewise.  Also, generate .lcomm
-       rather than a .data area symbol.
-       * tm-sun386.h: Likewise.
+       * mips.h (LOAD_EXTEND_OP): Correct for SImode and CCmode moves when
+       generating code for TARGET_64BIT.
 
-       * tm-bsd386.h (ASM_OUTPUT_COMMON): Use ROUNDED, not SIZE.
-       (ASM_OUTPUT_LOCAL): Likewise.
+Tue Jan 12 14:05:37 1999  David Edelsohn  <edelsohn@gnu.org>
 
-       * cexp.y (parse_escape): Delete unused var `count' from case 'x'.
+       * rs6000.c (print_operand, cases 'm' and 'M'): Do not depend on
+       HOST_WIDE_INT word-size.
+       (rs6000_stack_info): Remove redundant alignment of fpmem.
 
-Fri Nov 10 15:04:15 1989  Richard Stallman  (rms at rice-chex)
+Tue Jan 12 14:05:37 1999  Richard Henderson  <rth@cygnus.com>
 
-       * caller-save.c (emit_mult_restore, emit_mult_save):
-       Improve arithmetic for address to save at.
+       * rs6000.c (short_cint_operand): Remove CONSTANT_P_RTX handling.
+       (u_short_cint_operand, reg_or_cint_operand, logical_operand): Likewise.
+       (input_operand): Adjust CONSTANT_P_RTX handling.
+       * rs6000.h (PREDICATE_CODES): Remove CONSTANT_P_RTX references.
+       * rs6000.md (movsi): Adjust CONSTANT_P_RTX handling.
+       (movhi, movqi): Remove CONSTANT_P_RTX handling.
+       (movdi): Adjust CONSTANT_P_RTX handling.
 
-Thu Nov  9 00:14:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+1999-01-12  Manfred Hollstein  <manfred@s-direktnet.de>
 
-       * tm-pyr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
-       Don't use obsolete pushw and popw insns.
-       (ASM_OUTPUT_ALIGN): Ensure arg in range 2 to 5.
-       * pyr.md (tstdi): Pattern deleted.
-       (SImode test recognizer): Output ucmpw if jump is unsigned.
+       * configure: Regenerate using autoconf.
 
-       * out-sparc.c (operands_satisfy_eager_branch_peephole): 
-       Check for moves between FP and non-FP regs; they take two insns.
-       * sparc.md (eager branch peepholes): Likewise.
-       (Ordinary delayed branch peepholes): Similar check.
-       * out-sparc.c (single_insn_extra_test): New subroutine.
+       * fixinc/Makefile.in (INCLUDES): Add -I$(srcdir)/../../include.
+       * fixinc/fixincl.c (SIGCHLD): Use SIGCLD on (very) old systems.
+       (process): "fchmod" isn't available on all systems, use "chmod"
+       instead.
+       * fixinc/server.c: Add #include <sys/types.h>.
+       (STDIN_FILENO): Add default definition if no include file defines
+       it already.
+       (STDOUT_FILENO): Likewise.
 
-       * final.c (final_scan_insn):
-       Rearrange to avoid calling BLOCK_PROFILER for a jump table.
+Tue Jan 12 10:23:24 1999  Stan Cox  <scox@cygnus.com>
 
-       * reload1.c (choose_reload_regs): Split up a hairy if.
+       * mips.md (call_value_internal3c): New pattern for -mips16 -mlong-calls.
 
-Wed Nov  8 00:48:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+1999-01-12  Manfred Hollstein  <manfred@s-direktnet.de>
 
-       * calls.c (expand_call): Handle UNNAMED_ARGS_IN_REGISTERS.
+       * m68k/mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
+       ensure all prototypes necessary for building libio will be available.
+       * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Remove
+       definitions here as they are not host specific.
+       * m88k/sysv3.h, m88k/xm-sysv3.h: Likewise.
 
-       * toplev.c (main): Handle -gsdb to make sdb output when that and dbx
-       are both supported.
+Tue Jan 12 02:53:46 1999  Richard Henderson  <rth@cygnus.com>
 
-       * combine.c (subst): In (sign_extend:M (subreg:N (and:M .. <const>) 0))
-       insist that constant be positive in mode N.
-       Also test mode N in similar zero_extend case.
+       * cse.c (cse_insn): Never prefer (const (constant_p_rtx)).
 
-       * c-typeck.c (build_modify_expr): When assigning to COND_EXPR
-       put cast to void around precomputed rhs.
+Tue Jan 12 02:36:10 1999  Jeff Law  (law@cygnus.com)
 
-       * calls.c (emit_call_1): Make funexp a valid address.
+       * version.c: Bump for snapshot.
 
-Tue Nov  7 18:57:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Jan 12 01:30:19 1999  Richard Henderson  <rth@cygnus.com>
 
-       * expr.c (emit_move_insn): If args in memory, make addresses valid. 
+       * rtl.c (rtx_alloc): Use memset instead of inline loop.
 
-       * rtl.h: Undefine FFS in case it was defined by the system.
+       * recog.h (recog_op_alt): Declare extern.
 
-       * c-parse.y (combine_strings): Ignore warn_write_strings
-       if -traditional or -fwritable-strings.
+Tue Jan 12 00:23:31 1999  Richard Henderson  <rth@cygnus.com>
 
-       * Makefile.in (gnulib2): Fix syntax in shell conditionals.
+       * function.c (purge_addressof_1): If the note accesses a mem+addressof
+       in a wider mode than any replacement, adjust the cached replacement.
+       Cache trivial substitutions as well.
 
-       * stmt.c (expand_return): Handle COND_EXPR specially.
+Tue Jan 12 00:06:00 1999  Richard Henderson  <rth@cygnus.com>
 
-Mon Nov  6 14:43:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * Makefile.in (OBJECTS): Add sbitmap.o.
+       (BASIC_BLOCK_H): Add sbitmap.h.
+       * basic-block.h: Move simple bitmap code to sbitmap.h.
+       * flow.c: Move simple bitmap code to sbitmap.c.
+       * sbitmap.h, sbitmap.c: New files.
 
-       * optabs.c (expand_float): Check sign of FROM; may be faster than TO.
+Mon Jan 11 23:51:50 1999  Richard Henderson  <rth@cygnus.com>
 
-       * fold-const.c (fold): If REAL_INFINITY, allow division by zero.
-       * tm-sun3.h (REAL_INFINITY): Define it.
+       * alpha.h (TARGET_SWITCHES): Document switches.
+       (TARGET_OPTIONS): Likewise.
 
-       * tm-i860.h, tm-m88k.h, tm-pyr.h, tm-spur.h (INIT_CUMULATIVE_ARGS):
-       Test aggregate_value_p, not just BLKmode.
+       * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC.
 
-       * gnulib2.c (__builtin_saveregs): Moved from gnulib.c.
-       Code added for mips.
+Mon Jan 11 22:54:14 1999  Richard Henderson  <rth@cygnus.com>
 
-       * pyr.md (conditional branch recognizers): Don't simplify if not -O.
+       * tree.c (new_alias_set): Return zero if !flag_strict_aliasing.
 
-       * out-pyr.c (extend_and_branch): Handle two constant operands.
+Mon Jan 11 22:36:01 1999  Richard Henderson  <rth@cygnus.com>
 
-       * integrate.c (function_cannot_inline_p): Don't inline if alloca used.
+       * basic-block.h (basic_block_head): Rename to x_basic_block_head.
+       (basic_block_end): Rename to x_basic_block_end.
+       (BLOCK_HEAD, BLOCK_END): Update.
 
-Sun Nov  5 02:59:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * caller-save.c: Change basic_block_head/end references to
+       BLOCK_HEAD/END.
+       * combine.c, flow.c, function.c, gcse.c, global.c: Likewise.
+       * graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise.
+       * regmove.c, reload1.c, reorg.c, sched.c: Likewise.
 
-       * Always make a LET_STMT and notes for the top level of a function
-       if it has any subblocks.
-       * c-decl.c (struct binding_level): New field keep_if_subblocks.
-       (poplevel): Obey the new field.
-       (keep_next_if_subblocks): New variable.
-       (pushlevel): Use that variable.
-       (store_parm_decls): Set that variable.
-       (compstmt): Pass nonzero to expand_end_bindings
-       for the new kept binding levels.
-       (kept_level_p): New function.
+Sat Jan  9 23:54:09 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * xm-mips.h: Define USE_C_ALLOCA if compiling with CC.
+       * gcc.c (xstrerror): Renamed from my_strerror.  All callers
+       changed.  Remove prototype since we get that from libiberty.h.
 
-       * tm-alliant.h (CHECK_FLOAT_VALUE): Define this.
+       * protoize.c (xstrerror): Likewise.
 
-       * calls.c (expand_call): Make valreg 0 if passing structure address.
+Sat Jan  9 23:22:04 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Sat Nov  4 23:27:02 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * gcc.c (read_specs): Ensure format specifiers match their arguments.
 
-       * caller-save.c (emit_mult_save, emit_mult_restore):
-       Test regs for suitability as address before using as temps.
+Sat Jan  9 20:04:24 1999  Richard Henderson  <rth@cygnus.com>
 
-       * cccp.c (make_definition, do_define): Better error checks for name.
+       * tree.c (copy_node): Oops.  That would be copy not zero
+       in that last change.
 
-Fri Nov  3 01:05:04 1989  Torbj|rn Granlund  (tege at echnaton)
+Sun Jan 10 15:35:41 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * pyr.md (tstdi): New pattern.  Use 64-bit shift with count zero.
+       * config/c4x/c4x.c: Include system.h.
+       (c4x_caller_save_map): Disable caller save for RC.
+       (c4x_optimization_options): Disable scheduling before reload.
+       (valid_parallel_load_store) : Define return type as int.
+       Remove unused variable regs.
+       * config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
+       class.
+       * config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
+       handle rotations.
+       (*db, decrement_and_branch_until_zero): Fix up constraints
+       to keep reload happy.
 
-       * tm-pyr.h: -mretd pops args with the retd insn.
+Sat Jan  9 18:35:29 1999  Richard Henderson  <rth@cygnus.com>
 
-       * pyr.md (peep-holes for loop optimizations): Use the R output
-         format in PRINT_OPERAND, don't use output_branch.
-       * out-pyr.c: No need for functions output_branch, output_inv_branch.
+       * tree.c (make_node): Call bzero instead of inline clear.
+       (copy_node, make_tree_vec, build1): Likewise.
+       (get_identifier): Call strlen instead of inline count.
+       (maybe_get_identifier): Likewise.
 
-       * tm-pyr.h (ASM_OUTPUT_ALIGN): Don't truncate alignment to two.
+Sun Jan 10 14:04:51 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-Wed Nov  1 00:38:27 1989  Torbj|rn Granlund  (tege at echnaton.sics.se)
+       * config/c4x/c4x.md (in_annul_slot_3): Allow unarycc and binarycc
+       operations in 3rd annulled delay slot.
+       (*lshrqi3_const_set): Disallow c constraint for operand0.
+       (modhi3+1, modhi3+2): Set attribute type to multi.
+       * config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of
+       != operator.
 
-       * out-pyr.c (output_inv_branch): When reversing test operands, ne
-         remains ne, and eq eq eq.
+Sat Jan  9 11:44:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * pyr.md: Cleanup output code for compare patterns.
+       * gansidecl.h: Allow attribute unused on labels only when we are
+       version 2.93 or higher.  Not all versions of 2.92 have this feature.
 
-       * pyr.md (return): Adjust frame pointer if
-         current_function_pretend_args_size != 0.
+       * version.c: Bump minor number to 93.
 
-       * pyr.md (extendsidi2): Use general_operand for the input operand.
+Fri Jan  8 10:51:13 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * pyr.md, out-pyr.c: Output shift insns with output_shift.
+       * config/m68k/m68k.h: Declare output_function_epilogue.
+       * recog.h: Declare next_insn_tests_no_inequality.
 
-       * tm-pyr.h, out-pyr.c: Make NOTICE_UPDATE_CC understand how
-         condition codes are really set.  Define flag CC_VALID_FOR_UNSIGNED
-         with to make it possible not to reset cc after each compare or
-         test.
-       * pyr.md: Don't use CC_STATUS_INIT for most patterns.
+Fri Jan  8 01:43:53 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * out-pyr.c (already_sign_extended): Cleanup, correct, optimize.
+       * stmt.c (optimize_tail_recursion): New function, extracted from ...
+       (expand_return): Use optimize_tail_recursion.
+       * tree.h (optimize_tail_recursion): Declare.
 
-       * out-pyr.c: rename radr_diff to constant_diff.
+       * toplev.c (compile_file): Move call to output_func_start_profiler
+       to after the loop to emit deferred functions.
 
-       * out-pyr.c (movdi_possible): Don't combine moves from memory to
-         memory, because of possible address aliasing.  Don't combine moves
-         with register destination if the source operands are depending on
-         the destination of the first move, as in
+Thu Jan  7 19:52:53 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
-           movw (pr3),pr3
-           movw 4(pr3),pr4.
+       * system.h (abort): Supply more detailed information on how to
+       report an Internal Compiler Error.
 
-       * out-pyr.c (consecutive_operands): Handle SUBREG in addition to REG.
+Thu Jan  7 09:25:58 1999  Bruce Korb  (korb@datadesign.com)
 
-       * out-pyr.c (output_move_double): movl of immediate *sign* extends.
+       * fixinc/fixincl.c (*): More decapitalization of variables
+       plus some explanatory comments.
 
-Tue Oct 31 22:51:39 1989  Torbj|rn Granlund  (tege at echnaton.sics.se)
+       * fixinc/Makefile.in fixinc/mkfixinc.sh:
+       When the fixincl program does not work for a certain system,
+       we substitute a shell script.  Added user commentary when
+       this happens.
 
-       * pyr.md (cmpsi): Don't expand this.  It's just slower.
+Thu Jan  7 11:26:17 1999  Mark Mitchell  <mark@markmitchell.com>
 
-       * out-pyr.c (extend_and_branch): Handle only QImode and HImode.
-         Flush code specific for SImode.
+       * calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
+       allocate memory that will live beyond this function.
+       (expand_call): Free it here.
 
-       * out-pyr.c (extend_and_branch): To make zero extensions to HImode
-         of constants not crash:
-       * out-pyr.c (ensure_extended): Call extend_const if it's a
-         CONST_INT.  Don't call extend_const from extend_and_branch.
-       * pyr.md, out-pyr.md: Use global variable test_mode to determine the
-         mode of tests and compares.  Set in define_expands for tests and
-         compares.  Used in extend_and_branch.
-       * out-pyr.c: Pass mode between extend_and_branch and ensure_extended.
+Thu Jan  7 03:08:17 1999  Richard Henderson  <rth@cygnus.com>
 
-       * out-pyr.c (extend_and_branch): Accept SUBREG whereever REG is
-         accepted.
-       * out-pyr.c (weird_memory_memory): Accept SUBREG whereever REG is
-         accepted.
+       * sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for
+       integer data not destined for fp regs.
+       (LEGITIMIZE_RELOAD_ADDRESS): New.
 
-Thu Nov  2 16:23:57 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Jan  7 03:03:42 1999  Stan Cox  <scox@cygnus.com>
+                         Richard Henderson  <rth@cygnus.com>
 
-       * gnulib2.c (lshrdi2, and other shifts): Take second arg as long long.
+       Support for Hypersparc and Sparclite86x:
+       * sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
+       (CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
+       (ASM_CPU32_DEFAULT_SPEC): Likewise.
+       (TARGET_CPU_DEFAULT): Likewise.
+       (enum processor_type): Likewise.
+       (CPP_ENDIAN_SPEC): Handle little endian data.
+       (LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
+       (ADJUST_COST): Call sparc_adjust_cost.
+       * sparc.c (sparc_override_options): Fix up for the new targets.
+       (supersparc_adjust_cost): Make static.
+       (hypersparc_adjust_cost): New.
+       (ultrasparc_adjust_cost): Make static.
+       (sparc_adjust_cost): New.
+       * sparc.md (attr cpu): Add hypersparc and sparclite86x.
+       (function_unit): Add hypersparc scheduling rules.
 
-       * combine.c (subst):
-       Simplify (zero_extract (subreg:SI (lshift:QI (mem:QI ...)) 0) ...)
+       * configure.in (with_cpu handler): Recognize hypersparc.
 
-       * expr.c (do_jump): Don't discard NOP_EXPR from around COMPONENT_REF.
-       Put one on, if that allows extracting the component in natural mode.
+Thu Jan  7 23:54:05 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * final.c (get_attr_length): Omit the body if no length attribute.
+       * config/c4x/c4x.c: Added space after negation operator.
+       * config/c4x/c4x.h: Likewise.
+       * config/c4x/c4x.md: Likewise.
 
-       * Makefile.in (genattrtab): Use host-rtlanal.c as dep and to link.
-       (insn-attrtab.o): Use $(INCLUDES).
+Thu Jan  7 23:39:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * cse.c: Include stdio.h.
+       * config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
 
-       * c-decl.c (finish_enum): Local `value' was declared and set wrong.
+Thu Jan  7 00:29:25 1999  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * Makefile.in (gen*.o): Find source files in $(srcdir).
-       (LIBDEPS, HOST_LIBDEPS): Don't use USE_ALLOCA.
+       * combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
+       when a test can't be performed due to limited width of
+       HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
+       Fix UDIV case for cases where the first operand has the highest bit
+       set.
 
-Wed Nov  1 00:05:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Jan  7 00:01:38 1999  Lutz Vieweg  <lkv@mania.robin.de>
 
-       * stmt.c (init_function_start): Init max_parm_reg.
+       * pa.h (reg_class): Add FPUPPER_REGS.
+       (REG_CLASS_NAMES): Similarly.
+       (REG_CLASS_CONTENTS): Similarly.
+       (REGNO_REG_CLASS): Handle FPUPPER_REGS.
+       (FP_REG_CLASS_P): Likewise.
+       (REG_CLASS_FROM_LETTER): Similarly.
+       (CLASS_MAX_NREGS): Similarly.
 
-       * varasm.c (compare_constant_1): For ADDR_EXPR, compare symbol name.
-       For PLUS_EXPR, etc., don't record code twice.
-       (record_constant_1): Likewise.
+1999-01-06  Brendan Kehoe  <brendan@cygnus.com>
 
-       * expr.c (expand_assignment): Allow for overlap when storing into a
-       structure value area supplied by the caller.
+       * fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
+       for a typedef of bool.  Make sure to have a copy of the file is
+       in place before we look to fix it.  Fix typo in variable name to
+       FILE.
 
-       * cse.c (remove): Handle an elt in the wrong bucket.
+Wed Jan  6 07:51:05 1999  Richard Henderson  <rth@cygnus.com>
 
-       * function.c (fixup_stack_1): Avoid using move insn for address arith.
+       * expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
+       value_mode for the return mode.
 
-       * out-sparc.c (output_mul_by_constant): Constant zero is legitimate.
+Wed Jan  6 17:55:19 1999  Robert Lipe  <robertlipe@usa.net>
 
-       * caller-save.c (emit_mult_restore, emit_mult_save):
-       Handle stack addresses which are invalid.
+       * configure.in: New flag --with-dwarf2.  If set, enables DWARF-2
+       debugging as default.
 
-       * cse.c (use_related_value): Don't abort if offset is 0.
+       * config/tm-dwarf2.h: New file.
 
-Tue Oct 31 15:12:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Jan  6 16:08:54 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * config.gcc (pyramid): Set $machine to pyr.
+       * h8300.h (ASM_OUTPUT_LABELREF): Define.
 
-       * calls.c (expand_call): Don't OK_DEFER_POP in is_const case.
+       * pa.h (DONT_RECORD_EQUIVALENCE): Kill.
+       * local-alloc.c (update_equiv_regs): Corresponding changes.
+       * tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
 
-Mon Oct 30 17:00:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * calls.c (special_function_p): Push alloca test inside the large
+       conditional which excludes functions not at file scope or not
+       extern.
 
-       * final.c (shorten_branches, init_insn_lengths):
-       Define unconditionally; conditionalize the contents, perhaps.
+       * calls.c (special_function_p): New function broken out of
+       expand_call.
+       (precompute_register_parameters): Likewise.
+       (store_one_arg): Likewise.
+       (store_unaligned_argumetns_into_pseudos): Likewise.
+       (save_fixed_argument_area): Likewise.
+       (restore_fixed_argument_area): Likewise.
+       (expand_call): Corresponding changes.
 
-Mon Oct 30 03:23:52 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
+Thu Jan  7 00:12:24 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * final.c (shorten_branches): New function.
-       (init_insn_lengths, get_attr_length): New functions.
-       * function.c (init_function_start): Call init_insn_lengths.
-       * recog.c (constrain_operands): Call alter_subreg if nec.
-       * toplev.c (rest_of_compilation): Call shorten_branches.
-       (compile_file): Init and print shorten_branch_time.
+       * config/c4x/c4x.md (addqi3): If the destination operand is
+       a hard register other than an extended precision register,
+       emit addqi3_noclobber.
+       (*addqi3_noclobber_reload): New pattern added so that reload
+       will recognize a store of a pseudo, equivalent to the sum
+       of the frame pointer and a constant, as an add insn.
 
-Mon Oct 30 03:23:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+1999-01-06  Manfred Hollstein  <manfred@s-direktnet.de>
 
-       * reload1.c (spill_regs): Make it short, not char.
+       * fixinc/fixincl.c: Re-indent according to the GNU standards.
+       fixinc/server.c: Likewise.
+       fixinc/server.h: Likewise.
 
-Sun Oct 29 00:53:46 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Jan  6 10:43:29 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * final.c (final_scan_insn): Delete no-op moves, even without -O.
+       * config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
+       handling.
+       (const_sint32_operand): Likewise.
 
-       * c-parse.y (yylex): Prevent warning for numbers that underflow.
+Wed Jan  6 09:44:51 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * stmt.c (assign_parms): Convert stack addresses to valid addresses.
-       (validize_mem): New subroutine.
+       * toplev.h: In addition to checking _JBLEN, also check if `setjmp'
+       is a macro when deciding if we can use `jmp_buf' in prototypes.
 
-       * c-decl.c (finish_enum): If -fshort-enums, round size up to match
-       some ordinary C integer type.
-       Compute precision properly when some values are negative.
-       Make type double precision when necessary.
+Wed Jan  6 03:18:53 1999  Mark Elbrecht  <snowball3@usa.net>
 
-       * c-decl.c (lang_decode_option): Accept and ignore -fnotraditional.
+       * configure.in (pc-msdosdjgpp): Set x_make to x-go32.
+       * configure: Rebuilt.
+       * i386/xm-go32.h: Define LIBSTDCXX.
+       * i386/x-go32: New.
+       * i386/go32.h (MD_EXEC_PREFIX): Define.
+       (FILE_NAME_ABSOLUTE_P): Define.
+       (LINK_COMMAND_SPEC): Define.
 
-       * gcc.c (default_compilers): Pass -ftraditional to cpp as -traditional.
+Wed Jan  6 02:23:36 1999  "Charles M. Hannum"  <root@ihack.net>
 
-       * DOLLARS_IN_IDENTIFIERS now has three values.  1 is now the default.
-       It means enable $ only with -traditional.  2 means enable unless -ansi.
-       * c-decl.c (lang_decode_option): Implement that.
-       * cccp.c (main): Likewise.
-       * tm-vms.h, tm-apollo68.h, tm-convex.h, tm-next.h:
-       Define DOLLARS_IN_IDENTIFIERS as 2.
-       * tm-pyr.h: Define it as 0.
-       * cexp.y (initialize_random_junk): Test DOLLARS_IN_IDENTIFIERS
-       for nonzeroness.
-
-       * stmt.c (check_for_full_enumeration_handling): Accept enum type
-       as argument (since was finding it incorrectly).
-       Delete special case for constant index.
-       (expand_end_case): Pass enum type; check for constant index.
-
-Sun Oct 29 00:53:46 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
-
-       * varasm.c (force_const_double_mem): Remove redundant code.
-       (record_constant_rtx): Use normal obstack since temporary data.
-       (force_const_mem): Don't output constant immediately.  Instead,
-       save it for new fn to write.  Also, make hash table mapping
-       internal label to desired constant.
-       (output_constant_pool): New fn to write constant pool.
-       (assemble_function): Call it.
-       (init_const_rtx_hash_table): Initialize new hash table and pool
-       chain and offset.
-       (find_pool_constant): New fn to map internal label SYMBOL_REF to
-       data about constant.
-       (get_pool_constant, get_pool_mode, get_pool_offset): New fns
-       using above fn to return data about constant pool labels.
-       * rtl.h: Define last three new fns.
-
-       * integrate.c (save_constants): New fn to convert constant pool
-       references to recognizable representation of constant that was
-       being used.
-       (save_for_inline): Call it.
-       (copy_for_inline, output_inline_function): Undo this for copy to
-       be compiled.
-       (restore_constants): New fn used in output_inline_function.
-       (copy_rtx_and_substitute): Make new constant pool entries for
-       constants in pool when fn was inlined.
-
-       * cse.c (cse_end_of_basic_block): Optionally make a "basic block"
-       that follows branches.  Now takes previous block as argument and
-       computes which branch to follow/fall through next.
-       (cse_main, cse_basic_block): Make compatible with above.
-
-       * toplev.c: Add new flag, -fcse-follow-jumps.
-       (rest_of_compilation): Pass dump file to cse_main.
-
-       * flags.h: Add flag_cse_follow_jumps.
-
-Sat Oct 28 01:24:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * optabs.c (emit_cmp_insn): Default MODE before computing CLASS.
-
-Fri Oct 27 16:25:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * tm-next.h (__inline): define as macro for old 1.34 Next uses.
-
-Thu Oct 26 01:05:09 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * mips.md (compare/branch peepholes): Combine using match_operator.
-       * out-mips.c (relop, frelop, frelop_reversed): New functions.
-       * tm-mips.h (PRINT_OPERAND): New codes `C' and `N' for comparisons.
-       (ASM_OUTPUT_SOURCE_LINE): Output .loc--MIPS likes that.
-       (EXTENDED_COFF, NO_UNDERSCORES, USE_COLLECT): Define, for collect.c.
-       (COFF): Undefine, for collect.c.
-
-       * getattrtab.c: Rename define_asm_insn to define_asm_attributes.
-       * rtl.def: Likewise.
+       * expr.c (store_expr): If the lhs is a memory location pointed
+       to be a postincremented (or postdecremented) pointer, always
+       force the rhs to be evaluated into a pseudo.
 
-Wed Oct 25 00:52:12 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
+Wed Jan  6 00:54:21 1999  Geoff Keating  <geoffk@ozemail.com.au>
 
-       * rtl.def: Add new RTL codes for insn attributes.
-       Change last operand of DEFINE_INSN and DEFINE_PEEPHOLE.
+       * real.c (mtherr): Print more reasonable warning messages.
 
-       * rtlanal.c (rtx_equal_p): Add support for "V", "n", and "s" types.
+Tue Jan  5 21:57:42 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * genoutput.c (output_epilogue): No longer output machine_info
-       stuff.
-       (process_template): New function.
-       (gen_insn, gen_peephole): Call process_template.
-       (fatal): Add more args.
+       * Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
 
-       * final.c: Allow called configuration macros to use attribute data.
+       * cccp.c: Include prefix.h, don't prototype prefix.c functions.
+       (new_include_prefix): Constify char* parameters.
 
-Wed Oct 25 00:52:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cppfiles.c (read_name_map): Likewise.
+       (append_include_chain): Likewise.  Also, use a writable char* copy
+       of parameter `dir' which we then modify, rather than using the
+       parameter itself to store the new writable string.
+       (remap_filename): Constify some variables.  Also, use a writable
+       char* to store an allocated string which we will be modifying.
 
-       * rtlanal.c (rtx_equal_p): Handle operand types n, V, S.
+       * cpplib.c: Include prefix.h, don't prototype prefix.c functions.
+       (cpp_start_read): Constify variable `str'.
 
-       * optabs.c (floattab): Record unsigned-float insns.
-       (can_float_p): New arg UNSIGNEDP.
-       (expand_float): Use those insns if available.
+       * cpplib.h (append_include_chain): Constify a char* parameter.
 
-Tue Oct 24 19:23:11 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
+       * gcc.c Include prefix.h, don't prototype prefix.c functions.
+       (add_prefix, save_string): Constify char* parameters.
+       (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
 
-       * genattr.c, genattrtab.c: New files.
-       * Makefile.in (insn-attr.h, insn-attrtab.c):
-       New files made by those two.
+       * prefix.c: Include prefix.h.
+       (get_key_value, translate_name, save_string, update_path,
+       set_std_prefix): Constify various char* parameters and variables.
+       (save_string): Use xmalloc, not malloc.
+       (translate_name): Use a writable temporary variable to create and
+       modify a string before setting it to a const char*.
 
-       * Makefile.in (insn-*.[ch]): Name the temp file `tmp-foo.c', etc.,
-       not `tmp-insn-foo.c'.
+       * prefix.h: New file to prototype functions exported from prefix.c.
 
-       * combine.c (subst): Generalize simplification of
-       (zero_extend:M (subreg:N (zero_extract:M ...) 0)) and similar.
+Tue Jan  5 08:52:18 1999  Bruce Korb  (korb@datadesign.com)
 
-Tue Oct 24 19:23:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * fixinc/fixincl.c (various): Added debug code so
+       Manfred can trace the processing.
 
-       * combine.c (try_combine): Don't move a volatile asm.
+       * fixinc/inclhack.def (sys/utsname.h): Provide forward declaration of
+       struct utsname on Ultrix V4.[35].
 
-Mon Oct 23 01:45:34 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * fixinc/{fixincl.x|fixincl.sh|inclhack.sh} : Regenerated.
 
-       * combine.c (try_combine): Don't install a subreg relating two modes
-       that aren't tieable.
+Mon Jan  4 15:37:30 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-       * gnulib2.c (__fixdfdi): Declare __fixunsdfdi.
+       * cpplib.c (skip_if_group): Split out the logic that handles
+       directive recognition to its own function.  Don't use
+       parse markers; use a bare pointer into the buffer.  Use
+       copy/skip_rest_of_line instead of doing it by hand.  Remove
+       `return on any directive' mode which was never used, and take
+       only one argument.
+       (consider_directive_while_skipping): New function, subroutine
+       of skip_if_group.  Logic streamlined a bit.
+       (conditional_skip, do_elif, do_else): Call skip_if_group with
+       only one argument.
 
-       * combine.c: Make uid_cuid an int *.
-       (combine_instructions): Allocate as such.
-       * loop.c: Make uid_luid an int *.
-       (loop_optimize): Allocate as such.
+Mon Jan  4 15:27:30 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-Sun Oct 22 20:35:55 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
+       * cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an
+       error.
 
-       * combine.c (try_combine): Call simplify_set_cc0_and for SIGN_EXTEND.
-       (subst): Start by putting constant last in commutative operations
-       and convert MINUS of a constant to PLUS.
-       Put CONST around any PLUS with 2 constants.
-       Simplify (minus <foo> (and <foo> (const_int -pow2))).
-       Handle (zero_extend (and ...)) when the and is nontrivial.
-       Convert (XOR (NOT x) (NOT y)) to (XOR x y).
-       Simplify (abs (neg <foo>)).
-       Simplify abs of something known positive.
-       Handle (zero_extend (truncate...)) using gen_lowpart.
-       Do it for sign_extend too.
-       Simplify (ZERO_EXTRACT (AND x) ...).
-       Simplify (ZERO_EXTRACT (ZERO_EXTEND z) ...), etc.
-       Extend "Extracting a single bit from result of shift" to SIGN_EXTRACT.
-       (ashiftrt (*shift <X> <c1>) <c1>) can be (sign_extend <X>)
-       (lshiftrt (*shift <X> <c1>) <c1>) can be (zero_extend (subreg <X>))
-       Do (lshift <X> (sign_extend <Y>)) on non-regs using gen_lowpart.
-       Eliminate AND in (lshift (and <X> <C1>) <C2>).
-       Use gen_lowpart in (lshift:m1 (zero_extend:m2 <X>) <C>).
-       Use gen_lowpart in (and x const) => (zero_extend (subreg x 0)).
-       (simplify_set_cc0_and): Ignore outermost SIGN_ or ZERO_EXTEND.
-       Handle constant bit number.
-       Try to get into SImode for bitfield jumps.
+Mon Jan  4 11:55:51 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * recog.c (apply_change_group, validate_change): New functions.
+       * extend.texi (Bound member functions): Document.
 
-Sat Oct 21 00:51:49 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
+Mon Jan  4 11:01:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cse.c (cse_end_of_basic_block): Optionally make a "basic block"
-       that follows branches.  Now takes previous block as argument and
-       computes which branch to follow/fall through next.
-       (cse_main, cse_basic_block): Make compatible with above.
+       * mips-tdump.c (st_to_string, sc_to_string, glevel_to_string,
+       lang_to_string, type_to_string): Make return type const char*.
+       (print_symbol): Apply `const' keyword to a char*.
+       (print_file_desc): Cast structure member `crfd' to ulong when
+       comparing against one.
 
-       * cse.c (new_basic_block): Don't assume sizeof (rtx) == sizeof (int).
+       * mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*.
+       (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
+       (progname, input_name): Apply `const' keyword to a char*.
+       Don't redundantly include sys/stat.h.
+       (alloc_info): Apply `const' keyword to a char*.
+       (st_to_string, sc_to_string): Likewise.
+       (hash_string): Cast variable `hash_string' to a symint_t when
+       comparing against one.
+       (add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one.
+       Likewise cast it to long when comparing against one.
+       (add_local_symbol): Apply `const' keyword to a char*.
+       (add_ext_symbol): Likewise.
+       (add_unknown_tag): Likewise.
+       (add_procedure): Cast a printf-style field width to an int.
+       (add_file): Cast PAGE_USIZE to long when comparing against one.
+       (parse_begin): Cast a printf-style field width to an int.
+       (parse_bend): Likewise.
+       (parse_def): Likewise.
+       (parse_end): Likewise.
+       (mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED.
+       (parse_stabs_common): Fix format specifier.
+       (parse_input): Change type of variable `i' to Size_t.
+       (write_object): Fix arguments to match format specifiers.
+       Cast variable `num_write' to long when comparing against one.
+       (read_seek): Cast variable `sys_read' to symint_t when comparing
+       against one.  Fix arguments to match format specifiers.  Cast
+       variable `size' to long when comparing against one.
+       (copy_object): Cast result of `sizeof' to int when comparing
+       against one.  Fix arguments to match format specifiers.  Cast
+       variable `ifd' to long when comparing against a signed value.
+       Likewise, likewise.
 
-       * cse.c (make_new_qty, canon_hash): Add  sanity checks.
+Mon Jan  4 10:30:33 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cse.c (lookup_as_function): Don't assume VOIDmode == 0.
+       * c-common.c (decl_attributes): Allow applying attribute `unused'
+       on a LABEL_DECL.
 
-       * cse.c (exp_equiv_p): For commutative operations, check both orders.
-       Detect unexpected operand-type letters.
-       Mode is significant for all codes.
+       * c-parse.in (label): Parse attributes after a label, and call
+       `decl_attributes' to handle them.
 
-       * cse.c (fold_rtx): CONST_DOUBLE can also appear in DImode.  Verify
-       that floating-point is used before folding it.
-       Verify that the host's INT width is wide enough to do folding.
+       * gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
 
-       * cse.c (cse_insn): Treat each component of PARALLEL exactly the same
-       way as if it were standing alone.
+       * genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
+       generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
 
-       * combine.c (combine_instructions): If an insn explicitly references
-       CC0, try to combine it with the previous insn.  Also, enable
-       combining an insn with two different insns whose results it uses.
+       * invoke.texi: Note that labels can be marked `unused'.
 
-       * combine.c (try_combine): Ignore USE or CLOBBER parallel parts in
-       I2 and I1 as they are not functional.
+Sun Jan  3 23:32:18 1999  Jeff Law  (law@cygnus.com)
 
-Sat Oct 21 00:51:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * version.c: Bump for snapshot.
 
-       * out-pyr.c (extend_and_branch): Allow SUBREG like REG.
-       * pyr.md (mem-reg and reg-mem HI, QI patterns):
-       Don't match unless one arg is MEM.
+Sun Jan  3 23:00:42 1999  Jeffrey A Law  (law@cygnus.com)
 
-Sat Oct 21 00:28:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
+       RTL for a compare/jump sequence.
 
-       * stor-layout.c (layout_decl): No more need to avoid >1 wd in one reg.
+Sun Jan  3 22:58:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * tree.c (build_index_type): Copy precision from sizetype.
+       * optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
+       for a target with HAVE_cc0 defined.
+       (emit_cmp_and_jump_insns): New function.
+       * expr.h (emit_cmp_and_jump_insns): Prototype it.
+       * loop.c (check_dbra_loop): Use it to replace calls
+       to emit_cmp_insn and emit_jump_insn and to canonicalize
+       the comparison if necessary.
+       * unroll.c (unroll_loop): Likewise.
 
-       * reload.c (find_reloads_toplev): Don't truncate constant if bigger
-       than host word size.
+Sun Jan  3 21:01:04 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
-       * gnulib2 (__floatdidf, __fixunsdfdi): Use WORD_SIZE, not BITS_PER...
-       (WORD_SIZE): # of bits in a `long' on the target.
+       * fixincludes (sys/utsname.h): Provide forward declaration of
+       struct utsname on Ultrix V4.[35].
 
-       * genextract.c (gen_peephole): Use sizeof (rtx) copying operands.
+       * mips.md (div_trap): Use local labels instead of dot-relative
+       branches.
 
-       * fold-const.c (force_fit_type): Use POINTER_SIZE for pointers.
+Sun Jan  3 20:40:34 1999  Jeffrey A Law  (law@cygnus.com)
 
-       * final.c (end_final, final_scan_insn): In sizes and aligns of
-       profiling vars and tbls, use INT_TYPE_SIZE for size of an int,
-       or give max alignment.
+       * pa.md (branch, negated branch): Handle (const_int 0) as first
+       source operand.
+       * pa.c (output_cbranch): Likewise.
 
-       * expr.c (do_jump): Comparing constant arg vs 0, take # sig bits
-       from mode of data type.
+Sun Jan  3 03:20:38 1999  David Edelsohn  <edelsohn@gnu.org>
 
-       * gcc.c: Add CC1PLUS_SPEC like CC1_SPEC.
-       (validate_all_switches, do_spec_1, process_command, read_specs):
-       Handle it.  Use %2 to use it.
-       (default_compilers): Pass %2 to cc1plus.
+       * rs6000.c (rs6000_stack_info): Undo spurious part of last
+       change.
 
-       * out-sparc.c (output_fp_move_double): Use ldd only when safe,
-       on same conditions used for std.
+1999-01-01  Manfred Hollstein  <manfred@s-direktnet.de>
 
-       * Makefile.in (USE_ALLOCA): New var is $(ALLOCA) if compiling with
-       cc, null otherwise.  Use this to refer to alloca.
+       * extend.texi (__builtin_constant_p): Add missing @smallexample.
 
-       * Makefile.in (gnulib): Test vrbl HPUX_GAS to decide whether to run
-       hpxt instead of ranlib.
-       (stamp-gnulib2): Don't ranlib if HPUX_GAS.
-       * make-hp9kgas: New file, sets HPUX_GAS.
+Fri Jan  1 11:48:20 1999  Jeffrey A Law  (law@cygnus.com)
 
-Fri Oct 20 13:33:34 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * i386.md (doubleword shifts): Fix dumb mistakes in previous change.
 
-       * expmed.c (store_bit_field, extract_bit_field):
-       Use mode whose size is UNITS_PER_WORD for struct in reg.
-       (store_fixed_bit_field, extract_fixed_bit_field):
-       Handle bigger constant masks.
-       (mask_rtx, lshift_value): New subroutines.
+Wed Dec 30 23:38:55 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * c-parse.y (combine_strings): Use correct width of `int'.
+       * m68k.md (adddi_dilshr32): Allow all operands to be registers too.
+       (adddi_dishl32): Similarly.
 
-       * varasm.c (make_decl_rtl): Warn for volatile explicit register vars.
+       * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
+       for each insn in the skipped block.
 
-Fri Oct 20 00:27:00 1989  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * reload1.c (reload_as_needed): Verify that the insn satisfies its
+       constraints after replacing a register address with an autoincrement
+       address for reload inheritance purposes.
 
-       * reload1.c (reload_as_needed): Set new variable reload_in_progress
-       and clear it after reload complete.
+       * i386.md (doubleword shifts): Avoid namespace pollution.
 
-       * reload1.c (choose_reload_regs):
-       Don't count deleted reloads vs number of spill regs.
+Wed Dec 30 23:00:28 1998  David O'Brien  <obrien@NUXI.com>
 
-       * reload1.c (choose_reload_regs): Arg of HARD_REGNO_MODE_OK
-       was the pseudo; should be the reload reg.
+       * configure.in (FreeBSD ELF): Needs special crt files.
 
-       * reload1.c (gen_input_reload): Don't generate a move with a PLUS
-       as an operand.
+Wed Dec 30 22:50:13 1998  Geoffrey Noer  <noer@cygnus.com>
 
-       * reload.c (find_reloads): Ignore unconstrained operands
-       when looking for conflict with an earlyclobber.
+       * i386/xm-cygwin.h: Change DIR_SEPARATOR to forward slash.
 
-       * reload.c (subst_indexed_address):
-       Replace and canonicalize more thoroughly.
-       (form_sum): New subroutine.
+1998-12-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * out-i386.c (singlemove_string): Handle ordinary constants as input.
+       * loop.c (check_dbra_loop): While reversing the loop, if the
+       comparison value has a VOID mode use the mode of the other operand
+       to compute the mask.
 
-       * tm-decstatn.h (CPP_PREDEFINES): Add bsd4_2, ultrix, MIPSEL, 
-       host_mips, R3000, LANGUAGE_C, SYSTYPE_BSD.
-       * tm-mips.h (CPP_PREDEFINES): Add host_mips, R3000, MIPSEB, LANGUAGE_C.
-       (CPP_SPEC): Remove those from here.
-       Define __SYSTYPE_*__ always.  Define SYSTYPE_* only if not -ansi.
-       No CPP_SPEC needed for decstation.
-       Correct typos in option tests.
+Wed Dec 30 22:24:00 1998  Michael Meissner  <meissner@cygnus.com>
 
-       * c-parse.y (unary_expr): Handle EXTENSION here, not in primary.
+       * rs6000.md ({save,restore}_stack_function): Take 2 operands to
+       avoid warnings in compiling explow.c.
 
-Thu Oct 19 18:16:40 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       (patch from Ken Raeburn, raeburn@cygnus.com)
+       * rs6000.c (rs6000_stack_info): Force 8-byte alignment of
+       fpmem_offset.  Compute total size after that, and then
+       rs6000_fpmem_offset using both values.
 
-       * tm-m68k.h, tm-alliant.h (PRINT_OPERAND):
-       Don't print :l for address if :w was already printed.
+Mon Dec 28 19:26:32 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
-       * Allow elided braces with unions.
-       * c-typeck.c (digest_init): Treat unions more like records.
-       (process_init_constructor): Handle union types.
+       * gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
+       the future; indeed that already happens in some cases.
 
-       * c-parse.y (program): Pedantic warning for empty file.
+Tue Dec 29 11:58:53 1998  Richard Henderson  <rth@cygnus.com>
 
-Wed Oct 18 22:28:21 1989  Torbj|rn Granlund  (tege at echnaton.sics.se)
+       * sparc.c (input_operand): Recognize (const (constant_p_rtx)).
+       (arith_operand): Remove constant_p_rtx handling.
+       (const64_operand, const64_high_operand): Likewise.
+       (arith11_operand, arith10_operand, arith_double_operand): Likewise.
+       (arith11_double_operand, arith10_double_operand, small_int): Likewise.
+       (small_int_or_double, uns_small_int, zero_operand): Likewise.
+       * sparc.h (PREDICATE_CODES): Likewise.
 
-       * out-pyr.c (extend_const, extend_and_branch): Make sure all const
-         are CONST_INT.
+       * rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
 
-       * out-pyr.c (movdi_possible): Handle combination of two immediate
-         moves correctly.  (Pyramid immediate move to a DImode operand
-         (movl) work by SIGN extension of the 32 bit immediate source.)
-       * Handle CONST tagged addresses.
+Tue Dec 29 11:32:54 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
-       * out-pyr.c (already_sign_extended): Skip harmless JUMP_INSN when
-         scanning after extension insn.
-       * Check for right mode of extension.
-       * Delete redundant register number test.
+       * rtl.def (CONSTANT_P_RTX): Clarify commentary.
+       * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
+       consider constant CONSTRUCTOR constant and to defer some cases
+       to cse.
+       * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
+       * regclass.c (reg_scan_mark_refs, case CONST): Likewise.
 
-       * pyr.md (anonymous SImode test pattern): Predicate need to accept
-         any operand that can be generated for corresponding compare.  Used
-         to reject "foo(p) int *p {int a=0; return *p==a;}".
+Tue Dec 29 11:30:10 1998  Richard Henderson  <rth@cygnus.com>
 
-       * pyr.md (shift patterns): Condition bogus if no insn really output.
+       * expr.c (init_expr_once): Kill can_handle_constant_p recognition.
+       * cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
 
-       * pyr.md: Flush obsolete comment about conversion.
+       * alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
+       (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
+       (sext_add_operand, and_operand, or_operand): Likewise.
+       (reg_or_cint_operand, some_operand, input_operand): Likewise.
+       * alpha.h (PREDICATE_CODES): Likewise.
 
-       * tm-pyr.h (FUNCTION_PROLOGUE): Don't really set up a frame pointer
-         if it's never referenced.  Also, don't round up frame size to a
-         multiple of 32, since input args and alloca nevertheless breaks
-         such alignment attempts.
-       * tm-pyr.h (FUNCTION_EPILOGUE): Goodbye.  Use (define_insn "return"
-         ..) in md instead.
-       * pyr.md (return): Use "ret" or "retd" depending on the existense
-         of a freme pointer.
-       * tm-pyr.h (EXIT_IGNORE_STACK): Ensure the stack pointer is
-         preserved even when the frame pointer is not really set up.
+Sat Dec 26 23:26:26 1998  Jeff Law  (law@cygnus.com)
 
-       * pyr.md: Reinsert move-and-test peep-hole optimization.
+       * version.c: Bump for snapshot.
 
-       * pyr.md: Flush silly peep-hole optimizations for loops.  They were
-         inverted optimizations.
+Sat Dec 26 09:17:04 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-pyr.h (NOTICE_UPDATE_CC): Make it identify the most important
-         cases when set conditions codes can be used, without an explicit
-         test.
+       * gengenrtl.c (gencode): Always use bzero to clear memory instead
+       of dangerous casts and stores.
 
-Wed Oct 18 13:01:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * Makefile.in (compare, gnucompare): Add missing else true clauses.
 
-       * gcc.c (default_compilers): Support -E on .h file.
+Fri Dec 25 23:00:56 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-mips.h (FUNCTION_PROLOGUE): Get rid of __0__gcc macro.
-       Store that value in frame_stack_difference.
-       (FUNCTION_EPILOGUE): Get rid of __0__gcc macro.
-       (FIX_FRAME_POINTER_ADDRESS): Use frame_stack_difference.
-       * out-mips.c (frame_stack_difference): Define here.
+       * alpha.md (builtin_longjmp): Add missing "DONE".
 
-       * gcc.c (default_compilers): Define __GNUG__ for g++.  
+Thu Dec 24 10:39:57 1998  Stan Cox  <scox@cygnus.com>
 
-Tue Oct 17 01:17:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * gcc.c (execute): Enable -pipe with win32.
 
-       * tm-i860.h (HAVE_PRE_INCREMENT): Undefine this.
+Wed Dec 23 10:27:44 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * mips.md (movsf): New alternatives for r registers.
-       * tm-mips.h (FUNCTION_PROLOGUE): Handle big stack frames.
-       * out-mips.c (function_arg): Handle mode distinction for floating args.
+       * config/arm/t-arm-elf: Add multiplib option for leading
+       underscores.
 
-       * pyr.md (mtstsw pattern): Accept general_operand.
+       * config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
+       'user_label_prefix' rather than macro USER_LABEL_PREFIX.
 
-       * Makefile.in (gcc): Force-move when installing new gcc.
-       (realclean): Delete Makefile.
+       (thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
+       than variable 'reload_address_base_reg_class'.  [Note this
+       change is unrelated to the others in this patch].
 
-       * i860.md (movsf): New alternatives: allow loading r from F.
-       Prefer f-reg as reload when moving m from F.
-       * tm-i860.h (PRINT_OPERAND): Handle CONST_DOUBLE if SFmode.
+       * config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
+       leading underscore.
 
-Sun Oct 15 14:27:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Dec 23 09:51:32 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * i860.md (movhi, movqi): Support moves to/from fp regs.
+       * alias.c (record_alias_subset): Remove ignored `&'.
+       (init_alias_once): Likewise.
 
-       * stmt.c (expand_goto): USE both stack ptr and static_chain_rtx
-       just before jumping.
+       * c-lex.c (UNGETC): Cast first argument of comma expression to void.
 
-       * sparc.md (tablejump peepholes): Fix paren error that no-op'd them.
+       * config/mips/mips.c (mips_asm_file_end): Cast the result of
+       fwrite to `int' when comparing against one.
 
-       * tm-sparc.h (*TRAMPOLINE*): Defined macros, but defns are wrong.
-       * sparc.md (indirect_jump): New pattern; plus peepholes.
+       * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
+       (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
 
-       * sparc.md (cse'd multiply): New pattern for mult. by -1.
+       * cse.c (rehash_using_reg): Change type of variable `i' to
+       unsigned int.
 
-       * out-i860.c (load_opcode, store_opcode): Handle DImode and fp reg.
+       * dwarf2out.c (initial_return_save): Cast -1 to unsigned before
+       assigning it to one.
 
-       * toplev.c (compile_file): Always test TREE_USED and TREE_ADDRESSABLE
-       in identifier as well as in decl.
-       * c-decl.c (poplevel): Preserve TREE_ADDRESSABLE from local externs.
-       * c-typeck.c (mark_addressable): Don't set bit in identifier here.
+       * except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
 
-Fri Oct 13 00:12:46 1989  Richard Kenner  (rms at sugar-bombs.ai.mit.edu)
+       * final.c (final_scan_insn): Likewise for variable `i'.
+       (output_asm_insn): Cast a char to unsigned char when used as an
+       array index.
 
-       * flow.c (life_analysis): No need to think abt CONSIDER on first pass.
+       * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
+       assigning it to one.
 
-       * flow.c (propagate_block): Remove duplicated code to update OLD.
+       * loop.c (strength_reduce): Remove unused variables `count' and `temp'.
 
-       * flow.c (mark_set_1): Handle nested SUBREG, SIGN_EXTRACT,
-       STRICT_LOW_PART, etc.  Also, always set subreg_p when setting
-       a bit field, even if modes are same.
+       * recog.c (preprocess_constraints): Cast a char to unsigned char
+       when used as an array index.
 
-       * expr.c (expand_expr): Check for |= or &= of two bitfields of size 1.
-       Convert to test followed by assignment.
+       * regmove.c (find_matches): Likewise.
 
-       * rtl.def (INLINE_HEADER): Correct erroneous field types.
+       * reload1.c (calculate_needs): Add default case in switch.
+       (eliminate_regs_in_insn): Initialize variable `offset'.
+       (set_offsets_for_label): Change type of variable `i' to unsigned.
+       (reload_as_needed): Wrap variable `i' in macro check on
+       AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
 
-       * rtl.h: Add definitions for saving flags in INLINE_HEADER.
+       * scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
+       with ATTRIBUTE_UNUSED.  Cast variable `start_written' to size_t
+       when comparing against one.
 
-       * emit-rtl.c (gen_inline_header): Correct out-of-date arguments.
-       Add support for saving flags.
+       * stor-layout.c (layout_decl): Cast maximum_field_alignment to
+       unsigned when comparing against one.  Likewise for
+       GET_MODE_ALIGNMENT().
+       (layout_record): Cast record_align to int when comparing against a
+       signed value.
+       (layout_type): Cast TYPE_ALIGN() to int when comparing against a
+       signed value.
 
-       * integrate.c (save_for_inline): Save function flags.
-       Update comments.
-       (expand_inline_function, output_inline_function): Let machine-dependant
-       code view (or possibly modify) inlined insn, if desired.
+       * tree.c (get_identifier): Cast variable `len' to unsigned when
+       comparing against one.
+       (maybe_get_identifier): Likewise
 
-       * function.c (assign_stack_local): Don't set frame_pointer_needed or
-       invalid_stack_slot if assigning zero-sized area.
+Wed Dec 23 00:10:01 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * stmt.c (fixup_var_refs_1): If the machine's SIGN_EXTRACT or
-       ZERO_EXTRACT insns can't accept a memory operand, fix them up.
+       * toplev.c (rest_of_compilation): Do not set reload_completed.
+       * reload1.c (reload): Set reload_completed before calling
+       cleanup_subreg_operands.
 
-       * expr.c (do_jump): Look inside EQ_EXPR or NE_EXPR if one arg is 0.
-       Be smart about PLUS_EXPR, MINUS_EXPR, ABS_EXPR, REFERENCE_EXPR,
-       NEGATE_EXPR, rotation, CONVERT_EXPR.
+Tue Dec 22 23:58:31 1998  Richard Henderson  <rth@cygnus.com>
 
-       * jump.c (reverse_condition): Make non-static.
-       (swap_condition): New routine.
+       * reload1.c (emit_reload_insns): Check `set' not null before use.
 
-       * final.c (alter_cond): Use new swap_condition.
+Tue Dec 22 15:15:45 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * expr.c (expand_expr): In cases where a jump will be generated, use
-       original_target because the registers won't be able to be merged due
-       to the jump.
+       * rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
+       'int'.
 
-       * expr.c (expand_expr): Put constant last for PLUS.
+Tue Dec 22 13:55:44 1998  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
 
-Fri Oct 13 00:12:46 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * halfpic.c (half_pic_encode): Delete redundant code.
 
-       * recog.c (constrain_operands): Add case for `&'.
+Tue Dec 22 13:02:22 1998  Michael Meissner  <meissner@cygnus.com>
 
-       * tm-vax.h (TRAMPOLINE_TEMPLATE): Add a .word 0 at beginning.
-       (TRAMPOLINE_SIZE): Increase by 2.
-       (INITIALIZE_TRAMPOLINE): Copy reg mask from pure code to trampoline.
-       Jump into the pure code after the reg mask.
+       * toplev.c (main): Delete handling of -dM as a preprocessor
+       option.
 
-       * expmed.c (expand_divmod): Use divmod insn for quotient if no div.
+Mon Dec 21 17:39:38 1998  Michael Meissner  <meissner@cygnus.com>
 
-       * expmed.c (extract_bit_field): With structure reg fetched from mem,
-       don't put in subreg if mode already correct.
-       (store_bit_field): Typo: had extzv, wanted insv.
+       * toplev.c (main): Don't emit any warnings when using -dD, -dM, or
+       -dI, which are handled by the preprocessor.
 
-       * recog.c (init_recog): Set volatile_ok to 1.
-       (init_recog_no_volatile): Similar, but set volatile_ok to 0.
-       (recog_memoized): Don't set volatile_ok.
-       * reload1.c (reload): Call init_recog.
-       * combine.c (combine_instructions): Call init_recog_no_volatile.
-       * loop.c (loop_optimize): Likewise.
-       * cse.c (cse_main): Likewise.
-       * function.c (expand_function_start): Call init_recog_no_volatile
-       for the sake of predicates called from optabs.c.
+Sun Dec 20 16:13:44 1998  John F. Carr  <jfc@mit.edu>
 
-       * toplev.c (compile_file): Warn if fun declared static and used
-       but never defined.
+       * configure.in: Handle Digital UNIX 5.x the same as 4.x.
+       * i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
 
-Thu Oct 12 01:48:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Dec 20 07:39:52 1998  Jeff Law  (law@cygnus.com)
 
-       * cccp.c (macarg1): Count newlines even after backslash.
+       * version.c: Bump for snapshot.
 
-       * c-decl.c (pushdecl): Don't warn for explicit extern
-       followed by static.  That case is useful for incomplete arrays.
+Sat Dec 19 22:24:22 1998  Jeff Law  (law@cygnus.com)
 
-       * c-decl.c (grokdeclarator): Delete some junk about Pmode vs EPmode.
+       * version.c: Bump for snapshot.
 
-       * tm-sparc.h (SELECT_RTX_SECTION): Test was backwards.
+Sat Dec 19 21:41:32 1998  Jeff Law  (law@cygnus.com)
 
-       * reload.c (reg_class_subset_p): New function.
+       * version.c: Bump for snapshot.
 
-Wed Oct 11 00:35:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Dec 19 09:52:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * vax.md (indirect_jump): New pattern.
+       * genattr.c (fatal): Qualify a char* with the `const' keyword.
 
-       * c-parse.y (primary): Turn off pedantic after `__extension__'.
-       (hash, is_reserved_word, etc.): Recognize `__extension__'.
+       * genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
+       write_unit_name, write_eligible_delay, expand_units,
+       make_length_attrs, write_attr_case, find_attr,
+       make_internal_attr): Likewise.
+       * gencheck.c (tree_codes): Likewise.
+       * gencodes.c (fatal): Likewise.
+       * genconfig.c (fatal): Likewise.
+       * genemit.c (fatal): Likewise.
+       * genextract.c (fatal, walk_rtx, copystr): Likewise.
+       * genflags.c (fatal): Likewise.
+       * genopinit.c (fatal, optabs, gen_insn): Likewise.
+       * genoutput.c (fatal, error, predicates): Likewise.
+       * genpeep.c (fatal): Likewise.
+       * genrecog.c (fatal, decision, pred_table, add_to_sequence,
+       write_tree_1, write_tree, change_state, copystr, indents): Likewise.
 
-       * expr.c (emit_library_call, expand_call): Make a SEQUENCE for
-       any needed USE insns and pass them to emit_call_1.
-       (emit_call_1): Place the passed SEQUENCE immediately before the
-       generated CALL_INSN even if gen_call made more than one insn.
+Thu Dec 17 18:21:49 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
-       * tm-seq386.h (DBX_DEBUGGING_INFO): Override this.
-       (HARD_REGNO_MODE_OK): Override this.
+       * configure.in (with-fast-fixincludes): Fix whitespace.
+       * configure: Rebuilt.
 
-       * c-typeck.c (build_conditional_expr): Supply missing layout_decl arg.
+       * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
+       asm() etc. function declarations in __DECC.
 
-       * dbxout.c (dbxout_symbol): Handle nested functions.
+Thu Dec 17 13:57:23 1998  Nick Clifton  <nickc@cygnus.com>
 
-Wed Oct 11 00:35:25 1989  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+       * expr.c (emit_move_insn_1): Only emit a clobber if the target
+       is a pseudo register.
 
-       * jump.c: Update jump_chain when insns change.
-       (jump_optimize): Leave room in jump_chain for some extra labels.
-       Record length in max_jump_chain.  Check this when updating.
-       When optimizing jump-to-return, delete from one chain and add to other.
-       When cross-jumping turns cond jump to simple one, add to new chain.
-       Zero jump_chain at end, so redirect_jump won't change it further.
-       (redirect_jump): Delete from one chain, add to another.
-       (do_cross_jump): Likewise.
-       (delete_from_jump_chain): New subroutine.
+Thu Dec 17 13:50:29 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * cse.c: If `if (x != y) goto l;' fails to jump, assume x==y.
-       (reg_invaliate): Add new argument for when value isn't
-       changing, just its class.
-       (invalidate): Update reg_invalidate call.
-       (record_jump_equiv): New function.
-       (cse_insn): Call it.
+       * gcse.c: Include expr.h in order to get the prototype for
+       get_condition() which is used in delete_null_pointer_checks().
 
-       * cse.c (cse_insn): Delete previous test based on
-       prev_insn_explicit_cc0 just as based on prev_insn_cc0.
+Thu Dec 17 15:58:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Tue Oct 10 00:14:35 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
 
-       * reload.c (push_reload, combine_reloads): Let two reloads share
-       if one's regclass is a subset of the other.
+Thu Dec 17 12:31:12 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * Makefile.in: What depends in expr.h, depends on insn-codes.h also.
+       * Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
+       (ALL_CFLAGS): Delete SCHED_CFLAGS.
 
-Mon Oct  9 19:11:38 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+1998-12-17  Vladimir N. Makarov  <vmakarov@cygnus.com>
 
-       * cccp.c (finclude): Close descriptor as soon as text is read.
-       Eliminate `success'; return directly after successful processing.
-       (do_include): Don't close descriptor here.
+       * config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
+       ';').
 
-       * tm-i386.h (REG_CLASS_FROM_LETTER): Don't define `S' letter.
-       It wasn't used; and now it means something else.
+1998-12-17  Michael Tiemann  <tiemann@axon.cygnus.com>
 
-       * tm-ns32k.h (REG_CLASS_FROM_LETTER): Don't define `r' here.
-       `r' is standard.
+       * i960.md (extend*, zero_extend*): Don't generate rtl that looks
+       like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
+       optimizations from the combiner.
 
-Mon Oct  9 01:09:25 1989  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+Thu Dec 17 08:27:03 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * flow.c (life_analysis): Ignore USEs and CLOBBERs when finding
-       redundant register copies.
-       * jump.c (jump_optimize): Do the same thing here.
+       * loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
 
-       * jump.c (mark_jump_label): Loop NOTEs aren't relevant after loop
-       optimization.
+Wed Dec 16 17:30:35 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * integrate.c (copy_for_inline): Correctly handle RTL type "u".
-       * final.c (output_operand_lossage): Make non-static.
+       * toplev.c (main): Disable optimize_size if a specific
+       optimization level is requested.  Always set optimization
+       level to 2 if -Os is specified.
 
-       * recog.c (constrain_operands): Treat N, O, P like I, J, K, L, M.
-       For Q...U, use EXTRA_CONSTRAINTS if defined.
-       * reload.c (find_reloads): Likewise.
+Wed Dec 16 16:33:04 1998  Dave Brolley  <brolley@cygnus.com>
 
-       * rtl.c (copy_rtx, read_rtx, print_rtx): Handle operand type `V'.
+       * objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
+       cpplib.
+       * cpplib.c (cpp_start_read): If in_fname is not initialized, try to
+       initialize it using fname.
 
-       * rtlanal.c (note_stores): Use variable Y instead of equivalent
-       slower expression.
+1998-12-16  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-       * rtlanal.c (dead_or_set_p): Hard regs don't always have same RTX.
+       * cpplib.c (do_include): Treat #include_next in the
+       primary source file as #include plus warning.  Treat
+       #include_next in a file included by absolute path as an
+       error.  fp == CPP_NULL_BUFFER is a fatal inconsistency.
 
-       * rtlanal.c (may_trap_p): Don't use const0_rtx here.
-       So we can use this file in programs that don't have const0.
+Wed Dec 16 12:28:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Mon Oct  9 01:09:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cccp.c: Don't define MIN/MAX anymore.
+       * cpplib.c: Likewise.
+       * machmode.h: Likewise.
+       * system.h: Provide definitions for MIN/MAX.
 
-       * Support language-specific tree codes.
-       * tree.c (standard_tree_code_type, standard_tree_code_length):
-       Renamed tables.  tree_code_type and tree_code_length are now pointers.
-       * tree.c (init_tree): Copy the tables to allocated memory.
-       * tree.c (tree_code_name): Move here from print-tree.c
-       and define like tree_code_type.
+Tue Dec 15 23:47:42 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-       * rtl.c (print_rtl): Handle 0 as operand.
+       * fix-header.c: Don't define xstrdup here.
 
-       * emit-rtl.c (save_emit_status): Don't call init_emit here.
-       * function.c (push_function_context): Do it here.
+Wed Dec 16 05:11:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * emit-rtl.c (reinstate_emit_status): New function.
-       * function.c (trampoline_address): Use this around
-       INITIALIZE_TRAMPOLINE.
+       * loop.c (consec_sets_giv): New argument last_consec_insn.
+       (strength_reduce): Provide / use it.
 
-       * function.c (trampoline_address): Use fp->tail_recursion_reentry
-       when trampoline is in outer function.
+Wed Dec 16 17:24:07 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * Save and restore stack levels in nonlocal gotos.
-       * function.c: New variable nonlocal_goto_stack_level.
-       (init_function_start, push_function_context, pop_...): Init, push, pop.
-       (delete_handlers): Delete insns to set or use this slot.
-       * stmt.c (declare_nonlocal_label): Create this stack slot.
-       (expand_goto): Restore stack ptr from it.
-       (expand_end_bindings, expand_decl): When setting stack ptr,
-       store new value here.
-       * expr.c (expand_builtin): Likewise, for alloca.
-       * calls.c (expand_call): Likewise.
+       * loop.h (loop_info): New field 'vtop'.
+       * loop.c (check_dbra_loop): Use loop_info->vtop rather than
+       scanning loop for vtop.
+       * unroll.c (subtract_reg_term, find_common_reg_term): New functions.
+       (loop_iterations): Use them to determine if loop has a constant
+       number of iterations.  Set loop_info->vtop.  Don't subtract
+       common reg term from initial_value and final_value if have a
+       do-while loop.
 
-       * varasm.c (make_function_rtl): Rename nested functions for assembler.
-       * c-decl.c (start_function): Clear TREE_PUBLIC for nested function.
+Tue Dec 15 13:49:55 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-i860.h (*TRAMPOLINE*): Define macros.
+       * mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
 
-       * i860.md (movdi): accept F source in 2nd alternative.
-       Accept G source in 3rd.
-       (adddi3, subdi3): Typo in opcode of output.
+       * mn10300.md (bset, bclr): Operand 0 is a read/write operand.
 
-       * i860.md (indirect_jump): Added pattern.
+       * mn10200.md (abssf2, negsf2): New expanders.
 
-       * c-decl.c (lookup_label): Shadow label if it's wrongly inherited.
-       Set DECL_CONTEXT here, since nondeclared labels must be local.
+       * mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
 
-Sun Oct  8 01:38:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Dec 15 11:55:30 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * function.c (expand_function_start): Copy static chain to pseudo
-       reg if chain is used.
+       * integrate.c (copy_rtx_and_substitute): If a SUBREG is
+       replaced by a CONCAT whose components do not have the same
+       mode as the original SUBREG, use a new SUBREG to restore the
+       mode.
 
-       * tm-mips.h (ASM_SPEC): Pass -nocpp to as.
+       * emit-rtl.c (subreg_realpart_p): Cope with subregs containing
+       multiword complex values.
 
-       * c-decl.c (grokdeclarator): Ignore variant differences
-       when preserving typedef types from being altered.
+1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-       * Allow inner label scopes for ({...}).
-       * c-decl.c (push_label_level, pop_label_level): New functions.
-       * c-parse.y (stmt exprs): Call them.
+       * cppalloc.c: Add xstrdup here.
+       * cpplib.h: Remove savestring prototype.
+       * cpplib.c: Remove savestring function. s/savestring/xstrdup/
+         throughout.
+       * cppfiles.c: s/savestring/xstrdup/ throughout.
 
-       * c-decl.c (lookup_label): Set DECL-SOURCE-LINE to locus of reference.
-       (poplevel): Use locus of reference in err msg for undef label.
-       (define_label): Use DECL_INITIAL as flag that label has been defined.
+1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-       * function.c (expand_end_function): Delete nonlocal goto handlers
-       if no nonlocal gotos are actually received.
-       (delete_handlers): New function.
+       * cpplib.c: Make all directive handlers read their own
+         arguments.
+         (struct directive): Remove last two arguments from FUNC
+         member prototype. Remove `command_reads_line' member
+         entirely.
+         (directive_table): Remove initializations of
+         command_reads_line flag.  Pretty-print.
+         (eval_if_expression, do_define, do_line, do_include,
+         do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
+         do_else, do_elif, do_sccs, do_assert, do_unassert,
+         do_warning): Take only two args.
 
-       * flow.c (find_basic_blocks): Treat blocks as reachable
-       if headed by labels with LABEL_PRESERVE_P.
-       (insn_dead_p): Don't delete insns to set the frame pointer or arg ptr.
+         (cpp_define): Call do_define with two args and the text to
+         define stuffed into a buffer.
+         (make_assertion): Call do_assert with two args.
+         (handle_directive): Call do_line with two args. Call
+         kt->func with two args.  Remove command_reads_line
+         processing.
+         (do_define, do_undef, do_error, do_warning, do_pragma,
+         do_sccs): Read the rest of the line here.
+         (do_ident): Gobble rest of line, as cccp does.
+         (cpp_undef): New function.
+         (cpp_start_read): Call cpp_undef instead of do_undef.
 
-       * m68k.md (indirect_jump): New pattern.
+1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-Sat Oct  7 00:46:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cpphash.h (union hash_value): Remove `keydef' member, add a
+         `struct hashnode *aschain' member for #assert.
 
-       * c-decl.c (lookup_label): If label is nonlocal and wasn't declared so,
-       report error and return 0.
-       (shadow_label): New function.
-       * c-parse.y (goto stmt): Handle 0 returned by lookup_label.
-       (label_decl, label_decls): Parse forward-declarations of labels.
-       (pushlevel): Allow label declarations at start of compound stmt.
+       * cpplib.c (struct tokenlist_list, struct
+         assertion_hashnode): Delete structure definitions.
+         (assertion_install, assertion_lookup, delete_assertion,
+         check_assertion, compare_token_lists, reverse_token_list,
+         read_token_list, free_token_list): Delete functions.
+         (parse_assertion): New function.
+         (cpp_cleanup): Don't destroy the assertion_hashtable.
 
-       * rtl.h (LABEL_PRESERVE_P): New flag in CODE_LABEL.
-       * jump.c (jump_optimize): Increment LABEL_NUSES if that flag is set.
+         (do_assert): Gut and rewrite.  #assert foo (bar) places
+         entries for `#foo' and `#foo(bar)' in the macro hash table,
+         type T_ASSERT.  The value union's `aschain' member is used
+         to chain all answers for a given predicate together.
+         (do_unassert): Also rewritten.  Take an un-asserted
+         answer off the chain from its predicate and call
+         delete_macro on the hashnode, or walk a predicate chain
+         calling delete_macro on all the entries.
+         (cpp_read_check_assertion): Simply call parse_assertion to
+         get the canonical assertion name, and look that up in the
+         hash table.
 
-       * stmt.c (any_pending_stack_level): New function.
-       (expand_end_bindings): If block has stack level or cleanups,
-       and this function has any nonlocal labels, make a nonlocal goto handler
-       for the block, and put it in effect during the block.
-       Set LABEL_PRESERVE_P on the handler's label.
-       (expand_goto): For a nonlocal label, restore its stack frame
-       and jump to current handler.
+       * cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
+       Removed.
 
-       * function.c: New var nonlocal_labels lists labels ok for nonlocal.
-       Initted in init_function_start, pushed and popped with fcn context.
-       * stmt.c (declare_nonlocal_label): Put a LABEL_DECL on this list.
+       * cpphash.c (install): Use bcopy instead of an explicit loop
+         to copy the macro name.
 
-       * output.h: Declare current_function_has_nonlocal_label
-       and sdb_begin_function_line.
-       * final.c: Don't declare them.
+       * cppexp.c (cpp_lex): Convert the result of
+         cpp_read_check_assertion to a `struct operation' directly;
+         don't go through parse_number.
 
-       * function.c (current_function_has_nonlocal_label): New var.
-       (init_function_start): Init it.
-       (push_function_context, pop...): Save and restore it.
-       * flags.h: Declare current_function_has_nonlocal_label.
-       * stmt.c (expand_goto): Set it if nonlocal label.
-       * local-alloc.c (combine_regs): Don't tie call-crossing reg
-       to a non-call-crossing reg, if receive nonlocal gotos.
-       (block_alloc): Don't allocate pseudos that cross calls,
-       if receive nonlocal gotos.
-       * global-alloc.c (global_alloc): Don't even make an allocno for
-       a reg that crosses calls, if receive nonlocal gotos.
+Tue Dec 15 18:27:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * function.c (init_function_start): Init function_call_count.
-       (push_function_context, pop_...): Save and restore it.
-       * calls.c (expand_call): Increment function_call_count.
-       * stmt.c (expand_{start,end}_bindings): Use this var
-       to determine whether there are any function calls in a block.
-       No need for a nonlocal goto handler if block has no calls.
+       * loop.h (struct induction): Delete times_used member.
+       * loop.c (n_times_set): Rename to set_in_loop.  Changed all users.
+       (n_times_used): Rename to n_times_set.  Changed all users.
+       (scan_loop): Free reg_single_usage before strength reduction.
+       (record_giv, combine_givs): Remove handling of times_used member.
+       (combine_givs_used_once): Rename to:
+       (combine_givs_used_by_other) .  Changed all callers.
 
-       * c-decl.c (define_label): Set DECL_CONTEXT.
-       Maybe push label on shadowed_labels.
-       (pop_c_function_context): Clear out labels in named_labels
-       and reinstall those in shadowed_labels.
-       Restore shadowed_labels.
-       (push_c_function_context): Push shadowed_labels.
-       (start_function): Clear shadowed_labels.
+Tue Dec 15 01:45:26 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * function.c: New file, split from stmt.c.
+       * dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
+       instead of TREE_CODE_CLASS == 't'.
+       (gen_type_die): Likewise.
+       (scope_die_for): Ignore FUNCTION_TYPE "scopes".
 
-       * xm-mips.h: Use __builtin_alloca.
+Mon Dec 14 16:23:27 1998  Jim Wilson  <wilson@cygnus.com>
 
-Fri Oct  6 00:30:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * real.c (endian): Disable last change unless
+       HOST_BITS_PER_WIDE_INT is greater than 32.
 
-       * jump.c (jump_optimize): Optimization of
-       `if (...) x = 1; else {...}  if (x) ...' got sense wrong sometimes.
+Mon Dec 14 17:13:36 1998  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * Makefile.in (stamp-gnulib2): depend on gcc, cc1, cpp via
-       gnulib2-indirect.
+       * output.h (force_data_section): New prototype.
+       * varasm.c (force_data_section): New function to force the
+       data section, regardless of what in_section thinks.
+       * dwarf2out.c (output_call_frame_info): Call force_data_section
+       since varasm may not realize we've changes sections.
 
-       * tm-vax.h (TRAMPOLINE_SIZE,INITIALIZE_TRAMPOLINE,TRAMPOLINE_TEMPLATE):
-       Define macros.
+Mon Dec 14 14:09:34 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * m68k.md (addsi3): Change ! to ? in lea alternatives.
-       Put them before the add-to-register alternative.
+       * reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
+         after completing reload.
 
-       * reload.c (find_dummy_reload): Use PREFERRED_RELOAD_CLASS here
-       as in push_reload, so we make accurate predictions.
+       * rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
+         deleted after reload.
 
-       * c-decl.c (pushdecl): Don't set DECL_CONTEXT for function declaration
-       that isn't a definition.
+Mon Dec 14 01:39:28 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * explow.c (fix_lexical_addr): Handle address that's just a base reg.
+       * rtl.h (multiple_sets): Fix prototype.
+       * rtlanal.c (multiple_sets): Fix return type.
+
+Sun Dec 13 12:43:58 1998  Jeff Law  (law@cygnus.com)
 
-       * expr.c (expand_expr, case VAR_DECL): No need for static chain
-       if var is static.
+       * version.c: Bump for snapshot.
 
-       * reload.c (find_equiv_reg): Do let xregno be a pseudo reg,
-       but don't call HARD_REGNO_NREGS in that case.
+Sun Dec 13 01:05:22 1998  Jeff Law  (law@cygnus.com)
 
-       * local-alloc.c (combine_regs): Set reg_qty[sreg] even if it was <0.
+       * version.c: Bump for snapshot.
 
-       * c-decl.c (start_function): Clear named_labels.
+1998-12-13  Manfred Hollstein  <manfred@s-direktnet.de>
 
-Thu Oct  5 00:30:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
 
-       * reload.c (find_equiv_reg): Don't let xregno be a non-hard reg.
-       Don't do OVERLAPPING_REGNO_P on a pseudo reg number. 
+Sun Dec 13 00:24:14 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * Handle addresses of nested functions.
-       * New tm macros TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE,
-       ALLOCATE_TRAMPOLINE, TRAMPOLINE_TEMPLATE.
-       * expr.c (expand_expr, case ADDR_EXPR): Handle addresses of nested fns.
-       * stmt.c (trampoline_address): New function.
-       * varasm.c (assemble_trampoline_template): New function.
+       * rtl.h (recompute_reg_usage): Add second argument.
+       * flow.c (recompute_reg_usage): Likewise.
+       * toplev.c (rest_of_compilation): Supply second argument to
+       recompute_reg_usage.
 
-       * i386.md (trunchiqi2, etc.): Output %1 with size of destination.
-       * out-i386.c (PRINT_REG): Support 'b' as CODE.
+       * reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
+       after reload.
 
-       * combine.c (try_distrib): Make sure we don't move a reg use
-       across a store into that reg.
+Sat Dec 12 23:39:10 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * reload1.c (order_regs_for_reload): Rate fixed regs at LARGE+2,
-       and explicitly used regs at LARGE+1.
+       * m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
+       (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
+       (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
+       mcpu32 or m5200.
 
-       * stor-layout.c (layout_record): Support BIGGEST_FIELD_ALIGNMENT.
-       * tm-vax.h (BIGGEST_FIELD_ALIGNMENT): Define it.
-       (BIGGEST_ALIGNMENT): Now always 32.
+       * i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
 
-       * stor-layout.c (build_int): When memoizing, make permanent nodes.
+       * rtlanal.c (multiple_sets): New function.
+       * rtl.h (multiple_sets): Declare it.
+       * local-alloc.c (wipe_dead_reg): Use it.
+       * global.c (global_conflicts): Likewise.
 
-Wed Oct  4 19:40:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Dec 12 22:13:02 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * xm-i860.h: Missing file added.
+       * global.c (record_conflicts): Don't use an array of shorts to
+       store an array of ints.
+       (global_conflicts): Likewise.
 
-       * integrate.c (function_cannot_inline_p): Don't inline if > 100 bytes
-       of stack space, unless declared inline.
+Sat Dec 12 16:49:24 1998  Richard Henderson  <rth@cygnus.com>
 
-Tue Oct  3 00:16:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * alpha.c (alpha_expand_block_move): mode_for_size expects
+       bits, not bytes.  Infer extra alignment from addressof.
 
-       * stmt.c (assign_outer_stack_local): New function.
-       (put_var_into_stack): Allocate stack slot in fn the variable is in.
+1998-12-11  Michael Meissner  <meissner@cygnus.com>
 
-       * stmt.c (put_var_into_stack): If variable-size object is nonlocal,
-       put the pseudo with its address into the stack.
+       * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
+       .sbss section, not .sdata.
 
-       * calls.c: New file, split out from expr.c.
-       (expand_call): Pass static chain if fn wants it.
+1998-12-11  Manfred Hollstein  <manfred@s-direktnet.de>
 
-       * Make put_var_into_stack handle vars of containing function.
-       * stmt.c (put_var_into_stack): Find the rtl chains for the
-       function that the variable belongs to.
-       (fixup_var_refs): New args FIRST_INSN, STACK and RTL_EXPS.
+       * cccp.c: Do not #include <sys/stat.h> here; this is already done
+       by "system.h".
+       * collect2.c: Likewise.
+       * cpplib.h: Likewise.
+       * gcc.c: Likewise.
+       * gcov.c: Likewise.
+       * getpwd.c: Likewise.
+       * protoize.c: Likewise.
+       * toplev.c: Likewise.
 
-       * Make DECL_CONTEXT the function a var is in, and set it right away.
-       * c-decl.c (store_parm_decls): Use DECL_RESULT, not DECL_CONTEXT,
-       as the flag for duplicate names or missing names.
-       * c-decl.c (start_function): Don't set current_function_decl
-       till after calling pushdecl.
-       * c-decl.c (pushdecl): Set DECL_CONTEXT to current_function_decl.
-       (poplevel): Used to set it here, to the LET_STMT.  Don't.
-       * stmt.c (init_function_start): Test for a FUNCTION_DECL in
-       DECL_CONTEXT, not for a LET_STMT.
+       * cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
+       and don't try to define it here.
+       * Makefile.in (cppmain.o): Depend on machmode.h.
+       (cpplib.o): Likewise.
+       (cpperror.o): Likewise.
+       (cppexp.o): Likewise.
+       (cppfiles.o): Likewise.
+       (cpphash.o): Likewise.
+       (cppalloc.o): Likewise.
+       (fix-header.o): Likewise.
+       (scan-decls.o): Likewise.
 
-       * c-parse.y (primary <- identifier): Set TREE_NONLOCAL if appro.
-       Also call mark_addressable.
+Fri Dec 11 11:02:49 1998  Stan Cox  <scox@cygnus.com>
 
-       * stmt.c (expand_function_start): Store static chain into stack frame.
-       Fetch static chains of containing functions into pseudos.
-       (lookup_static_chain): Moved here; and really does something.
-       * expr.c (expand_expr): Handle nonlocal variable.
-       * explow.c (fix_lexical_addr): New function.
+       * sh.c (print_operand): Lookup interrupt_handler attribute instead
+       of relying on static variable.
+       * (calc_live_regs): Likewise.
+       * (sh_pragma_insert_attributes): Create interrupt_handler
+       attribute if a pragma was specified.
+       * (sh_valid_machine_decl_attribute): Don't set static flag.
+       * sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
 
-       * out-i386.c (fp_pop_int): Use %L0 in fistp insn.
+Fri Dec 11 12:56:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * global-alloc (find_reg): Fix typo marking new hard reg conflicts.
+       * reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
+       to determine if a register is live at a jump destination.
+       Everything is dead at a BARRIER.
 
-       * stmt.c (pushcase, pushcase_range, expand_end_case):
-       When warning about insns at start of case, don't mind NOTEs.
+Thu Dec 10 16:02:06 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * local-alloc.c (combine_regs):
-       Transfer all pseudos from SREG's old qty to its new qty.
+       * cse.c (simplify_unary_operation): Sign-extend constants when
+       they have the most significant bit set for the target.
+       * real.c (endian): Sign-extend 32 bit output values on a 64 bit
+       host.
+       * m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
+       HOST_WIDE_INT temporary before negating it.
+       * m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
 
-       * Support nested functions:
-       * stmt.c (push_function_context, pop_function_context): New functions.
-       * tree.c (save_tree_status, restore_tree_status): New functions.
-       * stor-layout.c (save_storage_status, restore_storage_status): Ditto.
-       * expr.c (save_expr_status, restore_expr_status): Ditto.
-       * emit-rtl.c (save_emit_status, restore_emit_status): Ditto.
-       * c-decl.c (push_c_function_context, pop_c_function_context): Ditto.
-       (start_function, finish_function): New arg NESTED.
-       * c-parse.y (nested_function, notype_nested_function): New nonterms.
-       (decl): New alternative to use them.
+Thu Dec 10 15:05:59 1998  Dave Brolley  <brolley@cygnus.com>
 
-       * tree.h: Declare lineno.
-       * c-decl.c (finish_function): Don't expect lineno as arg.
-       * c-parse.y (fndecl, *nested_function): Don't pass it.
+       * objc/objc-act.c (lang_init_options): Enclose cpplib related code in
+       #if USE_CPPLIB.
 
-       * expr.c (init_expr, expand_call): Delete may_call_alloca.
-       * tm-m88k.h, tm-sparc.h, tm-spur.h: Use current_function_calls_alloca.
-       * tm-mips.h: It wasn't really used; delete its declaration.
+Thu Dec 10 13:39:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Mon Oct  2 16:26:33 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * collect2.h: New header file for prototypes.
 
-       * reload1.c (emit_reload_insns): Reject any OLDEQUIV that is
-       in use in any other reload of this insn.
+       * Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
 
-       * expr.c (expand_call): Don't put on notes for const functions
-       if there aren't real insns to hold them.
+       * collect2.c: Include collect2.h.
+       * tlink.c: Likewise.
 
-Sun Oct  1 19:50:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Dec  9 23:55:11 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * integrate.c (expand_inline_function): Handle PARALLEL in CALL_INSNs
-       when setting follows_call.
+       * flow.c: Update some comments.
 
-       * mips.md (call_value): Change to a straightforward define_insn
-       with just one action--no PARALLEL.
+Wed Dec  9 15:29:26 1998  Dave Brolley  <brolley@cygnus.com>
 
-       * i860.md (pfeq, pfgt and pfle patterns): Add f0 as 3rd arg.
+       * objc/objc-act.c (cpp_initialized): Removed.
+       (lang_init_options): Initialize cpplib.
+       (lang_decode_option): Move initialization of cpplib to
+       lang_init_options.
+       * c-lang.c (parse_options,parse_in): Added.
+       (lang_init_options): Initialized cpplib here.
+       * c-decl.c (parse_options,cpp_initialized): Removed.
+       (c_decode_option): Move initialization of cpplib to
+       lang_init_options.
 
-       * integrate.c (save_for_inline): Don't delete NOTE_INSN_FUNCTION_END.
+Wed Dec  9 19:36:57 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * c-parse.y (simple_if): Return $$ as value of stmt_count.
-       (stmt (if statement)): Warn if $$ was not incremented in the body.
-       (stmt (else statement)): Likewise.
-       (stmt): All alternatives except null statement increment stmt_count.
+       * reload1.c (reload_combine, reload_combine_note_store):
+       Make STORE_RUID always valid.
+       (reload_combine): Check if BASE is clobbered too early.
 
-Fri Sep 29 08:56:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Dec  9 09:53:58 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * reload.c (find_reloads): Display the insn that cannot be
+       reloaded.
+
+Wed Dec  9 12:15:26 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * cccp.c (create_definition): Fix end of buffer logic.
+
+Wed Dec  9 10:15:45 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
+       pointer parameters changed to use the PARAMS() macro.
+
+Wed Dec  9 09:12:40 1998  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * except.h (struct handler_info): Add handler_number field.
+       * except.c (gen_exception_label): EH labels no longer need to be
+       on the permanent obstack.
+       (get_new_handler): Set the label number field.
+       (output_exception_table_entry): Regenerate handler label reference
+       from the label number field.
+       (init_eh): Remove a blank line.
+       * integrate.c (get_label_from_map): Labels no longer need to be
+       on the permanent obstack.
 
-       * regclass.c (reg_class_record): If move between CLASS and GENERAL_REGS
-       is costly, charge that cost to GENERAL_REGS and its subclasses.
-       * tm-alliant.h, tm-m68k.h (REGISTER_MOVE_COST): New macro.
+Tue Dec  8 22:04:33 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * regclass.c (regclass): When a reg is a parm equiv to a stack slot,
-       decrease its memcost, since the insn to load it would go away.
+       * i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
+       only when OUTER_CODE is SET.
 
-       * global-alloc.c (find_reg): Rewrite two-pass hard reg preference code.
-       Uses regs_used_so_far to avoid allocating a reg not used elsewhere
-       in the first pass.  Also updates regs_used_so_far.
-       (global_alloc): Initialize regs_used_so_far.
-
-       * tm-next.h (LINK_SPEC): Typo for -Z option.  Don't pass -M option
-       to ld, since that is for cpp.
-
-       * Support -MD and -MMD options.
-       * gcc.c (default_compilers): Pass them to cpp in special way.
-       Don't inhibit compilation for them, only for -M and -MM.
-       * cccp.c (main): Handle them like -M and -MM except take arg
-       which is file name to write deps in.
-
-       * toplev.c: #if 0 around everything for GDB_DEBUG.
-       * symout.c: File removed from distribution.
-       * Makefile.in: Don't try to compile or link it.
-
-       * tm-hp9k320.h (ASM_FILE_START): Output a `version' pseudo-op.
-       [! HPUX_ASM] (ASM_SPEC): Don't use the -V option.  Recognize -mc68000.
-       (CALL_USED_REGISTERS): Redefinition deleted.  HPUX 6.5 doesn't need it.
-       * tm-hp9k310.h, tm-hp9k310g.h: New files.
-
-Thu Sep 28 12:57:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * stmt.c (pushcase, pushcase_range): Warn if code was emitted inside
-       case stmt before 1st label is seen.
-       (expand_start_case): New arg is string to use in that warning.
-       (struct nesting): New fields printname and seenlabel.
-       * c-typeck.c (c_expand_start_case): Pass new arg to expand_start_case.
-
-       * gcc.c: Can now read compilation specs, and asm_spec (etc), from file.
-       (cpp_spec, asm_spec, etc.): New variables, initted to corresp. macros.
-       (do_spec_1, validate_all_switches): Use the variables, not the macros.
-       (link_command_spec): New name for old link_spec.
-       (compilers, n_compilers): Now a pointer, with size of vector ptd to.
-       (default_compilers): New name for old `compilers' vector.
-       (read_specs): Given file name, read specs and add to `compilers'.
-       Also set cpp_spec, asm_spec, etc.
-       (skip_whitespace): New subroutine.
-       (main): Initialize `compilers' from `default_compilers'.
-       Find a specs file and call read_specs.
-       Search thru `compilers' from back to front.
-       * Makefile.in (install): Use gcc -dumpspecs to write a specs file.
-
-       * Support multiple installed compilers; find them by
-       target machine and version.
-       (STANDARD_EXEC_PREFIX): Change to `.../gcc/'.
-       (standard_exec_prefix_1): Change to `.../gcc/'.
-       (process_command): Options -b and -V set spec_machine, spec_version.
-       Option -dumpspecs writes specs file to define cpp_spec, asm_spec, etc.
-       Option -dumpversion writes version number.
-       (main): Set machine_suffix from spec_machine and spec_version.
-       * Makefile.in (libsubdir): New variable, made from libdir.
-       (gcc.o): Define DEFAULT_TARGET_MACHINE macro in compilation.
-       Change value of STANDARD_EXEC_PREFIX as above.
-       (cccp.o): Use libsubdir.
-       (install): Install files under $(libsubdir), after making that dir.
-
-       * reload.c (decompose): Handle case of pseudo with no hard reg.
-
-Wed Sep 27 01:20:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * global-alloc.c: #if 0 handling of REG_NO_CONFLICT notes.
-
-       * c-typeck.c (build_c_cast): Implement cast to union type.
-
-       * Edit the makefile automatically when necessary.
-       * config.gcc: Produce Makefile by editing Makefile.in with sed.
-       * Makefile.in: New name for file `Makefile'.
-       Comments on editing the file deleted.
-       * config/make-*: Various files are inserted by sed into Makefile.
-
-       * Provide a way for languages to control printing of function names.
-       * toplev.c (error, fatal, announce_function, etc.):
-       Use value of decl_printable_name to compute what name to print.
-       * stmt.c (init_function_start): Likewise.
-       * toplev.c (main): Init that variable.
-       (decl_name): New function, used by default.
-
-       * explow.c (round_push): Fix typo: return fast if ALIGN is 1.
-
-       * flow.c (dump_flow_info): Delete excess arg to fprintf.
-       * gcc.c (fatal): Delete excess arg to delete_temp_files.
-
-       * expr.c (convert_move): Handle absence of integer truncate insns
-       by copying value to a reg (and then using subreg).
-
-       * final.c (final_start_function): Do leaf-function register renumbering
-       if that is defined for this machine.
-       (leaf_renumber_regs, only_leaf_regs_used, leaf_function_p): New fns.
-
-       * varasm.c (in_text_section): New function.
-       * tm-3b1.h (ASM_OUTPUT_SKIP): Use that.
-
-       * stmt.c (case_index_expr_type): New function.
-
-       * c-parse.y (maybe_attribute): Don't fail to return a value.
-
-Tue Sep 26 02:40:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * Do auto-increments for hard regs.
-       * flow.c (mark_used_regs): Do set reg_next_use for hard regs.
-       When making an auto-increment for a hard reg, don't mess with
-       reg_n_refs or reg_n_sets.
-       (try_pre_increment_1): Likewise.
-
-       * gcc.c (compilers): -undef inhibits predefined symbols.
-
-       * combine.c (subst): In case EQ, prefer ZERO_EXTRACT, not SIGN_EXTRACT.
-       * vax.md (jbs, jbc patterns): Write with ZERO_EXTRACT.
-       * m88k.md: Likewise.
-
-       * Merge C++ changes in stmt.c:
-       * Set up an obstack, stmt_obstack.
-       (ALLOC_NESTING): Allocate a `struct nesting' on that.  Callers changed.
-       (POPSTACK): Use the obstack.
-       (init_stmt): New fn: init the obstack.
-       (any_pending_cleanup): New fn.
-       (expand_start_bindings): Leave outer_cleanups 0 if nothing in it.
-       (expand_end_bindings): Preserve some global vars around cleanups.
-       After cleanups, if no stack level to restore, do pending pops.
-       (fixup_cleanups): Do pending pops after the cleanups.
-       (expand_start_case): Don't output a NOTE if already have one.
-       (assign_parms): Speed up sizetree computations in common case.
-       (init_function_start): Use lang_printable_name for current_function_name.
-       (expand_function_end): Don't set REG_FUNCTION_VALUE_P
-       for a pseudo reg used to copy into the real return.
-       * toplev.c (compile_file): Call init_stmt.
-
-       * c-typeck.c (commontype): If one arg is error_mark_node, return other.
-
-Mon Sep 25 12:13:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * optabs.c (expand_binop): Handle boolean ops on >SImode with
-       several one-word insns.  Put out REG_EQUAL and REG_NO_CONFLICT notes.
-       * global-alloc.c (global_conflicts): For each insn, record
-       in no_conflict_pairs all the REG_NO_CONFLICT notes of the insn.
-       (record_one_conflict): Don't mark a conflict between such a pair.
-       * local-alloc.c (block_alloc): Do combine_regs on the sequences
-       made by expand_binop for multi-word boolean ops.
-       (combine_regs): New arg ALREADY_DEAD is 1 if UREG died prior to INSN.
-       (no_conflict_p): New subroutine.
-       * combine.c (try_combine): Move REG_NO_CONFLICT notes like REG_INC.
-       * flow.c (life_analysis): Don't delete no-op moves
-       if they carry REG_EQUAL notes.  These insns are needed later.
-       * reload.c (find_dummy_reload): Use actual operands (which may be
-       subregs) for most purposes, including checking for overlap.
-       (hard_reg_set_here_p): Handle a range of regnos, not just one.
-
-       * loop.c (move_movables): Use special techniques to move regs
-       used for zero-extension.  Don't combine matching regs; instead,
-       just record them in pairs in regs_may_share.
-       * global-alloc.c (global_alloc): Digest regs_may_share into a
-       vector, reg_may_share.  Then assign matching regs the same allocno.
-       (global_alloc): Initialize allocno_n_refs, allocno_live_length,
-       allocno_calls_crossed.
-       (allocno_compare): Use those new vectors; don't use allocno_reg.
-       (find_reg): Use those new vectors.
-       Assign hard reg to all the pseudos that share the allocno.
-
-       * jump.c (jump_optimize): Two new cases simplify jumping to or
-       falling into a test-and-branch after setting the register being tested.
-       * jump.c (get_label_before, get_label_after): New functions.
-       (do_cross_jump): Use get_label_before.
-
-Sun Sep 24 00:21:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
-
-       * gnulib2.c (__fixunsdfsi): Defined here, not in gnulib.c.
-       * Makefile (LIBFUNCS, LIB2FUNCS): Corresponding change.
-
-       * tm-i860.h (SDB_DEBUGGING_INFO): Define this, not SDB_...
-
-       * gcc.c (link_spec): Don't specify -lg.
-       * tm-alliant.h, tm-convex.h, tm-hp9k3bsd.h, tm-isi68.h, tm-news.h
-       * tm-pyr.h, tm-seq386.h, tm-sequent.h, tm-sparc.h, tm-spur.h
-       * tm-sun2.h, tm-sun3.h, tm-sun386i.h, tm-tahoe.h, tm-vax.h:
-       Make LIB_SPEC link with -lg.
-       * tm-harris.h, tm-vaxv.h, tm-vms.h: Turn off inherited LIB_SPEC.
-
-       * recog.h (insn_*): Declare these tables `const'.
-       (const): Define this as nothing, if not __STDC__.
-       * expr.h (insn_gen_function): Declare `const'.
-       (const): Define this as nothing, if not __STDC__.
-       * genoutput.c (main): In insn-output.c, don't define `const' if
-       already defined.
+Tue Dec  8 22:47:15 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * recog.c (offsettable_nonstrict_memref_p): New function.
-       * stmt.c (fixup_var_refs_1): Use that, not offsettable_memref_p.
-       * reload.c (find_reloads): Likewise.
+       * loop.c (strength_reduce): If scan_start points to the loop exit
+       test, be wary of subversive use of gotos inside expression statements.
+       Don't set maybe_multiple for a backward jump that does not
+       include the label under consideration into its range.
+       * unroll.c (biv_total_increment): Make use of maybe_multiple field.
 
-       * integrate.c (save_for_inline): Set in_nonparm_insns when arrive
-       at the first nonparm insn.
-       (copy_for_inline): Set TREE_READONLY only if in_nonparm_insns.
+Tue Dec  8 22:33:18 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * Makefile (float.h): Make hard-params an ordinary dependency.
+       * explow.c (plus_constant_wide): Don't immediately return with
+       result of recursive call.
 
-       * c-decl.c (poplevel): When popping a local extern decl,
-       save the TREE_USED bit in the identifier.
-       * toplev.c (compile_file): Check that, printing "not used" warnings.
+Tue Dec  8 15:32:56 1998  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * c-parse.y (init_lex): Discard undesired reserved words from table.
-       (yylex): No need to check for them at lookup time.
+       * eh-common.h (struct eh_context): Add table_index for rethrows.
 
-       * tree.c (make_node): Always put PARM_DECL in saveable_obstack.
+       * rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
+       (SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
+       processed when inlined or unrolled (ie duplicated in some way).
 
-       * toplev.c (floor_log2, exact_log2): Rewritten for speed.
+       * rtl.c (reg_note_name): Add strings for new reg_note enums.
 
-       * tree.c (listify): New function.
+       * expr.h (rethrow_libfunc): New library decl.
 
-       * c-typeck.c (convert_for_assignment): New args for function being
-       called and argument number.  Used in error messages.
-       (actualparameterlist): Pass those args usefully.
-       (wrn_for_assignment): New function.
+       * optabs.c (rethrow_libfunc): Initialize.
 
-       * loop.c (general_induction_var): Handle give copied from a biv.
+       * except.h (struct eh_entry): Add new field 'rethrow_label'.
+       (new_eh_region_entry): No longer exported from except.c.
+       (duplicate_handlers): Renamed to duplicate_eh_handlers and
+       different prototype.
+       (rethrow_symbol_map, rethrow_used): New exported functions.
+       (eh_region_from_symbol): New exported function.
 
-       * i386.md (div*i3, udiv*i3): New patterns.
-       (divmodhi4, udivmodhi4): New patterns.
+       * except.c (create_rethrow_ref): New function to create a single
+       SYMBOL_REF for a rethrow region.
+       (push_eh_entry): Initialize a rethrow ref.
+       (func_eh_entry): Add a rethrow_label field.
+       (new_eh_region_entry): Make static, and initialize the rethrow entry.
+       (duplicate_eh_handlers): Create a new region, and remap labels/symbols.
+       (eh_region_from_symbol): Find an EH region based on its rethrow symbol.
+       (rethrow_symbol_map): Given a label map, maps a rethrow symbol for
+       a region into an appropriate new symbol.
+       (rethrow_used): Indicate whether a rethrow symbol has been referenced.
+       (expand_eh_region_end): Don't issue jump around code for new-exceptions.
+       (end_catch_handler): Emit a barrier for new-exceptions since
+       control can never drop through the end of a catch block.
+       (expand_end_all_catch): new-exceptions never fall through a catch
+       block.
+       (expand_rethrow): Use __rethrow routine for new exceptions.
+       (output_exception_table_entry): Generate rethrow labels, if needed.
+       (output_exception_table): Generate start and end rethrow labels.
+       (init_eh): Create rethrow symbols for beginning and end of table.
+       (scan_region): Don't eliminate EH regions which are the targets of
+       rethrows.
 
-       * combine.c (subst):
-       Simplify (sign_extend:M (subreg:N (lshiftrt:M REG CONST) 0))
-       when REG was assigned from (zero_extend:M (any:N ...)).
-       Make the similar (zero_extend:M ...) case share code.
+       * flow.c (make_edges): Add different edges for rethrow calls,
+       identified by having the REG_EH_RETHROW reg label.
+       (delete_unreachable_blocks): Don't delete regions markers which are
+       the target of a rethrow.
 
-       * expr.c (store_field): A frame-pointer-relative address is stable.
+       * integrate.c (save_for_inline_eh_labelmap): New callback routine to
+       allow save_for_inline_copying to call duplicate_eh_handlers.
+       (save_for_inline_copying): Call duplicate_eh_handlers instead of
+       exposing internal details of exception regions.
+       (copy_for_inline): Check if SYMBOL_REFs need adjustment.
+       (expand_inline_function_eh_labelmap): New callback routine to
+       allow expand_inline_function to call duplicate_eh_handlers.
+       (expand_inline_function): Call duplicate_eh_handlers instead of
+       exposing internal details of exception regions.
+       (copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
+       flag is set.
 
-       * expr.c (expand_expr): Effectively pass on IGNORE for 2nd op of comma.
+       * libgcc2.c (find_exception_handler): Generalize to enable it to
+       pick up processing where it left off last time for a rethrow.
+       (__unwinding_cleanup): New function. debug hook which is called before
+       unwinding when __throw finds there is nothing but cleanups left.
+       (throw_helper): Common parts of __throw extracted out for reuse.
+       (__throw): Common parts moved to throw_helper.
+       (__rethrow): New function for performing rethrows.
 
-Sun Sep 24 00:21:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Dec  8 13:11:04 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * Version 1.36 released.
+       * reload1.c (current_function_decl): Tweak declaration.
+
+Tue Dec  8 10:23:52 1998  Richard Henderson  <rth@cygnus.com>
+
+       * c-decl.c (flag_isoc9x): Default off.
+       (c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
+       * cccp.c (print_help, main): Likewise.
+       * gcc.c (default_compilers): Update for -std=gnu*.
 
-       * genextract.c (main): Pass `insn' as arg to `fatal_insn_not_found'.
+Tue Dec  8 01:14:46 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * tahoe.md (casel patterns): Use %@ for operand of .align.
-       * tm-tahoe.h (PRINT_OPERAND): %@ prints `1'.
-       * tm-harris.h (PRINT_OPERAND): Redefine it; %@ prints `2'.
+       * Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
+       * demangle.h: Deleted.
+
+       * reload1.c (current_function_decl): Declare.
+
+Tue Dec  8 11:58:51 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
+
+Tue Dec  8 09:28:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
+
+1998-12-08  Ulrich Drepper  <drepper@cygnus.com>
+
+       * configure.in: Test for availability of putc_unlocked, fputc_unlocked,
+       and fputs_unlocked.
+       * configure: Rebuilt.
+       * system.h: If the *_unlocked functions are available use them
+       instead of the locked counterparts by defining macros.
+       * config.in: Regenerated.
+
+Tue Dec  8 00:34:05 1998  Mike Stump  <mrs@wrs.com>
+
+       * i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
+       wrong and should only be used for dump related things, not
+       debugging information, instead main_input_filename should be used.
+       Also, reuse output_file_directive if possible.
+       * i386/aix386ng.h (ASM_FILE_START): Likewise.
+       * i386/isc.h (ASM_FILE_START): Likewise.
+       * i386/win-nt.h (ASM_FILE_START): Likewise.
+       * i386/sun386.h (ASM_FILE_START): Likewise.
+
+Mon Dec  7 23:56:28 1998  Robert Lipe  <robertl@dgii.com>
+
+       * configure.in (mips*-*-linux*): Handle big and little endian
+       systems.
+       * configure: Rebuilt.
+
+Mon Dec  7 23:14:51 1998  Mike Stump  <mrs@wrs.com>
+
+       * emit-rtl.c: Fix typo.
+
+Mon Dec  7 23:07:38 1998  Nathan Sidwell  <nathan@acm.org>
+
+       * reload1.c (eliminate_regs): Don't do anything, if we're not
+       generating code.
 
-       * config.gcc (decstation): New entry.
+Mon Dec  7 15:27:09 1998  DJ Delorie  <dj@cygnus.com>
 
-       * tm-harris.h: New file, using tm-tahoe.h.
+       * mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
+       Add comment.
+       * mips/mips.c (mips_select_section): Add comment.
 
-       * tm-decstatn.h, tm-mips-bsd.h, tm-mips-sysv.h: New files.
+Mon Dec  7 17:55:06 1998  Mike Stump  <mrs@wrs.com>
 
-Sat Sep 23 00:28:14 1989  Alain Lichnewsky  (lich at glenlivet)
+       * cccp.c (ignore_escape_flag): Add support for \ as `natural'
+       characters in file names in #line to be consistent with #include
+       handling.  We support escape processing in the # 1 "..." version of
+       the command.  See also support in cp/lex.c.
+       (handle_directive): Likewise.
+       (do_line): Likewise.
 
-       * added -Zxxx flag in tm-mips.h. (-Z stands for systype)
+1998-12-07  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-         used as -ZSYSV or -ZBSD43 on RISC_OS. I suppose
-         that at somepoint -ZPOSIX might be required for Ultrix. 
+       * cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
+         so it'll work on non-ASCII platforms.  Always consider $ an
+         identifier character.  Take no arguments.
+         (cpp_reader_init): Call initialize_char_syntax with no
+         arguments.
+         (cpp_start_read): Don't call initialize_char_syntax again.
+         Clear is_idchar['$'] and is_idstart['$'] if not
+         opts->dollars_in_ident.
 
-       * changed command issued to loader to set -systype and to get
-          crt1 crtn instead of crt0.
+       * cpplib.h (struct cpp_reader): Replace void *data element by
+         cpp_options *opts.  Rearrange elements to make gdb printout
+         less annoying (put buffer stack at end).
+         (CPP_OPTIONS): Get rid of now-unnecessary cast.
 
-        * changed predefines for cpp to agree with RISC-OS
+       * cppmain.c: s/data/opts/ when initializing cpp_reader
+         structure.
+       * c-decl.c: Likewise.
+       * objc/objc-act.c: Likewise.
+       * fix-header.c: Likewise.
 
-       * tm-mips.h checks for machine type ( defined(ultrix) == DECSTATION)
-         so that user does not have to go in and change tm-mips.h anymore
+1998-12-07  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-       * cpp defines mips host_mips unix and SYSTYPE_SYSV
-         or SYSTYPE_BSD43. 
+       * cpplib.h (struct cpp_buffer): Replace dir and dlen members
+       with a struct file_name_list pointer.
+       (struct cpp_reader): Add pointer to chain of `actual
+       directory' include searchpath entries.
+       (struct file_name_list): Add *alloc pointer for the sake of
+       the actual-directory chain.
 
-Fri Sep 22 00:31:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       Move definition of HOST_WIDE_INT here.
+       (cpp_parse_escape): Change prototype to match changes in
+       cppexp.c.
 
-       * pyr.md (andsi3): Flush spurious paren.
+       * cppfiles.c (actual_directory): New function.
+       (finclude): Use it to initialize the buffer's actual_dir
+       entry.
+       (find_include_file): We don't need to fix up max_include_len
+       here.
 
-       * Makefile (hard-params): Don't use LIBS or LIBDEPS.
+       * cpplib.c (do_include): Don't allocate a file_name_list on
+       the fly for current directory "" includes, use the one that's
+       been preallocated in pfile->buffer->actual_dir.  Hoist out
+       duplicate code from the search_start selection logic.
+       (cpp_reader_init): Initialize pfile->actual_dirs.
 
-       * rtl.c (init_rtl):
-       Use malloc to allocate the string for format of CONST_DOUBLE.
-       Don't fail to store in rtx_format.
+       Remove definition of HOST_WIDE_INT.  Change calls
+       to cpp_parse_escape to match changes in cppexp.c (note
+       hardcoded MASK, which is safe since this is the source
+       character set).
 
-Thu Sep 21 00:33:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
+       to handle wide character constants in #if directives.  The
+       function now returns a HOST_WIDE_INT, and takes a third
+       argument which is a binary mask for all legal values (0x00ff
+       for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.)  Define
+       MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK.  Change callers of
+       cpp_parse_escape to match.  [Fixes c-torture/execute/widechar-1.c]
 
-       * print-tree.c (dump): Move decl of P in REAL_CST case.
+Mon Dec  7 15:38:25 1998  Dave Brolley  <brolley@cygnus.com>
 
-       * fold-const.c (fold): For ABS_EXPR, handle REAL_IS_NOT_DOUBLE.
+       * gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
 
-       * c-convert.c (convert_to_real): Use REAL_VALUE_ATOF to make 0.
+Mon Dec  7 15:38:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * mips.md (movdi): Handle constant with or without WORDS_BIG_ENDIAN.
-       For alternative 2, output just 2 store insns, not 3.
+       * c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
+       * cppalloc.c: Move function `xcalloc' from cpplib.c to here.
+       * cpplib.c: Move function `xcalloc' from here to cppalloc.c.
 
-       * dbxout.c (dbxout_symbol): Optionally go to .data for
-       a static file-scope variable.
-       * tm-vax.h: Define DBX_STATIC_STAB_DATA_SECTION to request this.
+Mon Dec  7 11:30:49 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * varasm.c (output_constant, force_const_mem):
-       ASM_OUTPUT_DOUBLE_INT now takes rtx as argument.
+       * final.c (output_asm_name): Use tabs to separate comments from
+       assembly text.
 
-       * gvarargs.h [__NeXT__]: Undefine macros defined by stdardg.h.
-       Define _VARARGS_H.
+       Include instruction lengths (if defined) in output.
 
-       * stddef.h (size_t): Don't define it if _SIZE_T macro is defined.
-       (NULL): Undef any previous defn.
+Mon Dec  7 10:53:38 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * cexp.y (NULL): Don't define if already defined.
+       * loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
+       in the loop_info structure.
 
-       * emit-rtl.c (force_next_line_note): New function.
-       * stmt.c (expand_function_start): Call that just before returning.
+Mon Dec  7 11:04:40 1998  Catherine Moore  <clm@cygnus.com>
 
-Wed Sep 20 01:22:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * configure.in (arm*-*-ecos-elf): New target.
+       * configure: Regenerated.
+       * config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
+       * config/arm/ecos-elf.h: New file.
+       * config/arm/unknown-elf.h (TARGET_VERSION): Check
+       for redefinition.
 
-       * c-parse.y (asm_clobbers):
-       Allow string concatenation: call combine_strings.
+Mon Dec  7 16:15:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Mon Sep 18 00:04:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * sh.c (output_far_jump): Emit braf only for TARGET_SH2.
 
-       * expr.c (expand_call): If calling const function, don't defer
-       pops for this call.
+Sun Dec  6 04:19:45 1998  Jeff Law  (law@cygnus.com)
 
-       * c-parse.y (yylex): When float constant ends in `f',
-       actually truncate to a single-float.
+       * version.c: Bump for snapshot.
 
-Sun Sep 17 01:36:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Dec  6 05:16:16 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * gcc.c (SWITCH_TAKES_ARG): -A takes an arg.
-       (link_spec): Inhibit start files when -A.
+       * loop.c (check_dbra_loop): New argument loop_info.  Update fields
+       as needed.
 
-       * convex.md (call, call_value): Supply dummy arg to RETURN_POPS_ARGS.
+Sun Dec  6 03:40:13 1998  Jeff Law  (law@cygnus.com)
 
-       * gnulib2.c (__fixunsdfdi): After removing top half, A can be neg.
-       (__cmpdi2, __ucmpdi2): Was misusing macros HIGH and LOW--
-       use .s.high and .s.low to extract words from long_long.
+       * version.c: Bump for snapshot.
 
-       * Makefile (gnulib2): Run `./gcc'.
+Sun Dec  6 07:49:29 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
-       * Makefile (float.h): Use `make', not `$(MAKE)'.
-       (hard-params.o): Use `$(srcdir)' in deps as in commands.
+       * gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
+       compressed reports are ok and preferred over URLs.
 
-       * out-tahoe.c (output_move_double): Handle constant operand 1.
+Sun Dec  6 07:45:33 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
-Sat Sep 16 01:15:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * invoke.texi (Warning Options): Soften the tone of -pedantic.
 
-       * reload1.c (emit_reload_insns): Put death note for input reload reg
-       even if reload was inherited.
+Sun Dec  6 00:20:44 1998  H.J. Lu  (hjl@gnu.org)
 
-       * out-i860.c (output_block_move): Typo loading size of block.
+       * print-rtl.c (print_rtx): Add prototype.
 
-       * m68k.md (dbra patterns): Do CC_STATUS_INIT.
+       * unroll.c (iteration_info): Make it static.
 
-       * cse.c (fold_rtx): Check GET_MODE_CLASS before floating negate.
+Sun Dec  6 01:19:46 1998  Richard Henderson  <rth@cygnus.com>
 
-Fri Sep 15 00:39:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * alias.c (memrefs_conflict_p): A second ANDed address
+       disables the aligned address optimization.
 
-       * combine.c (subst): Don't combine (subreg (mem))
-       if subreg's mode is wider than mem's mode.
+Sat Dec  5 18:48:25 1998  Richard Henderson  <rth@cygnus.com>
 
-Thu Sep 14 04:33:51 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * alpha.c (alpha_emit_set_const_1): Fix parenthesis error
+       in -c << n case.
 
-       * Makefile (clean): Delete temp files used in making gnulib.
+Sat Dec  5 15:14:52 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * tm-next.h (LINK_SPEC): Pass -Z and -seglinkedit options.
+       * i960.h (BOOL_TYPE_SIZE): Define.
 
-Tue Sep 12 01:06:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Dec  6 00:28:16 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * stor-layout.c (layout_type): Ignore MAX_FIXED_MODE_SIZE for ints.
+       * config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
+       from old valid_parallel_operands_4.
+       (valid_parallel_operands_4): Check that operands for 4 operand
+       parallel insns are valid, excluding load/store insns.
+       * config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
+       * config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
+       valid_parallel_load_store instead of valid_parallel_operands_4.
+       (*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
+       *negqf2_movqf_clobber, *absqi2_movqi_clobber,
+       *fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
+       *notqi_movqi_clobber): Use valid_parallel_operands_4.
+       (*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
+       *ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
+       *subqi3_movqi_clobber): Use valid_parallel_operands_5.
 
-       * mips.md (cmpsi + bleu peephole): Should output unsigned insn.
+Sat Dec  5 23:52:01 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * expmed.c (store_bit_field, extract_bit_field): If loading mem
-       into reg for bit field insn, don't use a larger mode than insn wants.
+       * config/c4x/c4x.c (iteration_info): Delete extern.
 
-       * Makefile (stamp-gnulib2): Depend on gcc, cc1, cpp to avoid
-       wrong order of making when parallel.
+Fri Dec  4 20:15:57 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * Makefile (float.h): Do use $(MAKE) to run recursive make.
+       * tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
 
-Mon Sep 11 00:49:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * final.c (cleanup_subreg_operands): Delete some unused code.
 
-       * cccp.c (main): Test for missing arg after -o, etc.
+       * recog.h (MAX_RECOG_ALTERNATIVES): New macro.
+       (struct insn_alternative): New structure definition.
+       (recog_op_alt): Declare variable.
+       (preprocess_constraints): Declare function.
+       * recog.c (recog_op_alt): New variable.
+       (extract_insn): Verify number of alternatives is in range.
+       (preprocess_constraints): New function.
+       * reg-stack.c: Include recog.h.
+       (constrain_asm_operands): Delete.
+       (get_asm_operand_lengths): Delete.
+       (get_asm_operand_n_inputs): New function.
+       (record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
+       N_OUTPUTS args.  All callers changed.
+       Compute number of inputs and outputs here by calling
+       get_asm_operand_n_inputs.
+       Instead of constrain_asm_operands, call extract_insn,
+       constrain_operands and preprocess_constraints.  Use information
+       computed by these functions throughout.
+       (record_reg_life): Delete code that is unused due to changes in
+       record_asm_reg_life.
+       (subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
+       N_INPUTS and N_OUTPUTS args.  All callers changed.
+       Similar changes as in record_asm_reg_life.
+       (subst_stack_regs): Move n_operands declaration into the if statement
+       where it's used.
+       Delete code that is unused due to changes in subst_asm_stack_regs.
+       * stmt.c (expand_asm_operands): Verify number of alternatives is in
+       range.
+       * Makefile.in (reg-stack.o): Depend on recog.h.
 
-       * tm-next.h: Nearly completely new.
+Fri Dec  4 02:23:24 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move after config.h.
+       * except.c (set_exception_version_code): Argument is an "int".
 
-       * cccp.c: Cast some args to strcpy and strcat.
+Fri Dec  4 01:29:28 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * genoutput.c (error): Declare arg S.
+       * configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
+       * configure: Rebuilt.
 
-       * tm-pyr.h, pyr.md, out-pyr.c, xm-pyr.h: New files.
-       * config.gcc: New item for pyr.
+Fri Dec  4 01:29:28 1998  Robert Lipe  <robertl@dgii.com>
 
-       * gvarargs.h: If __pyr__, use va-pyr.h.
+       * configure.in (mipsel-*-linux*): New target.
+       * mips/linux.h: New file, based on other Linux targets.
 
-Sun Sep 10 00:48:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Dec  3 11:19:50 1998  Mike Stump  <mrs@wrs.com>
 
-       * reload1.c (inc_for_reload): Really return the first of the insns.
+       * gthr-vxworks.h (__ehdtor): Fix memory leak.  The delete hook
+       runs in the context of the deleter, not the deletee, so we must
+       use taskVarGet to find the correct memory to free.
+       (__gthread_key_create): Initialize the task
+       variable subsystem so that the task variable is still active when
+       the delete hook is run.
 
-       * stor-layout.c (build_int): Memoize size nodes for sizes <= 32.
+1998-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-       * loop.c (check_dbra_loop): Don't reverse a biv that is used
-       in between its update and the loop endtest insn.
+       * pdp11.h: Use optimize_size for space optimizations.
+       * pdp11.c: Likewise.
+       * pdp11.md: Likewise.
 
-Sat Sep  9 02:10:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * pdp11.h (TARGET_40_PLUS): Fix typo.
 
-       * stor-layout.c (genop): Don't use `combine' for nonexplicit constants.
-       Handle some identity elements, etc., directly.
-       (layout_basetypes): Function deleted.
-       (layout_record): Ignore any TYPE_DECLs in the fieldlist.
-       Don't do PCC_BUTFIELD_TYPE_MATTERS hack on field with ERROR_MARK type.
-       (layout_union): Delete error check for base types.
-       Ignore any TYPE_DECLs in the fieldlist.
-       (layout_type): Copy layout info directly into all variants of type.
-       Delete unused local `x'.
+Thu Dec  3 11:48:32 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * mips.md (movdi): Handle constant source operand.
-       (movsi): Some output code moved to output_load_immediate.
-       * out-mips.c (output_load_immediate): New function.
+       * local-alloc.c (block_alloc): Slightly retune heuristic to widen
+       qty lifetimes.
 
-       * config.gcc (iris): Use tm-iris.h and xm-iris.h.
+Thu Dec  3 22:30:18 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * integrate.c (copy_for_inline): Copy all nonconstant MEM addresses.
+       * alias.c (addr_side_effect_eval): New function.
+       (memrefs_conflict_p): Use it.
+       * rtl.h (addr_side_effect_eval): Prototype it.
 
-       * tm-3b1.h (ASM_OUTPUT_SPACE): New override defn, to output explicit
-       bytes of 0 if in text segment.
+1998-12-02  Joseph S. Myers  <jsm28@cam.ac.uk>
 
-Fri Sep  8 19:15:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * pdp11.md (extendsfdf2): Fix mode mismatch in SET.
 
-       * combine.c (try_combine): Don't do i3dest stuff if i3 isn't a SET.
+Wed Dec  2 11:23:07 1998  Jim Wilson  <wilson@cygnus.com>
 
-Thu Sep  7 00:16:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * reload.c (find_reloads): When force const to memory, put result
+       in substed_operand not *recog_operand_loc.
 
-       * integrate.c (function_cannot_inline_p): Fn is "not even close"
-       only if > 3 * max_insns.
+1998-12-02  Ulrich Drepper  <drepper@cygnus.com>
 
-       * toplev.c (fatal_insn_not_found): New fn.
-       * genextract.c (main): Make insn_extract call that fn.
+       * c-lex.c: Fix indentation from last patch.
+       Remove trailing whitespace.
+       * real.c: Likewise.
 
-       * integrate.c (expand_inline_function): Don't abort about bad offset
-       in a parm whose type is error_mark_node.
-       Make another syntax level to hold parm destructors.
+Wed Dec  2 10:11:12 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-mips.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
-       Increment push_loc after, not before, each reg save or restore.
-       When storing reg 9 or 29, use offset tsize-4.
-       Make tsize larger by 4 initially.
-       (STARTING_FRAME_OFFSET): -8, not -4.
+       * flow.c (delete_block): Call set_last_insn after we have reset
+       NEXT_INSN (kept_tail).
 
-       * gcc.c (choose_temp_base): Make use of TMPDIR and P_tmpdir
-       if they exist.
+Wed Dec  2 00:47:31 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * toplev.c, gcc.c, cccp.c, gen*.c (fancy_abort):
-       New function which can be used to replace `abort'.
+       * mips.md (trap_if): Use "$0" for the value zero.
 
-       * toplev.c (main): Save argv, argc in save_argv, save_argc.
+Tue Dec  1 20:49:49 1998  Ulrich Drepper  <drepper@cygnus.com>
+                         Stephen L Moshier  <moshier@world.std.com>
+                         Richard Henderson  <rth@cygnus.com>
 
-       * jump.c (delete_insn): Always advance NEXT across deleted insns,
-       in case not optimizing.  Fixes setting current_function_returns_null.
+       * c-common.c (declare_function_name): Declare predefined variable
+       `__func__'.
 
-       * symout.c: Include stddef.h with <...>.
+       * c-decl.c (flag_isoc9x): Set to 1 by default.
+       (c_decode_option): Handle -std= option.  Remove -flang-isoc9x.
+       (grokdeclarator): Always emit warning about implicit int for ISO C 9x.
 
-Wed Sep  6 00:39:35 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * c-parse.in: Allow constructors in ISO C 9x.
+       Rewrite designator list handling.
+       Allow [*] parameters.
+       Don't warn about comma at end of enum definition for ISO C 9x.
 
-       * gcc.c (find_exec_file): Was using `argbuf[0]' where wanted `prog'.
+       * cccp.c (c9x): New variable.
+       (rest_extension): New variable.
+       (print_help): Document new -std= option.
+       (main): Recognize -std= option.  Set c9x appropriately.
+       (create_definition): Recognize ISO C 9x vararg macros.
 
-       * combine.c (combine_instructions): Dont call record_dead_and_set_regs
-       if insn has become a NOTE.
+       * gcc.c (default_compilers): Adjust specs for -std options.
+       (option_map): Add --std.
+       (display_help): Document -std.
 
-       * reload.c (combine_reloads): Update reload_when_needed.
+       * toplev.c (documented_lang_options): Add -std and remove
+       -flang-isoc9x.
 
-       * jump.c (delete_insn): If delete label on ADDR_VEC, delete table too.
-       (jump_optimize): If ADDR_DIFF_VEC label has 1 ref, delete it and table.
+       * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
+       or REAL_VALUE_HTOF based on base of the constants.
+       * fold-const.c (real_hex_to_f): New function.  Replacement function
+       for hex FP conversion if REAL_ARITHMETIC is not defined.
+       * real.c (asctoeg): Add handling of hex FP constants.
+       * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
+       real_hex_to_f.
 
-       * gunlib2.c (__fixunsdfdi, __floatdfdi): Make the long long,
-       and/or its two halves, unsigned.
+Tue Dec  1 16:45:49 1998  Stan Cox  <scox@cygnus.com>
 
-       * reload1.c (reload): When setting double_reg_address_ok,
-       require it to be offsettable.
-       * out-sparc.c (output_fp_move_double): Now safe to use std
-       for all reg+reg addresses.
+       * mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
+       -mcheck-range-division/-mcheck-zero-division checking.  Avoid as macro
+       expansion.  Use hi/lo as destination register.
+       (div_trap): New.
+       (divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
+       umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
+       Avoid as macro expansion.  Use hi/lo as destination register.
 
-       * vax.md: Add another simplified-casesi pattern for operand 0 constant.
+       * mips.h (MASK_CHECK_RANGE_DIV): New.
+       (MASK_NO_CHECK_ZERO_DIV): New.
+       (ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
+       (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
+       return address for leaf functions out of r31 to support
+       builtin_return_address.
 
-       * cse.c (fold_rtx): Don't truncate VAL at end if WIDTH is 0.
-       Don't alter WIDTH for that purpose based on the operands.
+Tue Dec  1 15:03:30 1998  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
 
-       * stmt.c (warn_if_unused_value): && or || is ok if 2nd op has effect.
+       * jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
+       NEXT_INSN(x) to check insn x.
 
-       * c-parse.y (ALIGNOF unary_expr): Find a larger value if possible.
+Tue Dec  1 15:20:44 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * reload.c (combine_reloads): Don't combine an output address reload.
-       (find_reloads): Call combine_reloads after setting reload_when_needed.
-       (find_reloads_address): Update OPERAND if copy the operand.
+       * flow.c (delete_block): Call set_last_insn if we end up deleting the
+       last insn in the rtl chain.
 
-       * cccp.c (macroexpand): Missing arg no error in 1-arg macro if -trad.
+       * reload1.c (reload): Do not set reload_completed or split insns
+       here.  Instead...
+       * toplev.c (rest_of_compilation): Set reload_completed after
+       reload returns.  Split insns after reload_cse has run.
 
-Tue Sep  5 14:12:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Dec  1 11:55:04 1998  Richard Henderson  <rth@cygnus.com>
 
-       * reload.c (find_dummy_reload): Don't use the output reg if it is
-       a fixed reg which can overlap with other regs.
+       * final.c (final_scan_insn): Abort if block_depth falls below 0.
 
-       * cse.c (exp_equiv_p): Two vectors must have same length.
+Tue Dec  1 10:23:16 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * tree.def (WITH_CLEANUP_EXPR): Print-name string was wrong.
+       * config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
 
-       * optabs.c (expand_fix): Undo previous change (unsigned conversion).
-       It doesn't work.
+Tue Dec  1 10:22:18 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
+       use of user-label_prefix.
+
+Tue Dec  1 17:58:26 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * reload1.c (emit_reload_insns): Clear spill_reg_store
+       when doing a new non-inherited reload from the same pseudo.
+
+       * local-alloc.c (function_invariant_p): New function.
+       (update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
+       to decide if an equivalence should be recorded.
+       * reload1.c (num_eliminable_invariants): New static variable.
+       (reload): Set it.  Use function_invariant_p instead of CONSTANT_P
+       to decide if an equivalence should be recorded.
+       Unshare PLUS.
+       (calculate_needs_all_insns): Skip insns that only set an equivalence.
+       Take num_eliminable_invariants into account when deciding
+       if register elimination should be done.
+       (reload_as_needed): Take num_eliminable_invariants into account
+       when deciding if register elimination should be done.
+       (eliminate_regs): Handle non-constant reg_equiv_constant.
+       * rtl.h (function_invariant_p): Declare.
+
+Mon Nov 30 02:00:08 1998  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Mon Nov 30 00:42:59 1998  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sun Nov 29 22:59:40 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * except.c (add_new_handler): Complain about additional handlers
+       after one that catches everything.
+
+Sat Nov 28 10:56:32 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in (alpha*-*-netbsd): Fix typo.
+       * configure: Rebuilt.
+
+Fri Nov 27 12:28:56 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * system.h: Include libiberty.h.
+
+       * c-aux-info.c: Remove prototypes for concat/concat3.  Change
+       function `concat' from fixed parameters to variable parameters,
+       as is done in libiberty.  All callers of concat/concat3
+       changed to use the new `concat' with variable args.
+
+       * cccp.c: Remove things made redundant by libiberty.h and/or
+       conform to libiberty standards.
+       * cexp.y: Likewise.
+       * collect2.c: Likewise.
+       * config/1750a/1750a.h: Likewise.
+       * cppalloc.c: Likewise.
+       * cppexp.c: Likewise.
+       * cppfiles.c: Likewise.
+       * cpphash.c: Likewise.
+       * cpplib.c: Likewise.
+       * dyn-string.c: Likewise.
+       * fix-header.c: Likewise.
+       * gcc.c: Likewise.
+       * gcov.c: Likewise.
+       * genattr.c: Likewise.
+       * genattrtab.c: Likewise.
+       * gencheck.c: Likewise.
+       * gencodes.c: Likewise.
+       * genconfig.c: Likewise.
+       * genemit.c: Likewise.
+       * genextract.c: Likewise.
+       * genflags.c: Likewise.
+       * gengenrtl.c: Likewise.
+       * genopinit.c: Likewise.
+       * genoutput.c: Likewise.
+       * genpeep.c: Likewise.
+       * genrecog.c: Likewise.
+       * getpwd.c: Likewise.
+       * halfpic.c: Likewise.
+       * hash.c: Likewise.
+       * mips-tdump.c: Likewise.  Wrap malloc/realloc/calloc prototypes
+       in NEED_DECLARATION_* macros.
+
+       * mips-tfile.c: Remove things made redundant by libiberty.h and/or
+       conform to libiberty standards.
+       (fatal): Fix const-ification of variable `format' in
+       !ANSI_PROTOTYPES case.
+
+       * prefix.c: Remove things made redundant by libiberty.h and/or
+       conform to libiberty standards.
+
+       * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
+       conflicting with function `spaces' from libiberty.
+
+       * profile.c: Remove things made redundant by libiberty.h and/or
+       conform to libiberty standards.
+       * protoize.c: Likewise.
+       * rtl.h: Likewise.
+       * scan.h: Likewise.
+       * tlink.c: Likewise.
+       * toplev.c: Likewise.
+       * toplev.h: Likewise.
+       * tree.h: Likewise.
+
+Thu Nov 26 08:38:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
+
+Thu Nov 26 23:45:37 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * README.C4X: Updated URLs.
+       * config/c4x/c4x.c (c4x_address_conflict): Fix typo.
+       (valid_parallel_operands_5): Remove unused variable.
+
+Thu Nov 26 23:40:03 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
+
+1998-11-26  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
+       which can be configured.
+       (LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
+       (Makefile): Pass actual LANGUAGES through the environment when
+       re-configuring.
+       (cstamp-h): Likewise.
+       (config.status): Likewise.
+
+       * configure.in (enable_languages): Add new configuration parameter
+       "--enable-languages=lang1,lang2,...".
+       (${srcdir}/*/config-lang.in): Change handling to configure only
+       those directories, that the user might have enabled; default to
+       "all" existing languages.
+       * configure: Regenerate.
+
+Thu Nov 26 00:19:19 1998  Richard Henderson  <rth@cygnus.com>
+
+       * rtlanal.c (regs_set_between_p): New function.
+       * rtl.h (regs_set_between_p): Prototype it.
+       * jump.c (jump_optimize): Use it instead of modified_between_p
+       in the Sep 2 change.
+
+Wed Nov 25 23:32:02 1998  Ian Dall  <Ian.Dall@dsto.defence.gov.au>
+                         Matthias Pfaller  <leo@dachau.marco.de>
+
+       * invoke.texi (Option Summary, NS32K Options): Add description
+       of NS32K specific options.
+
+       * ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
+       fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
+       fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
+       negdf2, absdf2): Use l instead of f since the double class and
+       float class are no longer the same.
+       (cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
+       divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
+       ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
+       Use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
+       fixed.
+       (cmpsi, cmphi, cmpqi): Use general_operand instead of
+       non_immediate_operand. Removes erroneous assumption that can't
+       compare constants.
+       (movsf, movsi, movhi, movqi,...): New register numbering scheme.
+       (movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
+       constants.
+       (movstrsi, movstrsi1, movstrsi2): Completely new block move
+       scheme.
+       (...): Patterns to exploit multiply-add instructions.
+       (udivmodsi4, udivmodsi_internal4, udivmodhi4,
+       udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): New
+       patterns to exploit extended divide insns.
+       (udivsi3, udivhi3, udivqi3): Remove since superseded by udivmodsi
+       etc patterns.
+
+       * ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
+       float return values as well as simple scalar floats.
+       (TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
+       Support new flag to denote 32381 fpu.
+       (OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
+       (CONDITIONAL_REGISTER_USAGE): Disable extra 32381 registers if not
+       compiling for 32381.
+       (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
+       REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
+       REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
+       L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
+       LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
+       REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
+       REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
+       REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
+       REG_OK_FOR_BASE_P, MEM_REG): New register scheme to include 32381
+       fpu registers and special register classes for new 32381
+       instructions dotf and polyf.
+       (MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
+       be tieable.
+       (INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
+       INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
+       required.
+       (SMALL_REGISTER_CLASSES): Make dependent on -mmult-add option.
+       (MOVE_RATIO): Set to zero because of smart movstrsi implementation.
+       (REGISTER_MOVE_COST): Move code to register_move_cost function for
+       ease of coding and debugging.
+       (CLASS_LIKELY_SPILLED_P): Under new register scheme class
+       LONG_FLOAT_REGO is likely spilled but not caught by default
+       definition.
+       (CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): Use macro
+       instead of hard coded numbers in range check.
+       (ASM_OUTPUT_LABELREF_AS_INT): Delete since unused.
+       (...): Add prototypes for functions in ns32k.c but disable because
+       of problems when ns32k.h is included in machine independent files.
+
+       * ns32k.c: Include "system.h", "tree.h", "expr.h", "flags.h".
+       (ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
+       hard_regno_mode_ok, secondary_reload_class,
+       print_operand, print_operand_address): New register scheme to
+       include 32381 fpu registers and special register classes for new
+       32381 instructions dotf and polyf.
+       (gen_indexed_expr): Make static to keep namespace clean.
+       (check_reg): Remove since never called.
+       (move_tail, expand_block_move): Helper functions for "movstrsi"
+       block move insn.
+       (register_move_cost): Helper function for REGISTER_MOVE_COST macro.
+       Increase cost of moves which go via memory.
+       * netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
+       (CPP_PREDEFINES): No longer predefine "unix".
+
+       * ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
+       Remove erroneous %$. print_operand() can work out from the rtx is
+       an immediate prefix is required.
+
+       * ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
+       VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
+       SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
+       convention.
+       (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
+       pic operands.
+
+       * ns32k.c (symbolic_reference_mentioned_p, print_operand):
+       Correct handling of pic operands.
+       (ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
+       ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
+       -mrtd calling convention.
+
+Wed Nov 25 23:42:20 1998  Tom Tromey  <tromey@cygnus.com>
+
+       * gcc.c (option_map): Recognize --output-class-directory.
+
+Thu Nov 26 18:26:21 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * loop.h (precondition_loop_p): Added new mode argument.
+       * unroll.c (precondition_loop_p): Likewise.
+       (approx_final_value): Function deleted and subsumed
+       into loop_iterations.
+       (loop_find_equiv_value): New function.
+       (loop_iterations): Use loop_find_equiv_value to find increments
+       too large to be immediate constants.  Also use it to find terms
+       common to initial and final iteration values that can be removed.
+
+Thu Nov 26 18:05:04 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * loop.h (struct loop_info): Define new structure.
+       (precondition_loop_p): Added prototype.
+       (unroll_loop): Added new argument loop_info to prototype.
+       (final_biv_value, final_giv_value): Added new argument n_iterations
+       to prototype.
+       * loop.c (strength_reduce): Declare new structure loop_iteration_info
+       and new pointer loop_info.
+       (loop_n_iterations): Replace global variable by element in
+       loop_info structure.
+       (check_final_value): New argument n_iterations.
+       (insert_bct): New argument loop_info.
+       (loop_unroll_factor): Replace global array by element in
+       loop_info structure.
+       (loop_optimize): Remove code to allocate and initialize
+       loop_unroll_factor_array.
+       * unroll.c (precondition_loop_p): No longer static since
+       used by branch on count optimization.
+       (precondition_loop_p, unroll_loop): New argument loop_info.
+       (final_biv_value, final_giv_value, find_splittable_regs): New
+       argument n_iterations.
+       (loop_iteration_var, loop_initial_value, loop_increment,
+       loop_final_value, loop_comparison_code, loop_unroll_factor):
+       Replaced global variables by loop_info structure.
+       (loop_unroll_factor): Replace global array by element in
+       loop_info structure.
+
+Thu Nov 26 17:49:29 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
+       when loop reversed.
+
+       * unroll.c (precondition_loop_p): Return loop_initial_value
+       for initial_value instead of loop_iteration_var.
+
+Thu Nov 26 17:15:38 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md: Fix minor formatting problems.  Update docs.
+       (*b, *b_rev, *b_noov, *b_noov_rev, *db,
+       decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
+       to output the instruction sequences.
+       (rpts): Delete.
+       (rptb_top): Provide alternatives to use any register or memory
+       for loop counter.
+       (rptb_end): Emit use of operands rather than assigning them
+       explicitly to the RS and RE registers.
+
+Thu Nov 26 16:37:59 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
+       c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
+       c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
+       c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
+       c4x_merge_notes, c4x_parallel_process,
+       c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
+       c4x_combine_parallel): Delete.
+
+Thu Nov 26 15:16:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_override_options): For compatibility
+       with old target options clear flag_branch_on_count_reg if
+       -mno-rptb specified and set flag_argument_alias is -mno-aliases
+       specified.
+       (c4x_output_cbranch): Handle a sequence of insns rather than a
+       single insn.
+       (c4x_rptb_insert): Do not emit a RPTB insn if the RC register
+       has not been allocated as the loop counter.
+       (c4x_address_conflict): Do not allow two volatile memory references.
+       (valid_parallel_operands_4, valid_parallel_operands_5,
+       valid_parallel_operands_6): Reject pattern if the register destination
+       of the first set is used as part of an address in the second set.
+
+Thu Nov 26 14:56:32 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
+       (TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
+       is no longer enabled if PARALLEL_MPY_FLAG set.
+       (HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
+       (REG_CLASS_CONTENTS): Add braces around initializers.
+       (HAVE_MULTIPLE_PACK): Define.
+       (ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
+       REAL_VALUE_TO_DECIMAL.
+       (ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
+       REAL_VALUE_TO_DECIMAL.
+       (ar0_reg_operand): Add prototype.
+       (ar0_mem_operand): Likewise.
+       (ar1_reg_operand): Likewise.
+       (ar1_mem_operand): Likewise.
+       (ar2_reg_operand): Likewise.
+       (ar2_mem_operand): Likewise.
+       (ar3_reg_operand): Likewise.
+       (ar3_mem_operand): Likewise.
+       (ar4_reg_operand): Likewise.
+       (ar4_mem_operand): Likewise.
+       (ar5_reg_operand): Likewise.
+       (ar5_mem_operand): Likewise.
+       (ar6_reg_operand): Likewise.
+       (ar6_mem_operand): Likewise.
+       (ar7_reg_operand): Likewise.
+       (ar7_mem_operand): Likewise.
+       (ir0_reg_operand): Likewise.
+       (ir0_mem_operand): Likewise.
+       (ir1_reg_operand): Likewise.
+       (ir1_mem_operand): Likewise.
+       (group1_reg_operand): Likewise.
+       (group1_mem_operand): Likewise.
+       (ir1_reg_operand): Likewise.
+       (arx_reg_operand): Likewise.
+       (not_rc_reg): Likewise.
+       (not_modify_reg): Likewise.
+       (c4x_group1_reg_operand): Remove prototype.
+       (c4x_group1_mem_operand): Likewise.
+       (c4x_arx_reg_operand): Likewise.
+
+Wed Nov 25 19:02:55 1998  (Stephen L Moshier)  <moshier@world.std.com>
+
+       * emit-rtl.c (gen_lowpart_common): Remove earlier change.
+       * real.c (make_nan): Make SIGN arg actually specify the sign bit.
+
+Thu Nov 26 14:12:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
+       during reload.
+
+Wed Nov 25 22:05:28 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
+       unless FMOVD_WORKS is defined.
+
+Wed Nov 25 20:11:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * regclass.c (init_reg_sets): Move code that calculates tables
+       dependent on reg_class_contents from here...
+       (init_reg_sets_1): To here.
+
+Wed Nov 25 14:54:46 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * cpplib.h: Delete struct import_file.  Add ihash element to
+       struct cpp_buffer.  Delete dont_repeat_files and
+       import_hash_table elements from cpp_reader; change
+       all_include_files to a hash table.  Delete all foobar_include
+       / last_foobar_include elements from struct cpp_options; put
+       back four such: quote_include, bracket_include,
+       system_include, after_include.  Redo struct file_name_list
+       completely.  Add new structure type include_hash.  Add
+       prototypes for merge_include_chains and include_hash.  Change
+       prototypes for finclude, find_include_file, and
+       append_include_chain to match changes below.
+
+       * cppfiles.c (simplify_pathname, include_hash,
+       remap_filename, merge_include_chains): New functions.
+       (add_import, lookup_import, open_include_file): Removed.
+       (INO_T_EQ): Define this (copied from cccp.c).
+       (hack_vms_include_specification): Remove all calls and #if 0
+       out the definition.  It was being called incorrectly and at
+       the wrong times.  Until a VMSie can look at this, it's better
+       to not pretend to support it.
+       (append_include_chain): Change calling convention; now takes
+       only one directory at a time, and sets up the data structure
+       itself.
+       (redundant_include_p): Rewritten - this is now used for all
+       include redundancy, whether by #ifndef, #import, or #pragma
+       once.  Looks up things in the include hash table.
+       (file_cleanup): Decrement pfile->system_include_depth here if
+       it's >0.
+       (find_include_file): Calling convention changed; now passes
+       around a struct include_hash instead of 3 separate parameters.
+       Guts ripped out and replaced with new include_hash mechanism.
+       (finclude): Calling convention changed as for
+       find_include_file.  Error exits pulled out-of-line.  Reformat.
+       (safe_read): Return a long, not an int.
+       (deps_output): Don't recurse.
+
+       * cpplib.c (is_system_include): Deleted.
+       (path_include): Fix up call to append_include_chain.
+       (do_include): Fix up calls to find_include_file and finclude.
+       Clean up dependency output a bit.  Shorten obnoxiously lengthy
+       #import warning message.  Don't decrement
+       pfile->system_include_depth here.
+       (do_pragma): Understand the include_hash structure.  Reformat.
+       (do_endif): Correct handling of control macros.  Understand
+       the include_hash.
+       (cpp_start_read): Fix up calls to finclude.  Call
+       merge_include_chains.
+       (cpp_handle_option): Fix up calls to append_include_chain.
+       Understand the four partial include chains.
+       (cpp_finish): Add debugging code (#if 0-ed out) for the
+       include_hash.
+       (cpp_cleanup): Free the include_hash, not the import hash and
+       the all_include and dont_repeat lists which no longer exist.
+
+Wed Nov 25 11:26:19 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * toplev.c (no_new_pseudos): Define.
+       (rest_of_compilation): Set no_new_pseudos as needed.
+       * emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
+       if no_new_pseudos is set.
+       * rtl.h (no_new_pseudos): Declare it.
+       * reload1.c (reload): Update comments.
+       * md.texi: Corresponding changes.
+
+Wed Nov 25 11:26:17 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+
+       * reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
+       (choose_reload_regs): Rename it here as well.  When computing it,
+       also merge in used hardregs.
+
+1998-11-25  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * gcc.c: Split out Objective-C specs to...
+       * objc/lang-specs.h: here. (New file.) Make the specs cpplib
+       aware.
+
+       * c-lex.c (init_parse): Always initialize the filename global.
+       * objc/objc-act.c (lang_init): Always call check_newline at
+       beginning of file.
+
+Wed Nov 25 00:48:29 1998  Graham  <grahams@rcp.co.uk>
+
+       * reload1.c (reload): Remove unused variable.
+       (reload_reg_free_for_value_p): Add missing parameter definition.
+
+       * jump.c (jump_optimize): Remove unused variable.
+
+Wed Nov 25 00:07:11 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
+
+       * cse.c (fold_rtx): Make autoincrement addressing mode tests be
+       runtime selectable.
+       * expr.c (move_by_pieces): Similarly.
+       (move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
+       * flow.c (find_auto_inc): Similarly.
+       (try_pre_increment): Similarly.
+       * loop.c (strength_reduce): Similarly.
+       * regclass.c (auto_inc_dec_reg_p): Similarly.
+       * regmove.c (try_auto_increment): Similarly.
+       (fixup_match_1): Similarly.
+       * rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
+       (HAVE_PRE_DECREMENT): Similarly.
+       (HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
+       * Corresponding changes to all target header files.
+       * tm.texi: Update docs for autoinc addressing modes.
+
+Tue Nov 24 20:24:59 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
+       * configure: Rebuild.
+       * config/elfos.h: New file.
+       * config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
+       config/m68k/t-m68kelf: New file.
+
+Tue Nov 24 13:40:06 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (HOST_AR): Define.
+       (HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
+       (libcpp.a): Use the host tools explicitly.
+       (STAGESTUFF): Add libcpp.a.
+
+Tue Nov 24 09:33:49 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * config/m32r/m32r.md (movstrsi_internal): Describe changes made
+       to source and destination registers.
+
+Mon Nov 23 20:28:02 1998  Mike Stump  <mrs@wrs.com>
+
+       * libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
+       The strategy we now use is to pre allocate the top_elt along
+       with the EH context so that each thread has its own top_elt.
+       This is necessary as the dynamic cleanup chain is used on the
+       top element of the stack and each thread MUST have its own.
+       (eh_context_static): Likewise.
+       (new_eh_context): Likewise.
+       (__sjthrow): Likewise.
+
+Mon Nov 23 20:25:03 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
+       * i386.md (prologue_get_pc): Remove unused variable.
+
+Mon Nov 23 17:05:40 1998  Geoffrey Noer  <noer@cygnus.com>
+
+       * i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
+
+Mon Nov 23 16:40:00 1998  Ulrich Drepper  <drepper@cygnus.com>
+
+       * Makefile.in (OBJS): Add graph.o.
+       (graph.o): New dependency list.
+       * flags.h: Declare dump_for_graph and define graph_dump_types type.
+       * print-rtl.c (dump_for_graph): Define new variable.
+       (print_rtx): Rewrite to allow use in graph dumping functions.
+       * toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
+       finish_graph_dump_file.
+       Define graph_dump_format.
+       (compile_file): If graph dumping is enabled also clear these files.
+       Finish graph dump files.
+       (rest_of_compilation): Also dump graph information if enabled.
+       (main): Recognize -dv to enabled VCG based graph dumping.
+       * graph.c: New file.  Graph dumping functions.
+
+Mon Nov 23 16:39:04 1998  Richard Henderson  <rth@cygnus.com>
+
+       * configure.in: Look for <sys/stat.h>.
+       * system.h: Include it before substitute S_ISREG definitions.
+
+Mon Nov 23 17:40:37 1998  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
+       * config/mips/iris6.h: Same.
+       * config/mips/mips.md: Same.
+       * config/mips/mips.c: Same; also add "-mabi=o64" option.
+       * config/mips/mips.h: Same; also define ABI_O64.
+
+Mon Nov 23 17:02:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       *  configure.in: Use AC_PREREQ(2.12.1).
+
+Mon Nov 23 10:16:38 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
+
+       * cccp.c (S_ISREG, S_ISDIR): Delete defines.
+       * cpplib.c, gcc.c: Likewise.
+       * system.h (S_ISREG, S_ISDIR): Define if not already defined.
+
+Mon Nov 23 09:53:44 1998  Richard Henderson  <rth@cygnus.com>
+
+       * local-alloc.c (local_alloc): Use malloc not alloca for
+       reg_qty, reg_offset, ref_next_in_qty.
+
+Mon Nov 23 16:46:46 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * caller-save.c (insert_one_insn): Initialize the live_before and
+       live_after register sets.
+
+       Add SH4 support:
+
+       * config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
+       (___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
+       * sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
+       (fp_reg_names, assembler_dialect): New variables.
+       (print_operand_address): Handle SUBREGs.
+       (print_operand): Added 'o' case.
+       Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
+       Name of FP registers depends on mode.
+       (expand_block_move): Emit different code for SH4 hardware.
+       (prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
+       (from_compare): Likewise.
+       (add_constant): New argument last_value.  Changed all callers.
+       (find_barrier): Don't try HImode load for FPUL_REG.
+       (machine_dependent_reorg): Likewise.
+       (sfunc_uses_reg): A CLOBBER cannot be the address register use.
+       (gen_far_branch): Emit a barrier after the new jump.
+       (barrier_align): Don't trust instruction lengths before
+       fixing up pcloads.
+       (machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
+       Use auto-inc addressing for fp registers if doubles need to
+       be loaded in two steps.
+       Set sh_flag_remove_dead_before_cse.
+       (push): Support for TARGET_FMOVD.  Use gen_push_fpul for fpul.
+       (pop): Support for TARGET_FMOVD.  Use gen_pop_fpul for fpul.
+       (calc_live_regs): Support for TARGET_FMOVD.  Don't save FPSCR.
+       Support for FIRST_XD_REG .. LAST_XD_REG.
+       (sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
+       (sh_expand_epilogue): Likewise.
+       (sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
+       (initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
+       (arith_reg_operand): FPUL_REG is OK for SH4.
+       (fp_arith_reg_operand, fp_extended_operand): New functions.
+       (tertiary_reload_operand, fpscr_operand): Likewise.
+       (commutative_float_operator, noncommutative_float_operator): Likewise.
+       (binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
+       (emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
+       (expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
+       (emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
+       * sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
+       (CONDITIONAL_REGISTER_USAGE): Likewise.
+       (HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
+       (TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
+       (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
+       (target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
+       (OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
+       to -1 and sh_flag_remove_dead_before_cse to 1.
+       (ASSEMBLER_DIALECT): Define to assembler_dialect.
+       (assembler_dialect, fp_reg_names): Declare.
+       (OVERRIDE_OPTIONS): Add code for TARGET_SH4.
+       Hide names of registers that are not accessible.
+       (CACHE_LOG): Take TARGET_CACHE32 into account.
+       (LOOP_ALIGN): Take TARGET_HARWARD into account.
+       (FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
+       (FIRST_PSEUDO_REGISTER: Now 49.
+       (FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
+       (HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
+       (HARD_REGNO_MODE_OK): Update.
+       (enum reg_class): Add DF_REGS and FPSCR_REGS.
+       (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
+       (SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
+       (CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
+       (NPARM_REGS): Eight floating point parameter registers on SH4.
+       (BASE_RETURN_VALUE_REG): SH4 also passes double values
+       in floating point registers.
+       (GET_SH_ARG_CLASS): Likewise.
+       Complex float types are also returned in float registers.
+       (BASE_ARG_REG): Complex float types are also passes in float registers.
+       (FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
+       (LIBCALL_VALUE): Remove trailing semicolon.
+       (ROUND_REG): Round when double precision value is passed in floating
+       point register(s).
+       (FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
+       passed on the stack.
+       (FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
+       (FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
+       (TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
+       (INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
+       (MODE_DISP_OK_8): Not for SH4 DFmode.
+       (GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
+       Allow indexed addressing for PSImode after reload.
+       (LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
+       (LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
+       Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
+       (DOUBLE_TYPE_SIZE): 64 for SH4.
+       (RTX_COSTS): Add PLUS case.
+       Increase cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
+       (REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
+       MAC_REGS, PR_REGS, DF_REGS.
+       (REGISTER_NAMES): Use fp_reg_names.
+       (enum processor_type): Add PROCESSOR_SH4.
+       (sh_flag_remove_dead_before_cse): Declare.
+       (rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
+       (PREDICATE_CODES): Add binary_float_operator,
+       commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
+       fpscr_operand, noncommutative_float_operator.
+       (ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
+       (SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
+       * sh.md (attribute cpu): Add value sh4.
+       (attrbutes fmovd, issues): Define.
+       (attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
+       (function units memory, int, mpy, fp): Make dependent on issue rate.
+       (function units issue, single_issue, load_si, load): Define.
+       (function units load_store, fdiv, gp_fpul): Define.
+       (attribute hit_stack): Provide proper default.
+       (use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
+       (udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
+       (udivsi3, divsi3): Emit special patterns for SH4 hardware,
+       (mulsi3_call): Now uses match_operand for function address.
+       (mulsi3): Also emit code for SH1 case.  Wrap result in REG_LIBCALL /
+       REG_RETVAL notes.
+       (push, pop, push_e, pop_e): Now define_expands.
+       (push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
+       (movsi_ie): Added y/i alternative.
+       (ic_invalidate_line_i, movdf_i4): New insns.
+       (movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
+       (reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
+       (movdf): Add special code for SH4.
+       (movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
+       (call_valuei, calli, call_value): Likewise.
+       (movsf): Emit no-op move.
+       (mov_nop, movsi_y): New insns.
+       (blt, sge): Generalize to handle DFmode.
+       (return predicate): Call emit_fpscr_use and remove_dead_before_cse.
+       (block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
+       (block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
+       (fpu_switch0, fpu_switch1, movpsi): New expanders.
+       (fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
+       (toggle_sz): New insn.
+       (addsf3, subsf3, mulsf3, divsf3): Now define_expands.
+       (addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
+       (macsf3): Make use of fpscr visible.  Disable for SH4.
+       (floatsisf2): Make use of fpscr visible.
+       (floatsisf2_i4): New insn.
+       (floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
+       (ieee_ccmpeqsf_t): Likewise.
+       (fix_truncsfsi2): Emit different code for SH4.
+       (fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
+       (cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
+       (negsf2, sqrtsf2, abssf2): Now expanders.
+       (adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
+       (negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
+       (muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
+       (fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
+       (fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
+       (fix_truncdfsi2_i4_2+1): New splitters.
+       (negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
+       (extendsfdf2, truncdfsf2): New expanders.
+       (truncdfsf2_i4): New insn.
+       * t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
+       (MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
+       * float-sh.h: When testing for __SH3E__, also test for
+       __SH4_SINGLE_ONLY__ .
+       * va-sh.h (__va_freg): Define to float.
+       (__va_greg, __fa_freg, __gnuc_va_list, va_start):
+       Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
+       (__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
+       (__PASS_AS_FLOAT): Use different definition for __SH4__ and
+        __SH4_SINGLE__.
+       (TARGET_SH4_P): Define.
+       (va_arg): Use it.
+
+       * sh.md (movdf_k, movsf_i): Tweak the condition so that
+       init_expr_once is satisfied about the existence of load / store insns.
+
+       * sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
+       Change m constraint in source operand to mr / mf.
+
+       * va-sh.h (__va_arg_sh1): Use __asm instead of asm.
+
+       * (__VA_REEF): Define.
+       (__va_arg_sh1): Use it.
+
+       * va-sh.h (va_start, va_arg, va_copy): Add parentheses.
+
+Sun Nov 22 21:34:02 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * i386/dgux.c (struct option): Add new "description field".
+       * m88k/m88k.c (struct option): Likewise.
+
+Sun Nov 22 16:07:57 1998  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sun Nov 22 13:40:02 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+
+       * regmove.c (regmove_profitable_p): Use return value of find_matches
+       properly.
+
+Sun Nov 22 02:47:37 1998  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sat Nov 21 22:12:09 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
+       without reload having been called earlier.
+
+       * v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
+       addressing modes.
+       (v850_reorg): Similarly.
+
+       * loop.c (check_dbra_loop): Avoid using gen_add2_insn.
+
+Sat Nov 21 02:18:38 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * loop.c (move_movables): Start of libcall might be new loop start.
+
+Fri Nov 20 12:14:16 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
+
+Fri Nov 20 08:34:00 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+
+       * function.c (nonlocal_goto_handler_slots): Renamed from
+       nonlocal_goto_handler_slot; now an EXPR_LIST chain.
+       (push_function_context_to): Adjust for this change.
+       (pop_function_context_from): Likewise.
+       (init_function_start): Likewise.
+       (expand_function_end): Likewise.
+       * function.h (struct function): Likewise.
+       * calls.c (expand_call): Likewise.
+       * explow.c (allocate_dynamic_stack_space): Likewise.
+       * expr.h (nonlocal_goto_handler_slots): Rename its declaration.
+       * stmt.c (declare_nonlocal_label): Make a new handler slot for each
+       label.
+       (expand_goto): When doing a nonlocal goto, find corresponding handler
+       slot for it.  Don't put the label address in the static chain register.
+       (expand_end_bindings): Break out nonlocal goto handling code into
+       three new functions.
+       (expand_nl_handler_label, expand_nl_goto_receiver,
+       expand_nl_goto_receivers): New static functions, broken out of
+       expand_end_bindings and adapted to create one handler per nonlocal
+       label.
+       * function.c (delete_handlers): Delete insn if it references any of
+       the nonlocal goto handler slots.
+       * i960.md (nonlocal_goto): Comment out code that modifies
+       static_chain_rtx.
+       * sparc.md (nonlocal_goto): Likewise.
+       (goto_handler_and_restore_v9): Comment out.
+       (goto_handler_and_restore_v9_sp64): Comment out.
 
-       * gcc.c: Pass -i option to cpp.  It takes an arg.
+Thu Nov 19 23:44:38 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * cccp.c (cplusplus_include_defaults) [VMS]: Typo in array indices.
+       * expr.c (STACK_BYTES): Delete unused macro.
+       * calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
+       (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
+       (expand_call): Likewise.
+       (emit_library_call): Likewise.
+       (emit_library_call_value): Likewise.
+       * function.c: Provide default for PREFERRED_STACK_BOUNDARY.
+       (STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
+       * explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
+       (round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
+       (allocate_dynamic_stack_space): Likewise.
+       * tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
+       (STACK_BOUNDARY): Update description to reflect the new situation.
+
+Thu Nov 19 22:20:51 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * reorg.c (relax_delay_slots): When optimizing for code size, if a
+       return with a filled delay slot is followed by a return with an
+       unfilled delay slot, delete the first return and reemit the insn
+       that was previously in its delay slot.
+
+       * i860.c (single_insn_src_p): Add missing parens.
+       * ginclude/math-3300.h: Likewise.
+
+Thu Nov 19 20:55:59 1998  H.J. Lu  (hjl@gnu.org)
+
+       * regclass.c (init_reg_sets_1): Add prototype.
+       (init_reg_modes): Likewise.
+
+1998-11-19  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * c-common.c: Change warning messages to say `comparison is
+       always true' or `comparison is always false' instead of the
+       confusing `is always 0', `is always 1'.
+
+Thu Nov 19 19:05:49 1998  Per Bothner  <bothner@cygnus.com>
+
+       * print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
+       break instead of return (which loses closing '>').
+
+Thu Nov 19 19:34:13 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
+       standard 387 constants.
 
-       * Makefile (gnulib): Create it in tmpgnulib, then rename at the end.
+       * i386.md (jump): Explicitly set "memory" attribute.
+       (indirect_jump, prologue_set_stack_ptr): Likewise.
+       (prologue_get_pc_and_set_got, pop): Likewise.
+       (allocate_stack_worder, blockage, return_internal): Likewise.
+       (return_pop_internal, nop): Likewise.
+       (epilogue_set_stack_ptr, leave): Likewise.
+
+Thu Nov 19 15:42:54 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
+
+Thu Nov 19 23:20:59 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * reload1.c (reload_reg_free_for_value_p):
+       Early auto_inc reloads don't conflict with outputs.
 
-       * i860.md (movdi from constant pattern): Fix `st' opcode typos.
+Thu Nov 19 12:58:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile (hard-params*): Use CCLIBFLAGS, not CFLAGS.
+       * configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
+       Instead call AC_HEADER_SYS_WAIT.
 
-Fri Sep  1 03:43:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * collect2.c: Don't provide defaults for sys/wait.h macros.
+       * gcc.c: Likewise.
+       * protoize.c: Likewise.  Also, don't include sys/wait.h.
 
-       * tm-i386gas.h (ASM_OUTPUT_ALIGN): .align arg isn't a log, in gas.
-       (ASM_OUTPUT_ALIGN_CODE): Align labels, etc. to 4-byte boundary.
+       * system.h: Include sys/wait.h and provide macro defaults.
 
-       * integrate.c (save_for_inline): Delete NOTE_INSN_DELETED notes.
+1998-11-19  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * Makefile (clean): Delete dbr and jump2 dumps.
+       * Makefile.in (mandir): Set to @mandir@.
+       (man1dir): New variable to hold the former value of $(mandir).
+       Replace all uses of $(mandir) by $(man1dir).
 
-       * Makefile (gnulib, gnulib2): Compile in main dir, not libtemp subdir.
-       This avoids trouble with -I options, etc.
+Wed Nov 18 16:31:28 1998  Jim Wilson  <wilson@cygnus.com>
 
-Thu Aug 31 15:07:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * reload.c (find_reloads_address_part): If have a CONST_INT, create
+       a new one before passing it to force_const_mem.
 
-       * reload1.c (emit_reload_insns):
-       Be specific moving REG_DEAD notes to an output reload.
-       Sometimes move them to output-operand-address reloads.
+       * reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
+       find_reloads_address call.
 
-       * out-sparc.c (output_fp_move_double): Very cautious about std.
-       Use it only for something visibly aligned, or for an array element.
+Wed Nov 18 22:13:00 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * cccp.c (main) [VMS]: Remove dirs and extension from PROGNAME.
-       (pfatal_with_name) [VMS]: Return VMS system call error code as status.
-       (cplusplus_include_defaults) [VMS]: Add GNU_GXX_INCLUDE.
+       * expr.c (store_expr): Don't generate load-store pair
+       if TEMP is identical (according to ==) with TARGET.
 
-       * xm-vms.h (FATAL_EXIT_CODE): Now (44 | 0x10000000).
+Tue Nov 17 22:25:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * expr.c (do_store_flag): Allow more values of STORE_FLAG_VALUE.
+       * reload1.c (reload_reg_free_for_value_p): When considered reload
+       has an output, matching inputs are not sufficient to avoid conflict.
 
-       * gnulib2.c (__fixunsdfdi): Explicitly cast doubles to `long int'
-       to avoid infinite recursion.
+Tue Nov 17 11:51:16 1998  Mark Mitchell  <mark@markmitchell.com>
 
-Wed Aug 30 13:28:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * hash.h (hash_table_key): New type.
+       (hash_entry): Change `string' field to generic `key'.
+       (hash_table): Add `comp' and `hash' functions.
+       (hash_table_init): Take them as input.
+       (hash_table_init_n): Likewise.
+       (hash_lookup): Modify for generic keys.
+       (hash_newfunc): Likewise.
+       (hash_traverse): Likewise.
+       (string_hash): New function.
+       (string_compare): Likewise.
+       (string_copy): Likewise.
+       * hash.c (hash_table_init_n): Modify for generic keys.
+       (hash_table_init): Likewise.
+       (hash_lookup): Likewise.
+       (hash_newfunc): Likewise.
+       (hash_traverse): Likewise.
+       (string_hash): Split out from hash_lookup.
+       (string_compare): New function.
+       (string_copy): Split out from hash_lookup.
+       * tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
+       tables.
+       (symbol_hash_lookup): Likewise.
+       (file_hash_newfunc): Likewise.
+       (file_hash_lookup): Likewise.
+       (demangled_hash_newfunc): Likewise.
+       (demangled_hash_lookup): Likewise.
+       (tlink_int): Likewise.
+       (read_repo_file): Likewise.
+       (recompile_files): Likewise.
+       (demangle_new_symbols): Likewise.
+       (scan_linker_output): Likewise.
 
-       * loop.c (skip_consec_insns): Skip NOTEs.
+Tue Nov 17 17:13:53 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * loop.c (general_induction_var): If G or V is a nonreplaceable giv,
-       give up.  If G is allocated here, consider it replaceable.
+       * flow.c (insn_dead_p): New argument NOTES.  Changed all callers.
 
-       * stupid.c: Make uid_suid, reg_where_born and reg_where_dead
-       vectors of ints, not short.
+Mon Nov 16 17:56:07 1998  David Edelsohn  <edelsohn@gnu.org>
 
-Tue Aug 29 00:21:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * rs6000.c (output_mi_thunk): Improve test for local branch.
 
-       * tm-iris.h: Fix typo in formfeed char.
+Mon Nov 16 17:56:07 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
-       * out-i860.c (singlemove_string): Add missing `.l' to `st', `ld'.
+       * rs6000.c (output_mi_thunk): Correct test for aggregate values.
 
-       * loop.c (general_induction_var): Don't set G from 2nd op. of MINUS,
-       since that would negate the result.
+Mon Nov 16 21:02:52 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Mon Aug 28 00:16:36 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+       * reload1.c (reload_reg_free_before_p): Delete.
+       Changed all callers to use reload_reg_free_for_value_p instead.
+       (reload_reg_free_for_value_p): Handle more reload types.
+       A RELOAD_FOR_INPUT doesn't conflict with its
+       RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
+       Add special case for OUT == const0_rtx.
+       Added ignore_address_reloads argument.  Changed all callers.
 
-       * dbxout.c (dbxout_symbol): When we need a pointer type, don't
-       record it in TYPE_POINTER_TO, lest it not live as long as its target.
+Mon Nov 16 02:22:29 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * tm-hp9k320.h (CPP_PREDEFINES): Delete __hp9000s300 and _HPUX_SOURCE.
+       * toplev.c (compile_file): Don't pedwarn about undefined static
+       functions just because we passed -Wunused.
 
-       * Makefile (gnulib): Deleted stamp-gnulib2 in wrong dir.
-       (hard-params.o): Copy it into current dir before compiling.
-       (STAGESTUFF): Include the stamp-*.[ch] files.
+Mon Nov 16 04:41:41 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Sun Aug 27 13:59:39 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+       * function.c (purge_addressof_1): Unshare rtl created by
+       store_bit_field.
 
-       * out-i860.c (output_size_for_block_move): Typo in CC_KNOW_HI_R31.
+Mon Nov 16 04:23:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * integrate.c (expand_inline_function): Ignore insns to set value reg
-       if we don't want the value.
+       * regmove.c (regmove_optimize): Don't do anything but
+       optimize_reg_copy[123] when flag_regmove is not set.
 
-       * varasm.c (make_function_rtl, make_decl_rtl): Use DECL_ASSEMBLER_NAME.
+Sat Nov 14 15:05:07 1998  Richard Henderson  <rth@cygnus.com>
 
-       * Makefile (stamp-gnulib2): Don't explicitly delete old members,
-       just replace them.
+       * alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
+       value in paradoxical SImode result, rather than truncating midpoint.
 
-       * m68k.md, alliant.md (trunchiqi): Use movew if moving from memory
-       or from a const_int.
+Fri Nov 13 22:19:23 1998  Richard Henderson  <rth@cygnus.com>
 
-       * integrate.c (expand_inline_function): Set first_parm_offset
-       later on, after computing the args, in case those args
-       contain inline function calls.
+       * alpha.c (reg_not_elim_operand): New.
+       * alpha.h (PREDICATE_CODES): Add it.
+       * alpha.md (s48addq, s48subq patterns): Use it as the predicate
+       for the multiplicand.
 
-       * alliant.md (movqi): Like recent change in m68k.md.
+Fri Nov 13 22:50:37 1998  David Edelsohn  <edelsohn@gnu.org>
 
-Sat Aug 26 00:26:03 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+       * rs6000.md (movsf): Remove explicit secondary-reload-like
+       functionality.  Only truncate SFmode store if in FPR.
+       (movsf splitters): Combine const_double splitters.
+       (movsf_hardfloat): Add GPR support.
 
-       * tm-hp9k320.h (CPP_PREDEFINES): Take out m68k and mc68000.
-       * tm-news.h (CPP_PREDEFINES): Add mc68000.
+Fri Nov 13 11:02:11 1998  Stan Cox  <scox@cygnus.com>
 
-Fri Aug 25 15:37:35 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+       * splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
+       deprecate -mlive-g0 and -mbroken-saverestore.
+       * t-splet (MULTILIB_OPTIONS): Likewise.
 
-       * optabs.c (expand_fix): Can convert to unsigned int
-       by subtracting 2**(N-1), converting to signed, and adding 2**(N-1).
+       * sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
+       in a leaf function.  Clarify total_size/extra_size relationship.
 
-       * reload.c (find_reloads_address): For out-of-range stack slot,
-       reload the displacement into a reg.
-       (find_reloads_toplev): For subreg of a reg with a reg_equiv_address,
-       turn the whole thing into a memref.
+Thu Nov 12 19:20:57 1998  Geoffrey Noer  <noer@cygnus.com>
 
-Thu Aug 24 14:07:03 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+       * i386/cygwin32.asm: Delete.
+       * i386/cygwin.asm: New file, renamed from cygwin32.asm.
+       * i386/cygwin32.h: Delete.
+       * i386/cygwin.h: New file, renamed from cygwin32.h.
+       * i386/t-cygwin32: Delete.
+       * i386/t-cygwin: New file, renamed from t-cygwin32.  Include
+       cygwin.asm instead of cygwin32.asm.  Remove "32" from comment.
+       * i386/x-cygwin32: Delete.
+       * i386/x-cygwin: New file, renamed from x-cygwin32.
+       * i386/xm-cygwin32: Delete.
+       * i386/xm-cygwin: New file, renamed from xm-cygwin32.  Use newly
+       renamed cygwin_ funcs for path translations.
+       * i386/win32.h: Define __CYGWIN__ when -mcygwin given.
+       * i386/winnt.c: Remove "32" from comment about cygwin.
+       * i386/mingw32.h: Fix references to cygwin32.h in light of above.
+       * rs6000/cygwin32.h: Delete.
+       * rs6000/cygwin.h: New file, renamed from cygwin32.h.  Add
+       -D__CYGWIN__ to CPP_PREDEFINES.
+       * rs6000/x-cygwin32: Delete.
+       * rs6000/x-cygwin: New file, renamed from x-cygwin32.
+       * rs6000/xm-cygwin32: Delete.
+       * rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
 
-       * c-decl.c (grokdeclarator): If function is declared `extern inline',
-       set current_extern_inline.
-       (start_function): In that case, set TREE_EXTERN in function decl.
-       * toplev.c (rest_of_compilation): In that case, don't really compile.
-       (compile_file): Don't output such functions at the end either.
+       * configure.in: Check for cygwin* instead of cygwin32.  Account
+       for the rename of cygwin-related config files to lose the "32"s.
+       * configure: Regenerate.
 
-       * c-typeck.c (build_function_call): Do set NAME if we have one.
+       * cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
+       toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
 
-       * Prevent any variability in results of qsort.
-       * stupid.c (stupid_reg_compare): Compare by regno as last resort.
-       * global-alloc.c (allocno_compare): Same idea.
-       * local-alloc.c (qty_compare_1): Same idea.
-       * reload1.c (hard_reg_use_compare, reload_reg_class_lower): Same idea.
+Wed Nov 11 12:25:19 1998  Tom Tromey  <tromey@cygnus.com>
 
-       * cccp.c (macroexpand): If read one arg, but it's whitespace,
-       consider that 0 args for checking number of args.
-       Improve plurals in error messages.
+       * Makefile.in (JAVAGC): New macro.
+       * configure: Rebuilt.
+       * configure.in: Recognize --enable-java-gc argument.  Subst
+       `JAVAGC' variable.
 
-       * expr.h (inhibit_defer_pop): New name for current_args_size,
-       now declared here.
-       (NO_DEFER_POP, OK_DEFER_POP): Moved here.
-       * expr.c: Names related to current_args_size renamed.
-       (clear_current_args_size): Deleted.
-       * stmt.c (expand_function_start): Init inhibit_defer_pop here.
+Thu Nov 12 03:32:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * stmt.c (expand_start_stmt_expr): Do NO_DEFER_POP.
-       (expand_end_stmt_expr): Do OK_DEFER_POP, and don't do deferred pops.
+       Handle equivalences that have been obscured by gcse:
 
-       * Makefile (c-parse.tab.c): Pass -o option to Bison.
+       * reload1.c (reload): Handle equivalences set up in multiple places.
+       * local-alloc.c (reg_equiv_init_insns): New variable.
+       (no_equiv): New function.
+       (update_equiv_regs): Handle equivalences set up in multiple places.
+       Don't ignore an insn just because its destination is likely to be
+       spilled.
 
-Wed Aug 23 23:14:06 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+Wed Nov 11 13:46:13 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * expmed.c (store_bit_field, extract_bit_field):
-       Use GET_MODE_WIDER_MODE to scan possible modes for bestmode.
+       * except.c (expand_eh_return): Readd force_operand call lost in
+       Sept 15 change.
 
-       * Makefile (stamp-gnulib2): Discard error messages from `ar d'.
+Tue Nov 10 17:04:11 1998  David Edelsohn  <edelsohn@gnu.org>
 
-Tue Aug 22 00:31:51 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+       * rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
 
-       * final.c (output_source_line): In COFF, don't output `.ln 0'.
+1998-11-09  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * Makefile (stamp-gnulib2): Depend on gnulib.  For parallel make.
+       * dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
 
-       * stmt.c (uninitialized_vars_warning): Don't crash if DECL_RTL is 0.
+Mon Nov  9 20:15:19 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * i386.md (truncdfsf2): Pay attention whether stack top is dead.
+       * regmove.c (regmove_optimize): Fix error in last change.
 
-Mon Aug 21 22:02:40 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+Mon Nov  9 16:37:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
 
-       * reload1.c (choose_reload_regs): Don't use regno uninitialized,
-       in the code that does find_equiv_reg.
+       * mips.c (function_prologue): When TARGET_MIPS16, adjust the register
+       offset in the .mask pseudo to compensate for frame pointer adjustments.
+       (mips16_fp_args, build_mips16_call_stub): For little endian, do not
+       word swap arguments moved to/from FP registers.
+       * mips16.S (DFREVCMP): Reverse arguments to OPCODE.
 
-Sun Aug 20 00:06:47 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+Mon Nov  9 09:47:06 1998  Jeff Law  (law@cygnus.com)
 
-       * m68k.md (movqi): Was outputting bad code for areg->mem and mem->areg.
+       * version.c: Bump for snapshot.
 
-       * explow.c (memory_address): Handle a hard reg in wrong reg class.
+Mon Nov  9 02:14:14 1998  Jeff Law  (law@cygnus.com)
 
-       * stmt.c (expand_function_end): Set REG_FUNCTION_VALUE_P in return
-       reg when returning address of structure value block.
+       * version.c: Bump for snapshot.
 
-       * integrate.c (save_for_inline): Preserve integrated bit on insns.
+Mon Nov  9 03:06:24 1998  Jeffrey A Law  (law@cygnus.com)
 
-Sat Aug 19 14:20:07 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+       * reload1.c (delete_output_reload_insn): If a pseudo is set multiple
+       times, then it can not be completely replaced.
 
-       * combine.c (subst): Don't change (subreg:M (mem:N ...)) to 
-       (mem:M ...) if address is mode-dependent.
+Mon Nov  9 00:39:02 1998  Richard Henderson  <rth@cygnus.com>
 
-       * config.gcc: Copy and alter Makefile for any srcdir except `.'.
-       In that case, make a .gdbinit as well.
+       * alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
 
-       * sparc.md (andcbsi3, iorcbsi3, xorcbsi3): These are not commutative.
+Sun Nov  8 17:50:30 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * vax.md (cmpv and cmpzv patterns): Use COMPARE, not MINUS.
+       * gansidecl.h: Prepend a "G" to the macro wrapping this file
+       (to distinguish it from the macro wrapping ansidecl.h.)
+       Include libiberty's ansidecl.h.  Remove all redundant definitions.
+       Define the PROTO() style macros in terms of the PARAMS() ones.
 
-Fri Aug 18 12:24:52 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
 
-       * alliant.md (movqi): Change move to mov in assembler code.
+       * calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
+       __STDC__, when deciding whether to use ANSI variable args.
+       (emit_library_call_value): Likewise.
 
-       * integrate.c (expand_inline_function):
-       Handle args passed in regs and copied to slots reached via arg ptr.
+       * cccp.c (error): Likewise.
+       (warning): Likewise.
+       (error_with_line): Likewise.
+       (warning_with_line): Likewise.
+       (pedwarn): Likewise.
+       (pedwarn_with_line): Likewise.
+       (pedwarn_with_file_and_line): Likewise.
+       (fatal): Likewise.
 
-       * out-sparc.c (output_delayed_branch):
-       Do alter_subreg on operands of delay insn.
+       * cexp.y (error): Likewise.
+       (pedwarn): Likewise.
+       (warning): Likewise.
 
-       * reload1.c (choose_reload_regs): Look for a reg to share
-       before one that we won't share.
+       * collect2.c (fatal_perror): Likewise.
+       (fatal): Likewise.
+       (error): Likewise.
 
-       * expr.h: Define OPTAB_MUST_WIDEN.
-       * optabs.c (expand_binop): Handle that case.
-       * expmed.c (expand_shift): Use that when widening lshift to ashift.
+       * combine.c (gen_rtx_combine): Likewise.
 
-       * optabs.c (emit_cmp_insn): Use CONST0_RTX, not individual vars.
+       * cpperror.c (cpp_message): Likewise.
+       (cpp_fatal): Likewise.
 
-       * gnulib2.c (lsh*di3, ash*di3): Return right away if count is zero.
-       Otherwise tried to shift by 32.
-       Also replace constant 32 by something symbolic.
+       * cpplib.c (cpp_error): Likewise.
+       (cpp_warning): Likewise.
+       (cpp_pedwarn): Likewise.
+       (cpp_error_with_line): Likewise.
+       (cpp_warning_with_line): Likewise.
+       (cpp_pedwarn_with_line): Likewise.
+       (cpp_pedwarn_with_file_and_line): Likewise.
 
-       * final.c (output_source_line): Output line number in COFF
-       even if wrong file.
+       * cpplib.h: Don't define PARAMS() macro.
 
-Thu Aug 17 15:16:34 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+       * demangle.h: Likewise.
 
-       * Makefile (version.o): Make this a target; specify source file.
-       (obstack.o): Likewise.
+       * doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
+       when deciding whether to use ANSI variable args.
 
-       * config.gcc (i860): New alternative.
+       * emit-rtl.c (gen_rtx): Likewise.
+       (gen_rtvec): Likewise.
 
-       * i860.md (movstrsi): Record the alignment as operand 3.
-       Renumber following (internal) operands.
-       * out-i860.c (output_block_move): Rewrite as in out-sparc.c.
-       (output_size_for_block_move): Likewise.  And don't
-       subtract alignment from the size.
+       * final.c (asm_fprintf): Likewise.
 
-Wed Aug 16 13:27:12 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+       * fix-header.c (cpp_message): Likewise.
+       (fatal): Likewise.
+       (cpp_fatal): Likewise.
 
-       * loop.c (combine_movables): Don't combine zero-extend
-       registers that live outside the loop.
+       * gcc.c (concat): Likewise.
+       (fatal): Likewise.
+       (error): Likewise.
 
-       * integrate.c (expand_inline_function): Use copy_to_mode_reg
-       to set up this_struct_value_rtx, to handle sums right.
+       * genattr.c (fatal): Likewise.
 
-       * Makefile: Use $(srcdir) in bison output files used as deps.
-       Supply some missing deps.
-       (*.info, doc): *.info files go in srcdir.
+       * genattrtab.c (attr_rtx): Likewise.
+       (attr_printf): Likewise.
+       (fatal): Likewise.
 
-Tue Aug 15 00:11:12 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+       * gencodes.c (fatal): Likewise.
 
-       * i860.md, tm-i860.h, out-i860.c: New files.
+       * genconfig.c (fatal): Likewise.
 
-       * c-decl.c (duplicate_decls): Fix bug determining whether NEWDECL
-       is a definition or just a decl.
-       Combine code to preserve various things from old definition
-       through a declaration.
+       * genemit.c (fatal): Likewise.
 
-       * config.gcc: Scan all args at beginning, setting variables.
-       Arg of form -srcdir=... sets srcdir explicitly.
-       srcdir now doesn't contain a slash, and is used with a slash.
+       * genextract.c (fatal): Likewise.
 
-       * Makefile (install): Copy header files and gcc.1 from srcdir.
-       But copy float.h from current dir.  (Remove that from USER_H.)
-       (various): Use new variable INCLUDES to get the -I options.
-       Add -I. at the beginning of these.
-       (gnulib, gnulib2): Likewise, use SUBDIR_INCLUDES.
-       Also, get source file from srcdir.
-       Also, depend on $(CONFIG_H).
-       (alloca.o): Get alloca.c from srcdir.
+       * genflags.c (fatal): Likewise.
 
-       * reload1.c (emit_reload_insns): Bug in last change:
-       don't fail to set this_reload_insn.
+       * genopinit.c (fatal): Likewise.
 
-       * Makefile (Bison rules): Specify $(srcdir) for target and source.
-       (Explicit C rules): Specify $(srcdir)/ for source in commands.
-       Use sed to eliminate `./' in normal case.
-       (insn-*.c): Use $(srcdir) to run move-if-change.
+       * genoutput.c (fatal): Likewise.
+       (error): Likewise.
 
-       * config.gcc: Check . and .. for the sources.
-       If in .., use that when making links.
-       Also, copy Makefile, alter srcdir in it, and add a VPATH.       
+       * genpeep.c (fatal): Likewise.
 
-       * stmt.c (expand_end_case): When converting CONST_INT index
-       to an INTEGER_CST, sign-extend if signed type.
+       * genrecog.c (fatal): Likewise.
 
-Mon Aug 14 13:51:08 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+       * halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
+       deciding whether to declare `tree_node' and `rtx_def'.
 
-       * c-decl.c (duplicate_decls): Warn for qualifier mismatch
-       only if pedantic; don't consider it a type mismatch.
-       Merge the qualifiers of the two decls if the types match.
+       * hash.h: Don't define stuff we get from gansidecl.h.
 
-       * expmed.c (store_bit_field): For insv, memref displacement
-       always counts in bytes, regardless of unit fetched.
-       When checking predicate of op0, accept any mode.
+       * mips-tfile.c: Likewise.  Define __proto() in terms of PARAMS().
+       (fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
+       whether to use ANSI variable args.
+       (error): Likewise.
 
-       * optabs.c (expand_float): One call to can_float_p had args backwards.
+       * prefix.c (concat): Likewise.
 
-       * loop.c (check_dbra_loop): Set the JUMP_LABEL of the new jump insn.
-       Increment label's use count rather than storing 2.
+       * scan.h: Likewise.
 
-       * Makefile: Instead of $<, which fails in certain makes,
-       use $@ and then substitute in the name with sed.
+       * system.h: Likewise.
 
-       * out-sparc.c (output_scc_insn): Handle CC_REVERSED for ordered tests.
-       Use orcc insns to store the result and set cc's for it.
+       * toplev.c (error_with_file_and_line): Likewise.
+       (error_with_decl): Likewise.
+       (error_for_asm): Likewise.
+       (error): Likewise.
+       (fatal): Likewise.
+       (warning_with_file_and_line): Likewise.
+       (warning_with_decl): Likewise.
+       (warning_for_asm): Likewise.
+       (warning): Likewise.
+       (pedwarn): Likewise.
+       (pedwarn_with_decl): Likewise.
+       (pedwarn_with_file_and_line): Likewise.
+       (sorry): Likewise.
+       (really_sorry): Likewise.
 
-       * sparc.md (scc combination patterns):
-       Use operands[0] as basis for recorded cc value.
+       * toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
+       whether to declare `tree_node' and `rtx_def'.
 
-       * gnulib2.c (floatdidf, fixdfdi, fixunsdfdi): New functions.
+       * tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
+       deciding whether to use ANSI variable args.
+       (build_nt): Likewise.
+       (build_parse_node): Likewise.
 
-       * gnulib.c (floatdidf, fixdfdi, fixunsdfdi): Deleted.
-       (union longlong, union double_di): Deleted.
-       (HIGH, LOW): Deleted.
-       These were deleted because most did not handle full range of DI
-       and they didn't use the right calling convention for DI.
+Sun Nov  8 13:10:55 1998  Jeff Law  (law@cygnus.com)
 
-Sun Aug 13 13:06:45 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+       * version.c: Bump for snapshot.
 
-       * c-typeck.c (comptypes): Qualifiers must match.
-       (Was already true for scalars.)
-       Also, array elt qualifiers must match.
+Sat Nov  7 23:34:01 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * tm-apollo68.h (STRUCT_VALUE): Make it 0.
-       (This was done before and lost.)
-       * out-i386.c (function_epilogue): Use ret $4 to pop structure address.
-       (This was done before and lost.)
+       * Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
 
-       * out-i386.c (call_top_dead_p): Don't fail to check
-       the rtx code of the insns themselves.
-       (This was done before and lost.)
+Sat Nov  7 22:26:19 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * out-sparc.c (output_block_move): If align is 8, make it 4.
+       * collect2.c (main, case 'b'): Use else if.
 
-       * typeclass.h: New file.
-       * expr.c: Include it.
-       (expand_builtin): Use those codes in __builtin_classify_type.
+Sat Nov  7 15:35:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile (all, lang-c): Reinstall gnulib2.
+       * configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
+       Arrange to include gansidecl.h in {ht}config.h & tm.h just
+       before the config/ directory headers.
+       (tm_file_list, host_xm_file_list, build_xm_file_list): Handle
+       gansidecl.h in the list of dependencies.
 
-       * Makefile (gnulib2): Don't give up if `ar d' fails.
+       * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
+       (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
+       mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
+       gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
+       dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
+       cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
+       Likewise.
 
-       * expr.c (emit_library_call): New 2nd arg NO_QUEUE.
-       All callers changed to pass it.
-       * optabs.c (expand_binop, expand_unop): Don't call emit_queue.
-       Instead, pass 1 for NO_QUEUE to emit_library_call.
+       * cccp.c: Don't include gansidecl.h.
+       * cexp.y: Likewise.
+       * collect2.c: Likewise.
+       * config/c4x/c4x.c: Likewise.
+       * config/v850/v850.h: Likewise.
+       * cppalloc.c: Likewise.
+       * cpperror.c: Likewise.
+       * cppexp.c: Likewise.
+       * cppfiles.c: Likewise.
+       * cpphash.c: Likewise.
+       * cpplib.c: Likewise.
+       * cppmain.c: Likewise.
+       * cppulp.c: Likewise.
+       * demangle.h: Likewise.
+       * doprint.c: Likewise.
+       * dyn-string.c: Likewise.
+       * eh-common.h: Likewise.
+       * fix-header.c: Likewise.
+       * frame.c: Likewise.
+       * gcc.c: Likewise.
+       * gcov.c: Likewise.
+       * gen-protos.c: Likewise.
+       * gencheck.c: Likewise.
+       * halfpic.h: Likewise.
+       * hash.c: Likewise.
+       * machmode.h: Likewise.
+       * mbchar.c: Likewise.
+       * prefix.c: Likewise.
+       * protoize.c: Likewise.
+       * recog.h: Likewise.
+       * rtl.h: Likewise.
+       * scan-decls.c: Likewise.
+       * tree.h: Likewise.
+       * varray.h: Likewise.
 
-Sat Aug 12 12:05:22 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+Sat Nov  7 11:37:53 1998  Richard Henderson  <rth@cygnus.com>
 
-       * reload1.c (emit_reload_insns): Decision for where to put input
-       reload insn is now common to ordinary case and auto-increment.
-       Likewise, updating these positions afterward.
+       * i386.md (call_value_pop): If we're not popping anything,
+       defer to call_value.
+       (call_pop): Likewise defer to call.
 
-       * stmt.c (assign_parms): Treat last named arg as nameless.
-       * expr.c (expand_call): Likewise.
+Sat Nov  7 02:49:56 1998  Richard Henderson  <rth@cygnus.com>
 
-       * explow.c (copy_to_mode_reg): Use force_operand for PLUS or MULT.
-       (copy_addr_to_reg): Use copy_to_mode_reg.
+       * function.c (purge_addressof): Clear purge_addressof_replacements
+       only after processing the whole function.
 
-       * expmed.c (store_bit_field): Handle case where insv rejects memrefs.
+Sat Nov  7 00:54:55 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-convex.h (ASM_OUTPUT_ALIGN): Magic to handle the fact
-       that this is not called when LOG is 0.
+       * reload1.c (reload): If we can not perform a particular elimination
+       when we thought we could earlier, then we must always iterate through
+       the loop at least one more time.
 
-Fri Aug 11 16:39:51 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+Fri Nov  6 19:37:33 1998  Richard Henderson  <rth@cygnus.com>
 
-       * emit-rtl.c (get_lowpart): For multi-word, in error check,
-       test the unit size of the containing mode.
+       * alpha.c (add_operand): Simplify the CONST_INT match.
+       (sext_add_operand): Correct typo in comparison by using
+       CONST_OK_FOR_LETTER_P.
+       * alpha.md (s?addq): Use sext_add_operand to allow the negative
+       constant alternatives to be generated.
+       (mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
+       small constants, since the hw instructions do.
 
-       * cccp.c (macroexpand, dump_all_macros): Return void.
-       (macroexpand): Cast sprintf arg to char*.
-       (error, warning, error_with_line): Declare first arg char*.
+Fri Nov  6 20:15:19 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-Thu Aug 10 21:42:13 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+       * reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
+       previous insn to store directly into our reload register, make sure
+       that if the source of the previous insn is a reload register, its
+       spill_reg_store and spill_reg_stored_to values are cleared.
 
-       * expr.c (expand_call):
-       Use force_operand to copy arithmetic to register.
+Fri Nov  6 16:35:10 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * dbxout.c (dbxout_symbol): Go back to N_FUN for const variable.
+       * rs6000.md (floatunssidf2_internal splitter): Use base register
+       operand, not hard-coded SP.
+
+Fri Nov  6 04:07:53 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * jump.c (calculate_can_reach_end): Fix thinko.
+
+Fri Nov  6 00:16:04 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * reorg.c (fill_simple_delay_slots): Fix typo.
+
+       * romp.h (LEGITIMIZE_ADDRESS): Fix typo.
+
+Fri Nov  6 00:10:00 1998  Jan Hubicka  (hubicka@freesoft.cz)
+
+       * i386.md (extendsidi2): Use # in the output template.
+       (extendsidi splitters): New splitters.
+
+Thu Nov  5 11:13:27 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * configure.in: Use unknown-elf.h as tm_file for arm-elf
+       configurations.
+       * configure: Regenerate.
+
+Thu Nov  5 07:59:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * integrate.c (expand_inline_function): Use proper machine mode
-       for a structure value in memory at address passed by caller.
+       * jump.c (init_label_info, delete_barrier_successors,
+       mark_all_labels, delete_unreferenced_labels,
+       delete_noop_moves, calculate_can_reach_end): New functions broken
+       out of jump_optimize.
+       (jump_optimize): Use them.
 
-Wed Aug  9 15:21:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Nov  5 07:57:45 1998  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * config.gcc: Delete unnecessary variable assignments in case stmt.
-       (isi68-nfp): New alternative.
+       * except.c (expand_fixup_region_end): Make sure outer context labels
+       are not issued in an inner context during cleanups.
 
-       * combine.c (try_combine): Don't substitute for a register
-       which is being explicitly clobbered.
+Thu Nov  5 04:03:06 1998  Richard Henderson  <rth@cygnus.com>
 
-       * This change was requested for C++.
-       * varasm.c (decode_reg_name, make_decl_rtl): Arg ASMSPEC now char *.
-       * toplev.c (rest_of_decl_compilation): Likewise.
-       * c-decl.c (finish_decl): Change call to rest_of_decl_compilation.
+       * alpha.md (addsi3, subsi3): No new temporaries once cse is
+       no longer expected.
 
-       * tree.h (struct tree_decl): Pack machine_mode into 8 bits.
+Thu Nov  5 03:29:19 1998  Richard Henderson  <rth@cygnus.com>
 
-       * explow.c (memory_address, copy_to_reg):
-       Use force_operand to copy arithmetic to register.
+       * alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
+       to expose this midpoint to CSE.
 
-       * tm-isi68-nfp.h: New file.
-       * tm-isi68.h: Allow overriding TARGET_DEFAULT, and let that
-       change CPP_SPEC and LINK_SPEC.
-       (ASM_FILE_START): No `.globl fltused' if soft-float.
+Thu Nov  5 03:42:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-Tue Aug  8 21:50:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
 
-       * varasm.c (const_hash): For constructor, mask TREE_TYPE to HASHBITS
-       bits and take modulo, so we don't get negative numbers.
+Thu Nov  5 10:53:01 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * varasm.c (record_constant_1, compare_constant_1):
-       Record and compare the width of an integer.
+       * configure.in: Bring over gcc2 change of Nov 19 1997.
 
-       * varasm.c (assemble_function, assemble_variable, get_or_assign_label):
-       (force_const_mem): Don't call ASM_OUTPUT_ALIGN if boundary is 1.
+Wed Nov  4 23:43:08 1998  Graham  <grahams@rcp.co.uk>
 
-       * c-decl.c (duplicate_decls): Consider const and volatile as part of
-       type when checking for match and when installing new type into OLDDECL.
+       * toplev.c (output_lang_identify): Make definition dependent on
+       ASM_IDENTIFY_LANGUAGE.
 
-       * expr.c (do_store_flag): Make sure target fits operand predicate.
-       Also, omit the AND insn when true-value is 1
-       and the mode we get is wider than the one we want.
+       * print-rtl.c (spaces): Make static.
 
-       * genrecog.c (main): Make insn-recog.c include real.h.
+Wed Nov  4 22:16:36 1998  Hans-Peter Nilsson  <hp@axis.se>
 
-Mon Aug  7 16:58:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * extend.texi: Clarify proper uses for register clobbers in asms.
 
-       * genemit.c (main): Define `operands' as `emit_operands',
-       not `recog_operands'.
+Wed Nov  4 22:16:36 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * reload1.c (emit_reload_insns): Don't copy back a dead output reg.
+       * recog.h (enum op_type): Define.
+       (constrain_operands): Adjust prototype.
+       (recog_op_type): Declare new variable.
+       * recog.c (recog_op_type): New variable.
+       (insn_invalid_p): Allow modifying an asm statement after reload.
+       (extract_insn): Set up recog_op_type.
+       (constrain_operands): Lose INSN_CODE_NUM arg.  All callers changed.
+       Don't compute operand types, use recog_op_type.
+       Use the information computed by extract_insn instead of the previous
+       method of finding it by insn code number.
+       * caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
+       * reorg.c (fill_slots_from_thread): Likewise.
+       * reload1.c (reload_as_needed): Likewise.
+       (gen_reload): Likewise.
+       (inc_for_reload): Likewise.
+       (reload_cse_simplify_operands): Likewise.
+       Use the information computed by extract_insn instead of the previous
+       method of finding it by insn code number.
+       * genattrtab.c (write_attr_case): Generate call to extract_insn, not
+       insn_extract.
+       * final.c (final_scan_insn): Use extract_insn, not insn_extract.
+       (cleanup_operand_subregs): Use extract_insn, not insn_extract.
+       Use the information computed by extract_insn instead of the previous
+       method of finding it by insn code number.
+       * regmove.c (find_matches): Likewise.  Change meaning of the return
+       value to be nonzero if the optimization can be performed, zero if
+       not.  All callers changed.
+       Shorten some variable names to fix formatting problems.
+       (regmove_optimize): Shorten some variable names to fix formatting
+       problems.
+       Use the information computed by extract_insn instead of the previous
+       method of finding it by insn code number.
+       * regclass.c (scan_one_insn): Likewise.
+       (record_reg_classes): Don't compute operand types, use recog_op_type.
+       * reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
+       recog_constraints instead.
 
-Sun Aug  6 13:56:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Nov  4 21:37:46 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * sdbout.c (plain_type_1, sdbout_one_type): Use the main variant.
-       (sdbout_type_fields): No need to check TREE_ASM_WRITTEN here,
-       since sdbout_one_type does that.
+       * rtl.h (flow2_completed): Declare.
+       * flow.c (flow2_completed): Definition.
+       * toplev.c (rest_of_compilation): Set and clear flow2_completed
+       as necessary.
 
-       * expr.c (do_store_flag): Ensure the CLOBBER doesn't clobber an input.
+Wed Nov  4 19:15:37 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
 
-       * fold-const.c (fold_convert): Attempt to avoid overflow
-       when converting real to integer.  Use unsigned conversion for
-       low part; always convert as positive and then change sign;
-       subtract high part before converting low part.
-       Also, check for real values out of range for chosen int type;
-       warn and do not convert.
+       * Makefile.in (libcpp.a): Ranlib libcpp.a.
 
-       * tm-hp9k320.h (CPP_SPEC) [not HPUX_ASM]: Don't define mc68000 here.
-       (CPP_PREDEFINES): Remove mc68k, add m68k and mc68000.
-       [HPUX_ASM]: Define CPP_SPEC here as in the other case,
-       but add __HPUX_ASM__ to each alternative.
+       * cppulp.c (user_label_prefix): Initialize.
 
-       * tm-m68k.h (FUNCTION_EPILOGUE): Call new hook FUNCTION_EXTRA_EPILOGUE.
-       * tm-altos3068.h (FUNCTION_EXTRA_EPILOGUE): Define it.
+Wed Nov  4 19:07:08 1998  John Wehle  (john@feith.com)
 
-       * Makefile: Use $< wherever appropriate.
-       Also put definitions of customization vars before the comments
-       saying how to override them.
+       * flow.c (mark_regs_live_at_end): Mark the stack pointer as live
+       at a RETURN if current_function_sp_is_unchanging is set.
 
-Sat Aug  5 14:15:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Nov  4 18:16:29 1998  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
 
-       * i386.md (sne): Typo in opcode name.
+       * emit-rtl.c (try_split): Fixed error in Oct 10 patch.
 
-       * tree.h (struct tree_identifier): Delete redundant/unused error_locus.
+Wed Nov  4 15:11:15 1998  Geoffrey Noer  <noer@cygnus.com>
 
-Fri Aug  4 00:04:10 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
+       TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
+       (SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
+       (CPP_PREDEFINES): Don't define __CYGWIN32__ here.
+       (STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
+       (CPP_SPEC): Handle -mno-cygwin option.  Define __CYWIN__ in addition
+       to __CYGWIN32__.
+       (LIB_SPEC): Handle -mno-cygwin option.
+       (LINK_SPEC): Handle -mdll.
 
-       * varasm.c (const_hash, compare_constant_1, record_constant_1):
-       Compare types only for record constructors, not for array constructors.
+Wed Nov  4 22:56:14 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * dbxout.c (dbxout_parms): When outputing parm from home in local slot,
-       with address from the RTL, don't do big-endian correction on it.
+       * reload.c (find_reloads): Fix test for usage by other reload
+       to handle secondary reloads properly.
 
-       * c-typeck.c (build_unary_op): Do default conversion for unary +.
+Wed Nov  4 17:25:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cccp.c (rescan): Accept comments between macro and its args.
+       * reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
+       intermediate structure which has exactly the members provided by
+       ELIMINABLE_REGS.  Define NUM_ELIMINABLE_REGS in terms of the
+       static intermediate structure.
 
-       * c-decl.c (lang_decode_option): -traditional implies writable strings.
+       (init_elim_table): Xmalloc() `reg_eliminate', and initialize it
+       from the intermediate structure.  Do the same analogous fix in
+       the case where ELIMINABLE_REGS is not defined.
 
-       * cccp.c (trigraph_pcp): Make warning msg more accurate.
+Tue Nov  3 20:50:03 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * c-typeck.c (c_expand_asm_operands): Delete the default promotion
-       which was inserted mysteriously since 1.35.
+       * pa.h (SELECT_SECTION): Fix thinko.
 
-       * global-alloc.c (global_conflicts): Allocate regs_set only once.
-       Make it twice as big since clobbers are stored twice.
+Tue Nov  3 17:51:36 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * sparc.md (block move patterns): Record and use alignment operand.
-       * out-sparc.c (output_block_move): Get alignment from there.
-       (output_size_for_block_move): Greatly simplified.
+       * dwarf2out.c (output_call_frame_info): Comments on last change.
 
-       * tm-i386v.h (PCC_BITFIELD_TYPE_MATTERS): Define it.
+Tue Nov  3 07:51:43 1998  Richard Earnshaw  (rearnsha@arm.com)
 
-       * stor-layout.c (layout_record): Anonymous bitfields don't affect
-       overall structure alignment, in PCC_BITFIELD_TYPE_MATTERS case.
+       * arm.c (add_constant): When taking the address of an item in the
+       pool, get the mode of the item addressed.
 
-       * loop.c (strength_reduce): Prevent hard reg from becoming biv or giv.
+       * arm.c (final_prescan_insn case INSN): If an insn doesn't
+       contain a SET or a PARALLEL, don't consider it for conditional
+       execution.
 
-       * combine.c (subst): Simplify (eq (neg ...) (const_int 0)).
+       Restore ABI compatibility for NetBSD.
+       * arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
+       arm.h.
+       (RETURN_IN_MEMORY): Likewise.
 
-Thu Aug  3 13:08:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Nov  2 11:46:17 1998  Doug Evans  <devans@canuck.cygnus.com>
 
-       * cse.c (fold_rtx): For (op var const) special cases, also check 
-       for constant as first argument.
+       * m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
+       (m32r_output_block_move): Rewrite bytes < 4 handling.
 
-       * c-decl.c (pushtag): For global_binding_level, make permanent nodes.
+Mon Nov  2 10:10:35 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * expr.c (do_store_flag): Put the CLOBBER before the comparison.
+       * configure.in: Call AC_FUNC_VFORK.
 
-       * expr.c (emit_push_insn): Conditionalize recent changes
-       on no FIRST_PARM_CALLER_OFFSET, so they don't happen on sparc.
+       * collect2.c: Define VFORK_STRING as a printable string for
+       error messages (either "vfork" or "fork".)  If HAVE_VFORK_H is
+       defined, include vfork.h.  If VMS is defined, define vfork()
+       appropriately.  Remove vfork check on USG, we're using autoconf.
+       (collect_execute): Pass VFORK_STRING to fatal_perror instead of
+       checking locally what string to pass.
+       (scan_prog_file): Likewise.
+       (scan_libraries): Likewise.
 
-       * out-sparc.c (gen_scc_insn):
-       Don't be confused by CLOBBER emitted by do_store_flag.
-       Skip past such insns looking for last_insn.
-       Don't alter last_insn; instead, patch it to a NOTE and emit new insn.
+       * gcc.c: Remove vfork check on USG, we're using autoconf.
+       Besides, no calls to vfork/fork occur in this file.
 
-       * varasm.c (const_hash, compare_constant_1, record_constant_1):
-       For a CONSTRUCTOR, hash/compare/record type as well as elts.
+       * protoize.c: Likewise.
 
-       * cse.c (cse_insn): July 18 change was wrong.
-       Now, invalidate at the beginning any regs explicitly clobbered
-       so they will not be substituted for if they appear as inputs.
-       * sparc.md (movstrsi): Copy addresses to temp regs, then use them.
+Mon Nov  2 07:52:28 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
-       * loop.c (record_giv): When comparing life spans for setting
-       ->forces, use luids consistently, not uids.
+       * configure.in (DEFAULT_LINKER): Renamed from LD.
+       (DEFAULT_ASSEMBLER): Renamed from AS; reverted Schwab's patch.
+       (gcc_cv_as): Try $DEFAULT_ASSEMBLER before $AS.
+       * configure: Rebuilt.
 
-       * sparc.md (ashlsi3, ashrsi3, lshrsi3): Truncate constants mod 32.
+Mon Nov  2 01:48:10 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
-Wed Aug  2 17:50:30 1989  Richard Stallman  (rms at sugar-bombs)
+       * BUGS: Fix the regexp for `more' to find the appropriate node.
+       Reported by Joerg Pietschmann  <joerg_pietschmann@zkb.ch>
 
-       * mips.md (patterns to move a subreg): Deleted.
+       * BUGS: Added link to the WWW FAQ.
 
-Sun Jul 30 19:23:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Nov  1 18:27:15 1998  Jeff Law  (law@cygnus.com)
 
-       * gcc.c (process_command): Skip `-b' like `-B', in 2nd scan.
+       * version.c: Bump for snapshot.
 
-       * xm-sunos4.h: Deleted.
-       * tm-sparc.h, tm-sun3.h: Define LINK_SPEC here instead.
-       * tm-sun4os3.h: Undef it here.
-       * tm-sun3os3.h, tm-sun3os3nf.h: New files to undef LINK_SPEC.
-       * config.gcc: Use those new files where needed.
+Sun Nov  1 11:04:32 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * config.gcc: Delete sun3-fpa and sun3-os4-fpa.
-       * tm-sun3-fpa.h: Deleted.
+       * From Christian Gafton:
+       * i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
+       * sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
+       * sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
 
-       * cccp.c (do_include): Mention even non-ex files for -M.
+Sat Oct 31 21:42:39 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * out-mips.c (addr_compensate): Handle HImode.
-       * mips.md (Set HI from subreg of SI rule):
-       Allow operand in memory.
+       * c-common.c (c_get_alias_set): Allow all type-punning through
+       unions.  Don't get confused about the type of a bit-field, despite
+       the antics of build_modify_expr.
 
-       * mips.md (cmpqi, cmphi): Patterns deleted.
-       (cmpsi, cmpsf, cmpdf): Change predicates to register_operand.
+Sat Oct 31 22:35:29 1998  Jean-Pierre Radley  <jpr@jpr.com>
 
-       * cexp.y (rule for ?:): Result is unsigned if either operand is.
+       * fixinc.sco: Parameterize #include_next values.
+       * fixinc/fixinc.sco: Likewise.
 
-       * expr.c (emit_push_insn): If PARTIAL > 0, load the partial regs
-       at the end, in case the rest of the push does a function call.
+Sat Oct 31 20:39:35 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * reload1.c (alter_frame_pointer_addresses):
-       After altering a PLUS, re-fetch CODE before scanning subexps.
+       * toplev.c (rest_of_compilation): No longer set reload_completed.
+       * reload1.c (reload): Set it here.  Perform instruction splitting
+       after reload has completed if we will be running the scheduler
+       again.
 
-       * stmt.c (assign_parms): Don't copy the arg pointer value
-       if it is also the frame pointer.  If we do copy it,
-       inhibit REG_EQUIV notes for parms copied into pseudo regs
+Sat Oct 31 12:30:02 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * integrate.c (copy_for_inline, copy_rtx_and_substitute):
-       Set up filename and lineno fields of copy of ASM_OPERANDS.
+       * jump.c (jump_optimize): Initialize mappings from INSN_UID to
+       EH region if exceptions are enabled and we're performing cross
+       jump optimizations.
+       (find_cross_jump): Exit loop if the insns are in different EH regions.
 
-Sat Jul 29 18:58:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Oct 31 10:02:48 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * integrate.c (expand_inline_function): Handle struct-value-addr
-       passed in memory just like that passed in reg:
-       in either case, translate the pseudo-reg made in
-       expand_function_start.
-       (function_cannot_inline_p): Permit inlining in that case.
-       But reject it if using pcc-style return convention.
+       * dwarf2out.c (output_call_frame_info): Use
+       ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
 
-       * stor-layout.c (layout_type): Consider STRICT_ALIGNMENT
-       for ARRAY_TYPE just as for RECORD_TYPE.
+Sat Oct 31 10:23:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Wed Jul 26 12:54:59 1989  Richard M. Stallman  (rms at mipos3)
+       Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
+       * c-common.c (check_format_info): Don't check for the 'x'
+       format character twice, instead check for 'x' and 'X'
 
-       * cse.c (fold_rtx): If WIDTH is zero for binary operator,
-       look at the modes of the original operands.
+Fri Oct 30 14:50:25 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * cse.c (cse_insn): Set prev_insn_explicit_cc0, for (set (cc0) INT).
-       (predecide_loop_entry): Likewise.
-       (fold_rtx): Look at it, for (if_then_else (cc0) ...).
+       * configure.in (assembler features): Also make gas is configured if
+       we find it in the source tree.
 
-       * expr.c (expand_builtin): Pass back return value from
-       __builtin_saveregs.
+Fri Oct 30 13:23:20 1998  Richard Henderson  <rth@cygnus.com>
 
-       * stmt.c (assign_parms): Allow arg pointer reg not to be fixed.
-       If it is not, copy it to a pseudo reg and use that later on.
+       * i386.c (i386_comp_type_attributes): Compare whether the
+       attributes are defined, not their tree nodes.
 
-Tue Jul 25 15:42:04 1989  Richard M. Stallman  (rms at mipos3)
+Fri Oct 30 11:39:47 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
-       * expr.c (expand_builtin): New builtin __builtin_classify_type.
-       * tree.h, c-decl.c: Additional support.
+       * configure.in (gxx_include_dir): Bitten by autoconf quoting
+       characters.  :-(
+       * configure: Rebuilt.
 
-       * flow.c (mark_used_regs): Treat arg pointer like stack pointer.
+Fri Oct 30 10:43:29 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * expr.c (emit_library_call):
-       Pass (tree)0 as TYPE arg to FUNCTION_ARG, etc.
+       * configure.in: Ignore non-absolute value in $AS.
 
-Mon Jul 24 11:18:10 1989  Richard M. Stallman  (rms at mipos3)
+Fri Oct 30 00:54:25 1998  Peter Jakubek  <pjak@snafu.de>
 
-       * loop.c (regs_match_p): Fix braino.
+       * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
 
-       * integrate.c (copy_for_inline, copy_rtx_and_substitute):
-       Make ASM_OPERANDS constraint vector be shared like operand vector.
+Fri Oct 30 00:42:34 1998  Mark Elbrecht  <snowball3@usa.net>
 
-       * xm-iris.h: New file.
+       * configure.in (msdosdjgpp): Set exeext and target_alias.
 
-       * Makefile (stage4): New target.
+Thu Oct 29 23:55:43 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * gnulib2.c (badd, bsub, bmul, bdiv): If want long value from
-       arithmetic, widen the operands first.
-       (__div_internal aka bdiv): Rename to __bdiv.
+       * flow.c (XNMALLOC): New macro.
+       (flow_int_list_blocks, basic_block_succ, basic_block_pred): New
+       static variables.
+       (add_edge, add_edge_to_label): New static functions.
+       (free_bb_memory): New function.
+       (flow_delete_insn): Delete function.
+       (basic_block_drops_in): Delete variable.
+       (find_basic_blocks): Allocate and initialize basic_block_head,
+       basic_block_succ.  Don't allocate basic_block_drops_in.
+       Call free_bb_memory at the beginning.
+       (find_basic_blocks_1): Don't do multiple passes.
+       Delete code to compute basic_block_drops_in.
+       After calling make_edges, mark blocks reached by current block live.
+       Update test for unreachable live blocks.
+       (mark_label_ref): Delete args X, CHECKDUP.  Add PRED arg.  All callers
+       changed.
+       Simplify to call add_edge_to_label when a LABEL_REF is found.
+       (make_edges): Simplify to call add_edge_to_label instead of
+       mark_label_ref most of the time.
+       Compute here whether control drops into the next block.
+       (delete_unreachable_blocks): Return void.  All callers changed.
+       Delete unreachable blocks in reverse order.
+       After deleting all unreachable blocks, renumber the remaining ones
+       and update n_basic_blocks.
+       (delete_block): Speed up deletion a bit.
+       Don't set basic_block_drops_in for deleted blocks.
+       (free_basic_block_vars): Don't free basic_block_drops_in.
+       (life_analysis_1): Update to use new edge representation.
+       (dump_flow_info): Delete code to print basic block info; call
+       dump_bb_data instead.
+       (compute_preds_succs): Delete code to recompute basic_block_drops_in
+       and uid_block_number.
+       Simply copy the previously computed cfg.
+       (dump_bb_data): New arg LIVE_INFO.  All callers changed.
+       Print register lifetime information if LIVE_INFO is nonzero.
+       * basic-block.h (dump_bb_data): Adjust prototype.
+       * gcse.c (gcse_main): Update call to dump_bb_data.
+       * rtl.h (free_bb_memory): Declare.
+       * toplev.c (rest_of_compilation): Call free_bb_memory.
+
+       * reload1.c (struct elim_table): Delete MAX_OFFSET member.
+       (update_eliminable_offsets): Don't compute it.
+       (set_initial_elim_offsets): Don't initialize it.
+       Break out some code into set_initial_label_offsets so the rest of
+       this function can be called from reload_as_needed.
+       Assume that INITIAL_FRAME_POINTER_OFFSET is defined when
+       ELIMINABLE_REGS isn't.
+       (set_initial_label_offsets): New function, broken out of
+       set_initial_elim_offsets.
+       (set_offsets_for_label): New function, broken out of set_label_offsets
+       and reload_as_needed.
+       (reload): Call the two new functions.
+       (reload_as_needed): Call set_initial_elim_offsets instead of
+       duplicating the code.  Likewise for set_offsets_for_label.
+
+       * reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
+       (emit_reload_insns): Ensure that when we set reg_reloaded_valid for
+       any hard reg, reg_reloaded_dead contains valid data.
 
-       * sparc.md (seq combination patterns): Fully initialize cc_status.
+Thu Oct 29 22:30:54 1998  Marcus Meissner  <Marcus.Meissner@informatik.uni-erlangen.de>
+
+       * i386.c (i386_comp_type_attributes): Return nonzero for mismatched
+       "stdcall" and "cdecl" attributes.
+
+Thu Oct 29 19:05:17 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * sched.c (update_flow_info): Add code to ! found_orig_dest case to
+       handle deleted no-op moves of hard registers.
+       * haifa-sched.c (update_flow_info): Likewise.
+
+Thu Oct 29 18:07:47 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
+       of the sequences to reload the HILO register which do not actually
+       reference HILO.
+
+Thu Oct 29 12:39:35 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
+
+Thu Oct 29 14:10:22 1998  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * except.c (emit_eh_context): Make the EH context register stay alive
+       at -O0 so stupid.c doesn't get confused.
+
+1998-10-29  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+
+       * emit-rtl.c (try_split): Do not try to split a BARRIER.
+
+Thu Oct 29 01:33:54 1998  Jan Hubicka  <hubicka@freesoft.cz>
+                         Jeffrey A Law  (law@cygnus.com)
+
+       * i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM.
+       (zero_extendsidi2): Use # in output template and handle completely by
+       splits.
+       (zero_extend splitters): New define_splits.
+       (ashiftrt_32): New pattern.
+
+Wed Oct 28 22:58:35 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * tree.c (append_random_chars): New fn.
+       (get_file_function_name_long): Use it.
+
+Wed Oct 28 22:27:05 1998  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
+       (LIBCPP_OBJS): New.  Add cppulp.o.
+       (cppmain, fix-header): Depend on and use libcpp.a.
+       * configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
+       of the individual object files.
+       * objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
+       last.
+
+       * cccp.c (user_label_prefix): New.
+       (main): Set it off -f*leading-underscore.
+       (special_symbol): Use it.
+       * cpplib.c (special_symbol): Likewise.
+       (cpp_handle_option): Handle -f*leading-underscore.
+       * cppulp.c: New file.
+
+       * output.h (user_label_prefix): Declare it.
+       * dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
+       * toplev.c (f_options, main): Handle -f*leading-underscore.
+
+       * defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
+       referencing USER_LABEL_PREFIX directly.
+       * config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
+       * m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
+       * final.c (asm_fprintf): Use user_label_prefix instead.
+       * arm/thumb.c (thumb_print_operand): Likewise.
+
+       * gcc.c (default_compilers): Pass -f*leading-underscore on to
+       cpp wherever appropriate.
 
-       * expr.c (emit_push_insn): Like July 19 change, for BLKmode.
+Wed Oct 28 23:09:25 1998  Robert Lipe  <robertl@dgii.com>
 
-       * stmt.c (expand_function_end): Stack-restore for alloca
-       is now done after the return_label.
+       * sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
+       specific compiler switches.
 
-       * loop.c (scan_loop): Set MAYBE_NEVER for conditional jump to loopbeg.
+Wed Oct 28 21:05:53 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * integrate.c (copy_rtx_and_substitute): Allow mapping of hard regs.
-       (expand_inline_function): Always create parm_map.
-       Handle structure value that way if nec. even if no parms.
-       Otherwise, find the pseudo used in the function to hold the
-       structure address, and map it to a new pseudo.
+       * Makefile.in (c-common.o): Depend on c-pragma.h.  Use $(RTL_H) instead
+       of rtl.h.
 
-       * expr.c (expand_call):
-       Use mark_addressable to make FNDECL addressable.
-       * c-typeck.c (mark_addressable): No longer static.
+Wed Oct 28 20:52:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cse.c (cse_insn): Modify last change: don't canon_reg
-       for hard regs inside clobbers.
+       * gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
+       structure which has exactly the members provided by EXTRA_SPECS.
+       Xmalloc() the real `extra_specs', and initialize it from this
+       intermediate structure.
 
-       * expr.c (expand_assignment): ALIGN arg to store_field comes from
-       the structure, not from the value stored.
+       * alpha.h (EXTRA_SPECS): Revert change for missing initializers.
 
-Fri Jul 21 16:23:45 1989  Richard M. Stallman  (rms at mipos3)
+       * mips.h  (EXTRA_SPECS): Likewise.
 
-       * stmt.c (warn_if_unused_value): Don't warn for a cast
-       around a MODIFY_EXPR.
+       * sparc.h (EXTRA_SPECS): Likewise.
 
-       * tm-hp9k320.h (PCC_STATIC_STRUCT_RETURN): Undefine it.
-       (CPP_PREDEFINES): Add some.
+Wed Oct 28 16:46:07 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-       * combine.c (simplify_and_const_int):
-       Simplify (and (ashiftrt (zero_extend FOO) N) M).
+       * function.c (purge_addressof_1): Instead of aborting when a
+       bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
+       work just put the ADDRESSOF on stack.  Otherwise remember all such
+       successful replacements, so that exactly the same replacements
+       can be made on the REG_NOTEs.  Remove the special case for CALL
+       insns again.
+       (purge_addressof_replacements): New variable.
+       (purge_addressof): Clear it at end.
 
-       * optabs.c (expand_binop): When widening,
-       for some operations we need not actually extend.
+1998-10-28  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-Thu Jul 20 16:16:35 1989  Richard M. Stallman  (rms at mipos3)
+       * c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
+         (lang_init): Call check_newline always.
+       * c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
+         cpp_start_read, set yy_cur and yy_lim to read from
+         parse_in.token_buffer, so that we'll see the first #line
+         directive.
+       * cpplib.c (cpp_start_read): finclude the main input file
+         before processing -include/-imacros.   Process -imacros and
+         -include separately, and handle -include by stacking a
+         buffer for the file in question as if it'd been #included.
+       * toplev.c (documented_lang_options): Recognize -H when
+         USE_CPPLIB is on.
 
-       * Makefile (insn-emit.o): Depend on insn-codes.h.
+1998-10-28  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-       * stmt.c (check_for_full_enumeration_handling): 
-       Handle all cases for TYPE_NAME of enum type.
+       * cpplib.c: Merge do_once into do_pragma.  Break file handling
+         code out of do_include.
+         Move append_include_chain, deps_output,
+         file_cleanup, redundant_include_p, import_hash,
+         lookup_import, add_import, read_filename_string, read_name_map,
+         open_include_file, finclude, safe_read to cppfiles.c.
+         Move prototypes for deps_output, append_include_chain,
+         finclude to cpplib.h.  Move definition of struct
+         file_name_list there also.
+
+       * cppfiles.c: New file.  Contains all the above functions
+         broken out of cpplib.c; also hack_vms_include_specification
+         from cccp.c and find_include_file, a new function broken out of
+         do_include.
+
+       * Makefile.in (cppmain): Depend on cppfiles.o.
+         (fix-header): Likewise.
+         (cppfiles.o): New target.
+       * configure.in (--enable-c-cpplib): Add cppfiles.o to
+         extra_c_objs.  Add ../cppfiles.o to extra_cxx_objs.
+
+Wed Oct 28 14:06:49 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
+       if pending_types is non-zero.
+       (dwarfout_finish): Verify pending_types is zero before finishing.
+
+Wed Oct 28 10:29:09 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * expr.c (convert_move): Use shifts to perform the move if a
+       suitable extend pattern cannot be found.  Code written by
+       Richard Henderson <rth@cygnus.com>.
+
+Wed Oct 28 03:59:29 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+
+       * regclass.c (renumber, regno_allocated): New static variables, moved
+       out of allocate_reg_info.
+       (allocate_reg_info): Move these two variables outside the function.
+       Move code to free memory into new function free_reg_info.
+       (free_reg_info): New function, broken out of allocate_reg_info.
+       * toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
+       * rtl.h (allocate_reg_info): Don't declare.
+       (free_reg_info): Declare.
+
+       * final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
+
+Wed Oct 28 02:38:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * toplev.c (compile_file): Temporarily revert last change.
+
+Wed Oct 28 00:00:35 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * c-typeck.c (convert_for_assignment): Parenthesize.
+
+1998-10-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * reload1.c (delete_output_reload): Avoid ambigous else.
+
+Wed Oct 28 00:10:35 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * toplev.c (compile_file): Call allocate_reg_info to free register
+       table memory.
+       * rtl.h (allocate_reg_info): Declare.
+
+       * PROJECTS: Remove entry for local spilling.
+
+       * final.c (cleanup_subreg_operands): New function.
+       (final_scan_insn): Use it.
+       (alter_subreg): Clear the "used" field when we turn a SUBREG into
+       a REG.
+       * reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
+       operands when reload has finished.
+       * reload.h (cleanup_subreg_operands): Declare..
+       * flow.c (life_analysis_1): No longer delete CLOBBER insns after
+       reload.  Handled in reload itself.
+
+Tue Oct 27 23:32:34 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+
+       * reload1.c (verify_initial_offsets): New function.
+       (reload): Call it after reload_as_needed.  Also verify that the frame
+       size stays constant during reload_as_needed.
+       * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
+
+       * reload.h (struct insn_chain): Add need_operand_change element.
+       * reload1.c (new_insn_chain): Clear it.
+       (calculate_needs_all_insns): Set it; don't overload need_reload.
+       (reload_as_needed): Use it.
+
+       * reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
+       reload_address_base_reg_class throughout.  Similar for INDEX_REG_CLASS
+       and reload_address_index_reg_class.
+       (find_reloads_address_1): Likewise.
+       * reload.h (reload_address_base_reg_class,
+       reload_address_index_reg_class): Don't declare.
+       * reload1.c (reg_old_renumber, pseudo_previous_regs,
+       pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
+       (used_spill_regs): Now static.
+       (reload_address_base_reg_class, reload_address_index_reg_class,
+       regs_explicitly_used, counted_for_groups, counted_for_nongroups,
+       basic_block_needs, max_needs, group_size, group_mode, max_groups,
+       max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
+       forbidden_regs):
+       Deleted variables.
+       (init_reload): Delete code to compute base/index reg classes.
+       (reload): Delete variable J.
+       Delete code to manage basic_block_needs.
+       Don't compute regs_explicitly_used.
+       Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
+       pseudo_previous_regs.
+       Initialize bad_spill_regs_global.
+       Don't call order_regs_for_reload here.
+       Don't initialize spill_reg_order and n_spills.
+       Don't forbid explicitly used regs to be used for spill regs.
+       Change main loop to infinite loop, with explicit break statements.
+       Make SOMETHING_CHANGED variable local to that loop.
+       Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
+       max_groups_insn, max_nongroups_insn, group_size, group_mode.
+       Make sure spilled_pseudos is cleared before calling spill_hard_reg or
+       new_spill_reg.
+       Don't call dump_needs.
+       Delete code to reset potential_reload_regs.
+       Delete code to terminate loop conditional on the global needs variables
+       showing no further needs.
+       (calculate_needs_all_insns): Return void.  All callers changed.
+       Initialize something_needs_elimination here, not in reload.
+       Delete avoid_return_reg kludge.
+       (calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
+       All callers changed.
+       Initialize the group_mode and group_size elements of the arg CHAIN.
+       Delete code to manage basic_block_needs.
+       Operate on elements of CHAIN instead of global variables.
+       Delete avoid_return_reg kludge.
+       (find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
+       All callers changed.
+       Operate on elements of CHAIN instead of global variables.
+       Delete special SMALL_REGISTER_CLASSES code.
+       Delete spill_failure code; now in new_spill_reg.
+       (find_group): Lose GLOBAL arg, take CHAIN arg, return void.
+       All callers changed.
+       Operate on elements of CHAIN instead of global variables.
+       (maybe_mark_pseudo_spilled): New static function.
+       (find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
+       All callers changed.
+       Operate on elements of CHAIN instead of global variables.
+       Call order_regs_for_reload here, not in reload.
+       Initialize spill_reg_order and n_spills.
+       Simplify test whether an asm insn is involved.
+       Delete spill_failure code; now in new_spill_reg.
+       Call maybe_mark_pseudo_spilled for everything marked as live in
+       CHAIN.  Merge CHAIN's used_spill_regs into the global variable
+       used_spill_regs.
+       (dump_needs): Take CHAIN arg.  No longer static, to prevent the
+       compiler from optimizing this function (now unused) away.
+       Operate on elements of CHAIN instead of global variables.
+       (possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg.  All callers
+       changed.
+       Operate on elements of CHAIN instead of global variables.
+       (count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
+       take CHAIN arg.  All callers changed.
+       Operate on elements of CHAIN instead of global variables.
+       (new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
+       CHAIN, NONGROUP args.  Return void.  All callers changed.
+       Verify caller isn't trying to spill a pseudo.
+       Simplify test for illegal reg, just use bad_spill_regs.
+       Generate better error messages.
+       Operate on elements of CHAIN instead of global variables.
+       Mark spilled register in CHAIN's used_spill_regs element.
+       Don't call spill_hard_reg.
+       (spill_hard_reg): Lose GLOBAL arg, return void.  All callers changed.
+       Mark spilled hard regs in bad_spill_regs_global.
+       Mark affected pseudos in spilled_pseudos, but don't spill them.
+       (ior_hard_reg_set): New static function.
+       (finish_spills): Return int.  All callers changed.
+       Compute spill_reg_order, n_spills and spill_regs here.  Also update
+       regs_ever_live for regs used as spills.
+       For every pseudo in spilled_pseudos, spill it and mark the previous
+       hard reg it had in pseudo_previous_regs.  Compute which hard regs
+       are used as spills in insns during which it is live, and retry global
+       register allocation.  Update all life information in the
+       reload_insn_chain not to include pseudos without hard regs.
+       Call alter_reg for all affected speudos.
+
+       (scan_paradoxical_subregs): Disable SMALL_REGISTER_CLASSES special
+       case, it's not clear what it's supposed to do.
+
+       (hard_reg_use_compare): Take bad_spill_regs into account.
+       (pseudos_counted): New static variable.
+       (count_pseudo): New static function.
+       (order_regs_for_reload): Take CHAIN arg.  All callers changed.
+       Initialize bad_spill_regs from bad_spill_regs_global, then merge any
+       hard registers explicitly used across the current insn into the set.
+       Compute hard_reg_n_uses taking only pseudos live across this insn
+       into account.
+       Tweak sorting of potential_reload_regs.
+       (compare_spill_regs): Delete function.
+       (reload_as_needed): Don't sort the spill_regs array, it's computed
+       in proper order in finish_spills.
+       Delete avoid_return_reg kludge.
+       Delete code to manage basic_block_needs.
+       (allocate_reload_reg): Minor speed/readability tweaks.
+       Operate on elements of CHAIN instead of global variables.
+       (choose_reload_regs): Lose AVOID_RETURN_REG arg.  All callers changed.
+       Delete avoid_return_reg kludge.
+       Initialize reload_reg_used from CHAIN's used_spill_regs element.
+       Delete unused label FAIL.
+       (reload_combine): Replace reload_address_index_reg_class with
+       INDEX_REGS.
+       Don't use used_spill_regs to determine information about lifetime of
+       hard regs.
+
+Tue Oct 27 13:15:02 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * toplev.c (display_help): Ignore empty target specific
+       options, and if -W is also specified on the command line then
+       display undocumented options.
+
+       * config/arm/arm.c: Updated with changes in devo sources.
+       * config/arm/arm.h: Updated with changes in devo sources.
+       * config/arm/lib1funcs.asm: Updated with changes in devo sources.
+       * config/arm/lib1thumb.asm: Add ELF support.
+
+Tue Oct 27 16:11:43 1998  David Edelsohn  <edelsohn@gnu.org>
+
+       * collect2.c (aix64_flag): New variable.
+       (main, case 'b'): Parse it.
+       (GCC_CHECK_HDR): Object magic number must match mode.
+       (scan_prog_file): Only check for shared object if valid header.
+       Print debugging if header/mode mismatch.
+
+Tue Oct 27 10:15:02 1998  Nick Clifton  <nickc@cygnus.com>
 
-Wed Jul 19 17:00:39 1989  Richard M. Stallman  (rms at mipos3)
+       Added support for arm-elf-linux configuration, submitted by Philip
+       Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf
+       code developed by Catherine Moore <clm@cygnus.com>.  The following
+       files are affected:
+
+       * configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
+       targets.
 
-       * fold-const.c (fold_convert): Don't fail to force_fit_type.
+       * configure: Regenerated.
+
+       * config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
+       USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX.  Make other macro
+       definitions conditional on their not having been already defined.
 
-       * expr.c (emit_push_insn): When pushing only part of scalar on stack,
-       adjust stack offset not to count the words not pushed.
+       * config/arm/lin1funcs.asm: Add ELF only macros to generate .size
+       and .type directives, and add "(PLT)" qualification to function
+       calls.
 
-       * stmt.c (expand_function_end): Always put return structure address
-       in return register.
+       * config/arm/linux.h: Deleted.  This file is now superseded by
+       either linux-elf.h or linux-aout.h.
 
-       * c-typeck.c (process_init_constructor): Assume 0 for nameless field.
+       * config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
+       (CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
+       support).
+       Move definitions from old linux.h file here.
 
-       * recog.c (general_operand, memory_operand):
-       Check validity of mem address using the mode of the MEM.
+       * config/arm/elf.h: New file.  Generic ARM/ELF support.
 
-       * fixincludes: When calling egrep, use redirect, not -s.
+       * config/arm/linux-aout.h: New file.  Support for Linux with a.out.
 
-Tue Jul 18 11:18:55 1989  Richard M. Stallman  (rms at mipos3)
+       * config/arm/linux-elf.h: New file.  Support for Linux with ELF.
 
-       * Makefile (bootstrap*): Pass value of libdir down.
+       * config/arm/linux-elf26.h: New file.  Support for Linux with ELF
+       using the 26bit APCS.
 
-       * cse.c (cse_insn): Do canon_reg on any CLOBBERs and USEs.
+       * config/arm/unknown-elf.h: New file.  Support for OS'es other
+       than Linux with ELF.
 
-       * cse.c (cse_insn): Don't use no_labels_between_p to check
-       for jump to following label; find following label and compare.
+       * config/arm/t-arm-elf: New file.  makefile fragment for arm-elf
+       builds.
 
-       * combine.c (try_combine): Don't substitute into subreg(x)=y
-       if modes of x and y are not tieable.
+       * config/arm/coff.h: Include aout.h for basic assembler macros.
+       Add support for -mstructure_size_boundary=<n> command line option.
 
-       * out-i386.c (call_top_dead_p): Don't fail to check
-       the rtx code of the insns themselves.
+       * config/arm/arm.h: Add support for -mstructure_size_boundary=<n>
+       command line option.  Make macro definitions conditional on their
+       not having been already defined.
 
-       * i386.md (tstsf, tstdf): Don't discard TOS if not dead.
+       * config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
+       command line option.
 
-       * stupid.c: Don't use regs with PRESERVE_DEATH_INFO_REGNO_P
-       for pseudos which live across jumps or labels.
-       (stupid_life_analysis): Update last_jump_suid, last_label_suid.
-       (stupid_mark_refs): Use those to set reg_crosses_blocks.
-       (stupid_find_reg): Check that data, passed from stupid_life_analysis.
 
-       * toplev.c (main): Avoid using caddr_t.
+Tue Oct 27 08:56:46 1998  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * mips.md (inverted bgeu peephole): Typo in opcode.
+       * dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
+       has been changed to not include a newline. Use this macro instead.
+       (output_enumeral_list, const_value_attribute, name_attribute,
+       comp_dir_attribute, prototyped_attribute, producer_attribute,
+       inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
+       dwarfout_file_scope_decl, generate_new_sfname_entry,
+       generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
+       ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
 
-Mon Jul 17 12:29:45 1989  Richard M. Stallman  (rms at mipos3)
+Mon Oct 26 13:35:02 1998  Richard Henderson  <rth@cygnus.com>
 
-       * i386.md (mulb patterns): Turned off due to assembler bug.
+       * combine.c (subst): Process the inputs to a parallel asm_operands
+       only once.
 
-       * rtl.c (read_name): Use 0, not NULL, for character.
+Mon Oct 26 13:32:31 1998  Richard Henderson  <rth@cygnus.com>
 
-       * alliant.md (movqi): Typos in mov opcodes.
+       * stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
 
-       * tm-sparc.h, tm-spur.h (CONST_DOUBLE_OK_FOR_LETTER_P):
-       Use CONST_DOUBLE_LOW, etc. 
+Mon Oct 26 12:53:14 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * stmt.c (expand_function_end): Check value of EXIT_IGNORE_STACK,
-       not just whether defined.
+       * tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
 
-       * i386.md (seq, etc.): New patterns.
-       * expr.c (do_store_flags): If result is wrong mode, 
-       ensure rest of bits are cleared.
-       Before storing low part of TARGET, emit a CLOBBER for it.
+Mon Oct 26 00:36:58 1998  Jeff Law  (law@cygnus.com)
 
-       * i386.md (load address): Use an immediate add if possible.
+       * version.c: Bump for snapshot.
 
-       * i386.md (ashlsi3): Don't generate leal; shift is faster.
+Sun Oct 25 23:36:52 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * Now struct_value_rtx is 0 to treat it as a parm.
-       * expr.c (expand_call): Implement that.
-       * integrate.c (expand_inline_function): Don't freak out.
-       * tm-apollo68.h (STRUCT_VALUE): Make it 0.
+       * stmt.c (expand_fixup): Set fixup->before_jump to a
+       NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
 
-       * On 386, called function must pop the structure value address.
-       * tm-i386.h (STRUCT_VALUE): Don't change this.
-       Address is now pushed but not counted as a parm.
-       * out-i386.c (function_epilogue): Use ret $4 to pop that address.
-       * output.h: Declare the current_function_... variables.
-       * final.c: Include output.h.
+Sun Oct 25 15:49:57 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * varasm.c (make_decl_rtl): Insert missing `else', validating reg decl.
+       * Makefile.in (recog.o): Depend on toplev.h.
+       (insn-emit.o): Depend on recog.h.
+       (insn-peep.o): Depend on recog.h and insn-config.h.
 
-Fri Jul 14 14:12:17 1989  Richard M. Stallman  (rms at mipos3)
+       * combine.c (simplify_set): Remove unused variable `scratches'.
 
-       * out-sparc.c, out-spur.c (output_move_double):
-       Fixed typo, addreg0 => addreg1.
+       * final.c (final_scan_insn): Wrap declaration of variables `vlen'
+       and `idx' in macro conditional controlling their use.
 
-       * c-decl.c (lang_decode_option): Handle -fshort-enums.
-       (finish_enum): In that case, give enum minimum number of bytes.
-       * toplev.c (main): Default flag_short_enums.
-       * toplev.c, flags.h (flag_short_enums, flag_signed_char): 
-       Define those flags here, not in c-decl.c and c-tree.h.
+       * genemit.c (main): Make the generated output file include
+       recog.h.  Don't have it declare `insn_operand_constraint', since
+       we get it from recog.h.
 
-       * i386.md (mulqi3, umulqi3): New patterns.
+       * genpeep.c (main): Make the generated output file include
+       insn-config.h and recog.h.
 
-       * c-convert.c (convert_to_integer): Tighter restrictions on
-       distributing truncation through max, min, and multiplication.
-       If operands were extended from unsigned, make the operation
-       unsigned.
+       * recog.c: Include toplev.h.
+       (extract_insn): Remove unused variable `p'.
+
+       * regclass.c (fix_register): Add missing braces around initializer
+       for `what_option'.
+       (allocate_reg_info): Move variable `i' into the scope where it is
+       used.  Change its type to `size_t'.
+
+Sun Oct 25 13:10:15 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+
+       * reload.c (push_reload): When merging reloads, make sure
+       that reload_in_reg and reload_in are from the same reload in
+       all cases.
+
+Sun Oct 25 12:07:00 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+
+       * i386/crtdll.h (CPP_PREDEFINES): Fix typo.
+       * i386/mingw32.h (CPP_PREDEFINES): Likewise.
+
+Fri Oct 23 23:42:03 1998  David Edelsohn  <edelsohn@gnu.org>
+
+       * loop.c (loop_has_tablejump): New variable.
+       (prescan_loop): Scan for it.
+       (insert_bct): Replace explicit scan with use of it.
+       * regclass.c (regclass): Restore loop variable j.
+       (record_reg_classes): Deterine op_types modifiers and initialize
+       classes[i] before matching constraints.  Handle matching
+       constraints 5-9.
+
+Fri Oct 23 13:55:48 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * cccp.c (main): Fix bug where #include <...>, when -I- was used,
-       failed to search standard dirs and/or searched some dirs
-       intended only for #include "...".
+       * m32r/m32r.c (gen_split_move_double): Call alter_subreg.  Delete
+       subreg support.
 
-       * tm-mips.h (FUNCTION_PROLOGUE,FUNCTION_EPILOGUE):
-       Increment push_loc after store or load, not before.
+Fri Oct 23 16:19:24 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Thu Jul 13 11:24:30 1989  Richard M. Stallman  (rms at mipos3)
+       * mips.h (EXTRA_SPECS): Add missing initializers.
 
-       * emit-rtl.c (add_insn_after): Don't update last_insn
-       if insn is in a sequence.  Instead, update end of sequence.
+Fri Oct 23 16:08:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * stmt.c (fixup_var_refs): Update end of stacked sequence.
+       * sparc.h (EXTRA_SPECS): Add missing initializers.
+       (sparc_defer_case_vector): Provide a prototype.
 
-       * stmt.c (expand_function_start): Set result rtl before assign_parms.
+       * svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
+       comparing it to the result of a pointer subtraction.
 
-       * optabs.c (emit_unop_insn): Set PREV_INSN after preliminaries.
+Fri Oct 23 15:34:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * stmt.c (warn_if_unused_value): Do CONVERT_EXPR like NOP_EXPR.
+       * alpha.c (override_options): Use ISDIGIT(), not isdigit().  Cast
+       the argument to (unsigned char).
 
-       * stmt.c (expand_function_start): Make sure parm_birth_insn
-       is a NOTE.
+       * alpha.h (EXTRA_SPECS): Add missing initializers.
+       (ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
+       format specifier.
 
-       * Makefile (clean): Delete tmp-insn-*.
+Fri Oct 23 13:12:35 1998  Jeffrey A Law  (law@cygnus.com)
 
-Wed Jul 12 14:24:12 1989  Richard M. Stallman  (rms at mipos3)
+       * flow.c (life_analysis_1): Enable "rescan" code after reload.
+       (propagate_block): Delete dead code after reload.
 
-       * i386.md (mulqi3): Restrict operand 2 to `q' reg.
+       * sched.c (update_flow_info): Revert Oct 19, 1998 change.  Brings
+       back Oct 15, 1998 change.
+       * haifa-sched.c (update_flow_info): Likewise.
+       * flow.c (life_analysis_1): Delete CLOBBER insns after reload.
 
-       * reload1.c (choose_reload_regs): Check HARD_REGNO_MODE_OK
-       for regs to be inherited.
-       Also check HARD_REGNO_MODE_OK at end for modes of both
-       reload_in and reload_out as well as reload_mode.
+       * mn10200.md (truncated shift): Accept constant inputs too.
 
-       * Makefile (maketest): Update for config subdir.
+Fri Oct 23 04:06:57 1998  Richard Earnshaw  (rearnsha@arm.com)
 
-Tue Jul 11 16:29:57 1989  Richard M. Stallman  (rms at mipos3)
+       * machmode.h (mode_mask_array): No longer const.
+       * rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
 
-       * integrate.c (copy_decl_tree): Copy TREE_USED of each LET_STMT.
+Fri Oct 23 11:19:06 1998  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
 
-       * make-cc1.com: Changes by Angel Li.
-       Define variables CC, CFLAGS, LDFLAGS, LIBS.
-       Use LIBR library, not LIB.  Specify a /INC in CFLAGS.
-       Use MCR to run the gen* files.  Add some comments.
-       * make-cccp.com: Similar.
-       * config-gcc.com: New file.
+       * frame.c: Somewhat explain `FDE'.
+       Suggested by Brendan Kehoe
 
-       * stmt.c (assign_parms): Compute parm alignment from passed type.
+Fri Oct 23 00:56:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * c-typeck.c (actualparameterlist): Instead of truncating
-       and then promoting for PROMOTE_PROTOTYPES, go straight to int.
+       * expr.c (pending_chain): Move up.
+       (save_expr_status): Do save pending_chain.
+       (restore_expr_status): And restore it.
+       * function.h (struct function): Add pending_chain.
 
-       * c-parse.y (setspecs): Save old current_declspecs on a stack.
-       (decl, component_decl): Restore from that stack.
+1998-10-23  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
 
-Wed Jul  5 15:01:00 1989  Richard Stallman  (tiemann at yahi)
+       * reorg.c (relax_delay_slots): Fixed test for mostly_true_jump. The
+       did not match the code.
 
-       * tm-aix386.h, xm-aix386.h: New files.
+Fri Oct 23 00:07:01 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * loop.c (check_dbra_loop): Handle either test or compare
-       for insn two before loop end; detect and reject anything else.
+       * regclass.c (regclass): Break out some code into new function
+       scan_one_insn, and into regclass_init.
+       (init_cost): New static variable, moved out of regclass.
+       (regclass_init): Initialize it here, not in .
+       (scan_one_insn): New static function, broken out of regclass.
+       * recog.c (apply_change_group): Break out some code into new
+       function insn_invalid_p.
+       (insn_invalid_p): New static fn, broken out of apply_change_group.
 
-       * expr.c (expand_call, expand_builtin): If alloca is done,
-       set current_function_calls_alloca.
-       * stmt.c (expand_function_end): If so, generate code to save and
-       restore the stack pointer, if not EXIT_IGNORE_STACK.
+Thu Oct 22 22:34:42 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * ns32k.md (movsi): Fixes for moving from fp or sp.
+       * reload1.c (reload_as_needed): When rewrite POST_INC, verify
+       reg_reloaded_contents matches incremented pseudo.
 
-       * tm-mips.h (ASM_OUTPUT_ASCII): Start new .ascii every 256 chars.
+       * v850/v850.c (v850_reorg): Call alter_subreg.  Delete subreg support.
 
-Tue Jul  4 11:01:00 1989  Richard Stallman  (tiemann at yahi)
+Fri Oct 23 11:11:56 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * reload1.c (choose_reload_targets): Don't depend on
-       reload_spill_index when cancelling invalid inheritance.
-       Also, abort if trying to preserve death info
-       on a spill reg used in operand addressing.
+       * rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for
+       addressing modes with side effects.  These are currently
+       placeholders for the C4x target.
 
-       * fold-const.c (fold): Don't fold "foo"[n] here.
-       * expr.c (expand_expr): Do it here.
-       Handle wide strings correctly.
+Thu Oct 22 16:46:35 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * i386.md (movsf,movdf): Disallow mem-mem moves.
-       Enable mem-to-reg moves.
+       * loop.c (express_from): Make sure that when generating a PLUS of
+       a PLUS, any constant expression appears on the outermost PLUS.
 
-       * c-decl.c (finish_{struct,enum}): Warn if inside parm decls.
-       (in_parm_level_p, declare_parm_level): Record when inside.
-       * c-parse.y (parmlist, parmlist_or_identifiers): Call
-       declare_parm_level.
+Thu Oct 22 15:46:23 1998  Per Bothner  (bothner@cygnus.com)
 
-       * c-decl.c (parmlist_tags_warning): Revise warning message text.
+       * Makefile.in (distdir-cvs, distdir-start): Clean up so it
+       works if "$(srcdir)" != ".".
 
-       * tm-hp9k320.h (ASM_SPEC): Pass -V switch to assembler.
+Wed Oct 21 19:23:59 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * tm-sun386.h (ASM_START_FILE): Truncate filename to 14 chars.
+       * expmed.c (store_bit_field): If need to add a SUBREG, then remove
+       existing SUBREG if we can, otherwise abort.
 
-       * c-typeck.c (decl_constant_value): Use only literal values.
+Wed Oct 21 09:58:51 1998  Mark Mitchell  <mark@markmitchell.com>
 
-Sat Jul  1 17:29:54 1989  Richard Stallman  (tiemann at yahi)
+       * c-common.c (c_apply_type_quals_to_decl): Don't crash when
+       `restrict' is applied to a non-pointer variable.
 
-       * integrate.c (copy_rtx_and_substitute): Don't make nested SUBREGs.
+Wed Oct 21 09:18:58 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * stmt.c (expand_function_start): Set new global
-       current_function_returns_pointer.
+       * invoke.texi: Document -flang-isoc9x.
 
-       * stmt.c (get_frame_size): Return the size, not the offset.
-       * integrate.c (expand_inline_function): When setting FP_DELTA,
-       compensate for this change.
-       * tm-alliant.h,tm-mips.h,tm-sparc.h,tm-tahoe.h
-       (FUNCTION_PROLOGUE,FUNCTION_EPILOGUE): Compensate.
+       * Makefile.in (OBJS): Add splay-tree.o.
+       (c-common.o): Depend on rtl.h.
+       (splay-tree.o): List dependencies and provide build rule.
 
-       * out-mips.c (function_arg): Return 0 for BLKmode.
+       * rtl.h (record_alias_subset): New function.
+       * alias.c: Include splay-tree.h.
+       (alias_set_entry): New type.
+       (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove.
+       (DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p.
+       (mems_in_disjoin_alias_sets_p): New function.
+       (alias_set_compare): Likewise.
+       (insert_subset_children): Likewise.
+       (get_alias_set_entry): Likewise.
 
-       * tm-mips.h (FUNCTION_INCOMING_ARG): Delete; no register windows.
-       * out-mips.c (function_inarg): Delete; no longer used.
+       * tree.h (TYPE_RESTRICT): New macro.
+       (TYPE_UNQUALIFIED): New manifest constant.
+       (TYPE_QUAL_CONST): Likewise.
+       (TYPE_QUAL_VOLATILE): Likewise.
+       (TYPE_QUAL_RESTRICT): Likewise.
+       (tree_type): Add restrict_flag.  Reduce count of free bits.
+       (DECL_POINTER_ALIAS_SET): New macro.
+       (DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
+       (tree_decl): Add pointer_alias_set.
+       (build_qualified_type): New function.
+       (build_type_variant): Define in terms of build_qualified_type.
+       * tree.c (set_type_quals): New function.
+       (make_node): Initialize DECL_POINTER_ALIAS_SET.
+       (build_type_attribute_variant): Use build_qualified_type and
+       set_type_quals.
+       (build_type_variant): Rename, and modify, to become...
+       (build_qualified_type): New function.
+       (build_complex_type): Use set_type_quals.
 
-       * mips.md (addsi3): Use register_operand for operands 0,1.
-       (load address): New pattern, following movsi.
-       (fix_trunc*): Use trunc insn, not cvt.
-       (cmpfs + bgt peephole): Operands were backwards in template.
+       * c-tree.h (C_TYPE_OBJECT_P): New macro.
+       (C_TYPE_FUNCTION_P): Likewise.
+       (C_TYPE_INCOMPLETE_P): Likewise.
+       (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
+       (c_apply_type_quals_to_decl): New function.
+       (c_build_qualified_type): New function.
+       (c_build_type_variant): Define in terms of c_build_qualified_type.
+       (flag_isoc9x): Declare.
+       * c-typeck.c (qualify_type): Use c_build_qualified_type.
+       (common_type): Change to use TYPE_QUALS.
+       (comptypes): Likewise.
+       (convert_for_assignment): Likewise.
+       * c-aux-info.c (gen_type): Likewise.  Deal with `restrict'.
+       * c-decl.c (flag_isoc9x): Define.
+       (c_decode_option): Handle -flang-isoc9x.
+       (grokdeclarator): Update to handle restrict.  Use TYPE_QUALS,
+       c_build_qualified_type, etc.  Use c_apply_type_quals_to_decl.
+       * c-lex.c (init_lex): Deal with restrict.
+       (init_lex): Don't treat restrict as a reserved word in
+       -traditional mode, or without -flang-isoc9x.
+       * c-lex.h (rid): Add RID_RESTRICT.
+       * c-parse.gperf (restrict, __restrict, __restrict__): Make
+       equivalent to RID_RESTRICT.
+       * c-parse.in (TYPE_QUAL): Update comment.
+       * c-common.c: Include rtl.h.
+       (c_find_base_decl): New function.
+       (c_build_type_variant): Rename, and modify, to become ...
+       (c_build_qualified_type): New function.
+       (c_apply_type_quals_to_decl): Likewise.
+       (c_get_alias_set): For INDIRECT_REFs, check to see if we can find
+       a particular alias set for the reference.
+       * toplev.c (documented_lang_options): Add -flang-isoc9x.
 
-       * gcc.c (main): Record in explicit_link_files which input files go
-       straight to linker.  If linker is not run, complain about them.
-       (execute): Increment execution_count, to show we were called.
+Wed Oct 21 09:15:06 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * gcc.c (validate_all_switches): Check ASM_SPEC, CC1_SPEC, etc.,
-       so we find all switches that could be valid.
+       * config/arm/arm.h (TARGET_SWITCHES): Document arm specific
+       command line switches.
 
-       * varasm.c (output_constructor): Position fields according to
-       DECL_OFFSET; don't try to compute alignment here.
+Tue Oct 20 10:04:51 1998  Graham  <grahams@rcp.co.uk>
 
-       * tm-sparc.h (PCC_BITFIELD_TYPE_MATTERS): Define this.
+       * reload.c (loc_mentioned_in_p): Add missing braces to bind
+       else to correct if.
 
-       * reload1.c (emit_reload_insns): Fix stupid error in last change.
+Mon Oct 19 16:34:05 1998  Tom Tromey  <tromey@cygnus.com>
 
-       * c-decl.c (duplicate_decls): If redeclaring builtin, give error is
-       type mismatched; otherwise warn only if -W.
+       * gcc.c (option_map): Added --classpath and --CLASSPATH.
 
-       * jump.c (jump_back_p): Verify that PREV is not null.
+Tue Oct 20 10:59:02 1998  Gavin Romig-Koch  <gavin@cygnus.com>
 
-Mon Jun 26 13:50:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * regclass.c (fix_register): Add error message.
+       * invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the
+         new error message.
 
-       * reload1.c (choose_reload_regs): If number of reloads needing
-       spill regs exceeds n_spills, don't inherit any reloads.
+Tue Oct 20 10:12:17 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * sdbout.c (sdbout_record_type_name): Dumb error in last change.
+       * c-decl.c (warn_missing_noreturn): New global variable.
+       (c_decode_option): Check for new flags -W{no-}missing-noreturn.
+       (finish_function): Implement missing noreturn warning.
 
-       * reload1.c (emit_reload_insns): Extend last change: don't use
-       equiv reg if reg is in use at same stage of insn, either.
+       * c-tree.h (warn_missing_noreturn): Declare extern.
 
-Sun Jun 25 00:00:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * invoke.texi: Document new flags.
 
-       * reload1.c (emit_reload_insns): Don't use an equivalent register
-       to reload from, if that register was used for reloading
-       earlier in this insn.
+       * toplev.c (documented_lang_options): Add description.
 
-       * sdbout.c (sdbout_record_type_name): Handle a TYPE_DECL as the
-       type name.  Get rid of TYPE_TAG_NAME as separate macro.
+Tue Oct 20 22:16:11 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * optabs.c (emit_cmp_insn): Args to memcmp are addresses, not blocks.
+       * config/c4x/c4x.c (c4x_parallel_process): Disable until BCT
+       loop optimization stable for the C4x.
+       (c4x_rptb_info_t, c4x_dump, c4x_rptb_in_range, c4x_rptb_unjumped_loop,
+       c4x_rptb_find_comp_and_jump, c4x_rptb_loop_info_get,
+       c4x_rptb_emit_init, c4x_rptb_process): Deleted (superseded by BCT
+       loop optimization).
+       (c4x_address_conflict): Be more paranoid when packing a volatile
+       memref in a parallel load/store.
 
-       * reload1.c (choose_reload_regs): Typo, clearing reload_override_in.
+Tue Oct 20 21:56:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * tm-i386.h: Add register classes SIREG and DIREG.
-       (enum reg_class, REG_CLASS_NAMES): Define class names.
-       (REGNO_REG_CLASS, REG_CLASS_CONTENTS): Define their contents.
-       (REG_CLASS_FROM_LETTER): Define letters `S' and `D'.
+       * config/c4x/c4x.md (repeat_block_top, repeat_block_end,
+       repeat_block_filler): Deleted.
+       (*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber):
+       Condition code not set if destination register from 'c' class.
+       (*subbqi3_carry_clobber): Fix typo.
 
-Sat Jun 24 00:17:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+1998-10-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
 
-       * c-decl.c (keep_next_level): New function.
-       (struct binding): New slot `keep' says make a LET_STMT for this level.
-       (pushlevel, poplevel): Implement that.
-       * c-parse.y (stmt exprs): Call keep_next_level.
+       * reorg.c (steal_delay_list_from_target): Check for insns that
+       modify the condition codes and effect the direction of the jump
+       in the sequence.
 
-       * sdbout.c (plain_type_1): Handle REFERENCE_TYPE, METHOD_TYPE.
-       Correct for size less than 0.
-       (plain_type): Correct for size less than 0.
+Sat Oct 17 13:09:09 1998  Graham  <grahams@rcp.co.uk>
 
-       * global-alloc.c (mark_reg_set): For CLOBBERs, call mark_reg_clobber.
+       * function.c (purge_addressof_1): Replace call to
+       emit_insns_before() with emit_insn_before().
 
-       * reload1.c (order_regs_for_reload): Among regs explicitly used,
-       prefer those used less often.
+Mon Oct 19 19:34:03 1998  Mike Stump  <mrs@wrs.com>
 
-       * reload1.c (choose_reload_regs): If we find alternate place
-       to reload from, verify it after all reloads assigned.
-       New variable reload_override_in used for this.
+       * libgcc2.c (__pure_virtual): Call __terminate instead of _exit.
 
-       * combine.c (record_dead_and_set_regs): Look inside SIGN_EXTEND and
-       STRICT_LOW_PART for place being set.
-       (subst): When using reg_last_set to find what a register contains,
-       verify the entire register was set.
+Mon Oct 19 13:26:24 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * toplev.c (rest_of_decl_compilation): Report invalid register name.
+       * jump.c (sets_cc0_p): Compile only if HAVE_cc0.
 
-Fri Jun 23 13:19:41 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Oct 19 11:40:56 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-hp9k3bsd.h: New file.
-       * config.gcc: New target hp9k320-bsd.
+       * gcse.c (compute_hash_table): Correctly identify hard regs which are
+       clobbered across calls.
 
-       * gcc.c (record_temp_file): Don't add a name twice to one queue.
+       * loop.c (scan_loop): Be more selective about what invariants are
+       moved out of a loop.
 
-       * stmt.c (expand_expr_stmt): Call warn_if_unused_value.
-       (warn_if_unused_value): Code extracted from expand_expr_stmt.
-       Recurse to handle COMPOUND_EXPR.  Don't warn about COND_EXPR.
+Mon Oct 19 10:46:58 1998  Jeff Law  (law@cygnus.com)
 
-       * tm-encore.h (DBX_REGISTER_NUMBER): Override tm-ns32k.h;
-       return operand unchanged.
+       * version.c: Bump for snapshot.
 
-       * reload1.c (emit_reload_insns): Don't use recog_memoized
-       on an asm.
+Mon Oct 19 11:40:56 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * jump.c (delete_insn): Update last_insn.
-       * emit-rtl.c (set_last_insn): New function.
+       * libgcc2.c (eh_context_static): Do not call malloc to allocate the
+       static eh_context structure.
 
-       * reload1.c (reload): Put a note at end of insn chain.
+Mon Oct 19 10:45:40 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * gcc.c: Put cpp output of .S file into a .s file.
+       * combine.c (recog_for_combine): Lose PADDED_SCRATCHES arg.  All
+       callers changed.
+       (try_combine): Don't update max_scratch.
+       * flow.c (max_scratch, num_scratch): Delete variables.
+       (life_analysis_1): Don't initialize max_scratch.
+       (propagate_block): Don't update max_scratch.
+       (mark_set_1): Don't increment num_scratch.
+       * regs.h (max_scratch): Delete declaration.
 
-Thu Jun 22 22:14:35 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Oct 19 10:28:15 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * optabs.c (expand_binop, expand_unop): Emit queue before library call.
-       It is done within emit_library_call, and cse screws up if there is a
-       queued insn in the middle of a cse-able sequence.
+       * reload1.c (reload_reg_free_before_p): Hack.  Return 0 if EQUIV
+       is nonzero.  This is temporary!
 
-Wed Jun 21 11:57:22 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * sched.c (update_flow_info): Handle death notes made invalid by
+       instruction splitting.  Partially reverts Oct 15, 1998 patch.
+       * haifa-sched.c (update_flow_info): Likewise.
 
-       * tm-mips.h (CPP_PREDEFINES): Define -Dunix.
+Sun Oct 18 17:31:26 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * reload.c (combine_reloads): Combined reload needed for entire insn.
+       * function.c (uninitialized_vars_warning): Do not warn for a VAR_DECL
+       if it has a nonzero DECL_INITIAL.
 
-       * c-parse.y (yylex): Braino checking for out-of-range escape seq.
+Sat Oct 17 23:18:08 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * stor-layout.c (layout_union): Handle PCC_BITFIELD_TYPE_MATTERS.
-       (layout_struct): Don't let a bitfield cross the storage unit
-       of its type, if PCC_BITFIELD_TYPE_MATTERS.
+       * Makefile.in (flow.o): Depend on recog.h.
 
-Tue Jun 20 00:03:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cpplib.h (directive_table): Add missing initializiers.
+       (finclude): Change type of variable `bsize' to size_t.
 
-       * varasm.c (get_or_assign_label): Let CONSTANT_ALIGNMENT specify
-       alignment of the constant.
-       CONSTANT_ALIGNMENT is a new optional macro.
+       * cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED.
 
-       * varasm.c (force_const_mem, get_or_assign_label):
-       Make buffer bigger.
+       * dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE.
 
-       * toplev.c (print_target_switch_defaults): New fn called for -version.
+       * fix-header.c (lookup_std_proto): Cast the result of `strlen' to
+       `int' when comparing against one.
+       (cpp_file_line_for_message): Mark parameter `pfile' with
+       ATTRIBUTE_UNUSED.
+       (cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
 
-       * toplev.c (compile_file): Detect error closing output file.
+       * flow.c: Include recog.h.
+       (sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR).
 
-       * stor-layout.c (fixup_unsigned_type): Don't shift by 32.
+       * function.c (thread_prologue_and_epilogue_insns): Mark parameter
+       `f' with ATTRIBUTE_UNUSED.
+       (reposition_prologue_and_epilogue_notes): Likewise.
 
-       * stmt.c (emit_case_nodes): Pass UNSIGNEDP along to emit_cmp_insn.
+       * genopinit.c (gen_insn): Cast argument of ctype functions to
+       `unsigned char'.
 
-       * stmt.c (expand_end_case): If index is narrow and cannot be
-       directly compared, widen it just once.
+       * haifa-sched.c: Include recog.h.
+       (blockage_range): Cast result of UNIT_BLOCKED macro to (int) when
+       comparing against one.
 
-       * c-parse.y (yylex): Support multi-character constants.
-       Thorough rewrite of char constant parsing.
+       * libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now.
 
-       * c-decl.c (pushdecl): Replace local extern function decl with
-       previous global decl if latter is inline, or builtin, or has
-       more arg type info.
+       * mips-tfile.c (parse_end): Cast the argument of ctype function to
+       `unsigned char'.
+       (parse_ent): Likewise.
+       (parse_input): Likewise.
 
-       * hard-params.c (xmalloc): Define it, for alloca.c.
+       * optabs.c (init_libfuncs): Likewise.
 
-       * tm-hp9k320.h (STANDARD_STARTFILE_PREFIX): Override -D in Makefile.
+       * protoize.c (find_rightmost_formals_list): Likewise.
 
-       * expmed.c (store_fixed_bit_field): Avoid shift by 32.
+       * recog.h (const_double_operand): Fix typo in prototype.
 
-       * stmt.c (expand_function_start): Emit a NOTE_INSN_FUNCTION_BEG.
-       * final.c (final_scan_insn): For SDB output, do the
-       sdbout_begin_function at that note.
+       * tlink.c (scan_linker_output): Cast the argument of ctype
+       function to `unsigned char'.
+
+       * toplev.c (check_lang_option): Cast the result of `strlen' to
+       `int' when comparing against one.
+
+Sat Oct 17 13:09:09 1998  Graham  <grahams@rcp.co.uk>
+
+       * gcse.c (dump_cuid_table): Correct typo.
+
+Sat Oct 17 11:02:47 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * toplev.c (display_help): Prepend '-m' to target specific
+       options.
+       (check_lang_option): Ignore text after end of first word of a
+       language specific option.
+
+Sat Oct 17 02:26:03 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+
+       * reload1.c (reg_used_by_pseudo): New static variable.
+       (choose_reload_regs): Initialize it.
+       Use it instead of testing spill_reg_order to determine whether a
+       pseudo is live in a hard register across the current insn.
+       Fix a typo in a reference to reload_reg_rtx.
+
+       * flow.c (propagate_block): Replace code that computes and uses
+       regs_sometimes_live with simpler code that just walks the set of
+       currently live registers.
+
+       * Makefile.in (insn-extract.o): Fix dependencies.
+       * genextract.c (main): Generate includes for insn-config.h and
+       recog.h.
+       Delete generation of declarations which are now in recog.h.
+       * genrecog.c (main): Delete generation of definitions which are
+       now in recog.c.
+       * local-alloc.c (block_alloc): Use extract_insn and the variables
+       it sets up instead of looking up values by insn_code.
+       * recog.c (recog_operand, recog_operand_loc, recog_dup_loc,
+       recog_dup_num): Define here instead of generating the definition in
+       genrecog.c.
+       (recog_n_operands, recog_n_dups, recog_n_alternatives,
+       recog_operand_mode, recog_constraints, recog_operand_address_p):
+       New variables.
+       (extract_insn): New function.
+       * recog.h (extract_insn): Declare function.
+       (which_alternative, recog_n_operands, recog_n_dups,
+       recog_n_alternatives, recog_operand_mode, recog_constraints,
+       recog_operand_address_p): Declare variables.
+       * regclass.c (n_occurrences): New static function.
+       * reload.c (n_occurrences): Delete function.
+       (find_reloads): Use extract_insn.
+       * reload.h (n_occurrences): Delete declaration.
+
+Sat Oct 17 01:17:51 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * reload1.c (reload_as_needed): Fix test for when to call
+       update_eliminable_offsets.
+
+Fri Oct 16 20:40:50 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       Fix consistency problems with reg_equiv_{mem,address};
+       Improve reload inheritance;
+
+       * reload.c (reload_out_reg): New variable.
+       (loc_mentioned_in_p, remove_address_replacements): New functions.
+       (remove_replacements): Deleted.
+       (push_reload): Set reload_out_reg[i].
+       When merging, also set reload_{in,out}_reg[i], and remove
+       duplicate address reloads.
+       (combine_reloads): Copy reload_out_reg[i].
+       (find_reloads): Do make_memloc substitution also when
+       reg_equiv_memory_loc[regno] and num_not_at_initial_offset
+       are both nonzero.
+       Include *recog_operand_loc in commutativity operand changes.
+       Generate optional output reloads.
+       Delete reference to n_memlocs.  Don't set *recog_operand_loc before
+       processing operands.  Call make_memloc in reg_equiv_address code.
+       Set *recog_operand_loc only after processing operands, and only
+       if replace is true.  Return a value.
+       When changing address reload types for operands that didn't get
+       reloaded, use RELOAD_FOR_OPADDR_ADDRESS for
+       RELOAD_FOR_INPADDR_ADDRESS / RELOAD_FOR_OUTADDR_ADDRESS reloads.
+       Don't emit USEs for pseudo SUBREGs when not replacing.
+       (find_reloads_address): Do make_memloc substitution also when
+       reg_equiv_memory_loc[regno] and num_not_at_initial_offset
+       are both nonzero.
+       (find_reloads_toplev): Likewise.
+       Call make_memloc in reg_equiv_address code.
+       (debug_reload_to_stream): Add code to output reload_out_reg.
+       (make_memloc): Delete local variable i, ifdefed out code, and
+       references to memlocs and n_memlocs.
+       (memlocs, n_memlocs): Delete.
+       (push_secondary_reload): Clear reload_out_reg.
+       (find_reloads_address_1): Provide memrefloc argument to all calls
+       to find_reloads_address.
+       In AUTO_INC code, handle non-directly addressable equivalences properly.
+       * reload.h (reload_out_reg, num_not_at_initial_offset): Declare.
+       (find_reloads): Add return type.
+       (remove_address_replacements, deallocate_reload_reg): Declare.
+       * reload1.c (num_not_at_initial_offset): No longer static.
+       (delete_address_reloads, delete_address_reloads_1): Likewise.
+       (deallocate_reload_reg): New function.
+       (spill_reg_stored_to): New array.
+       (eliminate_regs): Don't substitute from reg_equiv_memory_loc.
+       (eliminate_regs_in_insn): Move assignments of previous_offset and
+       max_offset fields, and recalculation of num_not_at_initial_offset
+       into new static function:
+       (update_eliminable_offsets) .
+       (reload_as_needed): Call update_eliminable_offsets after calling
+       find_reloads.
+       Call forget_old_reloads_1 with contents of reloaded auto_inc
+       expressions if the actual addressing can't be changed to match the
+       auto_inc.
+       (choose_reload_regs): For inheritance, replace
+       reload_reg_free_before_p test with reload_reg_used_at_all test, and
+       remove stand-alone reload_reg_used_at_all test.
+       Use reload_out_reg to determine which reload regs have output reloads.
+       Treat reload_override_in more similar to inherited reloads.
+       Handle (subreg (reg... for inheritance.
+       For flag_expensive_optimizations, add an extra pass to remove
+       unnecessary reloads from known working inheritance.
+       Delete obsolete code for pseudos replaced with MEMs.
+       Handle inheritance from auto_inc expressions.
+       (emit_reload_insns): If reload_in is a MEM, set OLD to
+       reload_in_reg[j].
+       Don't reload directly from oldequiv; if it's a pseudo with a
+       stack slot, use reload_in[j].
+       Check that reload_in_reg[j] is a MEM before replacing reload_in
+       from reg_reloaded_contents.
+       Include non-spill registers in reload inheritance processing.
+       Also try to use reload_out_reg to set spill_reg_store /
+       reg_last_reload_reg.
+       In code to set new_spill_reg_store, use single_set to find out if
+       there is a single set.
+       Add code that allows to delete optional output reloads.
+       Add code to allow deletion of output reloads that use no spill reg.
+       At the end, set reload_override_in to oldequiv.
+       Also call delete_output_reload if reload_out_reg is equal to old
+       in oldequiv code.
+       Add code to call delete_output_reload for stores with no matching load.
+       Set / use spill_reg_stored_to.
+       Handle case where secondary output reload uses a temporary, but
+       actual store isn't found.
+       When looking for a store of a value not loaded in order to call
+       delete_output_reload, count_occurrences should return 0 for no
+       loads; but discount inherited input reloadill_reg_stored_to.
+       Do checks for extra uses of REG.  Changed all
+       callers.
+       Use delete_address_reloads.
+       (reload): Take return value of find_reloads into account.
+       If a no-op set needs more than one reload, delete it.
+       (reload_reg_free_before_p): RELOAD_FOR_INPUT
+       can ignore RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
+       for the same operand.
+       (clear_reload_reg_in_use): Check for other reloads that keep a
+       register in use.
+       (reload_reg_free_for_value_p): Handle RELOAD_FOR_OPERAND_ADDRESS /
+       RELOAD_FOR_OPADDR_ADDR.
+       Take into account when an address address reload is only needed
+       for the address reload we are considering.
+       (count_occurrences): Use rtx_equal_p for MEMs.
+       (inc_for_reload): Return instruction that stores into RELOADREG.
+       New argument two, IN, and rtx.  Changed all callers.
+       (calculate_needs_all_insns, reload_as_needed):
+       Don't clear after_call for a CLOBBER.
+       Keep track of how many hard registers need to be copied from
+       after_call, and don't clear after_call before we have seen
+       that much copies, or we see a different instruction.
+
+Fri Oct 16 10:58:23 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * flow.c (find_basic_blocks_1): Do not delete unreachable blocks
+       after reload has completed.
+
+Fri Oct 16 17:26:10 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * cpplib.c (cpp_get_token): Replace whitespace that occurs between
+       a macro name and the next token with a single blank if that whitespace
+       is in a macro buffer and the next token is not '('.
+
+Fri Oct 16 15:44:02 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * cccp.c (rescan): Handle multibyte characters ending in backslash.
+       (rescan): Likewise.
+       (skip_if_group): Likewise.
+       (skip_to_end_of_comment): Likewise.
+       (macarg1): Likewise.
+       (discard_comments): Likewise.
+       (change_newlines): Likewise.
+
+Fri Oct 16 15:26:24 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * c-lex.c (yylex): Fix unaligned access of wchar_t.
+
+Fri Oct 16 10:47:53 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/arm.h (TARGET_SWITCHES): Add --help documentation.
+       (TARGET_OPTIONS): Add --help documentation.
+
+Fri Oct 16 11:49:01 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * rtl.h (sets_cc0_p): Revert Oct 14 ATTRIBUTE_NORETURN change.
+
+Fri Oct 16 07:08:46 1998  Bruce Korb  <korb@datadesign.com>
+
+       * fixinc/* Moved in from ../contrib directory in preparation
+       for integrating it into the normal build process.  In particular,
+       fixinc/Makefile.in must be config-ed into the build directory
+       as fixinc/Makefile.  Proposed patches to ./Makefile.in and
+       ./configure.in will be "in the mail" momentarily.
+
+Fri Oct 16 08:13:46 1998  David S. Miller  <davem@pierdol.cobaltnet.com>
+
+       * cse.c (cse_basic_block): Fixup hash flushing loop so we do not
+       accidently walk into the free list.  Comment how that can happen.
+       (invalidate): Fix indentation.
+
+Thu Oct 15 23:53:29 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+                         Jeffrey A Law  (law@cygnus.com)
+
+       * flow.c (life_analysis_1): Do not clobber regs_ever_live after
+       reload.  Never perform rescans of the insn chain after reload.
+       (propagate_block): Do not delete insn or create new autoinc addressing
+       modes after reload.
+
+       * jump.c (jump_optimize): Unconditionally use the code that was
+       previously conditional on PRESERVE_DEATH_INFO_REGNO_P.
+       * reload1.c (reload): When reloading is finished, delete all
+       REG_DEAD and REG_UNUSED notes.
+       (emit_reload_insns): Delete all code that was conditional on
+       PRESERVE_DEATH_INFO_REGNO_P.
+       (no_longer_dead_regs): Delete variable.
+       (reload_cse_delete_death_notes): Delete function.
+       (reload_cse_no_longer_dead): Delete function.
+       (reload_cse_regs_1): Delete all code to handle deletion of death
+       notes.
+       (reload_cse_noop_set_p): Likewise.
+       (reload_cse_simplify_set): Likewise.
+       (reload_cse_simplify_operands): Likewise.
+       (reload_cse_move2add): Likewise.
+       * reorg.c (used_spill_regs): Delete declaration.
+       (max_label_num_after_reload): Delete declaration.
+       (find_dead_or_set_registers): Don't assume that spill regs are
+       dead at a CODE_LABEL.
+       * rtlanal.c (dead_or_set_regno_p): Death notes are always accurate,
+       even after reload.
+       * sched.c (sched_analyze_insn): Likewise.
+       (update_flow_info): Likewise.
+       * haifa-sched.c (sched_analyze_insn): Likewise.
+       (update_flow_info): Likewise.
+       * tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation.
+       * toplev.c (max_label_num_after_reload): Delete variable.
+       (rest_of_compilation): Don't set max_label_num_after_reload.
+       Call life_analysis after reload_cse_regs if optimizing.
+       * config/gmicro/gmicro.h: Delete comment referring to
+       PRESERVE_DEATH_INFO_REGNO_P.
+       * config/i386/i386.h: Likewise.
+       * config/m88k/m88k.h: Likewise.
+       * config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition.
+       * config/sh/sh.h: Likewise.
 
-       * reload1.c (choose_reload_regs): If a reload reg inherits
-       from a previous reload, verify safety after all reloads are assigned.
+Thu Oct 15 19:48:41 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * c-decl.c (build_enumerator): Remove no-op casts.
+       * loop.c (strength_reduce): Restore marking bct_p as
+       ATTRIBUTE_UNUSED.
+       * rs6000.c (optimization_options): Change #ifdef HAIFA to
+       HAVE_decrement_and_branch_on_count.
+       (small_data_operand): Remove TARGET_ELF condition for marking
+       parameters ATTRIBUTE_UNUSED.
 
-       * reload.c (find_reloads): If an earlyclobber operand matches
-       an input operand it is constrained to match, that's not a problem.
-       If an earlyclobber operand loses due to earlyclobber, its matching
-       input operand also loses.
+Thu Oct 15 11:45:51 1998  Robert Lipe  <robertl@dgii.com>
 
-       * reload1.c (choose_reload_regs): Don't use result of find_equiv_reg
-       if that reg is used for reloading in an earlier part of the insn.
+       * config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define.
+       (SELECT_SECTION): Resync with svr4.h.
 
-       * cse.c (fold_rtx): If WIDTH is 0, don't try sign-extending ARG0, ARG1.
+Thu Oct 15 12:42:13 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * Makefile (hard-params*): Use $(OLDCC).
+       * loop.c (strength_reduce): Undo Oct 14 change marking bct_p
+       ATTRIBUTE_UNUSED.
 
-       * c-typeck.c (c_alignof): No warning for -pedantic.
+Thu Oct 15 00:57:55 1998  Robert Lipe  <robertl@dgii.com>
 
-       * c-parse.y (readescape): Don't have both error and warning
-       on one hex escape.
+       * c-pragma.c (handle_pragma_token): Test for null tree before
+       dereferencing TREE_CODE.
 
-       * c-parse.y (yylex): Treat vertical tab as white space.
-       (skip_white_space): Likewise.
+Thu Oct 15 17:36:48 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * c-parse.y (datadef): If pedantic, warn for stray semicolon.
+       * config/c4x/c4x.c: Convert to use GEN_INT.
+       (c4x_parallel_process): Rework to handle new repeat loop structure.
 
-       * expr.c (expand_increment): Pass accurate unsignedp arg
-       to expand_binary_op.
+       * config/c4x/c4x.md: Convert to use GEN_INT.
+       (rptb_end): Convert to use GE test.  Replace uses with clobbers.
+       (decrement_and_branch_on_count): Likewise.
 
-Mon Jun 19 13:36:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/c4x/c4x.h (REPEAT_BLOCK_PROCESS): Deleted hook now that
+       loop.c has the desired functionality.
+       (rc_reg_operand): New prototype.
 
-       * config.gcc (news, news-gas): Use xm-m68k.h.
+       * config/c4x/t-c4x: Can now build all front ends.
 
-       * final.c (output_asm_label, output_addr_const): Make buf bigger.
+Wed Oct 14 23:27:08 1998  Didier FORT  (didier.fort@fedex.com)
 
-       * cexp.y (main): Handle EOF on input.
-       (lookup, warning): Provide as a dummy.
-       (is_idchar, is_idstart): Declare as unsigned char.
+       * fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
 
-       * cexp.y (parse_escape): Use TARGET_NEWLINE, etc., as values.
-       Support hex escapes.  Warn if octal or hex escape doesn't fit in char.
+Wed Oct 14 22:13:28 1998  Joel Sherrill  (joel@OARcorp.com)
 
-       * cexp.y (yylex): Sign-extend char constants if appropriate.
+       * Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
+       * config/t-rtems: Do not install assert.h -- use newlib's.
 
-       * genemit.c: Make insn-emit.c include insn-flags.h.
+Wed Oct 14 21:57:08 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * gcc.c: Move record_temp_file past page which declares vflag.
+       * combine.c (combine_instructions): When finished, call init_recog.
+       * regmove.c (optimize_reg_copy_3): Reject volatile MEMs.
 
-       * integrate.c (expand_inline_function): If copying an insn with
-       a REG_EQUIV note, make a similar note.
+Wed Oct 14 16:10:22 1998  Per Bothner  <bothner@cygnus.com>
 
-       * Allow reload regs to be reused for parts of an insn.
-       * reload.c (find_reloads): Classify each reload for which part
-       of the insn it is needed in.
-       (find_reloads_address, etc.): Pass down the overall operand
-       that this is part of, to record it on address reloads.
-       (push_reload): Record that for each reload.
-       * reload1.c (reload): Compute maximum needs of any part of the insn.
-       (choose_reload_regs): Part of old choose_reload_targets.
-       Hairier criteria for inheriting reloads and for which ones are
-       available for the next insn to inherit.
-       (emit_reload_insns): The rest of old choose_reload_targets.
-       Emit reload insns in proper order according to where they are needed.
-       * Record `reload_reg_in_use' separately for each part of the insn.
-       (mark_reload_reg_in_use): New function.
-       (reload_reg_free_p, reload_reg_free_before_p): New functions.
-       (reload_reg_reaches_end_p): New function.
+       * toplev.c: If flag_syntax_only, don't open or write assembler file.
 
-       * expr.c (expand_expr): Emit queue in X+=(Y?Z:A) optimization.
+Wed Oct 14 13:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * rtlanal.c (rtx_equal_p): Check vectors have same length.
+       * cppalloc.c (memory_full): Mark function prototype with
+       ATTRIBUTE_NORETURN.
 
-Sun Jun 18 12:16:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * demangle.h (collect_exit): Likewise.
 
-       * stmt.c (expand_expr_stmt): Maybe warn if top-level operator
-       makes an unused result.
+       * fix-header.c (v_fatal, fatal): Likewise.
 
-       * gcc.c (delete_temp_files, delete_failure_queue):
-       If -v, report failures in unlink.
+       * gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
+       Likewise.
 
-       * Makefile (includes): New target to run fixincludes.
-       (install): Swap arms of if-statement.
+       * gcov.c (print_usage): Likewise.
 
-Sat Jun 17 12:41:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * genattr.c (fatal, fancy_abort): Likewise.
 
-       * stor-layout.c (layout_union): Arg to error_with_decl was missing.
+       * genattrtab.c (fatal, fancy_abort): Likewise.
 
-       * ns32k.md (movsf): Use CONST_DOUBLE_LOW to extract from CONST_DOUBLE.
+       * gencodes.c (fatal, fancy_abort): Likewise.
 
-       * loop.c (consec_sets_giv): Change type of force, force2.
+       * genconfig.c (fatal, fancy_abort): Likewise.
 
-       * combine.c (dump*): Declare arg as FILE*.
+       * genemit.c (fatal, fancy_abort): Likewise.
 
-       * Makefile (clean): Delete hard-params.
+       * genextract.c (fatal, fancy_abort): Likewise.
 
-       * flow.c (life_analysis): Use a special obstack for the temporary
-       regsets.
+       * genflags.c (fatal, fancy_abort): Likewise.
 
-       * m68k.md (clr pattern): On 68000, use moveq to clear data reg.
+       * genopinit.c (fatal, fancy_abort): Likewise.
 
-       * gvarargs.h: File varargs.h renamed.
-       The old name conflicted with <varargs.h>, now that -I. is used.
-       * tree.c, expr.c, emit-rtl.c: Change #include commands.
-       * Makefile (install): Install gvarargs.h under name varargs.h.
-       * gcc.c: Include gvarargs.h, not system's varargs.h.
+       * genoutput.c (fatal, fancy_abort): Likewise.
 
-       * Makefile: Use -I$(srcdir) before -I$(srcdir)/config.
-       * config/tm.h: Deleted; didn't work if config was a symlink.
+       * genpeep.c (fatal, fancy_abort): Likewise.
 
-       * cse.c (cse_insn): Record location of inner_dest
-       so it can be replaced properly if a new MEM rtx is made.
+       * genrecog.c (fatal, fancy_abort): Likewise.
 
-Fri Jun 16 14:17:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * libgcc2.c (__eprintf, __default_terminate, __sjthrow,
+       __sjpopnthrow, __throw): Likewise.
 
-       * make-cc1.com: Compile and link rtlanal.c.
+       * objc/objc-act.c (objc_fatal): Likewise.
 
-       * c-typeck.c (build_array_ref): Call fold on the array ref.
-       * fold-const.c (fold): Simplify array ref of string constant.
+       * protoize.c (usage, aux_info_corrupted,
+       declare_source_confusing): Likewise.
 
-       * stmt.c (expand_asm_operands): Fix error message.
+       * rtl.c (dump_and_abort): Likewise.
 
-       * Makefile (gnulib2): Remove old members before compiling new.
-       Fix stupid errors.
-       * gnulib2.c (__cmpdi2, __ucmpdi2): Typos in names of interface unions.
+       * rtl.h (sets_cc0_p): Likewise.
 
-       * genconfig.c (main): Don't write MAX_CLOBBERS_PER_INSN; obsolete.
-       Add 3 to MAX_RECOG_OPERANDS.
+       * toplev.c (float_signal, pipe_closed): Likewise.
 
-       * cse.c (fold_cc0): Extra arg specifies machine mode.
-       Callers changed.
-       (cse_insn): Record original mode of each src for this purpose.
+1998-10-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
 
-Thu Jun 15 12:35:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
+       when generating the decision tree for the general case.
 
-       * gnulib2.c (_cmpdi2, _ucmpdi2): Moved here from gnulib.c.
-       Use long long for argument type.
+       * config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes
+       wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs.
 
-       * rtlanal.c (may_trap_p): Moved here from loop.c.
-       Return 1 for division by explicit zero.
+Wed Oct 14 11:14:02 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * reload1.c (eliminate_frame_pointer, alter_frame_pointer_addresses):
-       Rerecognize insns which are changed by this.
+       * Makefile.in (sched.o): Depend on recog.h.
 
-       * i386.md (call_value): Don't return prematurely.
+       * alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to
+       (unsigned) when comparing against one.
+       (find_base_value): Likewise.
+       (record_base_value): Cast variable `regno' to (unsigned) when
+       comparing against one.  Cast the result of REGNO() macro to
+       (unsigned) when comparing against one.
+       (memrefs_conflict_p): Change type of variables `r_x' and `r_y'  to
+       unsigned.
+       (init_alias_analysis): Add unsigned variable `ui'.  Use it as loop
+       variable where an unsigned index is needed.
+
+       * caller-save.c (init_caller_save): Cast `-1' to (enum insn_code)
+       before comparing against one.
+
+       * collect2.c: Add prototypes for functions `error', `fatal' and
+       `fatal_perror'.  Make these functions take variable arguments
+       instead of faking it with a fixed number of args.
+       (write_c_file_stat): Cast the argument of ctype macro to (unsigned
+       char).
+
+       * combine.c (can_combine_p): Mark parameter `pred' with
+       ATTRIBUTE_UNUSED.
+       (find_split_point): Cast variable `src' to (unsigned
+       HOST_WIDE_INT) when comparing against one.
+       (simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift.
+       (simplify_logical): Likewise.
+       (force_to_mode): Cast result of INTVAL() macro to (unsigned
+       HOST_WIDE_INT) when comparing against one.  Cast 1 to (unsigned
+       HOST_WIDE_INT) in shift.
+       (simplify_and_const_int): Cast result of INTVAL() macro to
+       `unsigned HOST_WIDE_INT' when comparing against one.
+       (merge_outer_ops): Cast variable const0 to `unsigned
+       HOST_WIDE_INT' when comparing against the result of
+       GET_MODE_MASK() macro.
+       (simplify_comparison): Likewise for variable `c0'.  Cast variable
+       `const_op' to `unsigned HOST_WIDE_INT' when comparing against
+       one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast the
+       result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing
+       against one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast
+       result of INTVAL() macro to `unsigned HOST_WIDE_INT' when
+       comparing against one.
+       (distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'.
+
+       config/mips/mips.c (gen_int_relational): Cast result of INTVAL()
+       macro to `unsigned HOST_WIDE_INT' when comparing against one.
+       (output_block_move): Cast `sizeof' expression to (int) when
+       comparing against one.
+       (function_arg): Cast BITS_PER_WORD to `unsigned' when comparing
+       against one.
+       (save_restore_insns): Cast `base_offset' to `long' to match format
+       specifier in fprintf.
+
+       * config/mips/mips.h (Pmode): Cast the result of `Pmode' macro
+       to `enum machine_mode'.
+
+       * flow.c (life_analysis_1): Remove unused variable `insn'.
+
+       * gcc.c (translate_options): Move variables `j' and `k' into the
+       scope in which they are used.  Change their types to `size_t'.
+       (set_spec): Cast the argument of ctype macro to `unsigned char'.
+       (read_specs): Likewise.
+       (process_command): Cast `sizeof' to (int) when comparing against one.
+       (do_spec_1): Cast the argument of ctype macro to `unsigned char'.
+       (handle_braces): Cast both sides of `==' expression to `long' to
+       ensure sign matching.
+       (main): Cast variable `i' to `int' when comparing against one.
+
+       * gcov-io.h (__fetch_long): Change type of parameter `bytes' from
+       int to size_t.  Cast variable `i' to size_t when comparing against
+       one.
+
+       * genattrtab.c (convert_set_attr_alternative): Remove unused
+       parameter `insn_code'.  All callers changed.
+       (convert_set_attr): Likewise.
+
+       * genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to
+       size_t when comparing against one.  Likewise for variable `len'.
+
+       * global.c (global_alloc): Cast variable `max_regno' to size_t
+       when comparing against one.  Likewise for variable `max_allocno'.
+
+       * jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED.
+
+       * local-alloc.c (validate_equiv_mem_from_store): Mark parameter
+       `set' with ATTRIBUTE_UNUSED.
+       (find_free_reg): Cast `sizeof' expression to (int) when comparing
+       against one.
+
+       * loop.c (count_loop_regs_set): Remove unused variable `dest'.
+       (strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED.
+       (get_condition): Cast variable `const_val' to `unsigned
+       HOST_WIDE_INT' when comparing against one.  Cast unsigned
+       expression to HOST_WIDE_INT when comparing against one.
+       (insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED.
+       (load_mems_and_recount_loop_regs_set): Cast variable `nregs' to
+       `unsigned' when comparing against one.
+
+       * protoize.c (is_id_char): Change type of parameter `ch' to
+       unsigned char.
+       (munge_compile_params): Cast argument of ctype macro to (const
+       unsigned char).
+       (process_aux_info_file): Cast variable `aux_info_size' to int when
+       comparing against one.
+       (forward_to_next_token_char): Cast argument of ctype macro to
+       `const unsigned char'.
+       (edit_formals_lists): Likewise.
+       (find_rightmost_formals_list): Likewise.
+       (add_local_decl): Likewise.
+       (add_global_decls): Likewise.
+       (edit_fn_definition): Likewise.
+       (do_cleaning): Likewise.
+       (scan_for_missed_items): Likewise.
+       (edit_file): Cast variable `orig_size' to (int) when comparing
+       against one.
+       (main): Cast argument of ctype macro to `const unsigned char'.
+
+       * recog.c (const_int_operand): Mark parameter `mode' with
+       ATTRIBUTE_UNUSED.
+
+       * regclass.c (record_reg_classes): Change type of variable `c' to
+       `unsigned char'.  Cast `char' array index to `unsigned char'.
+
+       * reload.c (push_secondary_reload): Cast argument to
+       REG_CLASS_FROM_LETTER() macro to `unsigned char'.
+
+       * reload1.c (calculate_needs): Cast `char' array index to
+       `unsigned char'.
+       (set_label_offsets): Change type of variable `i' to unsigned int.
+       Cast result of XVECLEN() macro to unsigned when comparing against
+       one.
+       (mark_not_eliminable): Change type of variable `i' to unsigned.
+       (order_regs_for_reload): Likewise.  Cast `max_regno' to unsigned
+       when comparing against one.
+       (reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when
+       comparing against one.
+       (choose_reload_regs): Hide unused label `fail'.
+       (reload_cse_simplify_operands): Cast `char' array index to
+       `unsigned char'.
+       (reload_combine_note_store): Mark parameter `set' with
+       ATTRIBUTE_UNUSED.  Cast UNITS_PER_WORD to unsigned when comparing
+       against one.
+       (reload_cse_move2add): Remove unused variable `src2'.
+
+       * sched.c: Include recog.h.
+       (sched_note_set): Remove unused parameter `b'.  All callers
+       changed.
+       (split_hard_reg_notes): Likewise for parameter `orig_insn'.
+       (blockage_range): Cast result of UNIT_BLOCKED() macro to (int)
+       when comparing against one.
 
-       * alliant.md (movqi): Handle moving Aregs to mem and vice versa.
-       (bftst -> btst): Restrict to bitpos less than 8
-       so operand may be non-offsettable.
-       (nop): New pattern.
-       (return): Was disabled; now deleted.
-       * tm-alliant.h (PRINT_OPERAND_PUNCT_VALID_P): Define it.
-       * out-alliant.c (output_btst): Same change as in out-m68k.c
+       * stupid.c (stupid_find_reg): Mark parameter `changes_size' with
+       ATTRIBUTE_UNUSED.  Cast `sizeof' expression to (int) when
+       comparing against one.
 
-       * alliant.md, out-alliant.c: Offsetable -> offsettable.
+       * unroll.c (precondition_loop_p): Remove unused parameter
+       `loop_end'.  All callers changed.
 
-       * c-parse.y (rule for stmt_exprs): Make the LET_STMT volatile. 
+Tue Oct 13 22:12:11 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * c-decl.c (duplicate_decls): Don't save inline function data
-       from previous definition if a new *definition* is seen.
+       * reload1.c (maybe_fix_stack_asms): New static function.
+       (reload): Call it.
 
-       * integrate.c (access_parm_map): Handle subregs and constants.
+       * reload.h (compute_use_by_pseudos): Declare.
 
-       * stmt.c (expand_return): Don't crash if DECL_RTL (DECL_RESULT()) is 0.
+       * reload1.c (spilled_pseudos, insns_need_reload): New variables.
+       (something_needs_reloads): Delete variable.
+       (finish_spills): New function.
+       (compute_use_by_pseudos): New function.
 
-       * tm-tahoe.h (LONGJMP_RESTORE_FROM_STACK): Define it.
+       (delete_caller_save_insns): Lose argument FIRST.  All callers changed.
+       Use the reload_insn_chain instead of walking the rtl directly.
 
-       * tm-mips.h (CONSTANT_P): Deleted; duplicates rtl.h.
+       (reload): Allocate and free spilled_pseudos.
+       Ensure that all calls of spill_hard_reg are followed by a call to
+       finish_spills.
+       Use the insns_need_reload list instead of something_needs_reloads
+       to find out if reload_as_needed must be called.
+       Clear unused_insn_chains at the end.
 
-Fri Jun  9 01:39:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       (calculate_needs_all_insns): Lose FIRST parameter.  All callers
+       changed.
+       Delete code to keep track of current basic block.
+       Walk reload_insn_chain instead of the rtl structure.  Build the
+       insns_need_reload chain.
+       Remember which insns need reloading/elimination by setting the
+       appropriate fields in struct insn_chain, not by putting modes on the
+       insn.
+
+       (calculate_needs): Lose THIS_BLOCK arg.  Accept arg CHAIN instead of
+       arg INSN.  All callers changed.
+       Delete declaration of struct needs.
+       Don't set something_needs_reloads.
+       Record insn needs in the CHAIN argument.
+
+       (spill_hard_reg): Record the affected pseudos in spilled_pseudos.
+
+       (reload_as_needed): Lose FIRST arg.  All callers changed.
+       Walk the reload_insn_chain instead of the rtx structure.
+       Delete code to keep track of current basic block.
+       Rename one of the NEXT variables to OLD_NEXT.
+
+       (allocate_reload_reg): Accept arg CHAIN instead of arg INSN.  All
+       callers changed.
+       (choose_reload_regs): Likewise.
+
+       (emit_reload_insns): Replace INSN and BB args with arg CHAIN.  All
+       callers changed.
+
+       * caller-save.c (MOVE_MAX_WORDS): New macro.  Use it throughout
+       instead of (MOVE_MAX / UNITS_PER_WORD) computation.
+       (hard_regs_live, hard_regs_need_restore): Delete variables.
+       (n_regs_saved): Now static.
+       (referenced_regs, this_insn_sets): New variables.
+
+       (setup_save_areas): Restructure the code a bit.
+
+       (restore_referenced_regs): Delete function.
+       (mark_referenced_regs): New function, similar to the old
+       restore_referenced_regs, but mark registers in referenced_regs.
+
+       (clear_reg_live): Delete function.
+       (mark_set_regs): Renamed from set_reg_live.  All callers changed.
+       Only mark registers in this_insn_sets.
+
+       (save_call_clobbered_regs): Rework this function to walk the
+       reload_insn_chain instead of using the list of instructions directly.
+       Delete code to keep track of register lives, compute live regs on the
+       fly from information in the chain.
+       Instead of calling restore_referenced_regs, use mark_referenced_regs,
+       then walk the set it computes and call insert_restore as appropriate.
+
+       (insert_restore): Lose INSN and BLOCK args.  Add CHAIN arg.  All
+       callers changed.
+       Restructure the code a bit.  Test hard_regs_saved instead of
+       hard_regs_need_restore.
+       (insert_save): Lose INSN and BLOCK args.  Add CHAIN and TO_SAVE
+       args.  All callers changed.
+       Restructure the code a bit.  Use TO_SAVE to determine which regs to
+       save instead of more complicated test.
+       (insert_one_arg): Lose INSN and BLOCK args.  Add CHAIN arg.  All
+       callers changed.
+       Create a new insn_chain structure for the new insn and place it
+       into the chain.
+
+       * rtl.texi: Update documentation to reflect that reload no longer
+       puts modes on the insns.
+
+1998-10-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * function.c (purge_addressof_1): Force the first argument of a
+       CALL insn to memory.
+
+Wed Oct 14 00:38:40 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * rtl.h: Delete duplicate prototypes.  Add some missing
+       prototypes.
+       * rtlanal.c (for_each_rtx): Formatting tweak.
+
+1998-10-13  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+
+       * real.c (emdnorm and etoasc): Disable round to even for c4x target
+       to be compatible with TI compiler.
+
+       * Makefile.in (USER_H): Add va-c4x.h to definition.
+
+Tue Oct 13 23:03:37 1998  Richard Henderson  <rth@cygnus.com>
+
+       * function.c (purge_addressof_1): Fix typo in inequality: do
+       bitfield optimization for equal mode sizes.
+       * expmed.c (store_bit_field): Don't take subregs of subregs in
+       the movstrict case.  Tidy a potential problem in the multi-word case.
+       (extract_bit_field): Likewise.
 
-       * Makefile (float.h): Avoid using $(MAKE).
+Tue Oct 13 22:12:11 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * Don't cram two things into STMT_BODY of a LET_STMT.
-       * tree.h (struct bind_stmt): New field, subblocks.
-       (STMT_SUBBLOCKS): New macro to access it.
-       * print-tree.c (walk): Print new field.
-       * tree.c (build_let_stmt): Store the old BODY arg into subblocks field.
-       * c-parse.y (stmt expr rule): Put rtl expr alone into body field.
-       * dbxout.c (dbxout_block): Recurse on subblocks, not body.
-       * sdbout.c, symout.c: Likewise.
-       * integrate.c (copy_decl_tree): Likewise.
-       * stmt.c (setjmp_protect, uninitialized_vars_warning): Likewise.
-       * expr.c (expand_expr): For LET_STMT, simply use its body.
+       * flow.c (find_basic_blocks): Emit NOPs after normal calls in this
+       function.
+       Compute max_uid_for_flow by calling get_max_uid after the scan.
+       (find_basic_blocks_1): Don't emit NOPs here.
 
-       * machmode.def: Add sixth arg to each entry.
-       * tree.h, rtl.h, rtl.c: Add arg to DEF_MACHMODE.
-       * rtl.h (GET_WIDER_MODE): New macro; table in rtl.c.
-       * expr.c (expand_expr): Use that for widening multiply.
+Tue Oct 13 22:05:49 1998  Richard Henderson  <rth@cygnus.com>
 
-       * stmt.c (fixup_var_refs_1): When converting MEM to QImode for
-       bit field, adjust the address if possible to make bitpos
-       less than 8.
-       * m68k.md (bftst -> btst): Restrict to bitpos less than 8
-       so operand may be non-offsettable.
+       * alias.c (base_alias_check): Accept new args for the modes of the
+       two references.  Use them to determine if an AND can overlap.  Update
+       all callers.
+       (memrefs_conflict_p): Assume sizes are aligned, and uses them
+       to determine if an AND can overlap.
 
-       * cccp.c (do_line): Accept and pass on 3rd arg for enter or leave file.
+Tue Oct 13 17:51:04 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * out-m68k.c (output_btst): Handle COUNT bigger than size of unit.
+       * config/m68k/m68k.h (HARD_REGNO_MODE_OK): For FP regs, add REGNO >= 16
+       check.  Add comment to document problems with TARGET_SUN_FPA version
+       of this macro.
+       * config/m68k/m68k.md (movxf+1): Support 'r'/'r' moves.
 
-       * cccp.c (CHECK_DEPTH): Macro to detect instack overflow.
-       (finclude, macroexpand, expand_to_temp_buffer): Use that.
+Tue Oct 13 17:46:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * cccp.c (rescan): Don't check for disabled macro if traditional.
-       (macroexpand): Don't disable macro if traditional.
+       * Makefile.in (gencheck.o): Depend on gansidecl.h.
 
-       * sdbout.c (sdbout_one_type): Take out last change; assembler barfs.
+       * c-common.c (print_char_table): Add missing initializers.
+       (scan_char_table): Likewise.
+       (time_char_table): Likewise.
 
-       * c-parse.y (maybe_attribute): Eliminate #-syntaxes.
-       Make ATTRIBUTE the name for __attribute.
+       * c-decl.c (c_decode_option): Mark parameter `argc' with
+       ATTRIBUTE_UNUSED.
+       (declare_parm_level): Mark parameter `definition_flag' with
+       ATTRIBUTE_UNUSED.
 
-       * c-parse.gperf: Add __attribute{,__} and __signed{,__}.
-       * c-parse.y: Install results of that change.
+       * c-lex.c (readescape): Use `(unsigned)1' in shift.
+       (yylex): Likewise.  Cast `sizeof' to an (int) when comparing
+       against one.
 
-       * Fix bug in sizeof ({...}).
-       * c-decl.c (poplevel): Set TREE_USED.  Return the LET_STMT.
-       * c-parse.y (stmt-expr rule): Put the RTL_EXPR in the LET_STMT,
-       clear its TREE_USED, and use it as the result.
-       * expr.c (expand_expr): Allow LET_STMT as an expr.
-       Set its TREE_USED and expand the TREE_VALUE of its body.
-       * dbxout.c (dbxout_block): Ignore LET_STMT if TREE_USED not set.
-       * sdbout.c, symout.c: Likewise.
+       * calls.c (store_one_arg): Remove unused parameter `fndecl'.  All
+       callers changed.
+       (emit_call_1): Mark parameters `fndecl' and `funtype' with
+       ATTRIBUTE_UNUSED.
+       (expand_call): Cast result of MIN() to (unsigned int) when
+       comparing against an unsigned value.
 
-Thu Jun  8 00:06:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cccp.c (pcfinclude): Remove unused parameter `limit'.  All
+       callers changed.
+       (make_definition): Remove unused parameter `op'.  All callers
+       changed.
+       (create_definition): Cast REST_EXTENSION_LENGTH to (long) when
+       comparing against the result of pointer arithmetic.
 
-       * c-parse.y (yylex): Extend ERANGE-inhibitor for 0.0
-       to 0.0e0 as well.
+       * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
+       when comparing against one.
 
-       * flow.c (life_analysis): Prevent allocation of regs live at setjmp
-       on certain machines.  Controlled by LONGJMP_RESTORE_FROM_STACK.
-       Sets reg_live_length to -1.
-       * local-alloc.c (block_alloc): Be prepared for that.
-       * tm-vax.h (LONGJMP_RESTORE_FROM_STACK): Define it.
+       * dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
+       HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
+       one.
+       (output_die): Move variable `i' into the scope in which it is
+       used.  Change its type to `unsigned'.
+       (output_die): Cast the result of `strlen' to (int) when passing it
+       to ASM_OUTPUT_ASCII().
+       (output_pubnames): Likewise.
+       (output_line_info): Likewise.
 
-       * gnulib2.c (all interfaces): Declare args and values as long long,
-       and split them using unions.
+       * emit-rtl.c (global_rtl): Add missing initializers.
 
-       * loop.c (check_dbra_loop): Don't reverse loop if there are two
-       refs to varying addresses.  Consider foo[i] = foo[i-1].
-       (count_nonfixed_refs): Subroutine to count them.
+       * explow.c (promote_mode): Mark parameter `for_call' with
+       ATTRIBUTE_UNUSED.
 
-       * cexp.y: Distinguish signed and unsigned.
-       An integer value is now represented by a struct.
-       All rules for arithmetic changed.
-       (yylex): Adapt to change in yylval data type.
+       * expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
+       `unsigned HOST_WIDE_INT' when comparing against one.
+       (synth_mult): Change type of variable `cost' to int.
+       (emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.
 
-       * limits.h (LONG_MIN): Make sure it's a signed long.
+       * expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned)
+       when comparing against one.
+       (get_inner_reference): Change variable `alignment' to unsigned.
+       (expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned
+       int) when comparing against one.
+       (expand_builtin_setjmp): Change type of variable `i' to size_t.
 
-       * sdbout.c (sdbout_one_type): Output types of fields first,
-       if they are structs.  Don't go through pointers.
-       (sdbout_field_types): Subroutine for that
+       * fold-const.c (div_and_round_double): Cast BASE to
+       (HOST_WIDE_INT) when comparing against one.
 
-Wed Jun  7 13:00:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * gencheck.c: Include gansidecl.h.
+       (main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
 
-       * fixincludes: Switch to /usr/include before doing vuid_event.h.
-       Use $2 as output directory for sed.
+       * optabs.c (gen_cond_trap): Mark parameters `code', `op2' and
+       `tcode' with ATTRIBUTE_UNUSED.
 
-       * tm-i386.h (FUNCTION_PROFILER): Put counter address in %edx.
-       * tm-i386v.h (LIB_SPEC): Use -L/usr/lib/libp if profiling.
+       * real.c (edivm): Cast constant value to (unsigned long) in
+       expression compared against an unsigned value.
 
-       * expr.c (expand_increment): Typo testing for BImode component.
+       * stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when
+       comparing against one.
+       (expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int)
+       when comparing against one.
 
-       * convex changes from csmith:
-       * tm-convex.h: use EXTRA_SECTIONS to do .bss.
-       out-convex.c: set_section, align_section are now unused.
-       * convex.md: add pattern to pick an A-reg destination for sums
-       whose source involves a dedicated A reg (frame or arg pointer)
-       * convex.md: immediate and, or, xor instructions store a 32-bit
-       result.  Fix instructions that assumed it was 64.
+       * stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to
+       (unsigned int) when comparing against one.  Likewise for
+       GET_MODE_BITSIZE.
+       (smallest_mode_for_size): Likewise.
+       (save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED.
+       (restore_storage_status): Likewise.
 
-       * mips.md (probe): New pattern to create stack space.
+       * toplev.c (debug_args): Add missing initializer.
+       (f_options): Spelling correction.  Add missing initializers.
+       (documented_lang_options): Likewise.
+       (debug_end_source_file): Mark parameter `lineno' with
+       ATTRIBUTE_UNUSED.
 
-       * Makefile (float.h): Ignore errors from hard-params.
-       Specify ./ to run it.
+       * tree.c (valid_machine_attribute): Mark parameters `attr_args',
+       `decl' and `type' with ATTRIBUTE_UNUSED.
 
-Tue Jun  6 15:45:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * varasm.c (decode_reg_name): Cast `sizeof' expression to (int)
+       when comparing against one.
+       (assemble_variable): Mark parameter `top_level' with
+       ATTRIBUTE_UNUSED.
+       (assemble_external_libcall): Mark parameter `fun' with
+       ATTRIBUTE_UNUSED.
+       (output_constant_pool): Mark parameters `fnname' and `fndecl' with
+       ATTRIBUTE_UNUSED.
 
-       * out-tahoe.c: Rename `offsetable' to `offsettable'.
+Tue Oct 13 12:51:04 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * tahoe.md (nop): New pattern.
+       * config/v850/lib1funcs.asm (_udivsi3): Add .type declaration.
+       Replace use of r5 with use of r19.
 
-       * i386.md (umul...): Constrain operand 1 as `0', not `a'.
-       `a' sometimes wanted two a-regs for operands 0 and 1.
+       * config/v850/v850.h (LINK_POINTER_REGNUM): Define.
 
-       * cccp.c: Forward-declare some structs.
+       * config/v850/v850.c (compute_register_save_size): Allow for the
+       fact that helper functions save all registers, not just those used
+       by the function.
 
-       * c-decl.c: Rearrange fcn fwd decls and struct decls.
+       Replace constant 31 with macro LINK_POINTER_REGNUM.
 
-       * expr.c: Move some fcn fwd decls after structs their args use.
-       * genpeep.c, genextract.c: Likewise.
+       * config/v850/v850.md: Use 'indirect_operand' rather than
+       'memory_operand' for bit test/set/clear patterns.
 
-       * loop.c: Forward-declare some structs.
+Tue Oct 13 11:49:14 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * stmt.c: Move decls of structs before those of static functions.
+       * mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Call ASM_GLOBALIZE_LABEL.
+       * varasm.c (assemble_start_function et al): Don't call
+       ASM_GLOBALIZE_LABEL for weak symbols.
 
-       * loop.c (strength_reduce): Delete extra arg to check_eliminate_biv.
+Tue Oct 13 11:37:45 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * integrate.c (expand_inline_function): Supply missing arg
-       to convert_to_mode.
+       * cse.c (equiv_constant): Check for NULL return from
+       gen_lowpart_if_possible().
 
-       * gcc.c (handle_braces): Supply missing arg to do_spec_1.
+Tue Oct 13 11:24:51 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * explow.c (lookup_static_chain): Accept a context arg.
+       * mn10200.md (addsi3, subsi3, negsi2): Only allow register operands.
 
-       * expmed.c (store_split_bit_field): Pass ALIGN arg
-       to extract_fixed_bit_field.
+       * collect2.c (main): Pass -EL/-EB through to the compiler.
 
-       * expr.c (expand_assignment): Convert TYPE_ALIGN to bytes.
-       (store_constructor, expand_expr): Likewise.
+1998-10-12  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
 
-       * tm-m68k.h: NO_ADDSUB_Q conditionals turn off all addq, subq insns.
-       (Fully supported only with MOTOROLA and HPUX_ASM flags.)
+       * expr.c (push_block): Handle targets where the stack grows
+       to higher addresses, but args grow to lower addresses and
+       ACCUMULATE_OUTGOING_ARGS is not defined.
 
-       * jump.c (do_cross_jump): Don't die if LABEL is 0.
+Tue Oct 13 08:00:52 1998  Catherine Moore  <clm@cygnus.com>
 
-       * tm-mips.h (PRINT_OPERAND_PUNCT_VALID_P): New macro.
-       * tm-iris.h: New file.  Unsplit lines accidentally split.
+       * config/v850/v850.c (print_operand): Extend meaning
+       of 'c' operands to support .vtinherit.
 
-Mon Jun  5 15:39:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Oct 13 21:38:35 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * integrate.c (output_inline_function): Call init_function_start,
-       not expand_function_start.
-       * emit-rtl.c (restore_reg_data): No need to init reg_rtx_no.
+       * config/c4x/c4x.c: Convert to gen_rtx_FOO.
+       Added ATTRIBUTE_UNUSED to unused function arguments.
+       (rc_reg_operand): New predicate.
+       (c4x_rptb_insert): New function.
+       (c4x_rptb_nop_p): Recognize modified rptb_top pattern.
+       (c4x_optimization_options): New function.
 
-       * stmt.c (init_function_start): Set current_function_returns_struct.
+       * config/c4x/c4x.md: Convert to gen_rtx_FOO.
+        (decrement_and_branch_on_count): New pattern.
+        (rptb_top): Modified pattern to work with BCT optimization.
 
-       * rtlanal.c (reg_set_between_p): New fn analogous to reg_used_between_p
-       * loop.c (strength_reduce): Reject biv initial value which is altered
-       subsequently before actual loop start.
+       * config/c4x/c4x.h (RC_REG): New register class.
+       (rc_reg_operand): Define prototype.
+       (IS_RC_REG): New macro.
+       (IS_RC_OR_PSEUDO_REG): New macro.
+       (IS_RC_OR_PSEUDO_REGNO): New macro.
+       (OPTIMIZATION_OPTIONS): Define.
 
-       * rtlanal.c: New file split out from rtl.c.
-       Has things not used in the gen files.
+Mon Oct 12 19:57:34 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * loop.c (strength_reduce): Reject biv initial value in a hard reg
-       clobbered by an intervening function call.
+       * collect2.c (extract_init_priority): No priority is 65535.
 
-       * tree.c (get_identifier): New flag needed to enable id-clash warnings.
-       (start_identifier_warnings): Set that flag.
-       * c-decl.c (init_decl_processing): Call that, after making built-ins.
+Mon Oct 12 12:10:37 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
-Sat Jun  3 14:41:34 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * Makefile.in (build_tooldir): New variable, same as old
+       $(tooldir), but without depending on $(libdir)/$(unlibsubdir).
+       (GCC_FOR_TARGET): Add -B$(build_tooldir)/bin/.
+       (bootstrap, bootstrap2, bootstrap3, bootstrap4): Likewise.
 
-       * final.c (final_scan_insn): No basic block profiling at jump tables.
+       * configure.in (gxx_include_dir): Set default based on unlibsubdir.
+       * Makefile.in (tooldir): Likewise.
+       (cccp.o, cpplib.o): Use unlibsubdir implicitly through
+       gxx_include_dir, includedir and tooldir.
+       (protoize.o, unprotoize.o): Likewise.
 
-       * stmt.c (expand_decl): Probe the stack to make pages exist.
-       * expr.c (expand_builtin): Likewise, for alloca.
+Mon Oct 12 10:50:44 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * move-if-change: Specify /bin/sh.
+       * config/arm/arm.md: Replace (reg 24) with (reg:CC 24).
 
-       * tm-ns32k.h (INDIRECTABLE_2_ADDRESS_P): Don't accept PLUS
-       with constant operands but not inside CONST.
+       * config/arm/thumb.c (thumb_override_options): Add warning about
+       PIC code not being supported just yet.
 
-       * integrate.c (output_inline_function, save_for_inline):
-       Save stack_slot_list, and restore it for actual output.
-       * emit-rtl.c (gen_inline_header_rtx): New arg for this.
+Sun Oct 11 16:49:15 1998  John Wehle  (john@feith.com)
 
-       * emit-rtl.c (restore_reg_data): Initialize reg_rtx_no.
-       (restore_reg_data_1): Handle reg_rtx_no jumping past
-       reg_pointer_flag_length.
+       * flow.c: Update comment.
+       (notice_stack_pointer_modification): New static function.
+       (record_volatile_insns): Use it.
+       (mark_regs_live_at_end): Mark the stack pointer as alive
+       at the end of the function if current_function_sp_is_unchanging
+       is set.
+       (life_analysis_1): Set current_function_sp_is_unchanging.
+       * function.c: Define it.
+       (init_function_start): Initialize it.
+       * output.h: Declare it.
+       * reorg.c (fill_simple_delay_slots, dbr_schedule): Mark
+       the stack pointer as alive at the end of the function if
+       current_function_sp_is_unchanging is set.
+       * i386.c (ix86_epilogue): Optimize the restoring
+       of the stack pointer.
+
+Mon Oct 12 01:22:53 1998  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sun Oct 11 23:04:30 1998  Robert Lipe  <robertl@dgii.com>
+
+       * c-pragma.c (handle_pragma_token): If passed a token instead
+       of a tree, use that as the pack value.
+
+Sun Oct 11 14:21:14 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * flow.c (find_basic_blocks_1): Fix prototype.
+
+Sun Oct 11 05:03:41 1998  Ken Raeburn  <raeburn@cygnus.com>
+
+       * tree.h (DECL_NO_CHECK_MEMORY_USAGE): New macros.
+       (struct tree_decl): New fields no_check_memory_usage.
+       * c-common.c (enum attrs): Add A_NO_CHECK_MEMORY_USAGE.
+       (init_attributes): Register it as a new attribute.
+       (decl_attributes): Set flags on functions given that attribute.
+       * c-decl.c (duplicate_decls): Merge new attribute.
+       * expr.h (current_function_check_memory_usage): Declare new var.
+       * calls.c, expr.c, function.c, stmt.c, alpha.c, clipper.c, m88k.c,
+       pa.c, sparc.c: Replace uses of flag_check_memory_usage with
+       current_function_check_memory_usage.
+       * function.h: Add field to struct function.
+       * function.c (current_function_check_memory_usage): Define it.
+       (push_function_context_to, pop_function_context_from): Save and
+       restore it.
+       (expand_function_start): Set it, based on global flag and function
+       attribute.
+
+       * expr.c (expand_expr, case VAR_DECL): In memory-checking code, do
+       check non-automatic variables, to permit detection of writes to
+       read-only locations in embedded systems without memory management.
+       * calls.c (store_one_arg): Use ARGS_SIZE_RTX to get size of argument
+       when emitting chkr_set_right_libfunc call, even if the argument is
+       BLKmode or variable-sized; don't abort.
+
+       * optabs.c (init_optabs): Create Checker and __cyg_profile_*
+       symbols in Pmode, not VOIDmode.
+
+Sun Oct 11 01:03:05 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * cppexp.c: When forcing unsigned comparisons, cast both sides
+       of the operation.
+
+       * cpphash.h: Move static declaration of hashtab[]...
+       * cpphash.c: ...here.
+
+       * cpplib.c: Cast difference of two pointers to size_t before
+       comparing it to size_t.  Cast signed to unsigned
+       before comparing to size_t. (FIXME: struct argdata should use
+       unsigned buffer sizes.)
+       * cpplib.h (struct cpp_reader): Declare token_buffer_size as
+       unsigned int. (CPP_WRITTEN): Cast return value to size_t.
+       (CPP_RESERVE): Parenthesize N for evaluation order, cast to
+       size_t before comparison.
+
+Sun Oct 11 00:15:29 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * flow.c (find_basic_blocks): Delete "live_reachable_p" argument.
+       (find_basic_blocks_1): Similarly.
+       * output.h (find_basic_blocks): Fix prototype.
+       * gcse.c, toplev.c: Don't pass "live_reachable_p" argument to
+       find_basic_blocks anymore.
+
+Sat Oct 10 22:00:34 1998  Richard Henderson  <rth@cygnus.com>
+
+       * basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.
+       (sbitmap_free, sbitmap_vector_free): New macros.
+       * output.h (rtl_dump_file): Declare.
+
+Sat Oct 10 17:01:42 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.
+
+Fri Oct  9 22:08:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * fp-bit.c (SFtype): Don't implicitly use int in declaration.
+       (DFtype): Likewise.
+       (_fpdiv_parts): Remove unused parameter `tmp', all callers changed.
+       (divide): Remove unused variable `tmp'.
+       (si_to_float): Cast numeric constant to (SItype) before comparing
+       it against one.
+
+Fri Oct  9 16:03:19 1998  Graham  <grahams@rcp.co.uk>
+
+       * flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.
+       * gcc.c (add_preprocessor_option): Correct typo when allocating
+       memory, sizeof() argument had one too many `*'.
+       (add_assembler_option): Likewise.
+       (add_linker_option): Likewise.
+       * gcov.c (output_data): Likewise.
+       * local-alloc.c (memref_used_between_p): Likewise.
+       (update_equiv_regs): Likewise.
+       * loop.c (strength_reduce): Likewise.
+       * reg-stack.c (record_asm_reg_life): Likewise.
+       (subst_asm_stack_reg): Likewise.
+       * reorg.c (dbr_schedule): Likewise.
+
+Fri Oct  9 15:57:51 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+
+       * flow.c (life_analysis_1): Break out some functions.
+       (find_basic_blocks_1): Likewise.  Also move some variables out and
+       make them static.
+       Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
+       new static var nonlocal_label_list with it.
+       (active_eh_region, nested_eh_region, label_value_list,
+       nonlocal_label_list): New static variables.
+       (make_edges, delete_unreachable_blocks, delete_block): New static
+       functions, broken out of find_basic_blocks_1.
+       (record_volatile_insns, mark_regs_live_at_end, set_noop_p,
+       noop_move_p): New static functions, broken out of life_analysis_1.
+
+Fri Oct  9 15:49:29 1998  Richard Henderson  <rth@cygnus.com>
+
+       * expmed.c (store_bit_field): Pun non-integral str_rtx modes.
+       Take extra care for op0 now possibly being a subreg.
+       (extract_bit_field): Likewise.
+       * function.c (purge_addressof_1): Revert Oct 4 change.  Drop
+       the reg to memory if there is no equal sized integral mode.
+       * stor-layout.c (int_mode_for_mode): New function.
+       * machmode.h: Prototype it.
 
-       * reload1.c (alter_reg): Do nothing if regno_reg_rtx has 0.
+Fri Oct  9 14:26:44 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * integrate.c (copy_rtx_and_substitute): Typos for stack parm
-       addresses in PLUS case.
+       * global.c (build_insn_chain): Verify no real insns exist past the
+       end of the last basic block, then exit the loop.
 
-       * genoutput.c (gen_insn, gen_peephole): Make output_n fns static.
-       (output_prologue): Use new macro DEFAULT_MACHINE_INFO if defined.
+Fri Oct  9 11:44:47 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * tree.h (enum machine_mode): Define MAX_MACHINE_MODE as in rtl.h.
+       * loop.c (insert_bct): Ensure loop_iteration_var non-zero before use.
 
-Fri Jun  2 15:40:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Oct  8 21:59:47 1998  Dave Brolley  <brolley@cygnus.com>
 
-       * cccp.c (do_include): A file included via a system header file
-       counts as a system header file for -M.
+       * emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.
 
-       * gnulib2.c: Support boolean ops and shifts.
+Thu Oct  8 22:03:45 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * loop.c (emit_iv_inc): Use emit_iv_init_code.
+       * rs6000.h (RTX_COSTS): Add PROCESSOR_PPC604e cases.
 
-       * rtl.h (CONST0_RTX): Don't try to cast abort.
+Thu Oct  8 17:00:18 1998  Richard Henderson  <rth@cygnus.com>
 
-       * tm-news.h (PRINT_OPERAND_ADDRESS): Fix typo `reg_name'.
-       Delete two garbage lines.
+       * flow.c (find_basic_blocks): Correctly determine when a call
+       is within an exception region.
 
-       * loop.c (eliminate_biv): Use emit_iv_init_code to compute comparison
-       value.  If value is constant, recognize the insn, and if that fails,
-       put the value in a register.  
+Thu Oct  8 17:15:04 1998  Jeffrey A Law  (law@cygnus.com)
 
-Thu Jun  1 16:56:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * toplev.c (output_file_directive): Use DIR_SEPARATOR, not '/'.
 
-       * print-tree.c (dump): Don't die if rtx components are null.
+       * cpplib.h: Protect from multiple inclusions.
+       * cpplib.c: Fix minor formatting problems.
 
-       * expmed.c (expand_mult_add): New fn to do A * X + B.
-       (make_tree): New subroutine.
-       * loop.c (emit_iv_init_code): Use that.  Much simpler now.
+       * i386/xm-cygwin32.h: Only define POSIX if it is not already defined.
 
-Tue May 30 17:20:40 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * jump.c (jump_optimize): Revert accidental patch.
 
-       * fold-const.c (fold): Use TREE_SET_CODE to store in tree codes.
+       * Makefile.in (cpplib.o): Use unlibsubdir.
 
-       * tree.h (struct tree_common): Make `code' an unsigned int.
-       (TREE_CODE, TREE_SET_CODE): Put in casts.
+Thu Oct  8 12:50:47 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * optabs.c (emit_cmp_insn): Supply all the args in recursive calls.
+       * loop.c (get_condition): Allow combine when either compare is
+       VOIDmode.
 
-       * toplev.c (report_error_function): Fix typo; METHOD_TYPE missing.
+Thu Oct  8 11:31:01 1998  Jeff Law  (law@cygnus.com)
 
-       * fixincludes: Add code to make internal non-directory links.
+       * version.c: Bump for snapshot.
 
-Mon May 29 21:36:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Oct  8 12:21:14 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>
 
-       * gcc.c (find_exec_file): Try both with and without machine_suffix.
-       (find_file): Use machine_suffix here too.
+       * c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.
+       (init_lex): Initialize ridpointers[RID_BYREF].
+       * c-lex.h (enum rid): Add RID_BYREF.
+       * c-parse.gperf: Add RID_BYREF as a type qualifier.
+       * objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF.
+       (encode_type_qualifiers): Similarly.
+       * c-gperf.h: Rebuilt.
 
-Sat May 27 00:02:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Oct  8 05:56:00 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * reload.c (decompose): OFFSET wasn't initialized.
+       * c-common.c (type_for_mode): Only return TItype nodes when
+       HOST_BITS_PER_WIDE_INT is >= 64 bits.
+       * c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
+       when HOST_BITS_PER_WIDE_INT is >= 64 bits.
+       (init_decl_processing): Only create TItype nodes when
+       HOST_BITS_PER_WIDE_INT is >= 64 bits.
+       * c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
+       when HOST_BITS_PER_WIDE_INT is >= 64 bits.
 
-       * cse.c (cse_main): Assign monotonic cuids.
-       (make_regs_eqv, CHEAPER): Use cuids, not uids.
-       (cse_end_of_basic_block): Return a cuid, not a uid.
+Thu Oct  8 05:05:34 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
 
-       * expr.c (expand_builtin): For BUILTIN_SAVEREGS, range of regs
-       moved included one extra previous insn.
+       * stmt.c (n_occurrences): New static function.
+       (expand_asm_operands): Verify that all constrains match in the
+       number of alternatives.
+       Verify that '+' or '=' are at the beginning of an output constraint.
+       Don't allow '&' for input operands.
+       Verify that '%' isn't written for the last operand.
+       * reload.c (find_reloads): Abort if an asm is found with invalid
+       constraints; all possible problems ought to be checked for earlier.
 
-       * emit-rtl.c (emit_line_note): Don't check -g here.
-       (emit_note): For line number when no -g, increment cur_insn_uid anyway.
-       * stmt.c (expand_start_case): Always output a NOTE_INSN_DELETED.
+Thu Oct  8 04:26:20 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * loop.c (loop_optimize): Don't count line-number NOTEs for luids.
-       Prevents -g from affecting optimization decisions.
+       * flags.h (flag_branch_on_count_reg): Always declare.
+       * toplev.c (flag_branch_on_count_reg): Likewise.
+       * toplev.c: Fix typos.
 
-Fri May 26 17:31:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * real.c (c4xtoe): Remove unused variables.  Add some missing parens.
+       (toc4x): Similarly.
 
-       * local-alloc.c (block_alloc): Don't count notes in insn_number.
-       Prevents -g from affecting order of allocation.
+Thu Oct  8 01:25:22 1998  Richard Henderson  <rth@cygnus.com>
 
-Thu May 25 14:12:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * flow.c (find_basic_blocks): Calc upper bound for extra nops in
+       max_uids_for_flow.
+       (find_basic_blocks_1): Add a nop to the end of a basic block when
+       a trailing call insn does not have abnormal control flow.
+       * gcse.c (pre_transpout): New variable.
+       (alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
+       (compute_pre_transpout): Calculate it.
+       (compute_pre_ppinout): Use it to eliminate impossible placements
+       due to abnormal control flow through calls.
+       (compute_pre_data): Call compute_pre_transpout.
 
-       * local-alloc.c (block_alloc): Clear full length of regs_live_at.
+Wed Oct  7 21:40:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * ns32k.md (cmpsi): Make this the first cmp pattern.
+       * config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
 
-       * jump.c (do_cross_jump): Skip NOTEs while checking for existing label.
+Wed Oct  7 21:19:46 1998  Ken Raeburn  <raeburn@cygnus.com>
 
-       * cse.c (cse_insn): When no-oping a jump, decrement use count of label.
-       (cse_basic_block): If label use count is 0, go past it.
+       * config/mips/mips.md (tablejump_internal3, tablejump_internal4
+       and matching define_insns): Tack on a `use' of the table label, so
+       flow analysis will recognize a tablejump.
 
-       * integrate.c (access_parm_map): New fn, broken out of
-       copy_rtx_and_substitute, handles case of mem ref to stack arg.
-       (copy_rtx_and_substitute): Call it.
-       Also use it for address of a stack arg.
+Wed Oct  7 17:33:39 1998  Richard Henderson  <rth@cygnus.com>
 
-       * gen*.c (fatal): Declare 1st arg as string.
+       * gcse.c (pre_insert_insn): Tweek to notice that calls do not
+       always end basic blocks for abnormal edge reasons.
 
-Wed May 24 00:13:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Oct  7 14:40:43 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * optabs.c (init_optabs): Handle movdi and movdf insns.
+       * config/i386/i386.h: Remove definition of
+       HANDLE_PRAGMA_PACK_PUSH_POP.
 
-       * final.c (end_final): Realign locn ctr after outputting string.
+       * config/i386/go32.h: Add definition of
+       HANDLE_PRAGMA_PACK_PUSH_POP.
 
-       * tm-sparc.h (LINK_SPEC): Link bb_link.o before standard lib.
+       * config/i386/win32.h: Add definition of
+       HANDLE_PRAGMA_PACK_PUSH_POP.
 
-       * tm-sun386i.h (LINK_SPEC): Accept and ignore -sun386.
+       * config/i386/cygwin32.h: Add definition of
+       HANDLE_PRAGMA_PACK_PUSH_POP.
 
-       * gcc.c (find_exec_file): Use machine_suffix.
-       (process_command): Set that for -b option.
+       * c-pragma.c (insert_pack_attributes): Do not insert
+       attributes unless #pragma pack(push,<n>) is in effect.
 
-       * integrate.c (function_cannot_inline_p): No size limit
-       for functions declared inline.
+Wed Oct  7 12:10:46 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * loop.c (skip_consec_insns): New fn, skip several insns or libcalls.
-       (force_movables): New fn, part of scan_loop broken out.
-       (ignore_some_movables): New fn, ignore a movable whose insn
-       is within another movable's libcall.
-       (scan_loop): Call those three.
-       Don't handle m->consec for zero-extend movables, since always 0.
+       * expr.c (emit_group_store): Handle a PARALLEL destination.
 
-Tue May 23 12:58:24 1989  Joe Weening  (weening at gang-of-four.stanford.edu)
+Wed Oct  7 10:07:29 1998  Richard Henderson  <rth@cygnus.com>
 
-       * config/alliant.md:
-       Removed operand classes 'x', 'y', 'G', 'H'.
-       Added "%." to many opcodes to simplify comparison with m68k.md.
-       Changed TARGET_68881 to TARGET_CE.
-       Changed floating-point insns to better describe the Alliant CE.
-       Most args to floating-point insns are now nonimmediate_operand.
-       Removed special insns for pushing doublewords onto stack.
-       Added non-CE versions of movsf and movdf to avoid using FP
-       registers in this case.
-       (float*i*f2): Don't allow immediate ops.
-       (sne): Fix typo, fsne => fsneq.
-       (call, call_value): Changed to always pop args from stack
-       upon return; this gives better code than before and conforms
-       to Alliant calling standard.
-       Incorporated some recent changes to m68k.md.
+       * gcse.c (pre_insert_insn): When a call ends a bb, insert
+       the new insns before the argument regs are loaded.
 
-       * config/out-alliant.c:
-       (regno_reg_class): Removed FPA reg classes.
-       (output_move_const_double): Function not needed, removed.
+Wed Oct  7 12:55:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * config/tm-alliant.h:
-       Removed FPA registers and reg classes.
-       Target flags: changed TARGET_68881 to TARGET_CE, removed
-       TARGET_RTD, TARGET_REGPARM, TARGET_FPA.
-       Removed TARGET_CE test in several places since we need to
-       use FP regs even for non-CE programs.
-       (TARGET_VERSION, CPP_SPEC): Define for Alliant.
-       (CONDITIONAL_REGISTER_USAGE): Removed, not needed.
-       (FRAME_POINTER_REQUIRED): Defined.
-       (RETURN_POPS_ARGS): Defined.
-       (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P):
-       Use fp0 to return floating-point values.
-       (FUNCTION_ARG): Remove TARGET_REGPARM code.
-       (FUNCTION_ARG_PARTIAL_NREGS): Always 0.
-       (FUNCTION_PROFILER): Define for Alliant.
-       (FUNCTION_EPILOGUE): Remove use of rtd instruction.
-       Renamed CC_IN_68881 to CC_IN_FP.
-       (NOTICE_UPDATE_CC): Incorporate changes that were made
-       in tm-m68k.h.
+       * Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf.
+       (c-parse.gperf): Update comments describing invocation flags.
+       (c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs).
 
-       * config/xm-alliant.h (LINK_SPEC): Pass -X to linker.
+1998-10-07  Manfred Hollstein  <manfred@s-direktnet.de>
 
-Tue May 23 12:58:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * reload1.c (reload): Call free before clobbering the memory
+       locations or constants pointers.
 
-       * sdbout.c: Don't include c-tree.h.
+Wed Oct  7 02:05:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * tree.c (build_index_type): Use sizetype for min and max values.
-       Convert maxval rather than clobbering it.
+       * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
+       for efficiency by checking whether we need to modify the current
+       stack permission at all.
+       (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
+       * config/sparc/sparc.c (sparc_initialize_trampoline): Emit
+       __enable_execute_stack libcall here too if
+       TRANSFER_FROM_TRAMPOLINE is defined.
+       * config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
+       IN_LIBGCC2.
 
-       * tm-hp9k320.h: Finish unterminated comment.
+Wed Oct  7 02:27:52 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * sdbout.c (sdbout_parms): Use gen_fake_label for anonymous parm.
+       * Makefile.in (DRIVER_DEFINES): Remove last change.
 
-Sun May 21 12:58:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Oct  7 01:08:43 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
 
-       * stmt.c (aggregate_value_p): New fn says whether expression is a type
-       that functions cannot return as a scalar.
-       (assign_parms, expand_function_start): Use that.
-       * expr.c (expand_call): Likewise.
+       * jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
+       insns we're going to copy.
+       * regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.
 
-       * gcc.c (delete_failure_queue): New subroutine.
-       (delete_temp_files): No longer delete the failure queue.
-       (main): Delete failure queue after each failing compilation.
+       * loop.c (count_one_set): Add prototype.
 
-Sat May 20 13:16:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * caller-save.c (restore_referenced_regs): Lose mode argument.
+       (insert_save): Lose mode argument.
+       (insert_restore): Lose mode argument.
+       (insert_one_insn): Lose mode argument.
+       (save_call_clobbered_regs): Lose mode argument.
+       (setup_save_areas): Take no argument and return void.  All callers
+       changed.
+       Don't verify validity of memory addresses.
+       * reload.h (setup_save_ares): Adjust prototype.
+       (save_call_clobbered_regs): Likewise.
+       * reload1.c (delete_caller_save_insns): New function.
+       (caller_save_spill_class): Delete variable.
+       (caller_save_group_size): Delete variable.
+       (reload): Call setup_save_areas and save_call_clobbered_regs
+       in the main loop, before calling calculate_needs_all_insns.
+       Don't call save_call_clobbered_regs after the loop.
+       Call delete_caller_save_insns at the end of an iteration if
+       something changed.
+       Delete code to manage caller_save_spill_class.
+       Emit the final note before setting reload_first_uid.
+       Simplify test that determines whether reload_as_needed gets run.
+       (calculate_needs): Delete code to manage caller_save_spill_class.
+
+Tue Oct  6 15:42:27 1998  Richard Henderson  <rth@cygnus.com>
+
+       * collect2.c (main): Initialize ld_file_name.
+
+Tue Oct  6 15:45:15 1998  Catherine Moore  <clm@cygnus.com>
+
+       * config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
+       check for flag_function_sections.
+
+Tue Oct  6 20:02:31 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * cse.c (insert_regs): Fix bug in Sep 24 change.
+
+Tue Oct  6 17:00:42 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * flags.h (flag_dump_unnumbered): Declare.
+       * toplev.c (flag_dump_unnumbered): Don't declare.
+       * print-rtl.c (flags.h): Include.
+       (print_rtl_single): Add return value.
+       * rtl.h (print_rtl_single): Update declaration.
+       * flow.c (flag_dump_unnumbered): Don't declare.
+       (print_rtl_with_bb): Use return value of print_rtl_single.
+
+Tue Oct  6 01:36:00 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+
+       * loop.c (count_one_set): New static function, broken out of
+       count_loop_regs_set.
+       (count_loop_regs_set): Call it.
+       * global.c (mark_reg_store): Handle clobbers here by not calling
+       set_preference.
+       (mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
+       is in fact a clobber.
+       * integrate.c (process_reg_param): New function, broken out of
+       expand_inline_function.
+       (expand_inline_function): Call it.
+
+       * i386.md (addsidi3_1): Delete unused variable temp.
+       (addsidi3_2): Likewise.
+       (clstrstrsi): Delete unused variable addr1.
+
+       * rtl.h: Don't declare any functions also declared in recog.h.
+
+       * Makefile.in (stupid.o): Update dependencies.
+       (global.o): Likewise.
+
+       * global.c: Include reload.h.
+       (reg_becomes_live): New function.
+       (reg_dies): New function.
+       (build_insn_chain): New function.
+       (global_alloc): Call build_insn_chain before calling reload.
+
+       * reload.h (struct needs): New structure definition.
+       (struct insn_chain): Likewise.
+       (reload_insn_chain): Declare variable.
+       (new_insn_chain): Declare function.
+
+       * reload1.c (reload_startobj): New variable.
+       (reload_insn_chain): New variable.
+       (unused_insn_chains): New variable.
+       (new_insn_chain): New function.
+       (init_reload): Initialize reload_startobj, not reload_firstobj.
+       (reload): Initialize reload_firstobj.
+       Before returning, free everything on the reload_obstack.
+
+       * stupid.c: Include insn-config.h, reload.h and basic-block.h.
+       (reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
+       current_chain): New variables.
+       (reg_where_born): Delete variable.
+       (REG_WHERE_BORN): New macro.
+       (find_clobbered_regs): New function.
+       (stupid_life_analysis): Don't allocate/free reg_where_born.
+       Allocate and free reg_where_born_exact, reg_where_born_clobber,
+       reg_where_dead_chain.
+       Use REG_WHERE_BORN instead of reg_where_born.
+       While processing the insns, build the reload_insn_chain with
+       information about register lifetimes.
+       (stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
+       (stupid_mark_refs): Replace arg INSN with arg CHAIN.  All callers
+       changed.
+       Compute and information about birth and death of pseudo registers in
+       reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
+       Delete code to set elements of reg_where_born.
 
-       * varasm.c (force_const_mem): New optional macro SELECT_RTX_SECTION.
+Mon Oct  5 22:34:30 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-       * mips.md: Change %u0 to %:.
-       (movsi): Add constraint alternative accepting address arg.
+       * tree.def (GOTO_EXPR): Modified documentation.
+       * expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
+       goto.
 
-       * fold-const.c (mul_double): Special case for 2nd arg 2, 4, 8.
-       (combine): Special case shortcuts for plus, minus, mult, div.
+Mon Oct  5 22:43:36 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * stmt.c (expand_function_start): Simplify hairy statement for 3B1.
-       * expr.c (expand_call): Likewise.
+       * unroll.c (loop_iteration_var, loop_initial_value, loop_increment
+       loop_final_value, loop_comparison_code): No longer static.
+       (unroll_loop): Delete loop_start_value update.
+       * loop.h (loop_iteration_var, loop_initial_value, loop_increment,
+       loop_final_value, loop_comparison_code): Extern.
+       (loop_start_value): Delete extern.
+       * loop.c (loop_can_insert_bct, loop_increment, loop_start_value,
+       loop_comparison_value, loop_comparison_code): Delete.
+       (loop_optimize): Remove initialization for deleted variables.
+       (strength_reduce): Delete analyze_loop_iterations call.  Only call
+       insert_bct if flag_branch_count_on_reg set.
+       (analyze_loop_iterations): Delete.
+       (insert_bct): Remove iteration count calculation.  Move checks for
+       viable BCT optimization to here.  Obtain iteration count from
+       loop_iterations and correct for unrolling.  Check for enough
+       iteration to be beneficial.  Comment out runtime iteration count
+       case.
+       (insert_bct): Print iteration count in dump file.  Remove
+       loop_var_mode and use word_mode directly.
 
-       * math-68881.h: New file.
+       * rs6000.h (processor_type): Add PROCESSOR_PPC604e.
+       * rs6000.c (rs6000_override_options): Use it.
+       (optimization_options): Enable use of flag_branch_on_count_reg.
+       * rs6000.md (define_function_unit): Describe 604e.
 
-       * m68k.md (movqi): Handle moving aregs to mem and vice versa.
+1998-10-05  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
 
-       * dbxout.c (dbxout_type): Don't test use_gdb_dbx_extensions
-       in cases that occur in C.
+       * loop.c (move_movables): Corrected threshold calculation for
+       moved_once registers.
 
-       * stmt.c (expand_function_{start,end}): Make DECL_RESULT's rtl 0
-       when function returns no value.
+Mon Oct  5 21:18:45 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
 
-       * tree.c (build_decl): Initialize DECL_PRINT_NAME, DECL_ASSEMBLER_NAME.
+       * loop.c (combine_givs_p): Fix test for identical givs.
 
-       * c-decl.c (store_parm_decls): Call init_function_start.
+Mon Oct  5 10:11:28 1998  Nick Clifton  <nickc@cygnus.com>
 
-Thu May 18 00:41:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
+       call abort if the function is already defined.
 
-       * stmt.c (expand_null_return_1): New arg USE_GOTO says jump to
-       return_label even if could otherwise use a return insn.
-       Make a return_label if we need one and don't have one already.
-       If have parm cleanups, always jump to cleanup_label.
-       (expand_null_return): Pass 1 for USE_GOTO if cleanups pending.
-       (expand_return): Set LAST_INSN if have local cleanups or parm cleanups.
-       Use that if jumping to tail-recursion label.
-       Optimization for returning a comparison is safe for local cleanups
-       but don't do it if there are parm cleanups.
-       Calling expand_null_return_1, pass 1 for USE_GOTO if local cleanups.
-       (this_contour_has_cleanups_p): New function.
+Mon Oct  5 10:02:36 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * stmt.c (init_function_start): New function, beginning of
-       expand_function_start broken out.
-       Use DECL_PRINT_NAME to get function's name.
-       (expand_function_start): Now two args, function and PARMS_HAVE_CLEANUPS
-       Compute RETURN_LABEL sooner; make one if parm cleanups.
-       If parms have cleanups, put scalar return value in pseudo-reg.
-       Don't mark that pseudo with REG_FUNCTION_VALUE_P.
-       (expand_function_end): Simplify decisions about output of return_label
-       and return insn.
-       If DECL_RESULT is pseudo-reg, copy it to real return reg.
+       * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
+       truncation is not a no-op.
 
-       * stmt.c (expand_function_end): Handle ordinary struct values
-       like pcc, but only if unoptimized.
-       (expand_function_start): Make a return_label for ordinary struct value.
+Mon Oct  5 09:02:04 1998  Jeff Law  (law@cygnus.com)
 
-       * stor-layout.c (layout_type): Handle METHOD_TYPE like FUNCTION_TYPE.
-       (layout_decl): Allow TYPE_DECL.
+       * version.c: Bump for snapshot.
 
-       * stor-layout.c (layout_basetypes): Code for basetypes broken
-       out of layout_record.  Sets the type size tentatively.
-       (layout_record): Start with that tentative size.
-       Also, don't do anything with CONST_DECL members.
+Mon Oct  5 08:19:55 1998  Jeff Law  (law@cygnus.com)
 
-       * stor-layout.c (layout_union): Simpler error report for static memb.
+       * version.c: Bump for snapshot.
 
-       * reload1.c (eliminate_frame_pointer): Reduce PUSH_ROUNDING
-       conditional to apply only to push instructions.
+Mon Oct  5 01:07:23 1998  Torbjorn Granlund  <tege@matematik.su.se>
 
-       * expr.c (expand_call): Fix stupid errors handling MAX_PARM_BOUNDARY.
-       * stmt.c (assign_parms): Likewise.
+       * expmed.c (expand_divmod): Don't widen for computing remainder
+       if we seem to have a divmod pattern for needed mode.
 
-       * toplev.c (announce_function, report_error_function):
-       (error_with_decl, warning_with_decl): Use DECL_PRINT_NAME.
+Mon Oct  5 01:01:42 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-       * toplev.c (compile_file): Subtract integration_time from parse_time.
+       * cpplib.c (macroexpand): Correct off-by-one error in handling
+       of escapes.
 
-       * toplev.c (compile_file): Don't output read-only static variables
-       at end of compilation if address was not used.
+Sun Oct  4 23:58:30 1998  Richard Henderson  <rth@cygnus.com>
 
-       * toplev.c (rest_of_compilation): Handle flag_syntax_only.
+       * combine.c (expand_field_assignment): Don't do bitwise operations
+       on MODE_FLOAT; pun to MODE_INT if possible.
 
-       * toplev.c (main): Handle -g0 and -G0 options.
-       For -g and -G, set use_gdb_dbx_extensions.
+Sun Oct  4 18:33:24 1998  Jason Merrill  <jason@yorick.cygnus.com>
+                         scott snyder  <snyder@d0sgif.fnal.gov>
 
-       * toplev.c (main): Set `progname'.
-       (pfatal_with_name, fatal_io_error, {error,warning}_with_file_and_line):
-       (sorry): Print value of `progname', not "cc1".
+       * tlink.c (scan_linker_output): Recognize errors from irix 6.2
+       linker.  Recognize mangled names in quotes.
 
-       * tree.def: Delete FRIEND_DECL.  Add PUSH_EXPR and POP_EXPR.
+Sun Oct  4 02:58:20 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
 
-       * tree.c (simple_cst_equal): Handle INDIRECT_REF.
+       * config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
+       (ashlsi3_const1, ashldi3_const1): New combiner patterns.
+       (ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
+       (lshrsi3_extend, lshrsi3_extend2): Likewise.
 
-       * tree.c (lvalue_p): Handle METHOD_TYPE.  Handle NEW_EXPR.
+Sun Oct  4 00:23:00 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * tree.c (copy_list): New function.
+       * function.c (purge_addressof_1): If trying to take a sub-word
+       integral piece of a floating point mode, put it on the stack.
 
-       * tree.h (struct tree_decl): New fields print_name and assembler_name.
-       (DECL_PRINT_NAME, DECL_ASSEMBLER_NAME): New accessors.
+Sat Oct  3 19:01:03 1998  Richard Henderson  <rth@cygnus.com>
 
-       * c-decl.c (LONG_DOUBLE_TYPE_SIZE): New compilation parameter.
+       * alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
 
-Wed May 17 22:07:17 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
+Sat Oct  3 14:42:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * dbranch.c (emit_delay_sequence): Reset insn code to -1 when
-       turning insn into a sequence so that it won't think that it matches
-       something in the md file.
+       * PROJECTS: Remove template friends.
 
-       * dbranch.c (insn_eligible_p): Call refers_to_regno_p with a
-       non-zero range.
+       * collect2.c (sort_ids): Remove unused variable.
 
-       * dbranch.c (pnote): Modified to make sure instruction clobbered
-       register is a set, rather than, say, a clobber.
+       * tm.texi (MATH_LIBRARY): Document.
+       (NEED_MATH_LIBRARY): Remove.
 
-Wed May 17 14:01:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * varasm.c (assemble_start_function, assemble_variable, weak_finish,
+       assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.
 
-       * sdbout.c (sdbout_parms): Handle parm with no name.
+Sat Oct  3 16:14:44 1998  John Carr  <jfc@mit.edu>
 
-       * loop.c (combine_movables): Test for overlap of zero-extend regs
-       was screwed up.
+       * dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize
+       last_end to 0x7fffffff.
 
-       * c-typeck.c (c_sizeof{,_nowarn}): Convert from bytes to chars,
-       since c defines sizeof (char) as 1.
-       (pointer_int_sum, pointer_diff): Use c_sizeof{,_nowarn}. 
+Fri Oct  2 19:14:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-Tue May 16 16:27:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * function.c (purge_addressof_1): Do not perform endianness
+       corrections on bitpos, who we call will do it for us.
 
-       * reload1.c (choose_reload_targets): Don't reuse regs
-       mentioned in reload_reg_rtx.
+Fri Oct  2 11:52:35 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-tahoe.h, tahoe.md, out-tahoe.c, xm-tahoe.h: New files.
+       * h8300.c (WORD_REG_USED): Fix typo.
+       (initial_offset): Use WORD_REG_USED.
 
-Mon May 15 16:25:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * h8300.c (handle_pragma): Fix typo.
 
-       * fixincludes: Exit with explicit status 0 at end.
-       cd to /usr/include before cd to subtree root in case of relative link.
-       Create dir $LIB earlier.
-       When checking for a link, treat .. like an absolute target.
+Fri Oct  2 10:51:35 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
 
-       * symout.c (symout_block_symbols): Give every local decl a typespec.
-       * cexp.y (parse_number):
-       * flow.c (life_analysis, dump_flow_info):
+       * caller-save.c (insert_save_restore): Break this function up
+       into new functions insert_restore, insert_save and insert_one_insn.
+       All callers changed.
+       (insert_restore): New function, mostly broken out of
+       insert_save_restore.
+       (insert_save): Likewise.
+       (insert_one_insn): Likewise.
+       (restore_referenced_regs): New argument BLOCK.  All callers changed.
+       (save_call_clobbered_regs): Don't keep track of basic block boundaries
+       in this function, do it in insert_one_insn instead.
 
-       * loop.c (consec_sets_invariant_p): Logic error accepted consec sets
-       of which only one was invariant.
+       * reload1.c (reload): Break out some more pieces into separate
+       functions.
+       (dump_needs): New function, broken out of reload.
+       (set_initial_elim_offsets): Likewise.
+       (init_elim_table): Likewise.
+       (update_eliminables): Likewise.
 
-       * expr.c (expand_expr): Use no subtargets inside loops.
-       * stmt.c (inside_loop): New function.
+       * global.c (global_alloc): Delete code to manage the scratch_list.
+       * local-alloc.c (qty_scratch_rtx): Delete.
+       (scratch_block): Delete.
+       (scratch_list): Delete.
+       (scratch_list_length): Delete.
+       (scratch_index): Delete.
+       (alloc_qty_for_scratch): Delete.
+       (local-alloc): Update initialization of max_qty.
+       Delete code to manage the scratch list.
+       Delete code to allocate/initialize qty_scratch_rtx.
+       (block_alloc): Don't allocate quantities for scratches.
+       Delete code to manage the scratch list.
+       * regs.h (scratch_list): Delete declaration.
+       (scratch_block): Delete declaration.
+       (scratch_list_length): Delete declaration.
+       * reload1.c (reload): Delete code to manage the scratch list.
+       (spill_hard_reg): Likewise.
+       (mark_scratch_live): Delete.
+
+       * recog.c (alter_subreg): Delete declaration.
+
+1998-10-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * Makefile.in (cccp.o): Fix typo in last patch.
+
+Fri Oct  2 16:13:12 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Sun May 14 00:11:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * t-sh (LIB1ASMFUNCS): Add _set_fpscr .
+       * config/sh/lib1funcs.asm (___set_fpscr): Add.
 
-       * tree.h: Declare long long types.
+Fri Oct  2 02:01:59 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * c-parse.y (combine_strings): Make string contents saveable.
+       * regclass.c (reg_scan_mark_refs): Return immediately if passed a
+       NULL_RTX as an argument.
 
-       * tree.c (savealloc): New function.
+       * Makefile.in (unlibsubdir): Define.
+       (DRIVER_DEFINES): Use unlibsubdir.
+       (cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
+       (stmp-fixinc): Similarly.
 
-       * m68k.md (movdi): % missing in fmove%.d.
+Thu Oct  1 19:58:30 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
 
-       * c-parse.y (yylex): Detect overflow past 64-bits.
-       Detect specially numbers not fitting in signed long long.
+       * regmove.c (regmove_optimize): Add variable old_max_uid.
+       At the end of the function, update basic_block_end.
 
-Sat May 13 13:16:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Oct  1 17:58:25 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * reload1.c (alter_frame_pointer_addresses): Preserve volatility.
+       * dwarf2out.c (expand_builtin_dwarf_reg_size): Use
+       FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
+       arbitrary constant.
 
-       * varasm.c (output_constructor): Die if BITS_PER_UNIT is too big
-       for this function to work.
+Thu Oct  1 17:57:14 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * genpeep.c (match_rtx): For match_operator, match the operands, too.
+       * config/arm/arm.c: Improve interworking support.
 
-       * varasm.c (output_constant): Use ASM_OUTPUT_DOUBLE_INT for DImode.
+Thu Oct  1 18:43:35 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * stor-layout.c (make_signed_type, make_unsigned_type):
-       (fixup_unsigned_type): Use HOST_BITS_PER_INT.
+       * reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was
+       copied from reload_out[r] .
 
-       * stor-layout.c (layout_type): Use TFmode if appro.
+Thu Oct  1 19:20:09 1998  John Carr  <jfc@mit.edu>
 
-       * optabs.c (emit_cmp_insn): Use mode sizes to check cmpstrqi, cmpstrhi.
+       * dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
+       with more than three size ranges.
 
-       * c-typeck.c (get_floating_type): Compare MODE against modes of types.
-       (signed_type, unsigned_type, signed_or_unsigned_type, type_for_size):
-       Handle long long types.
-       (digest_init): Don't assume width of `char' is BITS_PER_UNIT.
+       * flow.c (sbitmap_copy): Use bcopy to copy bitmap.
 
-       * c-parse.y (yylex): For truncating chars, use width of `char' type.
-       Allow `ll' in int constants and make long long.
-       Also make long long if constant won't fit in an int.
+       * rtl.c (mode_name): Add a null string at the end of the array.
+       (mode_wider_mode): Change type to unsigned char.
+       (mode_mask_array): New variable.
+       (init_rtl): Update for mode_wider_mode type change.
 
-       * c-decl.c (SHORT_TYPE_SIZE): Round up when dividing.
+       * rtl.h (mode_wider_mode): Change type to unsigned char.
+       (mode_mask_array): Declare.
+       (GET_MODE_MASK): Use mode_mask_array.
 
-Fri May 12 22:36:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Oct  1 15:56:01 1998  Gavin Romig-Koch  <gavin@cygnus.com>
 
-       * real.h: Allow multiple inclusion.
+       * calls.c (expand_call) : Encapsulate code into
+       copy_blkmode_from_reg.
+       * expr.c (copy_blkmode_from_reg): New function.
+       * expr.h (copy_blkmode_from_reg): New function.
+       * integrate.c (function_cannot_inline_p): We can inline
+       these now.
+       (expand_inline_function): Use copy_blkmode_from_reg
+       if needed.  Avoid creating BLKmode REGs.
+       (copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
+       object.
 
-       * tm-sun386i.h (DBX_REGISTER_NUMBER): Bizarre renumbering.
+Thu Oct  1 10:42:27 1998  Nick Clifton  <nickc@cygnus.com>
 
-Thu May 11 00:36:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/v850/v850.c: Add function prototypes.
+       Add support for v850 special data areas.
 
-       * fixincludes: Fix non-ansi declaration of sprintf in X11/Xmu.h
+       * config/v850/v850.h: Add support for v850 special data areas.
 
-       * c-parse.y (stmt from expr): Do default conversion if useful
-       for sake of ({...}).
+       * c-pragma.c: Add support for HANDLE_PRAGMA_PACK and
+       HANDLE_PRAGMA_PACK_PUSH_POP.
+       (push_alignment): New function: Cache an alignment requested
+       by a #pragma pack(push,<n>).
+       (pop_alignment): New function: Pop an alignment from the
+       alignment stack.
+       (insert_pack_attributes): New function: Generate __packed__
+       and __aligned__ attributes for new decls whilst a #pragma pack
+       is in effect.
+       (add_weak): New function: Cache a #pragma weak directive.
+       (handle_pragma_token): Document calling conventions.  Add
+       support for #pragma pack(push,<n>) and #pragma pack (pop).
 
-       * sparc.md (andcc recognizer): Operand missing in subreg.
+       * c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP
+       are defined enable HANDLE_PRAGMA_PACK.
+       Move 'struct weak_syms' here (from varasm.c).
+       Add pragma states for push and pop pragmas.
 
-Wed May 10 17:20:38 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES
+       if it is defined.
 
-       * rtl.c (read_name): Error if name is missing.
-       (dump_and_abort): Don't print char args if -1.
+       * c-lex.c: Replace occurrences of HANDLE_SYSV_PRAGMA with
+       HANDLE_GENERIC_PRAGMAS.
 
-       * i386.md (umulqihi3): Operand numbers were missing.
+       * varasm.c: Move definition of 'struct weak_syms' into
+       c-pragma.h.
+       (handle_pragma_weak): Deleted.
 
-       * reload1.c (choose_reload_targets): Allow spill reg in find_equiv_reg
-       if it's free and correct class. 
+       * config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
 
-       * cse.c (canon_hash): Handle empty strings.
+       * config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
 
-       * cccp.c (macroexpand): Newline newline treated like real white space
-       when stringifying.
+       * c-decl.c (start_function): Add invocation of
+       SET_DEFAULT_DECL_ATTRIBUTES, if defined.
 
-       * Rename *offsetable* to *offsettable*.
+       * tm.texi: Remove description of non-existent macro
+       SET_DEFAULT_SECTION_NAME.
 
-Tue May  9 22:54:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       (HANDLE_SYSV_PRAGMA): Document.
+       (HANDLE_PRAGMA_PACK_PUSH_POP): Document.
 
-       * c-decl.c (finish_type): Layout any variants of the type.
+Wed Sep 30 22:27:53 1998  Robert Lipe  <robertl@dgii.com>
 
-Tue May  9 12:30:28 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
+       * config.sub: Recognize i[34567]86-pc-udk as new target.
+       * configure.in: Likewise.
+       * config/i386/t-udk: New file.
+       * config/i386/udk.h: New file.
 
-       * final.c (final_scan_insn, final): Added an argument to
-       final_scan_insn to disallow peephole processing (to turn it off
-       during delayed branch scheduling).
+Wed Sep 30 19:33:07 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * final.c (final_scan_insn): Made insn not matching any MD rtl a
-       criteria for delayed branch case.  Moved delayed branch case to just
-       before real insn recognition to reduce the number of insns on which
-       recog_memoized is called.
+       * reorg.c (check_annul_list_true_false): Remove unused variables.
+       (steal_delay_list_from_target): Add missing "used_annul" variable.
+       (try_merge_delay_insns): Close out half formed comment.
 
-Mon May  8 15:02:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Sep 30 19:13:20 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-       * fixincludes (LIB): Allow overriding.
+       * cpplib.c (macroexpand): If arg->raw_before or
+       arg->raw_after, remove any no-reexpansion escape at the
+       beginning of the pasted token.  Correct handling of whitespace
+       markers and no-reexpand markers at the end if arg->raw_after.
 
-       * cccp.c: Don't search /usr/include/CC by default.
+       * toplev.c (documented_lang_options): Recognize -include,
+       -imacros, -iwithprefix, -iwithprefixbefore.
+       * cpplib.c (cpp_start_read): Process -imacros and -include
+       switches at the same time and in command-line order, after
+       initializing the dependency-output code.  Emit properly nested
+       #line directives for them.  Emit a #line for the main file
+       before processing these switches, and don't do it again
+       afterward.
 
-Mon May  8 13:09:21 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
+Wed Sep 30 18:03:22 1998  Richard Henderson  <rth@cygnus.com>
 
-       * print-tree.c (dump): Fixed typo; IDENTIFIER ==> IDENTIFIER_NODE.
+       * function.c (purge_addressof_1): Use bitfield manipulation
+       routines to handle mem mode < reg mode.
 
-Sun May  7 12:44:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Sep 30 18:43:32 1998  Herman ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
 
-       * print-tree.c (dump): TYPE_NAME may be IDENTIFIER or TYPE_DECL.
+       * reorg.c (try_merge_delay_insns): Account for resources referenced
+       in each instruction in INSN's delay list before trying to eliminate
+       useless instructions.  Similarly when looking at a trial insn's delay
+       slots.
 
-Sat May  6 00:13:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * reorg.c (check_annul_list_true_false): New function.
+       (steal_delay_list_from_{target,fallthrough}): Call it and also
+       refine tests for when we may annul if already filled a slot.
+       (fill_slots_from_thread): Likewise.
+       (delete_from_delay_slot): Return newly-created thread.
+       (try_merge_delay_isns): Use its new return value.
 
-       * tree.def: Define EXACT_DIV_EXPR, for when remainder known as 0.
-       * fold-const.c (combine, fold, div_and_round_double): Handle new code.
-       * expr.c (expand_expr): Likewise.
-       * c-typeck.c (pointer_diff): Use EXACT_DIV_EXPR.
+Wed Sep 30 18:29:26 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * integrate.c (expand_inline_function): Use size of passed type
-       for allocating stack slot with that type.
+       * loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is
+       used to compute a giv or as some other non-counting use.
 
-       * c-parse.y (maybe_attribute, attribute*): New syntax for Apollos.
-       These tokens currently not generated.
+Wed Sep 30 18:19:27 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-Fri May  5 18:43:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
+       * local-alloc.c (find_free_reg): Use it.
+       * global.c (find_reg): Likewise.
+       * tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED.
 
-       * toplev.c [USG]: Undefine FLOAT for sake of sys/param.h on hpux.
+       * regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
+       * caller-save.c (init_caller_save): Use it.
+       * tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE.
 
-       * optabs.c (expand_binop): If backtracking, don't delete insns made
-       for -fforce-mem.
+Wed Sep 30 12:57:30 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
 
-Thu May  4 01:57:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * configure.in: Add --enable-cpplib option which uses cpplib
+       for cpp, but doesn't link cpplib into cc1.  Make help text
+       capitalization consistent.
+       * configure: Rebuilt.
 
-       * reload.c (find_reloads): Don't compare an earlyclobber operand
-       with itself.
+Wed Sep 30 10:09:39 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * reload.c (immune_p): Constants and stack slots don't overlap.
+       * function.c (gen_mem_addressof): If the address REG is
+       REG_USERVAR_P make the new REG be so also.
+       * loop.c (scan_loop): Apply DeMorgan's laws and add documentation
+       in an attempt to clarify slightly.
 
-       * Put no-ops in front of loops and labels,
-       to prevent confusion in the debugger.
-       * c-parse.y (loops and labels): Call emit_nop.
-       * stmt.c (emit_nop): New function--sometimes emit a no-op.
-       * *.md (nop): New insn.
+Wed Sep 30 09:57:40 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * expr.c (expand_call): Typo in arg to FIRST_PARM_CALLER_OFFSET.
+       * expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
+       and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.
 
-Wed May  3 01:34:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Sep 30 10:13:39 1998  Catherine Moore  <clm@cygnus.com>
 
-       * loop.c (scan_loop): Scanning around end of loop
-       should not set maybe_never.
+       * toplev.c: Fix last patch.
 
-       * Rename SELECT_VARIABLE_SECTION to SELECT_SECTION.
-       * varasm.c (get_or_assign_label): Use SELECT_SECTION if defined.
-       * varasm.c: Use EXTRA_SECTION_FUNCTIONS if defined (new macro).
+Tue Sep 29 20:03:18 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * mips.md: Change %u to %u0 to avoid error check.
+       * loop.c (get_condition): Fix typo in May 9 change.
 
-       * tm-mips.h (TARGET_VERSNUM): Inc. to 1 08.
-       (TARGET_VERSION): Change strings.
-       (AL_DEBUG): Don't define it.
-       (HARD_REGNO_MODE_OK): Add some casts to int.
-       (STACK_ARGS_ADJUST): Name was misspelled.
-       (PRINT_OPERAND_ADDRESS): Just abort for MEM, POST_INC, etc.
-       (EXTRA_SECTIONS, SELECT_VARIABLE_SECTION, SELECTORS_EXTRA_SECTIONS,
-       SELECT_VARIABLE_CONST_SECTION): New macros.
-       (ASM_FILE_END): Change function name.
-       * out-mips.c (function_arg_advance): Delete debugging printfs.
-       (function_inarg, function_arg): Likewise.
-       (compare_collect, compare_restore): Add some.
+Tue Sep 29 11:11:38 1998  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * reload1.c (reload): Fix handling of caller_save_needed.
+       * invoke.texi (-fexceptions): Merge 2 different descriptions.
 
-       * stmt.c (expand_function_start): Clear caller_save_needed.
+Mon Sep 28 22:08:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * stmt.c (emit_case_nodes): Some compiler has trouble with calling
-       a function pointer.
-       * gnulib.c: likewise.
+       * toplev.c (documented_lang_options): Spelling corrections.
 
-Tue May  2 15:32:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Sep 28 19:41:24 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
-       * loop.c (combine_movables): For zero extend,
-       do each from-mode separately.
+       * configure.in: New flags --with-ld and --with-as, equivalent
+       to setting LD and AS environment variables.  Test whether
+       specified arguments are GNU commands, and report them with
+       checking messages.  Use the specified AS for configure
+       tests too.
+       * configure: Likewise.
+       * acconfig.h: Add DEFAULT_ASSEMBLER and DEFAULT_LINKER.
+       * config.in: Likewise.
+       * gcc.c (find_a_file): When looking for `as' and `ld', return
+       the DEFAULT program if it exists.
+       * collect2.c (main): Use DEFAULT_LINKER if it exists.
 
-Mon May  1 00:18:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * gcc.c (find_a_file): The test for existence of a full
+       pathname was reversed.
 
-       * tm-apollo68.h: New file.
+Mon Sep 28 17:34:35 1998  Michael Meissner  <meissner@cygnus.com>
 
-       * c-parse.y (is_reserved_word, hash): Add keywords `__asm__', etc.
-       * c-parse.gperf: Corresponding changes.
+       * rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems.
+       * rs6000.c (output_mi_thunk): Always use a raw jump for now.
 
-       * c-parse.y (check_newline): Set main_input_filename before
-       considering optional arguments.
+Mon Sep 28 14:24:03 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * final.c (final_scan_function): Return next insn to process.
-       Usually that's the following insn; occasionally, previous compare.
+       * tree.h (TYPE_BINFO): Document.
 
-       * c-decl.c (DOUBLE_TYPE_SIZE): Wrong value.
+Mon Sep 28 12:55:49 1998  Stan Cox  <scox@cygnus.com>
 
-       * reload.c (decompose): Failed to return value.
+       * i386-coff.h (dbxcoff.h): Added.
 
-       * Support local specified-register variables.
-       * varasm.c (decode_reg_name): New function, cvt asmspec to regnum.
-       (make_decl_rtl): Call that.
-       * toplev.c (rest_of_decl_compilation): Handle local specified-register
-       declarations.
+Mon Sep 28 12:51:00 1998  Catherine Moore  <clm@cygnus.com>
 
-       * i386.md (tstqi, trunc*qi): Constrain to `q' regs.
+       * toplev.c: Fix bad patch around flag_data_sections.
 
-       * loop.c (scan_loop, move_movables): ->global for zero-extend register
-       now means register is used outside range from where it is set
-       to the following label.  Non-global zero-extend regs
-       may be entirely cleared.
+Mon Sep 28 10:32:28 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * loop.c (combine_movables): Loop that combines matching movables
-       broken out from scan_loop.
-       Now also combine non-global zero-extend registers with each other
-       if their lifespans don't overlap.
+       * reload1.c (reload): Use reload_address_index_reg_class and
+       reload_address_base_reg_class when setting
+       caller_save_spill_class.  (Patch generated by Jim Wilson:
+       wilson@cygnus.com).
 
-       * c-typeck.c (build_unary_op, ADDR_EXPR of a COMPONENT_REF):
-       Always convert to desired result type.
+Mon Sep 28 07:43:34 1998  Mark Mitchell  <mark@markmitchell.com>
 
-Sun Apr 30 12:58:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
+       and ARRAY_TYPEs.  Tidy up.  Improve support for type-punning.
+       * expr.c (store_field): Add alias_set parameter.  Set the
+       MEM_ALIAS_SET accordingly, if the target is a MEM.
+       (expand_assignment): Use it.
+       (store_constructor_field): Pass 0.
+       (expand_expr): Likewise.
 
-       * c-decl.c (init_decl_processing): New macros parameterize int types.
-       CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE,
-       FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE.
+Mon Sep 28 07:54:03 1998  Catherine Moore  <clm@cygnus.com>
 
-       * fixincludes: Use sed instead of ex.  No problem with split lines.
+       * flags.h: Add flag_data_sections.
+       * toplev.c: Add option -fdata-sections.  Add flag_data_sections.
+       (compile_file): Error if flag_data_sections not supported.
+       * varasm.c (assemble_variable): Handle flag_data_sections.
+       * config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME.
+       * config/mips/elf.h: Likewise.
+       * config/mips/elf64.h: Likewise.
+       * invoke.texi: Describe -fdata-sections.
 
-       * print-tree.c (dump): Print type's name, if any.
+Mon Sep 28 04:15:44 1998  Craig Burley  <burley@melange.gnu.org>
 
-       * c-parse.y: Use __inline, not plain inline.
+       * invoke.texi (-ffloat-store): Clarify that this option
+       does not affect intermediate results -- only variables.
 
-       * toplev.c: New option -fdelayed-branch.
-       (compile_file): Open and close dbranch dump file.
-       Collect and print dbranch time.
-       (rest_of_compilation): Optionally do dbranch scheduling, 
-       only if HAVE_DELAYED_BRANCH.
-       (main): Handle -dd.
+Mon Sep 28 04:11:35 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * rtl.c (copy_rtx): Handle null pointers as code `e'.
+       * cpp.texi: Update for Fortran usage from Craig.
 
-       * final.c (dbr_sequence_length): New function.
-       (final_scan_insn): Most of `final' broken out.
-       Add support for SEQUENCE insns.
-       last_ignored_compare and new_block now top-level static.
+Fri Sep 25 22:09:47 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * c-parse.y (MAX_WORD_LENGTH): Long enough for __volatile.
+       * rs6000.c (function_arg_boundary): Revert accidental change on
+       September 18.
 
-Sat Apr 29 13:03:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Sep 25 20:30:00 1998  Michael Meissner  <meissner@cygnus.com>
 
-       * c-parse.y (asm statements): Output line numbers.
+       * rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk.
+       (output_mi_thunk): Declare.
 
-       * loop.c (emit_iv_init_code, emit_iv_inc, eliminate_biv): Copy
-       additive term rtx's to prevent sharing between insns.
+       * rs6000.c (output_mi_thunk): Function to create thunks for MI.
+       (output_function_profiler): Use r12 for temp, instead of r11 so
+       that we preserve the static chain register.
 
-       * c-parse.y (check_newline): Increment input_file_stack_tick.
-       * toplev.c (report_error_function): Describe input stack only if
-       changed.
+Fri Sep 25 14:18:33 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * c-decl.c (finish_struct): Reject zero width for named field.
+       * sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums.
 
-       * tm-sun3.h (CC1_SPEC): Prevent error on `-sun3'.
-       * tm-sparc.h (CC1_SPEC): Prevent error on `-sun4'.
+Fri Sep 25 19:30:19 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * Makefile (cleanconfig): cleanlinks renamed; also delete gnulib.
-       (gnulib): Delete stamp-gnulib2 since gnulib2 should be redone after.
+       * sh.c (gen_shl_sext): Fix case 5.
 
-Fri Apr 28 00:38:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Sep 25 17:35:23 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * config.gcc (genix): Correct xm file name.
+       * reload1.c (reload_combine): Re-add line that got accidentally lost.
 
-       * tm-genix.h: Undefine ASM_SPEC inherited from tm-encore.h.
+Fri Sep 25 10:43:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * Makefile: Make float.h using hard-params.
-       (clean): Delete float.h.
+       * cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid
+       accessing variables until they are initialized via va_arg().
 
-       * hard-params.c: New program.
+Thu Sep 24 22:12:16 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * varasm.c (assemble_variable): Use SELECT_VARIABLE_SECTION if defined.
-       (in_section): Use EXTRA_SECTIONS if defined.
+       * reload1.c (reload_combine): Initialize set before using.
 
-       * toplev.c (compile_file): Call ASM_FILE_END if defined.
+Thu Sep 24 18:53:20 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Let config override.
+       * sdbout.c (sdbout_field_types): Don't emit the types of fields we
+       won't be emitting.
 
-       * loop.c (emit_iv_init_code): Force A to a reg if it isn't.
+Thu Sep 24 17:05:30 1998  Nick Clifton  <nickc@cygnus.com>
 
-Thu Apr 27 12:51:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/arm/arm.md (insv): Add comment.  In CONST_INT case, and
+       operand3 with mask before using it.  Patch provided by Jim Wilson.
 
-       * tm-mips.h (ASM_START_FILES): Don't call print_options.
-       Don't call the funny abort-functions.
-       * out-mips.c: Delete funny debugging functions and aborts.
-       (print_options): #if 0.
-       (compare_restore): Test for COMPARE, not MINUS.
-       (mips_section_get, mips_output_external, mips_asm_final): New fns.
+Thu Sep 24 15:08:08 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
 
-       * input.h: New file with *input_filename, lineno and input_file_stack.
-       Included in toplev.c and c-parse.y.
-       * c-decl.c (finish_function): LINENO is now arg.
-       * c-parse.y: Calls changed.
+       * config/sparc/sparc.c (function_value): Perform the equivalent of
+       PROMOTE_MODE for ARCH64.
+       (eligible_for_epilogue_delay): Allow DImode operations in delay
+       slot of a return for ARCH64.
 
-       * c-parse.y (check_newline): Handle `1' or `2' from cpp
-       by pushing or popping input_file_stack.
-       * toplev.c (compile_file): Push main input file on input_file_stack.
-       (report_error_function): If in include file, print the chain
-       of include-locations.
+Thu Sep 24 22:17:54 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * cccp.c (output_line_command): New arg says whether entering or
-       leaving a file.  Output `1' or `2' on #-line if so.  Callers changed.
+       * sh.md (sqrtsf2): Fix mode of sqrt.
 
-       * gnulib2.c: Little-endian fixes from csmith@convex.com.
+Thu Sep 24 21:48:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * fixincludes: Wrong quoting in `echo' command.
+       * reload1.c (choose_reload_regs): Also try inheritance when
+       reload_in is a stack slot of a pseudo, even if we already got a
+       reload reg.
 
-       * tm-mips.h (REG_P): Duplicate defn deleted.
-       (PRINT_OPERAND): `\' was missing.
+Thu Sep 24 21:22:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Wed Apr 26 02:44:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
+       (reload_cse_regs): New function body: call reload_cse_regs_1,
+       reload_combine, reload_cse_move2add.
+       When doing expensive_optimizations, call reload_cse_regs_1 a
+       second time after reload_cse_move2add.
+       (reload_combine, reload_combine_note_store): New functions.
+       (reload_combine_note_use): New function.
+       (reload_cse_move2add, move2add_note_store): New functions.
 
-       * cccp.c (handle_directive): Preprocess even #pragma, but copy 
-       to output file afterward.
-       (do_pragma): Use standard calling convention.
-       (install_builtins, special_symbol): Define __INCLUDE_LEVEL__.
+Thu Sep 24 18:48:43 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * cccp.c (do_include): Don't forget to close file.
+       * reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
+       reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
 
-       * final.c (output_asm_insn): Use PRINT_OPERAND_PUNCT_VALID_P
-       to validate punctuation after percent.
-       * tm-m68k.h, tm-alliant.h, tm-ns32k.h, tm-vax.h, tm-i386.h:
-       Define PRINT_OPERAND_PUNCT_VALID_P.
+       Properly keep track of first RELOAD_FOR_X_ADDRESS also for
+       more than 3 such reloads.
 
-       * Version 1.35 released.
+       If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
+       RELOAD_FOR_X_ADDR_ADDR reload.
 
-       * c-decl.c (grokdeclarator): Use INT_CST_LT only on int constants.
+Thu Sep 24 17:45:55 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Tue Apr 25 15:47:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * expr.c (store_constructor): When initializing a field that is smaller
+       than a word, at the start of a word, try to widen it to a full word.
 
-       * reload.c (find_reloads_address_1): Always return a value.
+       * cse.c (cse_insn): When we are about to change a register,
+       remove any invalid references to it.
 
-       * flow.c (mark_set_1): Look inside zero_extract, sign_extract.
+       (remove_invalid_subreg_refs): New function.
+       (mention_regs): Special treatment for SUBREGs.
+       (insert_regs): Don't strip SUBREG for call to mention_regs.
+       Check if reg_tick needs to be bumped up before that call.
+       (lookup_as_function): Try to match known word_mode constants when
+       looking for a norrower constant.
+       (canon_hash): Special treatment for SUBREGs.
 
-       * expr.c (emit_library_call) [STACK_ARGS_ADJUST]:
-       Fix typo for `struct args_size'.
+Thu Sep 24 01:35:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-Mon Apr 24 00:12:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
+       * config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
+       defined, emit libcall to __enable_execute_stack.  Also fix opcodes
+       and offsets in actual stack trampoline code so they match the
+       commentary and actually work.
 
-       * flow.c (mark_set_1): Look inside strict_low_part.
+Thu Sep 24 01:19:02 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
 
-       * c-typeck.c (decl_constant_value): Don't use var's init if volatile.
+       * configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
+       tmake_file.
+       (sparc64-*-linux): Use t-linux and sparc/t-linux64 for
+       tmake_file.  Set extra_parts to needed crt objects.
+       * configure: Rebuilt.
+       * config/sparc/linux64.h (SPARC_BI_ARCH): Define.
+       (TARGET_DEFAULT): Set if default is v9 or ultra.
+       (STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
+       (STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
+       (ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
+       (SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
+       LINK_SPEC, LINK_ARCH_SPEC): Likewise.
+       (TARGET_VERSION): Define.
+       (MULTILIB_DEFAULT): Define.
+       * config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
+       mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
+       (CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
+       appropriately.
+       (TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
+       * config/sparc/sparc.c (sparc_override_options): If arch and
+       pointer size disagree, emit diagnostic and fix it up.  If
+       SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32.  Turn off
+       V8PLUS in 64-bit mode.
+       * config/sparc/t-linux64: New file.
+       * config/sparc/t-sol2-64: New file.
+       * config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
+       * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
+       (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
+       CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
+       (ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
+       (STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
+       Define.
+       (STARTFILE_SPEC): Set appropriately based upon those.
+       (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
+       disposition of DEFAULT_ARCH32_P.
+       (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
+       (LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
+       (CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
+       (MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
+       * config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
+       arch64/v9.
+       * config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
+
+Wed Sep 23 22:32:31 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * rtl.h (init_virtual_regs): New function.
+       * emit-rtl.c (init_virtual_regs): Define.
+       (insn_emit): Use it.
+       * integrate.c (save_for_inline_copying): Likewise.
+
+Wed Sep 23 16:22:01 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/thumb.h: The following patches were made by Jim Wilson:
+       (enum reg_class): Add NONARG_LO_REGS support.
+       (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
+       PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
+       (GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
+       completes.  Re-enable HImode REG+OFFSET addresses.
+       (LEGITIMIZE_RELOAD_ADDRESS): Define.
+
+       * expmed.c (extract_bit_field): Add comment from Jim Wilson.
+
+Wed Sep 23 13:26:02 1998  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (get_aligned_mem): Revert Sep 20 change.
+       (alpha_set_memflags, alpha_set_memflags_1): Likewise.
+       (alpha_align_insns): Properly calculate initial offset wrt max_align.
+
+Wed Sep 23 10:45:44 1998  Richard Earnshaw  (rearnsha@arm.com)
+
+       * arm.c (find_barrier): Revert change of Apr 23.  Handle table
+       jumps as a single entity, taking into account the size of the
+       table.
+
+Tue Sep 22 15:13:34 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+
+       * tree.def (SWITCH_EXPR): New tree node definition.
+
+Mon Sep 21 23:40:38 1998  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Mon Sep 21 22:31:14 1998  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Mon Sep 21 22:48:09 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in: Recognize i[34567]86-*-openbsd* and handle it like
+       NetBSD.
+
+Mon Sep 21 22:05:28 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * Revert this patch.
+       * reload.c (find_reloads): Do not replace a pseudo with
+       (MEM (reg_equiv_addr)) in the initializing insn for the
+       pseudo.
 
-       * print-tree.c (dump): Don't call walk on rtx's.
+Mon Sep 21 20:19:41 1998  John Carr  <jfc@mit.edu>
 
-       * integrate.c (expand_inline_function): Convert expanded arg from
-       passed mode to nominal mode.
+       * final.c (final_scan_insn): Disable tracking CC across branches.
 
-Sun Apr 23 13:14:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Sep 21 17:15:26 1998  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * fixincludes: fix _IO macros if split across two lines.
-       Fix typo: EOF was indented.
+       * expr.h (eh_rtime_match_libfunc): New extern declaration.
+       * optabs.c (init_optabs): Set eh_rtime_match_libfunc.
+       * except.c (start_catch_handler): Use eh_rtime_match_libfunc.
+       * libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
+       NULL. Only include <stdio.h> if inhibit_libc is not defined.
 
-       * gnulib2.c: New file with DImode library routines.
-       * Makefile (gnulib2): Put them into gnulib.
-       Must be explicitly requested.
+Mon Sep 21 14:10:51 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-Fri Apr 21 13:45:45 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * toplev.c (rest_of_compilation): Skip compiling anything with
+       DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
 
-       * cccp.c (main): Don't turn on trigraphs for -Wtrigraphs or -Wall;
-       use -trigraphs for that.
+Mon Sep 21 13:51:05 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * cccp.c (main): Use -trigraphs to enable trigraphs.
-       * gcc.c: Pass -trigraphs to cpp; don't pass -T.
+       * flow.c (find_basic_blocks): Delete check for in_libcall_block when
+       prev_code is a CALL_INSN.  Change check for REG_RETVAL note to
+       use in_libcall_block.
+       (find_basic_blocks_1): Delete check for in_libcall_block when prev_code
+       is a CALL_INSN.  If CALL_INSN and in_libcall_block, then change code
+       to INSN.
 
-       * Makefile: Variable srcdir relates location of sources
-       to current directory.  Default is `.'.
+Mon Sep 21 14:02:23 1998  Robert Lipe  <robertl@dgii.com>
 
-       * integrate.c (expand_inline_function): When copying expanded arg,
-       use mode it's passed in, not arg's nominal mode.
+       * i386.h (TARGET_SWITCHES): Improve doc for align-double.  Fix
+       typo in no-fancy-math-387 description.
 
-       * dbxout.c (dbxout_block): Print generated name with assemble_name.
+Mon Sep 21 09:27:18 1998  Jeff Law  (law@cygnus.com)
 
-Thu Apr 20 12:36:09 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * version.c: Bump for snapshot.
 
-       * stdarg.h: check __sparc__ instead of sparc.
+Mon Sep 21 09:24:49 1998  Stan Cox  <scox@cygnus.com>
 
-Tue Apr 18 18:58:03 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * i386-coff.h (DBX_DEBUGGING_INFO): Added.
 
-       * tm-next.h (STARTFILE_SPEC): Define it.
+Mon Sep 21 09:14:49 1998  Robert Lipe  <robertl@dgii.com>
 
-Mon Apr 17 19:56:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * i386.h (TARGET_SWITCHES): Add description fields for flags
+       documented in install.texi.
+       (TARGET_OPTIONS): Likewise.
 
-       * dbxout.c (dbxout_block): Use ASM_GENERATE_INTERNAL_LABEL to format
-       the labels LBB... and LBE...
+Mon Sep 21 01:39:03 1998  Jeff Law  (law@cygnus.com)
 
-Sun Apr 16 23:57:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * version.c: Bump for snapshot.
 
-       * mips.md: Change MINUS to COMPARE where appropriate.
+Mon Sep 21 01:53:05 1998  Felix Lee  <flee@cygnus.com>
 
-Sat Apr 15 16:11:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
+       * cccp.c (main): Likewise.
 
-       * c-decl.c (finish_struct, redeclaration_error_message):
-       Rename variables named OLD and NEW.
+       * cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
+       Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
+       macro-use bugs.
 
-       * sparc.md (cse'd mult pattern): Handle memory operands.
-       Optimize small integer operands.
+Mon Sep 21 00:52:12 1998  Per Bothner  <bothner@cygnus.com>
 
-       * stmt.c (expand_decl): On sparc, ensure dynamic arrays of doubles
-       are properly aligned, despite unaligned STACK_POINTER_OFFSET.
+       * Makefile.in (LIBS): Link in libiberty.a.
+       * c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
 
-Fri Apr 14 10:59:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Sep 20 23:28:11 1998  Richard Henderson  <rth@cygnus.com>
 
-       * expr.c (expand_call): Bugs treating struct value address as param:
-       do so only if it's supposed to be pushed;
-       decode value of FUNCTION_ARG properly.
+       * reload1.c (emit_reload_insns): Accept a new arg for the bb.  Use
+       it to update bb boundaries.  Update caller.
+       * function.c (reposition_prologue_and_epilogue_notes): Update
+       bb boundaries wrt the moved note.
 
-       * tm-altos3068.h (CPP_SPEC): Some braces were dropped.
+Sun Sep 20 20:57:02 1998  Robert Lipe  <robertl@dgii.com>
 
-       * gcc.c (pexecute): Print message when exec fails.
-       (perror_exec): New fn.
-       (perror_with_name,pfatal_with_name): Change message syntax.
+       * configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
+       problems.
+       * configure: Regenerate.
 
-       * tm-hp9k320.h (ASM_IDENTIFY_GCC): Define as no-op.
+Sun Sep 20 19:01:51 1998  Richard Henderson  <rth@cygnus.com>
 
-Wed Apr 12 00:20:31 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * alpha.c (alpha_sr_alias_set): New variable.
+       (override_options): Set it.
+       (alpha_expand_prologue, alpha_expand_epilogue): Use it.
+       (mode_mask_operand): Fix signed-unsigned comparison warning.
+       (alpha_expand_block_move): Likewise.
+       (print_operand): Likewise.
+       (get_aligned_mem): Use change_address.
+       (alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
+       (alphaev4_insn_pipe, alphaev4_next_group): New functions.
+       (alphaev4_next_nop, alphaev5_next_nop): New functions.
+       (alpha_align_insns): Remade from old alphaev5_align_insns
+       to handle multiple processors.
+       (alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
+       * output.h (label_to_alignment): Prototype.
 
-       * cse.c (cse_insn): Can record constant value being stored in
-       a bit field, if we can tell that truncation won't change it.
+       * tree.c (new_alias_set): New function.
+       * tree.h (new_alias_set): Declare it.
+       * c-common.c (c_get_alias_set): Use it.
 
-       * m68k.md (bfset, bfclr, bfchg insns): Do CC_STATUS_INIT
-       since the cc's are set from the old contents.
+Sun Sep 20 12:35:55 1998  Richard Henderson  <rth@cygnus.com>
 
-       * gcc.c (compilers): Running `as', put -o option before input file.
+       * fold-const.c (fold): Yet another COND_EXPR bug: when folding
+       to an ABS expr, convert an unsigned input to signed.
 
-       * gcc.c: Delete output file only if that file's compilation fails.
-       * gcc.c (record_temp_file): Changed args: always_delete, fail_delete.
-       (store_arg): Likewise.  Callers changed.
-       (clear_failure_queue): Called after each compilation.
+Sun Sep 20 12:14:45 1998  Jeffrey A Law  (law@cygnus.com)
 
-Tue Apr 11 01:18:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * fold-const.c (fold): Fix another type in COND_EXPR handling code.
 
-       * combine.c (subst): (SET (ZERO_EXTRACT) (OR (ZERO_EXTRACT) const))
-       optimization was sometimes invalid.
+1998-09-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * tm-m68k.h (NOTICE_UPDATE_CC): A doubleword move that requires 2 insns
-       does not set the cc's usefully.
+       * configure.in: Add support for c4x targets.
+       * configure: Rebuilt.
 
-       * Makefile (cleanlinks): Just do `clean', not `realclean'.
-       (realclean): Delete config links also.
+Sun Sep 20 00:00:51 1998  Richard Henderson  <rth@cygnus.com>
 
-       * expr.c (expand_call): Handle case where return value is in memory
-       but TARGET is a register.
+       * combine.c (distribute_notes): If an insn is a cc0 user, only
+       delete it if we can also delete the cc0 setter.
 
-       * c-typeck.c (build_binary_op_nodefault): New arg ERROR_CODE
-       is passed to binary_op_error instead of CODE.
-       All callers changed.
-       (binary_op_error): CODE = NOP_EXPR is new special case.
-       (truthvalue_conversion): Call build_binary_op_nodefault directly
-       and specify NOP_EXPR for the error code.
+Sun Sep 20 00:22:23 1998  Michael Tiemann  <michael@impact.tiemann.org>
 
-       * c-decl.c (xref_tag): If pedantic, warn on fwd ref to enum.
+       * fold-const.c (fold): Fix typo in COND_EXPR handling code.
+       (invert_truthvalue): Enable truthvalue inversion for
+       floating-point operands if -ffast-math.
 
-Mon Apr 10 19:44:48 1989  Chris Smith  (csmith at mozart)
+Sat Sep 19 23:58:07 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
 
-       * tm-convex.h (PCC_BITFIELD_TYPE_MATTERS): It doesn't,
-       but set it anyway.  It makes for better code on this
-       word machine.
+       * configure.in: Disable collect2 for nextstep.  Instead use
+       crtbegin/crtend.
+       * configure: Rebuilt.
+       * config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
+       (ENDFILE_SPEC): Define.
+       (OBJECT_FORMAT_MACHO): Define.
+       (EH_FRAME_SECTION_ASM_OP): Define.
+       * crtstuff.c: Handle MACHO.
 
-       * convex.md (one_compl*): add not:QI and not:HI, which
-       do get used after all.
+Sun Sep 20 00:24:24 1998  Robert Lipe  <robertl@dgii.com>
 
-       * tm-convex.h (A_REG_P, S_REG_P): define new macros
-       convex.md: use them
+       * config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
 
-       * convex.md (addsi3): tidy up constraints.
+1998-09-19  Torbjorn Granlund  <tege@matematik.su.se>
 
-       * tm-convex.h (REG_OK_FOR_INDEX_P): stack pointer is not ok.
+       * fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
+       (_fpadd_parts): Get sign right for 0.
 
-       * convex.md: add a pattern to push REG+CONST so we can
-       prefer an A reg.
+1998-09-19  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
 
-       * tm-convex.h (tstqi): should sign extend, not zero extend.
+       * ginclude/varargs.h: Add support for C4x target.
+       * ginclude/stdargs.h: Likewise.
 
-       * expr.c (convert_move): Extending narrow to DI via SI,
-       operand of extendsidi2 was wrong.
+Sat Sep 19 12:05:09 1998  Richard Henderson  <rth@cygnus.com>
 
-       * emit-rtl.c (gen_lowpart): Handle CONST_DOUBLE.
+       * alpha.c (alpha_return_addr): SET should be VOIDmode.
+       (alpha_emit_set_long_const): Rewrite to be callable from reload
+       and 32-bit hosts.
+       (alpha_expand_epilogue): Update for alpha_emit_set_long_const.
+       * alpha.md (movdi): Likewise.
 
-Mon Apr 10 05:19:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Sep 19 07:33:36 1998  Richard Earnshaw  (rearnsha@arm.com)
 
-       * recog.c (nonmemory_operand): Test constant operands
-       as general_operand does.
+       * arm.c (add_constant): New parameter address_only, change caller.
+       Set it non-zero if taking the address of an item in the pool.
+       (arm_reorg): Handle cases where we need the address of an item in
+       the pool.
 
-       * tm-m68k.h (PRINT_OPERAND): Limit effect of code `d'
-       to constant addresses.
+       * arm.c (bad_signed_byte_operand): Check both arms of a sum in
+       a memory address.
+       * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
+       memory addresses that are not in standard canonical form.
 
-       * loop.c (can_eliminate_biv_p, eliminate_biv): Don't rely on givs with
-       nonconstant coefficients, since the coeffs could be zero.
+Sat Sep 19 01:00:32 1998  Michael Hayes  (mph@elec.canterbury.ac.nz)
 
-       * loop.c (can_eliminate_biv_p): Check each giv for ! ignore
-       before assuming it can be used.
-       (check_eliminate_biv): New fn, a piece of strength_reduce broken out.
+       * README.C4X: New file with information about the c4x ports.
+       * ginclude/va-c4x.h: New file for c4x varargs support.
+       * config/c4x: New directory with c4x port files.
 
-       * cccp.c (error_from_errno): New fn, like error and perror_with_name.
-       (do_include): Call that if open fails.
-       (finclude): Print I/O error msg before closing desc.
+Fri Sep 18 22:52:05 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * c-decl.c (shadow_tag): If more than one tag or structure,
-       or anything other than a tag, warning.
+       * reload.c (find_reloads): Do not replace a pseudo with
+       (MEM (reg_equiv_addr)) in the initializing insn for the
+       pseudo.
 
-       * c-parse.y (components): Just warn if memb decl has no member,
-       and only if pedantic.
+Fri Sep 18 23:50:56 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * loop.c (strength_reduce): Print uids, not luids, for dump.
-       (record_giv): giv_count field counts only DEST_REG givs.
-       (check_dbra_loop): src_two_before_end was set wrong.
+       * toplev.c (rest_of_compilation): Set bct_p on second call to
+       loop_optimize.
+       * loop.c (loop_optimize, scan_loop, strength_reduce): New argument
+       bct_p.
+       (strength_reduce): Only call analyze_loop_iterations and
+       insert_bct if bct_p set.
+       (check_dbra_loop): Fix typo.
+       (insert_bct): Use word_mode instead of SImode.
+       (instrument_loop_bct): Likewise.  Do not delete iteration count
+       condition code generation insn.  Initialize iteration count before
+       loop start.
+       * rtl.h (loop_optimize): Update prototype.
 
-       * loop.c (record_giv): New arg LOOP_END; all callers changed.
-       Don't mark giv replaceable if used past LOOP_END.
-       (find_mem_givs): New arg LOOP_END; all callers changed.
+       * ginclude/va-ppc.h (va_arg): longlong types in overflow area are
+       not doubleword aligned.
 
-       * out-i386.c (FP_CALL): Make this a `return' stmt.
+       * rs6000.c (optimization_options): New function.
+       (secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
+       * rs6000.h (OPTIMIZATION_OPTIONS): Define.
+       (REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
+       first; cr1 can be used for FP record condition insns.
 
-Fri Apr  7 11:56:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Sep 18 09:44:55 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * expr.c (expand_expr, case ..._DECL): Preserve mode thru
-       calling change_address.
+       * config/m32r/m32r.h (m32r_block_immediate_operand): Add to
+       PREDICATE_CODES.
 
-       * expr.c (emit_library_call): Typo: ARGNUM => COUNT.
+       * config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
+       patterns.
 
-       * expr.c (preexpand_calls, expand_call): Take note of RETURN_IN_MEMORY.
-       * stmt.c (assign_parms): Likewise.
-       * integrate.c (function_cannot_inline_p): Likewise.
+       * config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
+       operators.
+       (block_move_call): New function: Call a library routine to copy a
+       block of memory.
+       (m32r_expand_block_move): New function: Expand a "movstrsi"
+       pattern into a sequence of insns.
+       (m32r_output_block_move): New function: Expand a
+       "movstrsi_internal" pattern into a sequence of assembler opcodes.
+       (m32r_block_immediate_operand): New function: Return true if the
+       RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
+
+Thu Sep 17 16:42:16 1998  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
+       re-align some code.
+       * libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
 
-       * STACK_ARGS_ADJUST: Arg is now a `struct arg_data' and it should
-       be updated in place.
-       * tm-mips.h: Define it.
-       * expr.c (expand_call): Adapt to this.  Assume padding comes after args
-       so turn off the feature of changing the args' offsets.
-       (emit_library_call): Adapt to this.
+Thu Sep 17 12:24:33 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * tm-mips.h (PRINT_OPERAND): Use CONST_DOUBLE_{LOW,HIGH}.
-       Truncate SFmode constants to single precision.
+       * regmove.c (copy_src_to_dest): Check that modes match.
 
-       * c-typeck.c (mark_addressable): Fix test for local vs global reg var.
+Wed Sep 16 22:10:42 1998  Robert Lipe  <robertl@dgii.com>
 
-       * config.gcc: Change `:-' to `-' in var refs.
-       Shell on convex doesn't handle `:-'.
+       * config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
 
-Thu Apr  6 00:09:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Sep 16 15:24:54 1998  Richard Henderson  <rth@cygnus.com>
 
-       * integrate.c (expand_inline_function): Compare actual's mode
-       against formal's DECL_ARG_TYPE's mode, not TREE_TYPE's mode.
+       * i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
+       narrower than FLOAT_REGS.
 
-       * c-decl.c (implicitly_declare): Make the decl permanent if
-       in global binding level.  (Can happen for certain invalid input.)
+Wed Sep 16 17:51:00 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
-       * c-typeck.c (build_modify_expr): Block path that made a MODIFY_EXPR
-       containing an ERROR_MARK.
+       * cpplib.c: Removed OLD_GPLUSPLUS_INCLUDE_DIR.
+       * cccp.c: Likewise.
+       * Makefile.in (old_gxx_include_dir): Removed.
 
-       * config/tm.h: New file.
+Wed Sep 16 12:29:22 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * loop.c (only_reg_use_p): Fix bugs in recursion, add some fast
-       special cases.  Comment on return value was backwards.
-       (strength_reduce): Negate the value of only_reg_use_p.
+       * config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
+       new specification.
 
-       * genoutput.c (output_prologue): Output `#include hard-reg-set.h'.
-       * Makefile: insn-output.o depends on that.
+       * config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
+       (sh_handle_pragma): Change function arguments to match new
+       specification for HANDLE_PRAGMA.
 
-       * toplev.c (main): Typo recognizing -Wswitch.
+Wed Sep 16 12:43:19 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
+       `unsigned char'.
+       (main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
+       When generating output, initialize missing struct member to zero.
+
+Wed Sep 16 14:47:43 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * regmove.c (copy_src_to_dest): Don't copy if that requires
+       (a) new register(s).
+
+Wed Sep 16 01:29:12 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+
+       * global.c (reg_allocno): Now static.
+       * reload1.c (reg_allocno): Delete declaration.
+       (order_regs_for_reload): Take no arguments.  Don't treat regs
+       allocated by global differently than those allocated by local-alloc.
+
+Wed Sep 16 01:09:01 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
 
-       * config.gcc (mips): New alternative.
-       * tm-mips.h, out-mips.c, mips.md, va-mips.h: New files.
-       * varargs.h: Include va-mips.h if on mips.
+       * m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
+       condition, fix format strings.
+       (output_function_epilogue): Likewise.
+
+       * m68k/m68k.c: Don't include <stdlib.h> directly.
+
+Wed Sep 16 00:30:56 1998  Geoff Keating  <geoffk@ozemail.com.au>
+
+       * gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
+       mem_first_set, mem_last_set; because 0 can be a CUID.
+       (oprs_unchanged_p): Use new definition.
+       (record_last_reg_set_info): Likewise.
+       (record_last_mem_set_info): Likewise.
+       (compute_hash_table): Likewise.
+
+Tue Sep 15 22:59:52 1998  Jeffrey A Law  (law@cygnus.com)
 
-Wed Apr  5 16:58:04 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * rs6000.c (output_epilogue): Handle Chill.
 
-       * c-decl.c (duplicate_decls): Rename OLD, NEW to OLDDECL, NEWDECL.
+       * mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
+       * mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
 
-       * stmt.c (expand_function_start): Ref subr instead of
-       current_function_decl; should make no difference.
+       * combine.c (make_extraction): If no mode is specified for
+       an operand of insv, extv, or extzv, default it to word_mode.
+       (simplify_comparison): Similarly.
+       * expmed.c (store_bit_field): Similarly.
+       (extract_bit_field): Similarly.
+       * function.c (fixup_var_regs_1): Similarly.
+       * recog.c (validate_replace_rtx_1): Similarly.
+       * mips.md (extv, extzv, insv expanders): Default modes for most
+       operands.  Handle TARGET_64BIT.
+       (movdi_uld, movdi_usd): New patterns.
 
-       * stmt.c (assign_parms): Do extra padding for some parms,
-       controlled by MAX_PARM_BOUNDARY.
-       * expr.c (expand_call): Same thing for caller side.
-       Note this is implemented only for machines that lack push insns.
-       Also, in both cases, it doesn't handle variable-size args.
+       * pa.c (emit_move_sequence): Do not replace a pseudo with its
+       equivalent memory location unless we have been provided a scratch
+       register.  Similarly do not call find_replacement unless a
+       scratch register has been provided.
 
-Tue Apr  4 12:22:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Sep 15 19:23:01 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * gcc.c (find_file): Try STANDARD_EXEC_PREFIX for startfiles too.
+       * i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
+       return FLOAT_REGS.
 
-       * varasm.c (make_decl_rtl): Delete never-executed clause.
+Tue Sep 15 19:09:06 1998  Richard Henderson  <rth@cygnus.com>
 
-       * spur.md (movqi, loadhi, extend*, zero_extendhisi):
-       Make subregs with C code, not RTL patterns, so we can
-       avoid generating subreg of subreg.
+       * tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused.  Kill.
+       (BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
+       (BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
+       (BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
+       * c-decl.c (init_decl_processing): Update accordingly.
+       * expr.c (expand_builtin): Likewise.
 
-       * optabs.c (emit_cmp_insn): Not all clauses always succeed,
-       so stop using `else' structure.
+       * rtl.h (global_rtl): Add cfa entry.
+       (virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
+       (LAST_VIRTUAL_REGISTER): Update.
+       * emit-rtl.c (global_rtl): Add cfa entry.
+       (init_emit): Initialize it.
+       * function.c (cfa_offset): New.
+       (instantiate_virtual_regs): Initialize it.
+       (instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
+       (expand_function_end): Call expand_eh_return.
+       * tm.texi (ARG_POINTER_CFA_OFFSET): New.
 
-       * stmt.c (expand_return): Avoid moving void to void, in cleanups case.
+       * except.c (current_function_eh_stub_label): Kill.
+       (current_function_eh_old_stub_label): Likwise; update all references.
+       (expand_builtin_set_return_addr_reg): Kill.
+       (expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
+       (expand_builtin_set_eh_regs): Kill.
+       (eh_regs): Produce a third reg for the actual handler address.
+       (eh_return_context, eh_return_stack_adjust): New.
+       (eh_return_handler, eh_return_stub_label): New.
+       (init_eh_for_function): Initialize them.
+       (expand_builtin_eh_return, expand_eh_return): New.
+       * except.h: Update prototypes.
+       * flow.c (find_basic_blocks_1): Update references to the stub label.
+       * function.h (struct function): Kill stub label elements.
 
-Mon Apr  3 18:04:33 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
+       register number is one that would be in the previous window.
+       Provide a dummy definition for non-windowed targets.
+       (get_reg_addr): New function.
+       (get_reg, put_reg, copy_reg): Use it.
+       (__throw): Rely on in_reg_window, not INCOMING_REGNO.  Kill stub
+       generating code and use __builtin_eh_return.  Use __builtin_dwarf_cfa.
 
-       * m68k.md (cmphi): Don't allow a-reg vs a-reg, since that sign-extends.
-       If there is one a-reg, make sure it is not last.
+       * alpha.c (alpha_eh_epilogue_sp_ofs): New.
+       (alpha_init_expanders): Initialize it.
+       (alpha_expand_epilogue): Use it.
+       * alpha.h: Declare it.
+       * alpha.md (eh_epilogue): New.
 
-Sun Apr  2 13:02:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * m68h.h (ARG_POINTER_CFA_OFFSET): New.
+       * sparc.h (ARG_POINTER_CFA_OFFSET): New.
 
-       * stor-layout.c (agg_mode): Use highest mode that has desired size.
-       Allow all integer modes, but reject sizes > MAX_FIXED_MODE_SIZE.
-       (That defaults to the size of DImode.)
+Tue Sep 15 19:31:58 1998  Michael Meissner  <meissner@cygnus.com>
 
-       * machmode.def: Add PSI, PDI and XF, CXF modes.
+       * i960.h (CONST_COSTS): Fix thinko.  Test flag, not the constant
+       flag bit mask.
 
-Sat Apr  1 00:50:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Sep 15 14:10:54 1998  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * ns32k.md (ashd, lshd): Delete patterns that logand the count with 31.
-       The shift count is not truncated on this machine.
+       * except.h (struct eh_entry): Add false_label field.
+       (end_catch_handler): Add prototype.
+       * except.c (push_eh_entry): Set false_label field to NULL_RTX.
+       (start_catch_handler): When using old style exceptions, issue
+       runtime typematch code before continuing with the handler.
+       (end_catch_handler): New function, generates label after handler
+       if needed by older style exceptions.
+       (expand_start_all_catch): No need to check for new style exceptions.
+       (output_exception_table_entry): Only output the first handler label
+       for old style exceptions.
+       * libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
+       mechanism into one function, if a runtime matcher is provided.
 
-       * combine.c (subst): Simplify nested or's, nested xor's.
-       (try_distrib): XOR doesn't distribute through anything.
+Tue Sep 15 13:53:59 1998  Andrew MacLeod  <amacleod@cygnus.com>
 
-       * rtl.c (rtx_equal_p): Don't die on null pointers.
+       * config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
 
-       * loop.c (eliminate_biv): Use COMPARE, not MINUS, in generated compare.
+Tue Sep 15 09:59:01 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * loop.c (invariant_p): Mem refs in constant pool are invariant.
+       * integrate.c (copy_decl_list): Fix typo.
 
-       * c-decl.c (redeclaration_error_message): If -traditional, allow
-       redeclarations of typedef provided they agree.
+Tue Sep 15 04:18:52 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * c-decl.c (start_decl): Do expand_decl on the decl that pushdecl
-       returns.  If there was a prev. decl with a different type,
-       we have changed its type and cleared its old rtl, so it need new rtl.
+       * config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
+       attribute.
 
-Sat Apr  1 00:50:11 1989  Matthew Self  (rms at sugar-bombs.ai.mit.edu)
+Mon Sep 14 14:02:53 1998  Jeff Law  (law@cygnus.com)
 
-       * expr.c (convert_move): Modified to use mode classes
-       instead of refering to specific machine modes.
+       * version.c: Bump for snapshot.
 
-       * expr.c (do_jump): Converted to use CONST0_RTX macro.
-       do_jmp no longer refers to any machine modes directly except
-       for VOIDmode!
+Mon Sep 14 10:33:56 1998  Jeff Law  (law@cygnus.com)
 
-       * expr.c (compare, compare1): Modified to use CONST0_RTX
-       macro.  No longer refers to any machine modes directly
-       except VOIDmode and BLKmode!
+       * version.c: Bump for snapshot.
 
-       * machmode.def: Documented assumptions made about the order
-       of machine modes during mode widening.
+Mon Sep 14 09:51:05 1998  Jeff Law  (law@cygnus.com)
 
-       * optabs.c (expand_binop, expand_twoval_binop, expand_unop,
-       emit_cmp_insn): Added mode widening which is independent of
-       specific machine modes.  It assumes that we may widen to any
-       higher numbered mode of the same mode class.
-         NOTE: the checks for VOIDmode ops which were present in
-       QI and HI to SI widening are now present in all widening.
-       I assume this is correct.  Also, widening is now possible
-       from QI to HI.  This may or may not be a good thing....
+       * version.c: Bump for snapshot.
 
-       * rtl.h (CONST0_RTX): Added definition of new macro
-       CONST0_RTX (mode).
+Sun Sep 13 22:10:18 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * rtl.h (GET_NOTE_INSN_NAME, GET_REG_NOTE_NAME): New macros.
-       * rtl.c (note_insn_name, reg_note_name): New tables.
-       * rtl.def (NOTE): Change last field from `i' to `n'.
-       * rtl.c (print_rtx): Print mode of INSN_LIST or EXPR_LIST as reg-note.
-       Print operand code `n' as name of kind of note.
-       (read_rtx): treat `n' like `i'.
+       * invoke.texi (C Dialect Options): Put back missing @end itemize.
 
-       * loop.c (struct induction): Add `mode' field.
-       (strength_reduce, record_giv): Set the `mode' field in V.
-       (can_eliminate_biv_p, eliminate_biv): Use that field.
+Mon Sep 14 02:33:46 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
-       * loop.c (struct iv_class): `init_insn' records what inits the biv.
-       Replaces `init_val_set' flag.
-       (strength_reduce): Update and test `init_insn' instead.
-       Use of a biv between its init and the start of the loop
-       does not preclude its elimination from the loop.
-       Setting a giv is ok for eliminating a biv, even if giv is "ignore",
-       since that just means giv will be combined with another.
-       Handle some DEST_ADDR givs for that purpose.
-       Test for giv-setting before check can_eliminate_biv_p.
-       New error check for replaceable giv whose value needed after loop.
-       (only_reg_use_p): New fn.
+       * configure.in: Remove usage of `!' to negate the result of a
+       command; some common shells do not support it.
 
-       * expr.c (expand_expr): PLUS, MINUS with EXPAND_SUM:
-       Associate even harder.
+Sun Sep 13 19:17:35 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * loop.c (strength_reduce): Treat all constant biv init vals like ints.
+       * configure.in: In sparc9-sol2 config, use 'if test' not
+       brackets.
+       * configure: Rebuilt.
 
-       * loop.c (strength_reduce): Clear all_reduced when v->ignore is set;
-       the code to check this later didn't always do the job.
+       * config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
+       CM_MEDANY.
+       (CPP_CPU_SPEC): Do not define _LP64, header files do this.
+       (CPP_CPU_DEFAULT_SPEC): Likewise.
+       * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
+       for arch64 libfuncs.
 
-       * loop.c (verify_loop): Set loop_continue.
-       (scan_loop): mention its value.
-       * rtl.h: Define NOTE_INSN_LOOP_CONT.
-       * stmt.c (expand_loop_continue_here): Output one.
+       * config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
+       for operand zero.
 
-Fri Mar 31 10:08:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Sep 13 09:11:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * c-typeck.c (pointer_int_sum, pointer_diff): Treat const void * like
-       void *.
+       * acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
 
-       * rtl.c (rtx_addr_varies_p): Don't die on null exp.
-       * cse.c (refers_to_mem_p, refers_to_p): Likewise.
+       * collect2.c: Don't declare `sys_siglist' here.
+       (my_strsignal): Prototype and define new function.  Use it in
+       place of `sys_siglist' hacks.
 
-       * gcc.c (validate_switches, validate_all_switches): New fns.
-       Mark a switch as valid if any compiler spec or the linker spec
-       matches it, even for languages not being used.
+       * mips_tfile.c: Likewise.
 
-Thu Mar 30 00:22:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * configure.in (AC_CHECK_FUNCS): Check for strsignal.
+       (GCC_NEED_DECLARATIONS): Likewise.
 
-       * loop.c (loop_optimize, move_movables): when moving a `clr' insn used
-       in zero-extension, sometimes change it to an `and' so that the
-       significant low bits are not clobbered.
+       * system.h (strsignal): Prototype it, if necessary.
+       (sys_siglist): Declare it, if necessary.
 
-       * cccp.c: Implement __BASE_FILE__ and #once.
-       (savestring): New fn.
-       (struct file_name_list): new name for struct directory_stack.
-       (enum node_type): Add T_ONCE, T_BASE_FILE.
-       (directive_table): Add #pragma once.
-       (initialize_builtins): Add __BASE_FILE__.
-       (special_symbol): Handle __BASE_FILE__, together with __FILE__.
-       (do_include): Ignore the file if it's on the #pragma once list.
-       (do_once): New fn; add current file to #pragma once list.
+Sun Sep 13 04:37:28 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * cccp.c (do_include): Don't add non-ex files to list of deps.
+       * loop.c (move_movables): While removing insn sequences, preserve
+       the next pointer of the most recently deleted insn when we skip
+       over a NOTE.
 
-       * config.gcc: Use {...:-...}, not {...=...}.
+Sun Sep 13 08:13:39 1998  Ben Elliston  <bje@cygnus.com>
 
-       * c-parse.y: Add precedence for IF/ELSE, and for parens;
-       avoids some conflicts.
+       * objc/config-lang.in: Do not output the name of the selected
+       thread file when building the front-end.  The Makefile for the
+       runtime library will do this.
 
-       * tm-newsgas.h: Include tm-news.h and define USE_GAS.
+       * objc/Make-lang.in: Do not build the runtime library or install
+       the Objective C header files.  The Makefile for the runtime
+       library will do this.
 
-       * tm-news.h: New name for tm-news800.h.
-       If not USE_GAS, define SONY_ASM.
-       Don't define USE_GAS by default.
-       (CPP_PREDEFINES): Various alternatives depending on processor type.
-       (ASM_FORMAT_PRIVATE_NAME): Override this.
-       (ASM_IDENTIFY_GCC): Override; output nothing.
-       (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Round fsize up to % 4.
-       Max for halfword link insn is 32k, not 64k.
-       (FUNCTION_EPILOGUE): Don't output move.l if no regs to restore.
-       (PRINT_OPERAND_ADDRESS): Change handling of tableref pc-rel addresses.
-       * m68k.md (movhi): Add SONY_ASM conditional.
+       * objc/Makefile.in (all.indirect): Only build the front-end.
+       (compiler): Rename to `frontend'.
+       (obj-runtime): Remove target.
+       (copy-headers): Likewise.
+       (clean): No need to remove `libobjc.a' any longer.
 
-       * cse.c (cse_insn): If replacing a dest address, preserve MEM_IN_STRUCT
+Sat Sep 12 11:37:19 1998  Michael Meissner  <meissner@cygnus.com>
 
-       * gcc.c (error, fatal): alternate varargs defns if HAVE_VPRINTF.
+       * rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
+       supported with -mcpu=xxx.
 
-Wed Mar 29 09:54:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Sep 11 23:55:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * gcc.c (process_command): Check WORD_SWITCH_TAKES_ARG, so that
-       -Tdata can be handled right.
+       * flow.c (mark_set_1): Recognize multi-register structure return
+       values in CALL insns.
+       (mark_used_regs): Likewise.
+       (count_reg_sets_1): Likewise.
+       (count_reg_references): Likewise.
+       * rtlanal.c (note_stores): Likewise.
+       (reg_overlap_mentioned_p): Likewise.
+       * haifa-sched.c (check_live_1): Likewise.
+       (update_live_1): Likewise.
+       (sched_analyze_1): Likewise.
+       (sched_note_set): Likewise.
+       (birthing_insn_p): Likewise.
+       (attach_deaths): Likewise.
 
-       * stmt.c (check_for_full_enumeration_handling): new fn, for warn_switch
-       (expand_end_case): Call it, if orig index was enum.
-       * toplev.c (main): Handle -Wswitch.
-       * c-parse.y (SWITCH stmt): Pass orig switch expr to expand_end_case.
+       * config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
 
-       * tm-*.h, out-*.c: Uniformly use reg_names, not reg_name, and don't
-       define any duplicates.
-       * final.c: Delete reg_name.
+Fri Sep 11 22:57:55 1998  Eric Dumazet  <dumazet@cosmosbay.com>
 
-       * c-parse.y (is_reserved_word): Add keywords __asm and __inline;
-       also __const and __volatile.
-       (yylex): Keywords that start with `__' are recognized regardless of
-       -traditional or -ansi.
+       * config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
 
-       * c-parse.y (check_newline): Always recognize #ident.
-       Macro IDENT_DIRECTIVE is no more.
-       If ASM_OUTPUT_IDENT is undefined, don't output anything for #ident.
-       * tm-3b1.h: Don't define IDENT_DIRECTIVE or ASM_OUTPUT_IDENT.
-       * tm-encore.h, tm-i386gas.h, tm-i368v.h, tm-sun386i.h, tm-vaxv.h:
-       Don't define IDENT_DIRECTIVE; define ASM_OUTPUT_IDENT to output in
-       default way.
+Thu Sep 10 22:02:04 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * expr.h (RETURN_IN_MEMORY): New macro, default defn here.
-       * expr.c (expand_call): Use it to control where to return value.
-       * stmt.c (expand_function_start): Likewise.
+       * glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
 
-       * out-sparc.c (find_addr_reg): Abort if none found.
-       Eliminate confusion; do only one change between tests for PLUSness.
-       (output_move_double): Arg to find_addr_reg is address, not mem ref.
-       * out-m68k.c, out-spur.c, out-i386.c, out-alliant.c: Likewise.
+Thu Sep 10 21:19:10 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
 
-       * jump.c (find_cross_jump): Don't let either E1 or E2 be included
-       in the range of matching insns preceding the other (E2 or E1).
+       * configure.in: Add check for GAS subsection -1 support.
+       * acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
+       * configure config.in: Rebuilt.
+       * config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
+       SImode is subsection -1 works, else use DImode.
+       (ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
+       subsection -1 works.
+       * config/sparc/sparc.c (sparc_output_addr_vec,
+       sparc_output_addr_diff_vec): Use them if defined.
 
-       * c-parse.y (check_newline): No error for `#pragma\n'.
+Thu Sep 10 10:46:01 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * Makefile (gcc.o): Control STANDARD_STARTFILE_PREFIX here.
+       * tree.h (DECL_ORIGIN): New macro.
+       * integrate.c (copy_and_set_decl_abstract_origin): New function.
+       (copy_decl_list): Use it.
+       (integrate_parm_decls): Likewise.
+       (integrate_decl_tree): Likewise.
+       * dwarf2out.c (decl_ultimate_origin): Simplify.
+       * dwarfout.c (decl_ultimate_origin): Likewise.
+       * c-decl.c (duplicate_decls): Use DECL_ORIGIN.
+       (pushdecl): Likewise.
 
-       * stmt.c (walk_fixup_memory_subreg): handle null.
+Thu Sep 10 08:01:31 1998  Anthony Green  <green@cygnus.com>
 
-       * tm-sparc.h (FUNCTION_BLOCK_PROFILER): Change LPBnn to LPYnn,
-       to avoid conflict with final.c.
+       * config/rs6000/rs6000.c (output_epilog): Add Java support.
 
-Tue Mar 28 15:23:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Sep 10 14:48:59 1998  Martin von Löwis  <loewis@informatik.hu-berlin.de>
 
-       * cccp.c (do_include): If fail, print system error message.
-       (perror_with_name): Use more standard error format.  Inc. `errors'.
+       * invoke.texi (C++ Dialect Options): Document -fhonor-std.
 
-       * dbxout.c (dbxout_function): Output any temporary types
-       that were made by dbxout itself.
+Thu Sep 10 01:38:05 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * stmt.c: always use an epilogue if pcc-struct-return.
-       (expand_function_start): Compute return_label after testing that.
-       (expand_function_end): Output a return insn after pcc-struct-return
-       processing, if there is a return insn.
-       (expand_null_return): Don't output a return insn, in that case.
-       Simplify the conditions--depends entirely on HAVE_return.
+       * reg-stack.c (straighten_stack): Do nothing if the virtual stack is
+       empty or has a single entry.
 
-       * tm-m68k.h (FUNCTION_BLOCK_PROFILER): Use jsr, not call.
+       * toplev.c (rest_of_compilation): Open up the dump file for reg-stack
+       before calling reg_to_stack.
 
-       * reload.c (find_reloads): Certain mem addresses will be offsetable
-       after reloading; in particular, those where reg_equiv_address applies.
+Thu Sep 10 00:03:34 1998  Richard Henderson  <rth@cygnus.com>
 
-       * loop.c (check_dbra_loop): Change MINUS to COMPARE.
+       * alpha.c (alphaev5_insn_pipe): Abort on default case.
+       (alphaev5_next_group): Swallow CLOBBERs and USEs.
 
-       * c-typeck.c (convert_for_assignment): Return THE standard error_mark.
+       * c-tree.h (warn_long_long): Declare it.
 
-Thu Mar 23 09:39:02 1989  Richard M. Stallman  (rms at watson)
+Wed Sep  9 23:31:36 1998  (Stephen L Moshier)  <moshier@world.std.com>
 
-       * c-parse.y (components): Error if empty.
+       * emit-rtl.c (gen_lowpart_common): Disable optimization of
+       initialized float-int union if the value is a NaN.
 
-       * dbxout.c (dbxout_symbol): Output const variables as N_STSYM.
+Wed Sep  9 23:00:48 1998  Nathan Sidwell  <nathan@acm.org>
 
-       * varasm.c (force_const_mem): Use ASM_OUTPUT_DOUBLE_INT if defnd.
+       * c-lex.c (real_yylex): Don't warn about long long constants if
+       we're allowing long long
 
-       * c-decl.c (grokdeclarator): Warn about `long long long'.
+Wed Sep  9 21:58:41 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
 
-       * reload1.c (reload): When changing REG to MEM, clear REG_USERVAR_P.
-       * final.c (alter_subreg): Preserve volatile bit of MEM.
+       * except.h (current_function_eh_stub_label): Declare.
+       (current_function_eh_old_stub_label): Declare.
+       * function.h (struct function): New members eh_stub_label and
+       eh_old_stub_label.
+       * except.c (current_function_eh_stub_label): New variable.
+       (current_function_eh_old_stub_label): New variable.
+       (init_eh_for_function): Clear them.
+       (save_eh_status): Save them.
+       (restore_eh_status): Restore them.
+       (expand_builtin_eh_stub): Set current_function_eh_stub_label.
+       (expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label.
+       * flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't
+       make an edge from the block that contains it to the block starting
+       with the label if this label is one of the eh stub labels.
+       If eh stub labels exist, show they are reachable from the last block
+       in the function.
 
-       * m68k.md (cmpsi, cmphi): Permit cmpm.
+       * reload1.c (reload): Break out several subroutines and make some
+       variables global.
+       (calculate_needs_all_insns): New function, broken out of reload.
+       (calculate_needs): Likewise.
+       (find_reload_regs): Likewise.
+       (find_group): Likewise.
+       (find_tworeg_group): Likewise.
+       (something_needs_reloads): New global variable, formerly in reload.
+       (something_needs_elimination): Likewise.
+       (caller_save_spill_class): Likewise.
+       (caller_save_group_size): Likewise.
+       (max_needs): Likewise.
+       (group_size): Likewise.
+       (max_groups): Likewise.
+       (max_nongroups): Likewise.
+       (group_mode): Likewise.
+       (max_needs_insn): Likewise.
+       (max_groups_insn): Likewise.
+       (max_nongroups_insn): Likewise.
+       (failure): Likewise.
 
-       * gcc.c (find_file): Use standard_startfile_prefix_2.
-       Now search /usr/local/lib/, /lib/ and /usr/lib/.
+       * print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET.
 
-       * tm-m68k.h (PRINT_OPERAND): Support code `d'.
-       * m68k.md (cmpsi, cmphi, cmpqi): Use it for all mem addresses.
+Wed Sep  9 13:14:41 1998  Richard Henderson  <rth@cygnus.com>
 
-       * final.c (output_asm_insn): Don't allow %LETTER without an
-       operand number.
-       * tm-m68k.h, m68k.md, tm-hp9k320.h, tm-news*.h: Use %@ instead of %s.
-       * tm-alliant.h, alliant.md: Likewise.
-       * i386.md, out-i386.h: Put `0' after each %L, %W, %B, %S, %Q, %R.
+       * loop.c (load_mems): Copy rtx for output mem.
 
-       * stmt.c (expand_end_stmt_expr): Pop pending stack args.
+Wed Sep  9 15:16:58 1998  Gavin Romig-Koch  <gavin@cygnus.com>
 
-       * varasm.c (assemble_variable): For 0-size common variable,
-       allocate at least 1 byte.
+       * mips/abi64.h (LONG_MAX_SPEC): Don't set LONG_MAX for
+       mips1 or mips2 either.
 
-       * tm-encore.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Use 0f, not 0l,
-       for doubles.
+Wed Sep  9 12:31:35 1998  Jeffrey A Law  (law@cygnus.com)
 
-Mon Mar 13 10:24:56 1989  Richard M. Stallman  (rms at ccvi)
+       * pa.c (pa_reorg): New marking scheme for jumps inside switch
+       tables.
+       (pa_adjust_insn_length): Update to work with new marking scheme
+       for jumps inside switch tables.
+       * pa.md (switch_jump): Remove pattern.
+       (jump): Handle jumps inside jump tables.
 
-       * out-i386.h (function_prologue, function_epilogue):
-       Use call_used_regs, not a copy, so -f options work.
-       Save regs in the opposite order.
-       Save regs even starting from 0 if they happen to be call-saved.
+       * Makefile.in (profile.o): Depend on insn-config.h
 
-       * Bug fixes from Rob McMahon.
+Wed Sep  9 09:36:51 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * loop.c (strength_reduce): When inserting insn to set
-       nonreplaceable giv, put it after all the consecutive insns
-       that compute it.
+       * iris6.h (DWARF2_UNWIND_INFO): Undef.
 
-       * reload.c (find_reloads): When forcing const to mem,
-       use the insn's operand mode, not the const's mode.
+Wed Sep  9 01:32:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * reload1.c (choose_reload_targets): Use wider of inmode and outmode
-       when determining have_groups.
+       Add preliminary native sparcv9 Solaris support.
+       * configure.in: Recognize sparv9-*-solaris2*
+       * configure: Rebuilt.
+       * config.sub: Recognize sparcv9 just like sparc64.
+       * config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
+       config/sparc/sol2-cn.asm: Macroize so it can be shared between
+       32-bit and 64-bit Solaris systems.
+       * config/sparc/t-sol2: Assemble those with cpp.
+       * config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
+       (*TF*_LIBCALL): If ARCH64 use V9 names.
+       * config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New files.
 
-       * reload1.c (choose_reload_targets): typo checked wrong insn with
-       constraint_accepts_reg_p.
+Wed Sep  9 01:07:30 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
 
-       * reload1.c (choose_reload_targets): Enable #if-0'd code for
-       forgetting old reloads in case of output reload from a non-spill-reg.
+       * config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
+       (CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
+       not doing pic.
+       (ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
+       Pmode.
+       * config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
+       to Pmode if CASE_VECTOR_MODE is something else.
 
-Sun Mar 12 00:04:49 1989  Richard M. Stallman  (rms at ccvi)
+Wed Sep  9 00:10:31 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * prefix.c (update_path): Correctly handle cases where PATH is
+       a substring of the builtin prefix, but specifies a different
+       directory location.
+
+Tue Sep  8 23:46:04 1998  Hans-Peter Nilsson  <hp@axis.se>
+
+       * expr.c: Corrected comment about what MOVE_RATIO does.
+       * config/alpha/alpha.h: Likewise.
+       * config/1750a/1750a.h: Likewise.
+       * config/clipper/clipper.h: Likewise.
+       * config/i386/i386.h: Likewise.
+
+Tue Sep  8 22:56:12 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in (m68k-next-nextstep3*): Use collect2.
+       Similarly for x86 NeXT configurations.
+       * configure: Rebuilt.
+
+Tue Sep  8 01:38:57 1998  Nathan Sidwell  <nathan@acm.org>
+
+       * configure.in: Don't assume srcdir is .../gcc.
+       * configure: Rebuilt.
+
+Sat Sep  5 16:34:34 1998  John Wehle  (john@feith.com)
+
+       * global.c: Update comments.
+       (global_alloc): Assign allocation-numbers
+       even for registers allocated by local_alloc in case
+       they are later spilled and retry_global_alloc is called.
+       (mark_reg_store, mark_reg_clobber,
+       mark_reg_conflicts, mark_reg_death): Always record a
+       conflict with a pseudo register even if it has been
+       assigned to a hard register.
+       (dump_conflicts): Don't list pseudo registers already assigned to
+       a hard register as needing to be allocated, but do list their
+       conflicts.
+       * local-alloc.c: Update comment.
+
+Mon Sep  7 23:38:01 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH.
+       * configure: Rebuilt.
+
+Mon Sep  7 22:41:46 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * rs6000.c (rs6000_override_options): Fix name for ec603e, to add
+       missing 'c'.
+       * t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx
+       for all targets that set -msoft-float.
 
-       * c-parse.y (yyerror): Add forward-decl here.
-       * c-tree.h: Delete decl here.
+Mon Sep  7 23:30:07 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * New macro USE_C_ALLOCA.
-       * cse.c (cse_main): Do alloca (0) to clear out C alloca.
-       * flow.c (life_analysis):
-       * local-alloc.c (local_alloc):
-       * reload1.c (reload_as_needed): likewise.
+       * toplev.c (print_switch_values): Make static to match prototype.
+
+Mon Sep  7 19:13:59 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in: If we are unable to find the "gnatbind" program,
+       then do not configure the ada subdir.
+       * configure: Rebuilt.
+
+Sun Sep  6 14:03:58 1998  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sun Sep  6 13:28:07 1998  Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sun Sep  6 08:54:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (toplev.o): Depend on $(EXPR_H).
+       (insn-extract.o, insn-attrtab.o): Depend on toplev.h.
+
+       * gansidecl.h: Define ATTRIBUTE_NORETURN.
+
+       * genattrtab.c: Have insn-attrtab.c include toplev.h.
+
+       * genextract.c: Have insn-extract.c include toplev.h.
+
+       * rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
+
+       * toplev.c: Include expr.h.
+       (really_sorry, fancy_abort): Remove prototypes.
+       (set_target_switch): Add argument in prototype.
+       (vfatal): Mark prototype with ATTRIBUTE_NORETURN.
+       (v_really_sorry): Likewise.
+       (print_version, print_single_switch, print_switch_values): Make
+       static and add prototype arguments.
+       (decl_printable_name): Add prototype arguments.
+       (lang_expand_expr_t): New typedef.
+       (lang_expand_expr): Declare as a lang_expand_expr_t.
+       (incomplete_decl_finalize_hook): Add prototype argument.
+       (decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
+       (botch): Likewise for variable `s'.
+       (rest_of_type_compilation): Mark variables `type' and `toplev'
+       with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
+       XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
+       (display_help): Make variable `i' an `unsigned long'.
+       (main): Remove unused parameter `envp'.
+       Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
+       Cast -1 when comparing it with a `size_t'.
+
+       * toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
+       prototype with ATTRIBUTE_NORETURN.
+       (fatal_insn_not_found, fatal_insn, really_sorry,
+       push_float_handler, pop_float_handler): Add prototypes.
+       (fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
+       (do_abort, botch): Add prototypes.
+
+Sat Sep  6 12:05:18 1998  John Carr  <jfc@mit.edu>
+
+       * final.c (final): If a label is reached only from a single jump,
+       call NOTICE_UPDATE_CC on the jump and its predecessor before
+       emitting the insn after the label.
+
+       * i386.h: Add AMD K6 support.
+       Change TARGET_* macros to use table lookup.
+       (INITIALIZE_TRAMPOLINE): Improve trampoline code.
+       (ADJUST_COST): Change definition to call function in i386.c.
+       (ISSUE_RATE): Define as 2 for anything newer than an 80486.
+       * i386.c: Add AMD K6 support.
+       Add constants for feature tests used by TARGET_* macros.
+       (split_di): If before reload, call gen_lowpart and gen_highpart.
+       (x86_adjust_cost): New function.
+       (put_jump_code): New function.
+       (print_operand): New codes 'D' and 'd'.
+       * i386.md: New insn types.  New insn attribute "memory".
+       Redefine scheduling parameters to use new types and add AMD K6
+       support.  Explicitly set type of most insns.
+       (move insns): K6 prefers movl $0,reg to xorl reg,reg.  Pentium
+       Pro and K6 prefer movl $1,reg to incl reg.
+       (adddi3, subdi3): Set cc_status.
+       (DImode shift patterns): Change label counters from HOST_WIDE_INT
+       to int; x86 can't have more than 2^31 DImode shifts per file.
+       (setcc): Combine all setcc patterns.  Allow writing memory.
+       Combine all jump patterns using match_operator.
+       (*bzero): Name pattern.  Emit multiple stos instructions when that
+       is faster than rep stos.
+       (xordi3, anddi3, iordi3): Simplify DImode logical patterns and
+       add define_split.
 
-       * loop.c (emit_iv_init_code, eliminate_biv):
-       Always put constant in a PLUS last.
+Sun Sep  6 11:17:20 1998  Dave Love  <d.love@dl.ac.uk>
 
-       * gcc.c (make_switch): Unused function deleted.
+       * config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771
+       linking.
 
-       *gcc.c (switches): Each switch has a `used' field.
-       (process_command): Init it to 0 when making `switches'.
-       (do_spec_1, handle_braces, give_switch): Set to 1 when switch is used.
-       (main): If it remains 0 at the end, print error message.
+Sat Sep  5 22:05:25 1998  Richard Henderson  <rth@cygnus.com>
 
-       * expr.c (convert_move, convert_to_mode): Don't truncate a MEM in
-       place if it is volatile.
+       * alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
+       not whatever we're generating now.
 
-       * loop.c (strength_reduce): When reducing a giv, if the biv is
-       incremented between the giv's creation and its use, increment
-       the reduced giv var *after* its use.
+       * alpha.c (set_frame_related_p, FRP): New.
+       (alpha_expand_prologue): Mark frame related insns.
+       (alpha_expand_epilogue): Likewise, but with a null FRP.
+       * alpha.h (INCOMING_RETURN_ADDR_RTX): New.
+       * alpha.md (exception_receiver): New.
+       * alpha/crtbegin.asm (.eh_frame): New beginning.
+       (__do_frame_setup, __do_frame_takedown): New.
+       * alpha/crtend.asm (.eh_frame): New ending.
+       * alpha/elf.h (DWARF2_DEBUGGING_INFO): Define.
+       (ASM_SPEC): Don't emit both dwarf2 and mdebug.
+       (ASM_FILE_START): Don't emit .file for dwarf2.
 
-       * c-decl.c (duplicate_decls): Warn about proto vs nonproto
-       only if no other errors apply.
+       * rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
+       * rtl.c (reg_note_name): Likewise.
+       * rtl.texi (REG_NOTES): Likewise.
+       * dwarf2out.c (dwarf2out_frame_debug): Use it.  Recognize a store
+       without an offset.
+
+Sat Sep  5 14:47:17 1998  Richard Henderson  <rth@cygnus.com>
+
+       * i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS.
+       * i386.md (movsf, movdf, movxf): Validate memory address returned
+       from force_const_mem.  Kill useless REG_EQUAL setting code.
+
+Sat Sep  5 14:23:31 1998  Torbjorn Granlund  <tege@matematik.su.se>
+
+       * m68k.md (zero_extendsidi2): Fix typo.
+
+Sat Sep  5 13:40:24 1998  Krister Walfridsson  <cato@df.lth.se>
+
+       * configure.in: Removed references to the removed file.
+       * config/xm-netbsd.h: Use ${cpu_type}/xm-netbsd.h for
+       arm*-*-netbsd* and ns32k-*-netbsd*.
+       * config/i386/xm-netbsd.h: Removed unnecessary file.
+       * config/m68k/xm-netbsd.h: Likewise.
+       * config/sparc/xm-netbsd.h: Likewise.
+       * config/mips/xm-netbsd.h: Likewise.
 
-       * jump.c (invert_exp): Don't crash if arg is null.
+Sat Aug 29 13:32:58 1998  Mumit Khan  <khan@xraylith.wisc.edu>
 
-       * alliant.md (float*i*f2): Don't allow immediate ops.
-       (sne): Fix typo, fsne => fsneq.
+       * i386/cygwin32.h (BIGGEST_ALIGNMENT): Define.
+       (PCC_BITFIELD_TYPE_MATTERS): Define to be 0.
 
-       * expr.c (store_one_arg, expand_call): When size doesn't matter,
-       pass const0_rtx, not (rtx) 0.
+       * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
+       for exact section attributions.
 
-       * expr.c (do_jump): Args to invert_exp were missing.
+       * i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
+       runtime.
+       * i386/crtdll.h (CPP_PREDEFINES): Define.
 
-       * gcc.c (store_arg): Now 2 separate args for delete-on-success
-       and delete-on-failure.  All calls changed.
-       (do_spec_1): DELETE_THIS_FILE is meaningful for output files.
+Sat Sep  5 03:23:05 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * config/xm-alliant.h (LINK_SPEC): Pass -X to linker.
+       * m68k.md (5200 movqi): Do not allow byte sized memory references
+       using address regs.
+       * m68k.c (output_move_qimode): Do not use byte sized operations on
+       address registers.
 
-Sat Mar 11 10:30:41 1989  Richard M. Stallman  (rms at ccvi)
+       * Makefile.in (pexecute.o): Use pexecute.c from libiberty.  Provide
+       explicit rules for building.  Similarly for alloca, vfprintf,
+       choose-temp and mkstemp, getopt, getopt1, and obstack.
+       (INCLUDES): Add $(srcdir)/../include.
+       * pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete.
+       * getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise.
 
-       * tm-*.h, xm-*.h, *.md: Moved to subdir `config'.
-       * output-*.c: Moved to `config/out-*.c'.
-       * Makefile (.c.o): Define rule to use -Iconfig when compiling.
-       (various): Delete the commands from some compilation rules.
-       Put -Iconfig in other compilation commands.
-       Also some reordering of variable defs and comments for cleanliness.
-       (realclean): Change a shell comment to a Make comment.
+Fri Sep  4 11:57:50 1998  Tom Tromey  <tromey@cygnus.com>
 
-       * fold-const.c (fold): Simplify and extend TRUTH_... operators
-       knowing that args must be ints and values will be 0 or 1.
+       * gcc.c (do_spec_1): [case 'o'] Account for
+       lang_specific_extra_outfiles.
+       (main): Correctly clear all slots in outfiles for
+       lang_specific_extra_outfiles.  Set input_file_number before
+       calling lang_specific_pre_link.
 
-       * gcc.hlp: New file (for VMS).
+Fri Sep  4 10:37:07 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * reload1.c (reload): Don't let two 2-groups overlap.
+       * loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.
 
-       * reload.c (push_reloads): When a plain reg matches a reload
-       for an increment, don't change the reload_in to a plain reg.
-       Leave the increment there.
+Fri Sep  4 02:01:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * integrate.c (expand_inline_function): Don't try to inline
-       unless the parm machine modes really match what's expected.
+       * config/sparc/sparc.c (output_double_int): In all V9 symbolic
+       cases, use xword.
+       (sparc_output_deferred_case_vectors): If no work to do, return.
+       Fix thinko in Sept 1 change.
 
-       * stmt.c (emit_case_nodes): default_label is an rtx, not tree.
+1998-09-03  SL Baur  <steve@altair.xemacs.org>
 
-       * tm-next.h (DOLLARS_IN_IDENTIFIERS): Define it as 1.
+       * Makefile.in: Add semicolon in BISON definition for portability.
 
-       * output-sparc.c (output_move_double): Don't trust random structs
-       to be double-word aligned.
+Thu Sep  3 13:34:41 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
 
-       * gcc.c: Pass -Wcomments to cpp.
+       * config/nextstep.c (handle_pragma): Correct name of third
+       argument.
 
-       * rtl.def (ASM_OPERANDS): New operands, source file and line.
-       * rtl.h (ASM_OPERANDS_*): New macros for components of ASM_OPERANDS.
-       * stmt.c (expand_asm_operands): Use new fields, not REG_ASM_* notes.
-       * toplev.c (error_for_asm): likewise.
-       * rtl.h (enum reg_note): Delete REG_ASM_FILE, REG_ASM_LINE.
+Tue Sep  1 11:30:33 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * combine.c (try_combine): Check explicitly for volatility in I2, I1.
+       * config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
+       * config/m32r/m32r.h: Make register 17 be fixed.
+       * config/m32r/m32r.c: Use SImode for cc operations.
 
-Fri Mar 10 19:30:10 1989  Richard M. Stallman  (rms at ccvi)
+Thu Sep  3 18:17:34 1998  Benjamin Kosnik  <bkoz@cygnus.com>
 
-       * c-parse.y (GOTO stmt): Set TREE_USED for the label.
-       * c-decl.c (poplevel): Warn about unused label.
+       * invoke.texi (Warning Options): Add -Wnon-template-friend
+       documentation.
 
-       * c-decl.c (warn_pointer_arith, warn_strict_prototypes): New vars.
-       (lang_decode_options): Options to set them.
-       * c-typeck.c (pointer_int_sum, c_sizeof): Maybe warn if bad target.
-       * c-decl.c (grokparms): Maybe warn if nonprototype fn decl.
+Thu Sep  3 18:16:16 1998  Michael Meissner  <meissner@cygnus.com>
 
-       * flags.h, toplev.c (warn_shadow): New flag.
-       * toplev.c (main): Decode it.
-       * c-decl.c (pushdecl): Maybe warn about any shadowing.
-       Existing parm-shadowing warning now disabled if shadowing decl
-       is also a parm.
+       * rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}.
 
-       * flags.h, toplev.c (warn_id_clash, id_clash_len): New flags.
-       * toplev.c (main): Decode -Wid-clash-LEN.
-       * tree.c (get_identifier): Implement warning if two idents match.
+Thu Sep  3 18:05:16 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * toplev.c (compile_file): Warn about statics defined and unused.
+       * rs6000.md (movsf): Disable explicit secondary-reload-like
+       functionality if TARGET_POWERPC64.
+       (movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
+       functionality.
 
-       * rtl.h (CONST0_RTX): New macro.
+Thu Sep  3 11:41:40 1998  Robert Lipe  <robertl@dgii.com>
 
-       * recog.c (offsetable_address_p): New 1st arg says whether to demand
-       a strictly valid address.
-       (offsetable_memref_p): Pass nonzero.
-       * stmt.c (optimize_bit_field): Pass zero.
+       * fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h
+       and term.h from fixinc.wrap.
 
-       * cccp.c (main): Allow -Wcomment like -Wcomments.
-       * c-decl.c (lang_decode_options): Likewise.
+Thu Sep  3 09:47:31 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Sun Mar  5 15:02:59 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
+       * aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
+       safe to include both string.h and strings.h together.
+       (GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
+       which headers to search for function declarations.  Continue to
+       prefer string.h over strings.h when both are not acceptable.
 
-       * m68k.md [tstdf, cmp[sd]f, truncdfsf2, floatsi[sd]f2, add[sd]f3,
-       sub[sd]f3, mul[sd]f3, div[sd]f3, neg[sd]f2, abs[sd]f2]: Made sure
-       that the test function's in the match_operands of the define_expand
-       and define_insn's matched, and made that test function
-       "register_operand" when both define_insn's really needed registers
-       in that spot.
+       * acconfig.h (STRING_WITH_STRINGS): Add stub.
 
-Sat Mar  4 00:25:37 1989  Richard M. Stallman  (rms at c2v)
+       * configure.in: Call GCC_HEADER_STRING.
 
-       * expr.c (emit_push_insn): Don't ever bypass the big-endian
-       padding at the end.
+       * system.h: Test STRING_WITH_STRINGS when deciding which headers
+       to include.  Continue to prefer string.h over strings.h when both
+       are not acceptable.
 
-       * cccp.c (deps_output): Break line if would otherwise exceed 75 chars.
-       Make a name for that value 75.
+Wed Sep  2 23:56:29 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * combine.c (subst): Handle general case of (subreg (sign_extend X)).
+       * config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do
+       not assume top 32-bits of symbolic addresses are zero if
+       flag_pic.
 
-       * tm-sun386i.h (CPP_PREDEFINES): Define `sun'.
+Thu Sep  3 00:23:21 1998  Richard Henderson  <rth@cygnus.com>
 
-       * fixincludes: change `find' calls to find dirs thru symlinks.
+       * ginclude/va-alpha.h: Protect entire second portion of the
+       file against double inclusion.
 
-       * flow.c (mark_set_1): (set (subreg (reg N))...)
-       does make reg N significant for this basic block.
+Thu Sep  3 00:37:55 1998  Ovidiu Predescu  <ovidiu@aracnet.com>
 
-Fri Mar  3 13:55:25 1989  Richard M. Stallman  (rms at c2v)
+       Added support for the Boehm's garbage collector.
+       * configure.in: Handle --enable-objc-gc.
+       * configure: Rebuilt.
+       * Makefile.in (CHECK_TARGETS): Add check-objc.
+       (check-objc): New rule.
+       * objc/Make-lang.in: Build a different Objective-C library that
+       runs with the Boehm's collector.
+       * objc/encoding.c (objc_round_acc_size_for_types): New function.
+       * objc/encoding.c: Correctly compute the size of compound types in
+       the presence of bitfields. Skip the variable name of the type if
+       any. Added support for long long.
+       * objc/encoding.h (_C_GCINVISIBLE): New specifier.
+       (_F_GCINVISIBLE): New mask.
+       * objc/gc.c: New file. Compute the type memory mask associated with
+       a class based on the runtime information.
+       * objc/misc.c: Added the hooks that use the Boehm's collector
+       allocation functions.
+       * objc/objc-act.c (build_class_template): Generate a new class
+       member (gc_object_type) to hold the class' type memory mask.
+       (build_shared_structure_initializer): Initialize the new member to
+       NULL.
+       (encode_complete_bitfield): New function. Generate the new
+       encoding.
+       (encode_field_decl): Generate the new encoding only for the GNU
+       runtime.
+       * objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the
+       long long types.
+       (class_get_gc_object_type): New function to mark a pointer instance
+       variable as a weak pointer.
+       * objc/objc-features.texi: New file.
+       * objc/objc.h (gc_object_type): New class member.
+       * objc/objects.c (class_create_instance): Create a typed memory
+       object when compiled with Boehm's collector support.
+       * objc/sendmsg.c (__objc_init_install_dtable): Call
+       __objc_send_initialize instead of setting the initialize flag.
+       (__objc_send_initialize): Call __objc_generate_gc_type_description
+       to generate the class type memory mask. Rewrite the code that
+       sends the +initialize so that it is called only once (bug report
+       and fix from Ronald Pijnacker <Ronald.Pijnacker@best.ms.philips.com>).
+       * testsuite/objc: New testsuite for Objective-C type encoding.
+       * testsuite/lib/objc-torture.exp: New file.
+       * testsuite/lib/objc.exp: New file.
 
-       * c-decl.c (parmlist_tags_warning): Print an explanation
-       for the first such warning.
+Wed Sep  2 14:47:36 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * i386.md (extendsfdf): Let op 1 match op0 if that is an fp reg.
+       * jump.c (jump_optimize): In if/then/else transformations, add
+       another call to modified_between_p for the jump insn.
 
-       * expr.c (expand_call): Fix stupid errors copying pcc struct value.
+Wed Sep  2 14:16:49 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * varasm.c (output_constructor): Discard NOP_EXPRs from build_c_cast.
+       * fix-header.c (symlink): Treat like readlink.
 
-Thu Feb 23 05:55:57 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Sep  2 19:30:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * Version 1.34 released.
+       * dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles
+       as FT_float.
 
-       * c-typeck.c (build_c_cast): If EXPR is an error mark, return that.
+Wed Sep  2 10:06:07 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * fold-const.c (div_and_round_double): Abort if divisor is 0.
-       (combine): Likewise, for real constants.
-       (real_zerop): New subroutine.
-       (fold): Don't try to fold division if divisor is 0.
-       Don't try to fold reals if can't do arithmetic on them.
-       Don't try to compare reals for TRUTH_..._EXPR if can't do arith.
-       Use real_zerop to test reals for zeroness.
-       For TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR, can simplify based on
-       first operand alone.
+       * config/nextstep.h:    Update HANDLE_PRAGMA macro.
+       * config/h8300/h8300.h: Update HANDLE_PRAGMA macro.
+       * config/i960/i960.h:   Update HANDLE_PRAGMA macro.
 
-       * c-typeck.c (store_init_value): Fix error msg text.
+       * config/nextstep.c (handle_pragma): Take three arguments, as per
+       the new HANDLE_PRAGMA macro specification.
+       * config/h8300/h8300.c (handle_pragma): Take three arguments, as
+       per the new HANDLE_PRAGMA macro specification.
+       * config/i960/i960.c (process_pragma): Take three arguments, as
+       per the new HANDLE_PRAGMA macro specification.
 
-       * tm-sparc.h (FUNCTION_PROFILER): Use `mcount'.
-       * tm-sun4os3.h (FUNCTION_PROFILER): Override it; use `.mcount'.
+Wed Sep  2 09:25:29 1998  Nick Clifton  <nickc@cygnus.com>
 
-Wed Feb 22 04:33:22 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * c-lex.c (check_newline): Call HANDLE_PRAGMA before
+       HANDLE_SYSV_PRAGMA if both are defined.  Generate warning messages
+       if unknown pragmas are encountered.
+       (handle_sysv_pragma): Interpret return code from
+       handle_pragma_token ().  Return success/failure indication rather
+       than next unprocessed character.
+       (pragma_getc): New function: retrieves characters from the
+       input stream.  Defined when HANDLE_PRAGMA is enabled.
+       (pragma_ungetc): New function: replaces characters back into the
+       input stream.  Defined when HANDLE_PRAGMA is enabled.
 
-       * tm-hp9k320.h (CPP_SPEC, CPP_PREDEFINES): Make handling of
-       -Dmc68000 depend on TARGET_DEFAULT.
+       * c-pragma.c (handle_pragma_token): Return success/failure status
+       of the parse.
 
-       * tm-sparc.h (FUNCTION_PROFILER): Missing newline in fprintf.
+       * c-pragma.h: Change prototype of handle_pragma_token().
 
-       * integrate.c (expand_inline_function): Don't map struct-value-address
-       in memory if fn does not use it.
+       * varasm.c (handle_pragma_weak): Only create this function if
+       HANDLE_PRAGMA_WEAK is defined.
 
-       * c-parse.y (check_newline): At skipline, detect eof.
+       * c-common,c (decl_attributes): If defined call the expression
+       contained within the INSERT_ATTRIBUTES macro before adding
+       attributes to a decl.
 
-       * stmt.c (uninitialized_vars_warning): Change text of warning.
+       * tm.texi (HANDLE_PRAGMA): Document the new version of
+       HANDLE_PRAGMA, which takes three arguments.
+       (INSERT_ATTRIBUTES): Document this new macro.
 
-Tue Feb 21 03:58:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * LANGUAGES: Document the new version of HANDLE_PRAGMA and the
+       new INSERT_ATTRIBUTES macro.
 
-       * output-sparc.c (output_mul_insn): Handle case of both args
-       in reg 8, or both in reg 9.
+Wed Sep  2 02:03:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * tm-sparc.h (ASM_SPEC): Define, to handle -pipe.
+       * config/sparc/sparc.md (movdf): Only generate special RTL for
+       LABEL_REFs when PIC.
+       (move_label_di): Remove.
+       (movdi_pic_label_ref, movdi_high_pic_label_ref,
+       movdi_lo_sum_pic_label_ref): New patterns for 64-bit label
+       references when PIC.
+       * config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT,
+       ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW,
+       output an .xword for all 64-bit cases.
 
-       * tm-sparc.h (FUNCTION_PROFILER): Add omitted fprintf args.
-       (BLOCK_PROFILER): Likewise.  Use tempvar.
+Tue Sep  1 15:55:17 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * m68k.md (QImode btst): Allow nonoffsetable mem refs.
+       * config/sparc/sparc.c (finalize_pic): Don't output arbitrary
+       alignment, use FUNCTION_BOUNDARY instead.
+       (sparc_output_deferred_case_vectors): Likewise.
 
-Mon Feb 20 00:32:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Aug 31 17:25:41 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * flow.c (mark_used_regs): Don't record about global reg vars.
+       * config/sparc/sparc.md (movsf_const_intreg): Kill warning.
+       (movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives.
 
-       * config.gcc (convex-*): tm file names are tm-convex1.h, tm-convex2.h.
+Mon Aug 31 13:57:55 1998  Richard Henderson  <rth@cygnus.com>
 
-       * tm-vax.h, tm-ns32k.h, tm-alliant.h: Define PCC_STATIC_STRUCT_RETURN.
+       * alpha/va_list.h: New file.
+       * alpha/x-alpha (EXTRA_HEADERS): New.  Add va_list.h.
 
-       * gcc.c (compilers): Pass `-a' to cc1.
-       * tm-sun3.h, tm-sparc.h (LIB_SPEC): Define, to handle `-a'.
+Mon Aug 31 14:55:02 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * expr.c (emit_push_insn): Copy stack addresses to be passed to bcopy;
-       old method of preadjustment is broken by changes in emit_library_call.
+       * NEWS: Add SCO Openserver and Unixware 7 notes.
 
-       * c-decl.c (finish_decl): New temp `temporary'; don't get confused
-       about whether allocation was temporary.
+       * NEWS: Fix typos.
 
-Sun Feb 19 17:03:35 1989  Chris Smith  (csmith at mozart)
+Mon Aug 31 15:42:18 1998  Dave Brolley  <brolley@cygnus.com>
 
-       * tm-convex.h: define PCC_STATIC_STRUCT_RETURN
+       * varasm.c (compare_constant_1): Handle RANGE_EXPR.
+       (record_constant_1): Handle RANGE_EXPR.
 
-       * convex.md:
-       remove pshea patterns, movsi does it better.
-       add ashift:DI abs:DF abs:SF
-       (tstdi): use a clobbered register instead of a bogus DImode zero.
-       (trunchiqi2): delete noninstruction cvth.b
-       (udivsi3, udivhi3, udivqi3): deleted, expand_divmod does it now.
-       (call, call_value): delete stupid call/ret -> jump optimization.
-       (call, call_value): flush call_ap_check, use reg_mentioned_p instead.
+Mon Aug 31 10:54:03 1998  Richard Henderson  <rth@cygnus.com>
 
-       * convex.md: (movxx): swap constraint alternatives so that the
-       leftmost alternative is (set =g r).  This makes (set mem const)
-       get combinable input reloads of const instead of uncombinable
-       output reloads to mem.  They still do not combine, but wtf,
-       I'll inch up on it.
+       * print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
+       * haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
+       and NOTE_INSN_RANGE_END specially.
+       (reemit_notes): Likewise.
 
-       * output-convex.c: (const_double_{high,low}_int): new routines
-       to pick apart const_doubles for assembler.
+Mon Aug 31 10:18:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-Sun Feb 19 01:40:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'.
+       (ultrasparc_sched_init): Remove unneeded &.
 
-       * sparc.md (shift memory right 24 bits): Another `a1' typo.
+Mon Aug 31 10:47:16 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
-       * config.gcc (convex-*): Delete troublesome whitespace.
+       * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040
+       for m68020-60, to prevent the use of fintrz.
 
-       * c-decl.c (grokparms): Delete redundant `parm != 0' tests.
+Sun Aug 30 22:17:20 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * stmt.c (fixup_memory_subreg): Slight simplification.
+       * configure.in: If the native compiler is GCC use $(WARN_CFLAGS)
+       even in stage1.
+       * Makefile.in: Likewise.
+       * configure: Regenerated.
 
-       * tm-sparc.h (FUNCTION_PROFILER): Fill delay slot.
-       (FUNCTION_BLOCK_PROFILER): Use sethi.
-       (BLOCK_PROFILER): Use %g2, not %g0.  Use sethi.
+Sun Aug 30 22:15:41 1998  H.J. Lu  (hjl@gnu.org)
 
-Sat Feb 18 02:11:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * configure.in (gxx_include_dir): Changed to
+       '${prefix}/include/g++'-${libstdcxx_interface}.
+       * configure: Rebuilt.
 
-       * expr.c (expand_expr): Ignore const array's initial value
-       if it's an error_mark.
-       * c-decl.c (finish_decl): Set DECL_INITIAL to an error_mark
-       if the decl is a permanent node.
+Sun Aug 30 20:19:43 1998  Hans-Peter Nilsson  <hp@axis.se>
 
-       * cccp.c (rescan): If traditional, if macro ends inside string,
-       keep scanning for the end of the string.
-       (handle_directive): A line of just `#' becomes blank.
-       (collect_expansion): \ in strings traditionally doesn't hide macro arg.
+       * expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
+       consistent.
+       * tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
+       *sequences* *below* which scalar moves will be used.
 
-       * m68k.md, alliant.md (addsi3): New alternative a=r+a, in addition
-       to old a=a+r, needed since reload-insns are not commuted.
+Sun Aug 30 17:18:43 1998  Jeffrey A Law  (law@cygnus.com)
 
-Fri Feb 17 03:15:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * collect2.c (mktemp): Delete unused declaration.
 
-       * tm-m68k.h (PCC_STATIC_STRUCT_RETURN): Define it.
-       * toplev.c, flags.h: New var flag_pcc_struct_return.
-       * stmt.c (expand_function_start): Obey new flag and new variable.
-       * expr.c (expand_call): Obey new flag and new variable.
-       * varasm.c (assemble_static_space): New function.
+       * config/xm-netbsd.h: Remove unnecessary file.
+       * config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h
+       file anymore, it is not needed.
 
-       * stmt.c (expand_return): If we need cleanups, compute retval first
-       into pseudo reg, then do the cleanups, then copy it to return reg.
+Sun Aug 30 16:05:45 1998  Mark Mitchell  <mark@markmitchell.com>
 
-Thu Feb 16 02:59:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * convert.c (convert_to_integer): Issue an error on conversions to
+       incomplete types.
 
-       * regclass.c (init_reg_sets_1): Win if STATIC_CHAIN_REGNUM undefined.
+Sun Aug 30 16:47:20 1998  Martin von Lvwis  <loewis@informatik.hu-berlin.de>
 
-       * expr.c (expand_call): Handle conflict between two precomputed
-       args that are both function calls returning structures.
+       * Makefile.in: Add lang_tree_files and gencheck.h.
+       * configure.in: Generate them.
+       * gencheck.c: Include gencheck.h.
 
-       * loop.c (move_movables): Bkwds test of m->partial, for a matching reg.
+Sat Aug 29 21:38:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * expr.c (emit_library_call, expand_call): Handle STACK_ARGS_ADJUST.
+       * config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to
+       movdi_lo_sum_pic and movdi_high_pic and make visible.
+       * config/sparc/sparc.c (legitimize_pic_address): For -fPIC,
+       emit these when Pmode is not SImode.
+       * config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW.
 
-Wed Feb 15 01:59:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Aug 29 14:59:32 1998  Mumit Khan  <khan@xraylith.wisc.edu>
 
-       * toplev.c (flag_caller_saves): New var, for -fcaller-saves.
-       DEFAULT_CALLER_SAVES controls initial value.
-       * global-alloc.c (find_reg): Do caller saves only if flag set.
-       * local-alloc.c (find_free_reg): Do caller saves only if flag set.
-       * tm-alliant.h, tm-convex.h: Define DEFAULT_CALLER_SAVES.
+       * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
+       .linkonce directive after the first time.
 
-Wed Feb 15 01:59:15 1989  Chris Smith  (rms at sugar-bombs.ai.mit.edu)
+Sat Aug 29 12:39:56 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * caller-save.c: New file.
-       * regs.h (CALLER_SAVE_PROFITABLE): New macro.
-       (reg_n_calls_crossed): new int-vector replaces reg_crosses_calls.
-       * flow.c (allocate_for_life_analysis, propagate_block, dump_flow_info):
-       Use reg_n_calls_crossed.
-       * stupid.c (stupid_mark_refs, stupid_life_analysis): Likewise.
-       * global-alloc.c (find_reg): Sometimes allocate call-clobbered regs
-       for call-crossing pseudos.
-       New arg ACCEPT_CALL_CLOBBERED; callers changed.
-       * local-alloc.c (find_free_reg): Similar changes.
-       (qty_n_calls_crossed): New int-vector replaces qty_crosses_calls.
-       (alloc_qty, local_alloc, combine_regs, find_free_reg): change that var.
-       * regclass.c (call_fixed_regs, call_fixed_reg_set): new vars.
-       (init_reg_sets_1): Initialize them.
-       * reload1.c (reload): Call caller-saves processing if needed.
+       * m68k.md (beq0_di): Generate correct (and more efficient) code when
+       the clobbered operand overlaps with an input.
+       (bne0_di): Similarly.
 
-Wed Feb 15 01:59:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * Makefile.in (INSTALL): Remove "--no-header" argument.
 
-       * expr.c (expand_expr): INTEGER_CST for DImode: don't handle
-       endianness here.  So CONST_DOUBLE_LOW is always the low word.
-       * varasm.c (force_const_mem): Handle it here. 
+       * NEWS: Various updates.
 
-       * expr.c (convert_move): widening followed by extendsidi2 had braino.
+Fri Aug 28 19:00:44 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * integrate.c: Don't include ctype.h; not needed and kills Sun cpp.
+       * config/sparc/sparc.c (arith_operand, const64_operand,
+       const64_high_operand, arith_double_4096_operand): Mark mode as
+       unused.
+       (create_simple_focus_bits): Remove unused arg highest_bit_set, all
+       callers changed.
+       (sparc_emit_set_const64): Remove unused variable i.
+       (sparc_splitdi_legitimate): Likewise for addr_part.
+       (ultra_code_from_mask): Likewise for mask.
+       (ultra_cmove_results_ready_p): Fixup entry modulo calc. and
+       reverse return values so it matches usage and comments.
+       (ultra_flush_pipeline): Likewise.
+       (ultra_fpmode_conflict_exists): Likewise, remove unused variable
+       this_type, and allow loads and stores of differing FP modes as
+       they do not create a conflict.
+       (ultra_find_type): Initialize fpmode to SFmode, fix
+       parenthesization thinkos in large conditional.
+       (ultrasparc_sched_init): Mark dump and sched_verbose as unused.
+       Init free_slot_mask after ultra_cur_hist is reset, not before.
+       (ultrasparc_rescan_pipeline_state): Remove unused variable ucode.
+       (ultrasparc_sched_reorder): Don't bzero current pipeline state,
+       use ultra_flush_pipeline instead, then re-init group pointer.
+       Fix statement with no effect.  If no progress made in, and no
+       instructions scheduled at all, advance to new pipeline cycle else
+       we get into an endless loop.
+       (ultrasparc_adjust_cost): Remove previous arg.
+       * config/sparc/sparc.h (ADJUST_COST): Update to reflect that.
 
-       * m68k.md (cmpsf, cmpdf and their recognizers):
-       Replace MINUS with COMPARE.
-       Also, use VOIDmode for COMPAREs, not SF or DF.
+Fri Aug 28 13:52:35 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * optabs.c (sign_expand_binop): Handle ops such as division where
-       an unsigned char could be widened and handled with signed int insns.
-       * expmed.c (expand_divmod): Use that.
+       * sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
+       code.  Use reg_overlap_mentioned_p to detect when source and
+       destination overlap.
+       (negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.
 
-       * c-typeck.c (digest_init): Allow for type variants in validating
-       initialization from a string constant.
+1998-08-28  Brendan Kehoe  <brendan@cygnus.com>
 
-       * c-typeck.c (decl_constant_value): Disable opt. if pedantic or
-       outside functions, so that validity of program is never affected.
+       * loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
+       COMPARISON_VAL, into invariant_p.
 
-       * fold-const.c (fold): Signedness-test for ABS_EXPR was backwards.
+Fri Aug 28 15:13:25 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Tue Feb 14 01:30:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * regmove.c (regclass_compatible_p): New function.
+       (regmove_optimize): Use it.
 
-       * cccp.c (main): Don't omit normal output, if we want deps on
-       a separate stream.
+       Use NREGS parameter instead of calling max_reg_num.
 
-       * c-decl.c (grokdeclarator): Don't record any arg types for functions
-       if -traditional.
+       (fixup_match_1): Don't use code = MINUS when later tieing with
+       a hard register is likely.
 
-       * print-tree.c (prtypeinfo): Mention permanent attribute.
+Fri Aug 28 14:54:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * tm-next.h: New file.
+       * loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
+       COMPARISON_VAL was normalized.
 
-       * c-typeck.c (decl_constant_value): The DECL_INITIAL may be ERROR_MARK.
+Thu Aug 27 20:10:46 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * c-decl.c (duplicate_decls): For fns, new static decl overrides
-       old non-static one.
+       * loop.c (check_dbra_loop): The loop ending comparison value
+       must be an invariant or we can not reverse the loop.
 
-       * emit-rtl.c (gen_lowpar, gen_highpart): Use change_address, so we
-       preserve volatility, etc.
+       * loop.c (scan_loop): Count down from max_reg_num - 1 to
+       FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
+       of the loop.
+       (load_mems_and_recount_loop_regs_set): Likewise.
 
-       * stmt.c (expand_expr_stmt): Use emit_filename, emit_lineno
-       as file and line for any warning.
-       * emit-rtl.c (emit_line_note): Set those vars.
+       * i386.c (print_operand): Remove obsolete 'c' docs.
 
-       * c-decl.c (store_parm_decls): If -Wimplicit, warn of arg with no decl.
+Wed Aug 26 17:13:37 1998  Tom Tromey  <tromey@cygnus.com>
 
-       * recog.c (offsetable_address_p): Use strict_memory_address_p,  
-       since called from reload.c.
+       * gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
+       * frame.c (init_object_mutex): New function.
+       (init_object_mutex_once): Likewise.
+       (find_fde): Call it.
+       (__register_frame_info): Likewise.
+       (__register_frame_info_table): Likewise.
+       (__deregister_frame_info): Likewise.
 
-Mon Feb 13 03:11:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Aug 27 15:14:18 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * haifa-sched.c (sched_analyze_insn): Fix thinko in last change.
+
+Thu Aug 27 16:34:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+       * loop.c (check_dbra_loop): Enable code for reversal
+       of some loops without a known constant loop end.
+
+Wed Aug 26 18:38:15 1998  Richard Henderson  <rth@cygnus.com>
+
+       * haifa-sched.c (last_clock_var): New.
+       (schedule_block): Initialize it.
+       (schedule_insn): Use it to fill insn modes with issue information.
+
+       * alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
+       Tag trapb and next insn with TImode.
+       (alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
+       (alpha_reorg): Add conditional for alpha_handle_trap_shadows.
+       Invoke alphaev5_align_insns as appropriate.
+       * alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
+       (MD_SCHED_VARIABLE_ISSUE): New.
+       * alpha.md (attr type): Add multi.
+       (define_asm_attributes): New.
+       (prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
+       (arg_home): Likewise.
+       (fnop, unop, realign): New.
+
+Wed Aug 26 15:55:41 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
+       * iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
+
+       * configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
+       (rs6000-ibm-aix4.[12]*): Likewise.
+       * configure: Regenerate.
 
-       * sparc.md (compare-to-reg patterns): Some still had MINUS.
+Wed Aug 26 09:30:59 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * toplev.c (main): Warn if `-a' on system that can't handle it.
+       * config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
+       already contains the return address.
 
-       * stmt.c (expand_asm_operands): Delete unused local `val'.
-       (pushcase_range): Likewise for `value'.
-       (fixup_var_refs): Likewise for `insn'.
-       * emit-rtl.c (start_sequence): Likewise for `save'.
-       * loop.c (scan_loop): Likewise for `before_start'.
-       * expr.c (expand_expr): Delete label `binop1'.
+Wed Aug 26 12:57:09 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * reload1.c (constraint_accepts_reg_p): Handle SUBREGs of REGs.
+       * calls.c (expand_call): Use bitfield instructions to extract/deposit
+       word sized hunks when loading unaligned args into registers.
 
-Sun Feb 12 05:37:46 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * haifa-sched.c (sched_analyze_insn): Only create scheduling
+       barriers for LOOP, EH and SETJMP notes on the loop_notes list.
 
-       * gnulib.c (__bb_init_func): New function
+       * mn10300.h (RTX_COSTS): Handle UDIV and UMOD too.
 
-       * tm-m68k.h (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): Defined.
+Wed Aug 26 16:35:37 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-Sat Feb 11 00:05:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * loop.c (check_dbra_loop): Add some code that would allow reversal
+       of some loops without a known constant loop end if it were enabled.
 
-       * tm-sparc.h (FUNCTION_PROFILER): Make it really work.
-       (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): New macros.
+Wed Aug 26 11:08:44 1998  Gavin Romig-Koch  <gavin@cygnus.com>
 
-       * final.c (final): Use BLOCK_PROFILER at start of each basic block.
-       (final_start_function): Use FUNCTION_BLOCK_PROFILER if -a.
-       (end_final): New fn to output the block-profiling tables.
-       * toplev.c (profile_block_flag): Set if -a.
-       (compile_file): Call end_final.
+       * mips.md (lshrsi3_internal2+2): Fix type-o.
 
-       * combine.c (try_combine): Avoid combining in most cases if I3
-       has an inc or dec and I1 or I2 uses the same register.
+Wed Aug 26 10:53:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * tree.c (size_in_bytes, int_size_in_bytes): Use type's main variant.
+       * system.h: Include stdarg.h/varargs.h, make sure they are ordered
+       correctly with regards to stdio.h.
 
-       * c-typeck.c (actualparameterlist): Error if parm type is incomplete.
+       * calls.c: Remove stdarg.h/varargs.h.
+       * cccp.c: Likewise.
+       * cexp.y: Likewise.
+       * combine.c: Likewise.
+       * cpperror.c: Likewise.
+       * cpplib.c: Likewise.
+       * cpplib.h: Likewise.
+       * doprint.c: Likewise.
+       * emit-rtl.c: Likewise.
+       * final.c: Likewise.
+       * fix-header.c: Likewise.
+       * gcc.c: Likewise.
+       * genattr.c: Likewise.
+       * genattrtab.c: Likewise.
+       * gencodes.c: Likewise.
+       * genconfig.c: Likewise.
+       * genemit.c: Likewise.
+       * genextract.c: Likewise.
+       * genflags.c: Likewise.
+       * genopinit.c: Likewise.
+       * genoutput.c: Likewise.
+       * genpeep.c: Likewise.
+       * genrecog.c: Likewise.
+       * mips-tfile.c: Likewise.
+       * prefix.c: Likewise.
+       * protoize.c: Likewise.
+       * regmove.c: Likewise.
+       * toplev.c: Likewise.
+       * tree.c: Likewise.
+
+Wed Aug 26 05:09:27 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
+
+       * config/sparc/sparc.c (sparc_override_options): If not
+       TARGET_FPU, turn off TARGET_VIS.
+       * config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis.
+       (LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS.
+       * config/sparc/sparc.md (movsi_insn): Use fzeros not fzero.
+       (movdi_insn_sp64): Add VIS fzero alternative.
+       (clear_sf, clear_df): New VIS patterns.
+       (movsf, movdf expanders): Allow fp_zero_operand flat out when
+       TARGET_VIS.
+       (one_cmpldi2_sp64): Provide new fnot1 VIS alternative.
+
+Tue Aug 25 10:57:41 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * loop.c (n_times_set, n_times_used, may_not_optimize,
+       reg_single_usage): Convert to varrays.  All uses changed.
+       (insert_loop_mem): Return a value.
+       (scan_loop): Tweak AVOID_CC_MODE_COPIES code.
+       (load_mems_and_recount_loop_regs_set): Likewise.  Grow the arrays, if
+       necessary.
+
+Tue Aug 25 23:57:12 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * From Alexandre:
+       * configure.in: Do not set thread_file to "irix" since no such
+       support exists yet.
+
+       * sparc.md (float abs/neg splits): Check reload_completed before
+       calling alter_subreg.
+
+Tue Aug 25 19:17:59 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New
+       function.
+       * config/sparc/sparc.h: Declare it.
+       * config/sparc/sparc.md (float abs/neg splits): Use it.
+       (all other splits): Handle SUBREGs properly where necessary.
+       (unnamed (1<<x)-1 V8PLUS pattern): Disable for now.
+
+Tue Aug 25 19:48:46 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * expr.c (expand_call): Ignore args that have incomplete type.
+       * reorg.c (fill_simple_delay_slots): Do not abort if we encounter
+       an insn on the unfilled_slots_list that has no delay slots.
+       (fill_eager_delay_slots): Similarly.
 
-Fri Feb 10 02:26:02 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Aug 25 13:35:20 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * c-parse.y (case stmts): strip dummy NOP_EXPRs.
+       * config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
+       as an ordinary operand.
 
-       * reload1.c (reload_as_needed): Clear reg_{has,is}_output_reload here,
-       (choose_reload_targets): not here.
+Tue Aug 25 12:54:57 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-Thu Feb  9 01:35:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * tree.c (valid_machine_attribute): Don't apply attributes to both
+       decl and type.
 
-       * output-sparc.c (output_mul_by_constant): Forget cc status.
+Tue Aug 25 12:23:20 1998  Richard Henderson  <rth@cygnus.com>
 
-       * stmt.c (assign_parms): Don't put volatile parms in regs.
+       * reload.c (operands_match_p): Handle rtvecs.
 
-       * vax.md (jlbs/jlbc recognizers): Move them before jbc/jbs recognizers.
+       * i386.c (legitimate_pic_address_disp_p): New.
+       (legitimate_address_p): Use it.
+       (legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
+       Handle constant pool symbols just like statics.
+       (emit_pic_move): Use Pmode not SImode for clarity.
+       (output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
+       [UNSPEC]: New, handling what we killed above.
+       [PLUS]: Detect and abort on invalid symbol arithmetic.
+       * i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
 
-       * cse.c (fold_rtx): Handle (EQ (COMPARE ...) (CONST_INT 0)).
+Tue Aug 25 12:02:23 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * c-typeck.c (default_conversion, digest_init): For static const
-       nonvolatile scalar variable, use its initial value if known.
+       * alias.c: Include output.h.
+       (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
+       different if we're in a varargs function.
+       * Makefile.in (alias.o): Depend on output.h
 
-       * expr.c (expand_expr: case COMPONENT_REF): If containing structure
-       comes out volatile, leave the component MEM volatile too.
+Tue Aug 25 19:20:12 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * hard-reg-set.h: Fix multi-word case macros to swallow semicolon.
+       * sh.h (GIV_SORT_CRITERION): Delete.
 
-       * c-typeck.c (default_conversion): In array=>ptr, volatility
-       of target type comes from TREE_THIS_VOLATILE, not TREE_VOLATILE.
+Tue Aug 25 13:19:46 1998  Dave Brolley  <brolley@cygnus.com>
 
-       * reload1.c (forget_old_reload_1, choose_reload_targets):
-       New array reg_is_output_reload is converse of reg_has_output_reload.
-       forget_old_reload_1 needs both.
+       * regclass.c (regclass): Use xmalloc/free instead of alloca.
+       * stupid.c (stupid_life_analysis): Likewise.
+       * reload1.c (reload): Likewise.
 
-Wed Feb  8 01:26:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Aug 25 05:48:18 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
 
-       * reload1.c (forget_old_reloads_1): New fn, guts of forget_old_reloads.
-       Do process a spill reg if it isn't used for reloading in this insn.
-       (forget_old_reloads): Deleted, replaced with note_stores.
-       (reload_as_needed): Undo Feb 1 change.
-       Call forget_old_reloads_1 on pseudos autoincremented and not reloaded.
+       * config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
+       arith_double_4096_operand, arith_double_add_operand): New
+       predicates.
+       * config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
+       * config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
+       them to transform add/sub 4096 into add/sub -4096.
 
-       * c-typeck.c (convert_for_assignment): Handle variant types.
+Mon Aug 24 23:31:03 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * c-decl.c (lang_decode_option): -Wall implies -Wunused.
+       * loop.c (scan_loop): Allocate some slop to handle pseudos
+       generated by move_movables.
+       (load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
+       here too.
 
-Tue Feb  7 01:32:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Aug 24 19:45:40 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * combine.c (try_combine): Don't try adding outputs to an asm_operands.
+       * tree.def (DECL_RESULT): Correct documentation.
 
-       * cse.c (CHEAPER): Don't ever let a hard reg get ahead of a pseudo.
+Tue Aug 25 01:15:27 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * stmt.c (fixup_gotos): Don't crash on undef label if THISBLOCK is 0.
+       * reload1.c (reload_reg_free_before_p): New argument EQUIV;  Changed
+       all callers.  Abort for RELOAD_FOR_INSN.  RELOAD_FOR_OUTADDR_ADDR:
+       conflicts will all RELOAD_FOR_OUTPUT reloads.
 
-       * c-decl.c (parmlist_tags_warning): New fn.
-       * c-parse.y (parmlist, parmlist_or_identifiers): Call it,
-       to warn about any tags defined inside the parmlist.
-       * c-decl.c (grokparms): Don't warn about ptr to incomplete type.
-       The new warning is better.
+       * reload1.c (reload_cse_regs_1): When deleting a no-op move that
+       loads the function result, substitute with a USE.
 
-Mon Feb  6 01:11:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Aug 24 15:20:19 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * expr.c (store_constructor): Incorrect ALIGN arg in store_field calls.
+       * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
+       when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
+       (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
+       * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
+       (print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
+       * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
+       operand.
+       (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
+       'o' to 'm' for GPR variant constraints.
 
-       * c-parse.y (%union): Delete unused alternative.
+Mon Aug 24 10:25:46 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * c-decl.c (grokparms): Use main variant to test for ptr to incomplete.
+       * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
 
-       * c-decl.c (finish_enum): Delete superfluous init for `pair'.
+       * h8300.h (STRIP_NAME_ENCODING): Fix typo.
 
-       * cse.c (fold_rtx): Optimize X+0, X-0 in floating point.
-       Fix typo in PLUS case; omitted value to compare GET_MODE_CLASS against.
-       (equiv_constant): Allow CONST_DOUBLE.
+       * sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
+       when the source and destination overlap.
 
-       * cse.c: Optimize past if-statements that are known to fail.
-       (cse_insn): If condjump becomes uncond to end of this block,
-       set cse_skip_to_next_block.
-       (cse_basic_block): If that happens, ignore rest of block, and maybe
-       treat next block as part of this one (if tables have room).
-       Resume insn that starts next basic block to be scanned.
-       (cse_main): Make room for at least 500 qtys.
-       (cse_end_of_basic_block): Subroutine broken out of cse_main.
+       * stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
+       clash with global type.
 
-       * c-parse.y (hash, is_reserved_word): Rewrite: new hash technique.
+Mon Aug 24 00:53:53 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * c-decl.c (duplicate_decls): Be smart about proto vs nonproto mismatch
-       involving a function definition.
+       * fixinc.irix: Add curses.h handling from fixinc.wrap.
 
-Sun Feb  5 17:31:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * c-common.c (combine_strings): Also set TREE_READONLY.
+       Change warn_write_strings to flag_const_strings.
+       * c-decl.c, c-tree.h: Likewise.
 
-       * alliant.md (movdi): Typo in `fmoved'.
-       (ftruncsf2): Handle moving into fp reg.
+Sun Aug 23 18:39:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * jump.c (jump_optimize): Typo in testing PRESERVE_DEATH_INFO_REGNO_P.
+       * config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
+       CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
+       sequence, use SET/IOR instead so CSE can see it.
+       * config/sparc/sparc.md (movhi_const64_special,
+       movsi_const64_special): New patterns necessitated by that change.
+       (movhi_high): Remove.
+       (movhi_lo_sum): Change to match an IOR.
+       (movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
+       (movdf_insn_v9only): New pattern for when V9 but not ARCH64.
+       (movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
+       (movdf splits): Allow when not V9 or when not ARCH64 and integer
+       registers are involved.
+       (snesi_zero_extend split): Remove reload_completed test.
+       (unnamed plus and minus zero_extend sidi splits): Add it.
 
-       * reload1.c (choose_reload_targets): Move all death notes to the
-       output reload insn.
+Sun Aug 23 11:56:08 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * m68k.md (fix_truncsfsi2,fix_truncdfsi2): Use accurate rtl pattern.
+       * extend.texi: Remove description of extension to explicit
+       instantiation that is now endorsed by standard C++.
 
-       * loop.c (delete_insn_forces): Use presence of REG_RETVAL to check
-       for value-of-library-call insn.
+Sun Aug 23 09:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-Sat Feb  4 18:17:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/arc/arc.c (arc_initialize_pic): Remove.
+       * config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
+       nothing on any platform and is invoked by no-one, it does not even
+       appear in the documentation.
+       * config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
+       * config/sparc/sparc.c (initialize_pic): Likewise.
+       (find_addr_reg): Remove this as well, no longer referenced after
+       my rewrite.
 
-       * integrate.c (expand_inline_function): Make addresses of stack
-       slots valid somehow.
+Sun Aug 23 00:17:14 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * tm-3b1.h (DIVSI3_LIBCALL, etc.): Define these macros; avoid gnulib.
+       * recog.c (validate_replace_rtx_group): New function.
+       * recog.h (validate_replace_rtx_group): Declare it.
+       * regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
+       the entire group of substitutions.
 
-       * expmed.c (store_bit_field): Avoid (subreg (mem)) when converting
-       VALUE1 to SImode.
+Sat Aug 22 23:31:00 1998  Klaus-Georg Adams  (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
 
-       * jump.c (jump_optimize): Do delete USE and CLOBBER insns.
-       This is needed for proper jump optimization.
+       * loop.c (load_mems): Fix initializers.
 
-       * rtl.def (COMPARE): New code.
-       * *.md (compare and related patterns): Use COMPARE, not MINUS:VOID.
-       * loop.c (eliminate_biv, can_eliminate_biv_p): Likewise.
-       * cse.c (fold_rtx, fold_cc0, cse_insn):
-       * output-m88k.c (output_{f,}compare, output_store):
-       * output-sparc.c (strict_single_insn_op_p, single_insn_src_p, safe_insn_src_p):
-       * combine.c (subst):
-       * jump.c (jump_back_p):
+Fri Aug 21 23:07:46 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-Fri Feb  3 18:34:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/sparc/sparc.md (TFmode splits): Handle destination
+       registers being referenced in the address correctly.
 
-       * output-i386.c (notice_update_cc): If arith insn sets the cc's,
-       discard all remnants of previous cc value and flags.
+       * expmed.c (make_tree) [CONST_INT]: Sign extend even if
+       TREE_UNSIGNED, when bitsize of type's mode is larger than
+       HOST_BITS_PER_WIDE_INT.
 
-       * sparc.md (ashiftrt mem by 24): Fix typo `a1'.
+Fri Aug 21 19:31:31 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-Thu Feb  2 14:55:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
+       * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
+       EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
+       macros.
+       * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
+       EXIT_BLOCK_EXPR.
 
-       * output-sparc.c (output_mul_insn): Clear the CC status.
+Thu Aug 20 19:43:44 1998  Jeffrey A Law  (law@cygnus.com)
 
-Wed Feb  1 20:01:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * h8300.c (h8300_encode_label): Use '&' for tiny data items.
+       * h8300.h (TINY_DATA_NAME_P): Likewise.
+       (STRIP_NAME_ENCODING): Handle '&'.
 
-       * Version 1.33 released.
+       * mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
+       register (it could be accessed via an outer SUBREG).
+       (REG_OK_FOR_BASE_P): Likewise.
+       (GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
 
-       * reload1.c (reload_as_needed): On entering new basic block,
-       if it didn't need reload regs, forget all inherited contents of those.
+       * remove.c (optimize_reg_copy_3): Abort instead of silently generating
+       bogus rtl.
 
-       * tm-alliant.h (NOTICE_UPDATE_CC): Floating moves don't set the cc's.
-       Also delete the clauses and tests for FPA regs. 
+       * jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
 
-Tue Jan 31 21:51:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Aug 20 17:35:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * config.gcc: Handle convex-c1, convex-c2.
-       * tm-convex1.h, tm-convex2.h: New files that include tm-convex.h.
-       * tm-convex.h: Define switches -mnoc1, -mnoc2.
+       * config/sparc/sparc.md (movtf_insn_sp32): All memory operands
+       must be offsettable so the splits can be made.
 
-       * config.gcc: rename `nofp' to `nfp', to match the file names.
+Thu Aug 20 13:56:53 1998  Michael Meissner  <meissner@cygnus.com>
 
-Mon Jan 30 22:12:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/i386/winnt.c: Include system.h, not stdio.h to get
+       sys/param.h pulled in before rtl.h in case the system defines MIN
+       and MAX.
 
-       * output-sparc.c (output_delay_insn): Extract the operands,
-       call alter_subreg, constrain_operands and NOTICE_UPDATE_CC.
-       So callers other than output_eager_then_insn don't lose.
-       (output_eager_then_insn): No need to do that stuff.
+Thu Aug 20 13:44:20 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * symout.c (symout_block_symbols): Handle (MEM (REG)) for
-       variable-sized arrays.
+       * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
 
-       * tm-encore.h (ASM_SPEC): Always pass -j; avoid jump-range lossage.
+Thu Aug 20 13:15:11 1998  Dave Brolley  <brolley@cygnus.com>
 
-Sun Jan 29 17:06:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
+       arrays of bits.
+       * cpplib.c (cpp_define): Handle macros with parameters.
 
-       * alliant.md: Fix refs to CONST_DOUBLEs to use CONST_DOUBLE_{HIGH,LOW}.
+Wed Aug 19 21:33:19 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * combine.c (subst): (minus (zero_extend ...) (const_int ...)) opt.
-       now limited to within the context of (set (cc0) ...).
+       * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
+       (output_toc): Use single TOC slot or llong minimal-toc for DFmode
+       and DImode 64-bit.  Use llong for minimal-toc SFmode and
+       SYMBOL_REF / LABEL_REF 64-bit.
+       (output_function_profiler): Use llong for profiler label and ld to
+       load 64-bit label address.
 
-Sat Jan 28 14:26:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Aug 19 17:52:27 1998  Nick Clifton  (nickc@cygnus.com)
 
-       * cse.c (fold_cc0): Missing `&' extracting CONST_DOUBLEs.
-       (fold_rtx): Don't put CONST_DOUBLEs together into a (CONST (PLUS...)).
+       * config/arm/thumb.md (extendqisi2_insn): Cope with REG +
+       OFFSET addressing.
 
-       * output-convex.c (gen_cmp): Recognize CONST_DOUBLE as a constant.
+Wed Aug 19 14:13:31 1998  Jeff Law  (law@cygnus.com)
 
-       * tree.c (build_real_from_int_cst): Typo in REAL_ARITHMETIC case.
+       * version.c: Bump for snapshot.
 
-       * Makefile (bootstrap2): Don't use bootstrap3 as subroutine.
+Wed Aug 19 13:10:30 1998  Jeff Law  (law@cygnus.com)
 
-       * varasm.c (force_const_mem): Put the CONST_DOUBLE on the chain
-       if its MEM is stored in it; so it can be cleared at end of function.
+       * version.c: Bump for snapshot.
 
-       * stmt.c (emit_case_nodes): Put a compare before each cond-jump.
-       Two cond-jumps after one cond is invalid and makes cse produce garbage.
+Wed Aug 19 13:06:47 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-Fri Jan 27 01:05:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * collect2.c (extract_init_priority): Use atoi instead of strtoul.
 
-       * tm-sun2.h (CPP_SPEC): Define __HAVE_68881__ only if -m68881.
+Wed Aug 19 13:51:35 1998  Hans-Peter Nilsson  <hp@axis.se>
 
-       * c-decl.c (start_decl): Don't expand_decl if DECL already has rtl.
-       (grokparms): If just declaring fcn, incomplete parm type is just
-       a warning, and don't discard the specified type.
+       * tm.texi (Misc): Fix typo "teh".
 
-       * expmed.c (expand_divmod): Be smarter about not clobbering args
-       with intermediate results; one mem can clobber another, and a reg
-       can clobber a mem.
+       * tm.texi (PIC): Fix typo "PPIC".
 
-       * tm-i386.h (FUNCTION_PROFILER): Use LPREFIX.  May actually work now.
-       * tm-i386gas.h: Include tm-bsd386.h, not tm-att386.h.
-       This means changing asm syntax.
-       #undef DBX_NO_XREFS and DBX_CONTIN_LENGTH.
+       * tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
+       effect when -O2 and higher.
+       * invoke.texi (Optimize Options): Likewise for -fcaller-saves.
 
-       * sparc.md (eager branch peepholes): Don't forget 2nd arg to
-       safe_insn_src_p.
-       Don't print warnings.
-       * output-sparc.c: (strict_single_insn_op_p): Return 0 for floating
-       REG or MEM, since copying that may take 2 insns.
-       (operands_satisfy_eager_branch_peephole): require delay insn to
-       be strict_single_insn_op_p as well as safe_insn_src_p.
-       (operand_clobbered_before_used_after): Don't print warnings.
+1998-08-19  Michael Hayes  <michaelh@ongaonga.chch.cri.nz>
 
-       * varasm.c (decode_rtx_const): Clear entire structure incl. gaps.
-       Avoids spurious hash mismatches.
-       (force_const_mem): If CONST_DOUBLE, store its CONST_DOUBLE_MEM field.
-       Also look in that field rather than hashing, to save time.
+       * regclass.c: Changed register set documentation to be consistent
+       with GCC behavior.
 
-       * c-typeck.c (build_c_cast): If value is literal, mark NOP_EXPR as so.
-       (store_init_value): Change error msg.
+       * final.c (final_start_function): Removed redundant test for
+       call_fixed_regs.
 
-       * c-decl.c (duplicate_decls): Classify prototype vs nonprototype
-       mismatches better.
+Wed Aug 19 13:28:41 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * tm-3b1.h: Fix comment.
+       * rtl.h (rtx_function): New type.
+       (for_each_rtx): New function.
+       * rtlanal.c (for_each_rtx): Define it.
 
-Wed Jan 25 12:46:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * recog.c (change_t): New type.
+       (change_objects, change_old_codes, change_locs, change_olds):
+       Replace with ...
+       (changes): New variable.
+       (validate_change): Dynamically allocate room for more changes, if
+       necessary.  Uses changes array instead of change_objects, etc.
+       (apply_change_group): Use changes array instead of
+       change_objects, etc.
 
-       * Makefile (cleanlinks): Use -f.
+       * loop.c (loop_mem_info): New type.
+       (loop_mems): New variable.
+       (loop_mems_idx): Likewise.
+       (looop_mems_allocated): Likewise.
+       (scan_loop): Remove nregs parameter.
+       (next_insn_in_loop): New function.
+       (load_mems_and_recount_loop_regs_set): Likewise.
+       (load_mems): Likewise.
+       (insert_loop_mem): Likewise.
+       (replace_loop_mem): Likewise.
+       (replace_label): Likewise.
+       (INSN_IN_RANGE_P): New macro.
+       (loop_optimize): Don't pass max_reg_num() to scan_loop.
+       (scan_loop): Remove nregs parameter, compute it after any new
+       registers are created by load_mems.  Use INSN_IN_RANGE_P and
+       next_insn_in_loop rather than expanding them inline.  Call
+       load_mems to load memory into pseudos, if appropriate.
+       (prescan_loop): Figure out whether or not there are jumps from the
+       loop to targets other than the label immediately following the
+       loop.  Call insert_loop_mem to notice all the MEMs used in the
+       loop, if it could be safe to pull MEMs into REGs for the duration
+       of the loop.
+       (strength_reduce): Use next_insn_in_loop.  Tweak comments.
 
-Tue Jan 24 17:54:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Aug 19 08:29:44 1998  Richard Earnshaw  (rearnsha@arm.com)
 
-       * cse.c (canon_hash): Fix paren error in last change.
+       * arm.c (arm_override_options): Remove lie about ignoring PIC flag.
 
-       * varasm.c (immed_real_const_1): Missing arg to bcmp.
+Wed Aug 19 07:08:15 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-Mon Jan 23 02:43:45 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * config/sparc/sparc.c (finalize_pic): Check for the correct
+       nonlocal_goto_receiver UNSPEC number.
+       * config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
+       making note of this dependency existing in sparc.c.
+       (negtf2_notv9 split): Give NEG SFmode.
+       (negsf2): Fix insn output string.
 
-       * stor-layout.c (layout_type): BLKmode elts force array to be BLKmode.
+Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>
 
-       * genpeep.c, genoutput.c, genemit.c: Put `#include "real.h"' in output.
+       * c-common.c (decl_attributes): Issue an error if the argument
+       to alias is not a string.
 
-       * stmt.c (expand_expr_stmt): No "no effect" warning for error-mark.
+Tue Aug 18 10:33:30 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * varargs.h: Rename implicit arg name to __builtin_va_alist
-       which triggers code in assign_parms.  Does this really matter?
+       * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
+       pending memory flush list.
 
-       * sparc.md (sne): New define_expand.
-       (seq recognizers): Handle sne as well.
-       * output-sparc.c ({strict_,}single_insn_src_p):
-       Some NEG and MINUS insns are actually 2 asm insns.
-       (safe_insn_src_p): No floating arith is safe; they can trap.
-       (eq_or_neq): New fn, for seq/sne recognizers.
+       * combine.c (can_combine_p): Allow combining insns with REG_RETVAL
+       notes.
+       (try_combine): Allow combining insns with REG_LIBCALL notes.
 
-       * c-decl.c (grokdeclarator, size of array type):
-       Strip from SIZE any NOP_EXPRs that don't change anything.
+       * expr.c (emit_block_move): Do not call memcpy as a libcall
+       instead build up a CALL_EXPR and call it like any other
+       function.
+       (clear_storage): Similarly for memset.
 
-       * reload.c, recog.c: Include real.h so constraint macros can examine
-       CONST_DOUBLEs.
+       * regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
+       on notes.
 
-Sun Jan 22 04:12:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * Makefile.in (cplus-dem.o): Provide explicit rules for building
+       cplus-dem.o.
 
-       * c-decl.c (init_decl_processing): Define __builtin_saveregs.
-       * tree.h: likewise.
-       * expr.c (expand_builtin): Handle it.
+       * regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
+       and REG_LIVE_LENGTH as successful substitutions are made.
 
-       * tm-sparc.h: Define TARGET_EAGER and -meager.
-       * sparc.md (eager branch peepholes): Reenable, but test TARGET_EAGER.
-       Change fb insns to use %F.  Delete `,a' from some of them.
-       * jump.c (jump_optimize): Don't delete USE and CLOBBER insns.
+Tue Aug 18 07:15:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * xm-vms.h (const): Define it as empty.
+       * config/sparc/sparc.c (ultra_find_type): Add empty semicolon
+       statement after end of loop label.
 
-       * make-cccp.com: Move the rename of cexp_tab.c.
-       Compile cccp.c with no macro definitions.
+Tue Aug 18 07:13:27 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * cccp.c (main): VMS conditional for setting max_include_len.
+       * config/sparc/sparc.c (ultra_types_avail): New variable.
+       (ultra_build_types_avail): New function to record mask of insn
+       types in ready list at this cycle.
+       (ultrasparc_sched_reorder): Call it.
+       (ultra_find_type): Use it to quicken the search.  Also simplif
+       dependency check, don't use rtx_equal_p because we know exactly
+       what we are looking for.
 
-Sat Jan 21 12:53:00 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Tue Aug 18 03:20:53 1998  Richard Earnshaw  (rearnsha@arm.com)
 
-       * varargs.h (va_start): On sparc, call __builtin_saveregs.
-       Delete the old conditional that used va-sparc.h.
-       Rename macros and locals to start with two underscores.
-       * va-sparc.h: File deleted.
+       * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
+       for architecture v4.
 
-       * c-decl.c (store_parm_decls): Initialize OTHERS.
+Mon Aug 17 21:26:38 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * stmt.c (assign_parms): Obey layout_decl.
+       * config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
+       gen_compare_reg.
+       (movsf_const_intreg, movsf_const_high, movsf_const_lo,
+       movdf_const_intreg and helper splits): New patterns to move float
+       constants into integer registers.
+       (negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
+       splits.
 
-Fri Jan 20 02:19:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Mon Aug 17 11:46:19 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * cse.c (fold_rtx): For SYMBOL_REF and LABEL_REF, mask address
-       to 16 bits.
+       * From Graham
+       * tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
+       to itype.
+       * c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
 
-       * tree.h (NUM_TREE_CODES): NUM_TREE_CODE renamed.
+       * rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
+       a BASE_REGS register is needed as an intermediate when copying
+       a symbolic value into any register class other than BASE_REGS.
 
-Thu Jan 19 13:53:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * expr.c (move_by_pieces): No longer static.  Remove prototype.
+       * rtl.h (move_by_pieces): Add extern prototype.
+       * mips.c (expand_block_move): Handle aligned straight line copy by
+       calling move_by_pieces.
 
-       * c-typeck.c (mark_addressable): For global reg var, report error.
-       Now returns an int; value of 0 means caller should fail.
-       All calls (in this file) changed.
+       * expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
+       and VAR_DECLs.
 
-       * stor-layout.c (layout_decl): Don't let an more than 1 word
-       of any aggregate go in any 1 register.  (Needed for machines whose
-       integer regs are 64 bits).
+Mon Aug 17 10:28:52 1998  Mark Mitchell  <mark@markmitchell.com>
 
-       * tm-convex.h, xm-convex.h, convex.md, output-convex.c: new files.
+       * stmt.c (expand_end_loop): Tidy.  Allow unconditional
+       jumps out of the loop to be treated as part of the exit test.
 
-       * expr.c (convert_move): Use extendqidi2, etc. for converting
-       small ints to double ints.  Use zero_extendsidi2 rather than
-       clearing the high half.
+Mon Aug 17 10:06:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+                         Jeff Law  <law@cygnus.com>
 
-Wed Jan 18 01:20:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
+       * cplus-dem.c: Delete.
 
-       * varasm.c (make_decl_rtl): If global `register' decl is invalid,
-       make ordinary non-register rtl.
+       * Makefile.in (fold-const.o): Depend on $(RTL_H).
 
-       * output-sparc.c (operand_clobbered_before_used_after): new fn.
-       (reg_clobbered_p, safe_insn_src_p): New fns.
-       (single_insn_src_p): Treat constants all as ok, even though not
-       always literally so.  Also accept some SIGN_EXTENDs and ZERO_EXTENDs.
-       (strict_single_insn_src_p): New fn, like above but is strict
-       about constants and constant memory addresses.
-       (relop): New fn.
-       (output_move_double): Don't make a MEM, and don't use %m.
-       (output_delayed_branch): New name for output_delay_insn.
-       Now handle non-small constant operands.
-       Avoid duplicate loads of g1 for constant addresses.
-       Use recog_operand directly for output of the delay insn.
-       (output_delay_insn): Now a completely new fn.
-       (output_eager_then_insn, next_real_insn_no_labels): New fns.
-       (operands_satisfy_eager_branch_peephole): New fn.
+       * fold-const.c: Include rtl.h to get the prototype for
+       `set_identifier_local_value'.
 
-       * sparc.md: New peepholes for testing a recently used operand.
-       New peepholes for delayed branches, incl. conditional ones.
-       ** Some of them commented out because they seem not to work.
-       (andcc recognizer): Fix typo, missing %.
-       (bgt): Change bgt to bg in output.
-       (reversed jumps): Replace with one pattern using match_operand.
-       It uses %F to output the condition.
-       (movsi): For round-valued immed const, use just a sethi.
-       For other immed, use explicit sethi and or.
-       (movhi, movqi): use `move' for reg source or small int source.
-       For other immed, use explicit sethi and or.
-       (movsi, etc.):  Handle all constant addresses like SYMBOL_REFs.
-       (movsf): Delete never-used duplicate code for constant addresses.
-       (addsi3, subsi3, cse'd multiply): Use sethi and or, rather than set.
-       (andsi3, iorsi3, xorsi3): Likewise.
-       (jump): Make an annulled branch.
+       * loop.c (express_from_1): Remove unused variable `tmp'.
+       (combine_givs): Cast the first argument of bzero to char *.
 
-       * tm-sparc.h (PROMOTE_PROTOTYPES): Define this.
-       (GO_IF_LEGITIMATE_ADDRESS): Now accept all constant addresses;
-       also cleaned up.
-       (NOTICE_UPDATE_CC): Don't change the G1 status when storing in memory.
-       Assume all PARALLEL insns are peepholes.
-       (PRINT_OPERAND): New codes C and N for outputting conditions,
-       either forward or reversed.  Also F for reversed floating.
+       * toplev.c (display_help): Remove unused variable `looking_for_start'.
 
-       * jump.c (delete_for_peephole): New function to delete range of insns.
-       * genpeep.c (gen_peephole): Output code to use this.
+       * c-decl.c (init_decl_processing): Remove unneeded &.
 
-       * Makefile (install): Fix typo, had $${name} for $${file}.
+       * alpha.h (alpha_initialize_trampoline): Provide prototype.
 
-Tue Jan 17 00:00:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * except.c (set_exception_lang_code, set_exception_version_code):
+       Change parameter from `short' to `int' to avoid using a gcc
+       extension.
 
-       * i386.md (ashlsi3): Use addl or leal for special cases.
+       * except.h (set_exception_lang_code, set_exception_version_code):
+       Likewise for prototypes.
 
-       * c-decl.c (grokdeclarator): Make a non-global VAR_DECL public
-       if it is external.
+       * flow.c (count_reg_references): Remove unused variables `regno'
+       and `i'.
 
-       * masm386.c: Clean up formatting.
+       * gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
 
-       * cse.c (fold_rtx): Typo simplifying x|0 or x^0
-       when the 0 comes second.
+       * prefix.c (translate_name): Cast the result of `alloca'.
 
-       * expmed.c (store_fixed_bit_field): For halfwords, verify that
-       the field fits in an *aligned* halfword.
-       (extract_fixed_bit_field): likewise.
+       * varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
 
-       * expmed.c (store_split_bit_field): New arg align, passed in from
-       store_fixed_bit_field and passed back to it.
-       (extract_split_bit_field): likewise.
+Mon Aug 17 09:23:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
 
-       * expr.c: Reinsert changes from Jan 2, mysteriously deleted Jan 3.
-       Also changes from Dec 23, Dec 28 and Dec 29.
+       * config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
+       Include "toplev.h".
+       (valid_dbcc_comparison_p): Mark mode argument as unused.
+       (symbolic_operand): Likewise.
+       (legitimize_pic_address): Likewise.
+       (const_uint32_operand): Likewise.
+       (const_sint32_operand): Likewise.
+       * sched.c [!INSN_SCHEDULING]: Define only dummy function
+       schedule_insns and comment out rest of file.
 
-       * tm-i386.h: Likewise for changes from Dec 30.
+       * m68k.c (output_move_simode_const): Use subl to move a zero into an
+       address register.
+       (output_move_[hq]imode): Likewise.
 
-       * c-typeck.c (build_component_ref): If field's type is error-mark,
-       return an error-mark.
+Mon Aug 17 09:15:47 1998  Jeffrey A Law  (law@cygnus.com)
 
-Mon Jan 16 14:16:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
+       * invoke.texi: Corresponding changes.
 
-       * genpeep.c (main): Output code to exit early if insn is followed
-       by a barrier.
-       (gen_peephole): Reject barriers just like labels.
+Mon Aug 17 02:03:55 1998  Richard Henderson  <rth@cygnus.com>
 
-       * stmt.c (do_jump_if_equal): New arg UNSIGNEDP, for emit_cmp_insn.
-       Caller changed.  Now static.
+       * regclass.c (allocate_reg_info): Respect MIN when clearing data.
 
-       * final.c (final): Set INSN_DELETED_P in insns when output.
+Sun Aug 16 17:37:06 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * final.c (final): Re-set BODY if peephole does anything.
+       * config/sparc/sparc.c (ultra_code_from_mask,
+       ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
+       ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
+       ultrasparc_sched_init, ultrasparc_variable_issue,
+       ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
+       functions to describe UltraSPARC pipeline exactly to Haifa.
+       (ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
+       as there is nothing the scheduler can do about it.  Indicate that
+       REG_DEP_OUTPUT's collide.  Fixup formatting.
+       * config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
+       divide costs on Ultra for DImode.
+       (MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
+       Define.
+       * config/sparc/sparc.md (ieu_unnamed function unit): Rename to
+       ieuN and add call_no_delay_slot to type list.
+       (cti function unit): New unit for branches on UltraSPARC.
+       (subx/addx insns): Set type to misc.
+       (sidi zero/sign extension insns on arch64): Set type to shift.
+       (sign_extendhidi2_insn): Set type to sload.
 
-       * c-decl.c (grokparms): Ignore anything but PARM_DECLs in the list.
-       (store_parm_decls): If we had a prototype, separate out anything other
-       than a PARM_DECL declared in it, and pushdecl those at the end,
-       after DECL_ARGUMENTS is set.
+Sun Aug 16 13:52:00 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * stmt.c (expand_end_case): Do stack adjusts after computing index.
+       * rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
+       (output_epilog): Use if != 0 for offset.
+       (rs6000_fatal_bad_address): Prepare for Intl.
+       * rs6000.h (rs6000_fatal_bad_address): Declare.
+       * rs6000.md (movsfcc, movdfcc): Use else if.
+       (elf_high): Use {liu|lis}.
+       (elf_low): Use {cal|la}.  Remove %a template from old mnemonics.
+       (movsi): Use rs6000_fatal_bad_address.
 
-       * expr.c (store_one_arg): Handle padding for case of BLKmode
-       for which space was preallocated.
+Sun Aug 16 01:53:21 1998  Richard Henderson  <rth@cygnus.com>
 
-       * integrate.c (copy_rtx_and_substitute): When copying asm insn,
-       preserve sharing of the input-operand vectors.
-       (expand_inline_function): Clear {orig,copy}_asm_operands_vector
-       to make that mechanism work.
-       (save_for_inline, copy_for_inline): Likewise.
+       * reload.c (find_equiv_reg): Reject equivalences separated
+       by a volatile instruction.
 
-       * stmt.c (expand_asm_operands): Reject `+' in constraints.
-       Every output constraint requires `='; inputs reject it.
+Sun Aug 16 00:21:44 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
-       * stmt.c (expand_function_end): Arg to fixup_gotos was missing.
+       * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
 
-Sun Jan 15 00:28:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sat Aug 15 20:51:35 1998  Richard Henderson  <rth@cygnus.com>
 
-       * cccp.c, gcc.c (main): Handle SIGPIPE.
-       (pipe_closed): New fn; report suitable fatal error.
+       * alpha.md (movsicc): Fix mode mismatch.
 
-       * loop.c (loop_optimize): Initialize moved_once.
+Sat Aug 15 20:22:33 1998  H.J. Lu  (hjl@gnu.org)
 
-       * gcc.c (do_spec): Don't call `execute' if value != 0.
-       Delete redundant second call to do_spec_1.
+       * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
+       return type.
+       * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
 
-       * toplev.c (compile_file): Make declared-but-not-defined warnings
-       only if -Wunused.
+Sat Aug 15 08:39:49 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * stmt.c (emit_case_nodes): Fix typo setting gen_ble_pat.
+       * config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
+       write-only modifier from operand 1 constraint.
 
-       * tm-sparc.h ({U,}MODSI3_LIBCALL): Name was wrong.
+Sat Aug 15 06:28:19 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * gcc.c (env_exec_prefix refs): Don't try to open via it if it's null.
+       * config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
+       emitting a XOR of -1 at the end, emit a NOT instead for combine's
+       sake.
+       (sparc_emit_set_const64): Likewise, also when computing trailing
+       bits do not negate low_bits and make fast_int an int.
 
-       * output-sparc.c (output_store, output_load_{fixed,floating}):
-       Fixed confusions between the mem ref and its address.
+Fri Aug 14 21:07:03 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * cse.c (canon_hash): global_regs has entries only for hard regs.
-       * flow.c (insn_dead_p, mark_set_p, mark_used_regs): Likewise.
+       * loop.c (add_label_notes): Do not ignore references to labels
+       before dispatch tables.  Mirrors Apr 8 change to mark_jump_label.
+       * gcse.c (add_label_notes): Similarly.
 
-       * cse.c (fold_rtx): More simplifications for MULT, IOR, AND, XOR
-       DIV and shifts with one arg 0 or 1.
+       * pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
 
-Sat Jan 14 11:41:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * m68k.md (adddi_dilshr32): One of the operands must be a register.
+       (adddi_dishl32): Similarly.
 
-       * c-typeck.c (build_array_ref): If pedantic, check for regdecl arrays.
+Fri Aug 14 14:12:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * fixincludes: Make all subdirs in advance, so no need for `dirname'.
+       * i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
+       * alias.c (memrefs_conflict_p): Add braces to shut up warnings.
+       * cse.c (cse_basic_block): Add parens to shut up warnings.
 
-       * genpeep.c (gen_peephole): Delete code to increment LABEL_NUSES;
-       instead, clear JUMP_LABEL for any jumps being deleted.
-       No need to test INSN1 for being a label, since not called then.
-       [If any of the matched insns is a JUMP_INSN, set want_jump,
-       and in that case make the matched peephole a JUMP_INSN itself.]
-       That's in an #if 0 now; it's good in jump, but not in final.
+Fri Aug 14 12:58:21 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * jump.c (jump_optimize): Don't do peepholes here.
-       * final.c (final): Do them here.
+       * config/sparc/sparc.c (sparc_emit_set_const64_quick2,
+       sparc_emit_set_const64_longway, const64_is_2insns,
+       create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
+       in 64-bit constant formation.
+       * config/sparc/sparc.md (snesi_zero_extend split): Generate
+       rtl for addx not subx.
+       (define_insn movdi_const64_special): Make available even when
+       HOST_BITS_PER_WIDE_INT is not 64.
+       (movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
+       (losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
+       (cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
+       instances of operand 1 inside a QI subreg.
+       (xordi3_sp64_dbl): Remove '%' constraint for op1.
+       (one_cmpldi2_sp64): Fix output string.
+       (one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
+       alternative case.
+       (unnamed arch64 ashift DI): Truncate shift count if greater than
+       63, not 31.
 
-       * jump.c (jump_optimize): In optimizing `if (foo) bar; else break;',
-       don't try to invert anything but a standard-looking conditional jump.
+Fri Aug 14 21:52:53 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
 
-       * jump.c (jump_optimize): Do peepholes on ALL BUT the first pass.
+       * expr.c (store_expr): Don't optimize away load-store pair
+       when either source or destination have a side effect.
 
-       * gcc.c (env_exec_prefix): New var used like user_exec_prefix
-       but set from envvar GCC_EXEC_PREFIX.
+Fri Aug 14 16:50:10 1998  John Carr  <jfc@mit.edu>
 
-Fri Jan 13 13:21:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * genrecog.c (add_to_sequence): Fatal error if the modes of the
+       operands of SET are incompatible.
 
-       * genpeep.c (gen_peephole): Test INSN1 for a label at the very start,
-       then test following insns at the end of the loop.
+       * alpha.md: Fix max and min patterns so modes of SET operands match.
 
-       * sparc.md (call recognizers): do CC_STATUS_INIT, for %g1.
+Fri Aug 14 12:22:55 1998  Ian Lance Taylor  <ian@cygnus.com>
 
-Thu Jan 12 02:13:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * configure.in: Avoid [[ by using test and changequote.
+       * configure: Rebuild.
 
-       * varasm.c (make_decl_rtl): Recognize more error cases for reg vars:
-       BLKmode, or initializer given.
-       Distinguisn missing asm from invalid name.
+Fri Aug 14 01:22:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * expr.c (expand_call): Never return 0; return const0_rtx instead.
-       This makes expand_expr more uniform.
+       * rtl.def (CONSTANT_P_RTX): Fix typo in string name.
 
-       * c-decl.c (grokparms): For ptr to incomplete type, just warn;
-       don't change the parm's type.
+       * config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
+       seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
+       split, snedi_zero_trunc and split, seqsi_zero_extend and split,
+       seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
+       movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
+       split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
+       Fix mismatching modes in SET operands.
+       (conditional move patterns): Fix formatting.
+       (unnamed subx arch64 pattern): Remove duplicate insn.
 
-       * stmt.c (expand_return): Set RETVAL_RHS so as to recognize
-       tail-recursive fcn returning void.
-       Unconditionally test value of expand_expr for being a REG.
+Fri Aug 14 00:34:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * reload.c (find_reloads): Don't process insns that have
-       no constraint alternatives.  No more need for have_constraints.
+       * config/sparc/sparc.c (const64_operand, const64_high_operand):
+       Get it right when HOST_BITS_PER_WIDE_INT is not 64.
+       (input_operand): Fixup test for what we accept for constant
+       integers.
+       (sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
+       set VOIDmode.
+       (safe_constDI): Remove.
+       (sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
+       gen_safe_XOR64): New functions.
+       (sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
+       sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
+       them.
+       * config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
+       available when HOST_BITS_PER_WIDE_INT is not 64.
+       (define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
+       move before movdi_insn_sp64 pattern.
+       (define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
+       (define_insn sethi_di_medlow, seth44, setm44, sethh): Use
+       symbolic_operand as predicate for second operand.
+       (DImode minus split on arch32, negsi2 expander, one_cmplsi2
+       expander): Give set VOIDmode.
 
-       * recog.c (constrain_operands): New local var nalternatives.
-       Don't bother checking the insn if nalternatives is 0.
+Fri Aug 14 01:45:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
 
-Wed Jan 11 01:27:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
 
-       * Implement global register decls.
+Fri Aug 14 01:40:21 1998  Geoffrey Keating  <geoffk@ozemail.com.au>
 
-       * varasm.c (make_decl_rtl): Handle global register vars.
-       (make_function_rtl): Set function_defined: after 1st function dfn.
-       (assemble_variable): Ignore global register vars.
+       * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
 
-       * c-decl.c (grokdeclarator): Don't reject global register decls.
-       (builtin_function): Use make_decl_rtl, not make_function_rtl,
-       to avoid setting function_defined.
+Fri Aug 14 01:23:23 1998  Richard Earnshaw  (rearnsha@arm.com)
 
-       * regclass.c (init_reg_class{,_1}): Init and process global_regs.
-       They are fixed, and call-clobbered.
+       * arm/netbsd.h (TARGET_DEFAULT): Default includes software floating
+       point.
+       (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
 
-       * flow.c (insn_dead_p): Storing one of global_regs is never dead.
-       (mark_used_regs, mark_set_1): A global reg is never dead.
+Fri Aug 14 01:19:08 1998  Robert Lipe  <robertl@dgii.com>
 
-       * cse.c (canon_hash): Consider global regs volatile.
+       * install.texi: Various SCO OpenServer tweaks.
 
+Thu Aug 13 20:14:40 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * expr.c (do_jump): Know how to invert jumps which are sequences.
+       * reload1.c (eliminate_regs_in_insn): Handle another case when
+       eliminating the frame pointer to the hard frame pointer.  Add
+       missing ep->to_rtx check to one existing case.
 
-       * dbxout.c, symout.c, final.c: On USG, use our own stab.h.
+       * mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
 
-       * tm-i386gas.h: New file for GAS on sysV (with DBX debugging info).
+Thu Aug 13 17:08:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * m68k.md (bfchg and bfins patterns): Make # alternatives uniform.
-       * alliant.md: Likewise; also in movdf patterns.
+       * tree.h: De-conditionalize init_priority code.
 
-       * genoutput.c (output_epilogue): Spurious `break' disabled
-       error check for mismatched # of alternatives.
-       (output_epilogue, scan_operands): Errors in input are not fatal.
+       * mips.h (NM_FLAGS): Change from -Bp to -Bn.
+       * collect2.c (NM_FLAGS): Change from -p to -n.
 
-       * flow.c (regno_uninitialized): Avoid crash if no basic blocks.
+       * configure.in: Turn on collect2 for mipstx39-elf.
+       Handle use_collect2=no properly.
 
-       * sparc.md (move insns): Delete special patterns that handled
-       symbolic constant addresses.  The main move patterns now do this.
-       * output-sparc.c (output_store, output_load_{fixed,floating}):
-       Subroutines to do the work for this; has the code from those
-       special patterns.  Also fixed bugs in testing against cc_status.mdep.
+       * c-common.c: De-conditionalize init_priority code.
+       * collect2.c (extract_init_priority, sort_ids): New fns.
+       (main): Call sort_ids.
+       Move sequence_number to file scope.
 
-       * output-sparc.c (output_delay_insn): Clear the CC status.
-       This is necessary for %g1 in the case of a call insn.
+       * configure.in: Handle --enable-init-priority.
+       * c-common.c (attrs): Add A_INIT_PRIORITY.
+       (init_attributes, decl_attributes): Likewise.
+       * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
+       * tree.c (get_file_function_name_long): Split out...
+       (get_file_function_name): ...from here.
 
-       * tm-i386.h (REG_CLASS_CONTENTS): INDEX_REGS is now all but ESP.
-       (REGNO_REG_CLASS): Corresponding change.
-       (REG_CLASS_FROM_LETTER): Eliminate `x' letter since not used.
+Thu Aug 13 16:09:53 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
 
-       * optabs.c (emit_cmp_insn): New arg ALIGN, used for BLKmode.
-       All callers changed.
-       Pass alignment (as rtx) as 4th arg to cmpstr gen functions.
-       Use cmpstrhi if available.
-       * expr.c (compare): Only this call passes a nonzero ALIGN.
+       * expr.c (safe_from_p): Change code to ERROR_MARK only when not
+       accessing nodes.
+
+Thu Aug 13 15:24:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * toplev.c (display_help): Add braces to shut up warnings.
+       * tree.c (simple_cst_equal): Likewise.
+
+       * fold-const.c (non_lvalue): Don't deal with null pointer
+       constants here.
+       (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
+
+       * c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
+       of any size to a pointer.
+
+Thu Aug 13 12:53:13 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
+
+Wed Aug 12 17:25:18 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
+       which will be saved.
+       * mn10300.md (prologue insn): Only save registers which need saving.
+       (epilogue insn): Similarly.
+
+       * mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
+       optimizations.
+
+Wed Aug 12 12:39:16 1998  Gavin Romig-Koch  <gavin@cygnus.com>
+
+       * mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
+       VAR_DECL's in gp addressable sections.
+
+Tue Aug 11 23:02:31 1998  John Carr  <jfc@mit.edu>
+
+       * sparc.c: Change return <exp> to <exp>; return; in functions
+       returning void.
+       * sparc.md: Add empty semicolon statement after final label in
+       move expanders.
+
+Tue Aug 11 22:42:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.md (define_insn addx_extend): Rename to
+       addx_extend_sp64, only allow when TARGET_ARCH64.
+       (define_insn addx_extend_sp32 and split): Version that works when
+       not TARGET_ARCH64.
+       (define_insn subx_extend): Likewise.
+       (define_split adddi3 and subdi3 with zero extension): Fixup and
+       correct bugs when not TARGET_ARCH64.
+
+Tue Aug 11 16:04:34 1998  John Carr  <jfc@mit.edu>
+
+       * except.c (set_exception_lang_code, set_exception_version_code):
+       Use prototype-style definition if __STDC__, to match declaration
+       in except.h.
+
+       * genemit.c: Change FAIL and DONE macros not to use loops.
+
+Tue Aug 11 12:27:03 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
+       ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
+
+       * mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
+
+Tue Aug 11 18:12:53 1998  Dave Love  <d.love@dl.ac.uk>
+
+       * README.g77: Update from Craig.
+
+Tue Aug 11 04:46:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
+       type HOST_WIDE_INT.
+       (safe_constDI sparc_emit_set_const64_quick1,
+       sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
+       analyze_64bit_constant, const64_is_2insns,
+       create_simple_focus_bits): Fix some bugs when compiled on real
+       64-bit hosts.
+       (function_arg_record_value_3, function_arg_record_value_2,
+       function_arg_record_value): Add fully prototyped forward decls.
+       * config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
+       to cmpsi_insn and use on both 64 and 32 bit targets.
+       (define_insn cmpsi_insn_sp64): Remove.
+       (define_expand zero_extendsidi2): Allow for 32-bit target too.
+       (define_insn zero_extendsidi2_insn): Rename to
+       zero_extendsidi2_insn_sp64.
+       (define_insn zero_extendsidi2_insn_sp32): New pattern and
+       associated forced split for it.
+
+       * config/sparc/sparc.c (const64_operand, const64_high_operand):
+       New predicates.
+       * config/sparc/sparc.h: Declare them.
+       (PREDICATE_CODES): Add them.
+       * config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
+       movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
+
+Mon Aug 10 22:57:24 1998  John Carr  <jfc@mit.edu>
+
+       * config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
+       in v9 case as the latter makes the Solaris assembler crash.
+
+Mon Aug 10 22:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
+       for TFmode when !v9.  We require offsettable memory addresses.
+       * config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
+       DFmode register number conversions.
+       * config/sparc/sparc.md (define_split DFmode moves): If register
+       is a SUBREG do alter_subreg on it before using.
+       (define_expand movtf): Fixup comment about alignment on v9.
+       (define_split TFmode moves): Don't use gen_{high,low}part, create
+       explicit SUBREGs instead.
+
+Mon Aug 10 19:02:55 1998  John Carr  <jfc@mit.edu>
+
+       * Makefile.in (mbchar.o): Depend on mbchar.c.
+
+Mon Aug 10 04:28:13 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+                         Richard Henderson  <rth@cygnus.com>
+
+       Rewrite Sparc backend for better code generation and
+       improved sparc64 support.
+       * config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
+       zero.
+       * config/sparc/sysv4.h: Likewise.
+       * config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
+       move_operand, v8plus_regcmp_op, emit_move_sequence,
+       singlemove_string, doublemove_string, mem_aligned_8,
+       output_move_double, output_move_quad, output_fp_move_double,
+       move_quad_direction, output_fp_move_quad, output_scc_insn):
+       Remove.
+       (small_int_or_double): New predicate.
+       (gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
+       (legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
+       old pic_{sethi,lo_sum}_si patterns.
+       (mem_min_alignment): New generic function to replace
+       mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
+       available and can test for arbitrary alignments.  All callers
+       changed.
+       (save_regs, restore_regs, build_big_number,
+       output_function_prologue, output_cbranch, output_return,
+       sparc_flat_save_restore, sparc_flat_output_function_prologue,
+       sparc_flat_output_function_epilogue): Prettify
+       insn output.
+       (output_function_epilogue): Likewise and add code to output
+       deferred case vectors.
+       (output_v9branch): Likewise, add new arg INSN and use it to tack
+       on branch prediction settings.  All callers changed.
+       (print_operand): Likewise and output %l44 for LO_SUMs when
+       TARGET_CM_MEDMID.
+       (sparc_splitdi_legitimate): New function to make sure DImode
+       splits can be run properly when !arch64.
+       (sparc_initialize_trampoline, sparc64_initialize_trampoline):
+       Reformat example code in comments.
+       (set_extends): Remove UNSPEC/v8plus_clear_high case.
+       (sparc_addr_diff_list, sparc_addr_list): New statics to keep track
+       of deferred case vectors we need to output.
+       (sparc_defer_case_vector): Record a case vector.
+       (sparc_output_addr_vec, sparc_output_addr_diff_vec,
+       sparc_output_deferred_case_vectors): New functions to output them.
+       (sparc_emit_set_const32): New function to form 32-bit constants in
+       registers when that requires more than one instruction.
+       (safe_constDI, sparc_emit_set_const64_quick1,
+       sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
+       analyze_64bit_constant, const64_is_2insns,
+       create_simple_focus_bits, sparc_emit_set_const64): New functions
+       which do the same for 64-bit constants when arch64.
+       (sparc_emit_set_symbolic_const64): New function to emit address
+       loading for all code models on v9.
+       * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
+       %g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
+       (ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
+       (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
+       inaccuracies in comments, add symbolic and text_segment operands
+       when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively.  Use
+       GENERAL_REGS in these cases as a temp REG is needed to load these
+       addresses into a register properly.
+       (EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
+       is no longer used.
+       (GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
+       quads are guaranteed to have 16-byte alignment.
+       (LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
+       copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
+       (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
+       deferred case vector implementation.
+       (ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
+       (ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
+       Generate "internal label - label" instead of "label - 1b".
+       (PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
+       (PREDICATE_CODES): Remove sparc_operand, move_operand,
+       v8plus_regcmp_op.  Add small_int_or_double, input_operand, and
+       zero_operand.
+       (doublemove_string, output_block_move, output_fp_move_double,
+       output_fp_move_quad, output_move_double, output_move_quad,
+       output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
+       sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
+       (sparc_emit_set_const32, sparc_emit_set_const64,
+       sparc_emit_set_symbolic_const64, input_operand, zero_operand,
+       mem_min_alignment, small_int_or_double): Add externs.
+       * config/sparc/sparc.md: Document the many uses of UNSPEC and
+       UNSPEC_VOLATILE in this backend.
+       (define_function_unit ieu): Rename to ieu_unnamed.  Add move and
+       unary to types which execute in it.
+       (define_function_unit ieu_shift): Rename to ieu0.
+       (define_function_unit ieu1): New, executes compare, call, and
+       uncond_branch type insns.
+       (define_function_units for type fdivs, fdivd, fsqrt): These
+       execute in the fpu multiply unit not the adder on UltraSparc.
+       (define_expand cmpdi): Disallow TARGET_V8PLUS.
+       (define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
+       (define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
+       allows the arith_double_operand predicate and rHI constraint when
+       TARGET_ARCH64.
+       (define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
+       cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
+       neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
+       sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
+       sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
+       movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
+       movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
+       movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
+       movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
+       cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
+       sign_extendqihi2_insn, sign_extendqisi2_insn,
+       sign_extendqidi2_insn, sign_extendhidi2_insn,
+       extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
+       trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
+       floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
+       fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
+       adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
+       subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
+       muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
+       const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
+       smulsi3_highpart_v8plus, unnamed subreg mult,
+       const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
+       const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
+       const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
+       const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
+       const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
+       udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
+       andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
+       or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
+       xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
+       cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
+       cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
+       cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
+       cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
+       cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
+       cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
+       addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
+       muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
+       negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
+       ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
+       cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
+       ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
+       lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
+       call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
+       call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
+       call_address_untyped_struct_value_sp32,
+       call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
+       call_value_symbolic_sp32, call_value_address_sp64,
+       call_value_symbolic_sp64, branch_sp32, branch_sp64,
+       flush_register_windows, goto_handler_and_restore,
+       goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
+       flush, all ldd/std peepholes, return_qi, return_hi, return_si,
+       return_addsi, return_di, return_adddi, return_sf, all call+jump
+       peepholes, trap, unnamed trap insns): Prettify output strings.
+       (define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
+       or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
+       Likewise and force + implement splits for integer cases.
+       (define_insn return_sf_no_fpu): Likewise and allow to match when
+       no-fpu because of our subreg SFmode splits.
+       (define_insn zero_extendqihi2, zero_extendqisi2_insn,
+       zero_extendqidi2_insn, zero_extendhidi2_insn,
+       zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
+       input_operand for second operand.
+       (cmp_minus_cc, cmp_minus_cc_set): Likewise and use
+       reg_or_0_operand for operand 2 so new splits can use it.
+       (cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
+       cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
+       too.
+       (cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
+       CONST_DOUBLEs for operand 2.
+       (define_insn move_label_di): Likewise and label distance
+       optimization because it no longer works with new deferred case
+       vector scheme.  To be revisited.
+       (define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
+       and allow reg_or_0_operand and J constraint for second operand.
+       (define_insn jump): Set branch predict taken on V9.
+       (define_insn tablejump): Emit LABEL_REF + PLUS memory address for
+       new deferred case vector scheme.
+       (define_insn pic_tablejump_32, pic_tablejump_64): Remove.
+       (define_insn negdi2_sp32): Force + implement splits.
+       (define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
+       one_cmplsi2_not_liveg0 respectively, and create expander of original
+       names which emit special rtl for TARGET_LIVE_G0.
+       (define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
+       (define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
+       gen_compare_reg, FAIL instead.
+       (define_insn sgtu, sleu): Likewise and check gen_s*() return
+       values when trying to reverse condition codes, if they FAIL then
+       do likewise.
+       (define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
+       snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
+       neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
+       seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
+       x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
+       set output string to # to indicate they are mandatory splits.
+       (define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
+       pic_sethi_di, move_pic_label_si): Remove.
+       (define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
+       movsi_high_pic, movsi_pic_label_reg): New patterns to take their
+       place.
+       (define_expand movsi_pic_label_ref, define_insn
+       movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
+       expander and insns to handle PIC label references and deferred
+       case vectors.
+       (define_insn get_pc_via_rdpc): Comment out as it is no longer
+       used.
+       (define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
+       Rewrite to not use emit_move_sequence, make use of new constant
+       formation code, and new splits for all multi-insn cases.
+       (define_insn movqi_insn): Remove sethi case, it can never happen.
+       Use reg_or_zero_operand instead of const0_rtx explicit test,
+       use input_operand instead of move_operand for source, and use
+       general_operand now for dest.
+       (define_insn movhi_insn): Similar but leave sethi case.
+       (define_insn lo_sum_qi, store_qi, store_hi): Remove.
+       (define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
+       movhi_lo_sum respectively, prettify output string.
+       (define_insn movsi_zero_liveg0): New pattern to put zero into a
+       register when needed on TARGET_LIVE_G0.
+       (define_insn movsi_insn): Use general_operand and input_operand
+       for dest and src respectively.  Simplify applicability test.
+       Prettify output strings, and add clr alternative for J
+       constraint.
+       (define_insn movdi_sp32_v9, movdi_sp32, define_splits for
+       deprecated std and reg-reg DI moves): Remove and...
+       (define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
+       implementation which uses forced splits for all non-single insn
+       cases.
+       (define_split DI move cases on !arch64): New splits to handle all
+       situations of 64-bit double register DImode on 32bit, and
+       unaligned registers and memory addresses for all subtargets.
+       (define_insn movsf_const_insn, movdf_const_insn, store_sf):
+       Remove.
+       (define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
+       input_operand for dest and src respectively, prettify output
+       strings.
+       (define_insn movdf_insn, movdf_no_e_insn, store_df,
+       movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
+       and...
+       (define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
+       movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
+       movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
+       movtf_no_e_insn_sp64): Replace with new
+       implementation which uses forced splits for all non-single insn
+       cases.
+       (define_split DF move cases): New splits in similar vein to DI
+       move counterparts.
+       (define_insn sethi_di_medlow, sethi_di_medium_pic,
+       sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
+       movdi_sp64_insn): Remove old v9 code model and constant loading
+       support insns and..
+       (define_insn pic_lo_sum_di, pic_sethi_di,
+       sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
+       seth44, setm44, setl44, sethh, setlm, sethm, setlo,
+       embmedany_sethi, embmedany_losum, embmedany_brsum,
+       embmedany_textuhi, embmedany_texthi, embmedany_textulo,
+       embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
+       movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
+       scheme, using unspecs, secondary reloads, and one to one sparc
+       insn to rtl insn mapping for better scheduling and code gen.
+       (define_expand reload_indi, reload_outdi): Reload helpers for
+       MEDANY and EMBMEDANY symbol address loading cases which require a
+       temporary register.
+       (define_expand movsicc): Remove v8plus_regcmp cases.
+       (define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
+       cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
+       cmp_diqi_trunc_set): New patterns used by some of the new scc
+       splits on arch64.
+       (define_insn xordi3_sp64_dbl): New pattern used for constant
+       formation when crossing from 32-bit targets.
+       (define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
+       split): Remove.
+       (define_insn addx, subx): Make visible and prettify.
+       (define_insn adddi3_insn_sp32): Likewise and force split.
+       (define_insn addx_extend, subx_extend, unnamed): New patterns for
+       64bit scc split usage.
+       (define_insn unnamed plusDI zero_extend, unnamed minusDI
+       zero_extend, subdi3): Force and implement splits.
+
+       * final.c (final_scan_insn): Don't output labels if target
+       specifies ASM_OUTPUT_ADDR_{DIFF}_VEC.  Do these macro operations
+       instead.
+
+       * reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
+       don't forget to walk inside SEQUENCESs too as these are what the
+       delay slot scheduler will create.
+
+Mon Aug 10 01:21:01 1998  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md (extxl+1,+2): New patterns to work around
+       combine lossage.
+
+Sat Aug  8 19:20:22 1998  Gary Thomas  (gdt@linuxppc.org)
+
+       * rs6000.c (rs6000_allocate_stack_space): Fix typo which
+       caused bad assembly code to be generated.
+
+Sat Aug  8 18:53:28 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * netbsd.h: Fix typo.
+
+Mon Aug  3 00:06:42 1998  Robert Lipe  <robertl@dgii.com>
+
+       * config.sub: Fix typo.
+
+Sun Aug  2 22:39:08 1998  Hans-Peter Nilsson  <hp@axis.se>
+
+       * invoke.texi (Environment Variables): Typo: Change "ascpects"
+       into "aspects".
+       (Running Protoize): Typo: Change "ther" into "other".
+
+Sun Aug  2 00:42:50 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
+       * m68k/netbsd.h: Likewise.
+       * ns32k/netbsd.h: Likewise.
+       * sparc/netbsd.h: Likewise.
+
+Sat Aug  1 17:59:30 1998  Richard Henderson  <rth@cygnus.com>
+
+       * ginclude/va-alpha.h (va_list): Use a typedef, not a define.
+       * ginclude/va-clipper.h (va_list): Likewise.
+
+Fri Jul 31 20:22:02 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * rs6000.c (rs6000_override_options): If big endian and -Os, use
+       load/store multiple instructions unless user overrides.
+
+Fri Jul 31 17:08:59 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * ns32k/netbsd.h: Fix typo.
+
+Fri Jul 31 10:23:55 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+       * m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
+       labels with .debugsym if no parallel insns.
+
+Thu Jul 30 19:15:53 1998  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
+       (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
+
+Thu Jul 30 19:50:15 1998  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
+       (AR_FOR_TARGET): Define.
+
+Thu Jul 30 12:29:12 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * dyn-string.h: New file.
+       * dyn-string.c: Likewise.
+       * Makefile.in (OBJS): Add dyn-string.o.
+       (dwarf2out.o): Add dyn-string.h dependency.
+       (dyn-string.o): List dependencies.
+       * dwarf2out.c: Include dyn-string.h.
+       (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
+       (addr_const_to_string): Take a dyn_string_t, not a char* as a
+       prototype.  Use dyn_string_append rather than strcat, throughout.
+       (addr_to_string): Use dyn_string_t.
+
+Thu Jul 30 13:08:07 1998  Ken Raeburn  <raeburn@cygnus.com>
+
+       Function entry/exit profiling instrumentation:
+       * expr.h (profile_function_entry_libfunc,
+       profile_function_exit_libfunc): Declare new variables.
+       * optabs.c: Define them here.
+       (init_optabs): Initialize them.
+       * tree.h (struct tree_decl): New flag
+       no_instrument_function_entry_exit.
+       (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
+       * c-decl.c (duplicate_decls): Merge it.
+       * c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
+       (init_attributes): Use it for "no_instrument_function".
+       (decl_attributes): Handle it, for functions that have not yet been
+       compiled.  Set decl flag.
+       * flags.h (flag_instrument_function_entry_exit): Declare new
+       variable.
+       * toplev.c (flag_instrument_function_entry_exit): Define it here.
+       (f_options): New option "instrument-functions".
+       * function.h (struct function): New field instrument_entry_exit.
+       * function.c (current_function_instrument_entry_exit): New
+       variable.
+       (push_function_context_to, pop_function_context_from): Save and
+       restore.
+       (expand_function_start): Set current_ variable, maybe emit return
+       label and entry profile call.
+       (expand_function_end): Maybe emit exit profile call.
+
+Thu Jul 30 00:58:34 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * i386.md (movqi): When optimizing a load of (const_int 1) into a
+       NON_QI_REG_P, pretend the register is SImode.
+
+Wed Jul 29 23:49:23 1998  Todd Vierling  <tv@netbsd.org>
+
+       * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
+       Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
+       manufacturer id for ns32k.
+       * configure: Regenerated.
+       * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
+       * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
+       * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
+       * config/m68k/netbsd.h: Same.
+       * config/ns32k/netbsd.h: Same.
+       * config/sparc/netbsd.h: Same.
+
+Wed Jul 29 22:39:21 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
+       or UNROLL_COMPLETELY loop that starts with a jump to its
+       exit code.
+
+Wed Jul 29 22:18:14 1998  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
+       * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
+       (print_operand, case 'B'): Don't fall through.
+       (print_operand, case 'S'): Correct mask begin/end computation.
+       Use HOST_BITS_PER_WIDE_INT.
+       * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
+       (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
+       * rs6000/aix41.h (CPP_PREDEFINES): Same.
+       * rs6000/aix43.h (CPP_PREDEFINES): Same.
+
+Wed Jul 29 11:47:10 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
+       constraint from second alternative.
+
+Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * configure.in: Fix --without/--disable cases for local-prefix,
+       gxx-include-dir and checking.
+
+Tue Jul 28 22:01:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * configure.in (enable_haifa): Set by default for sparc64 too.
+       configure: Rebuilt.
+
+Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
+       * i386/winnt.c (associated_type): New fn.
+       (i386_pe_valid_type_attribute_p): New fn.
+       (i386_pe_check_vtable_importexport): Remove.
+       (i386_pe_dllexport_p): Use associated_type.
+       (i386_pe_dllimport_p): Likewise.
+
+       From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
+       * i386.c (i386_valid_type_attribute_p): Also accept
+       attributes for METHOD_TYPEs.
+
+Tue Jul 28 23:17:39 1998  Peter Gerwinski  <peter@gerwinski.de>
+
+       * tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
+
+Tue Jul 28 22:31:12 1998  Craig Burley  <burley@gnu.org>
+
+       * gcc.c: Fix commentary describing %g, %u, %U, and %O.
+
+       * gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
+       them from generating a new base name for each occurrence of
+       a specific suffix.
+
+1998-07-28  Vladimir N. Makarov  <vmakarov@cygnus.com>
+
+       * cse.c (cse_insn): Enable substitution inside libcall only for REG,
+       SUBREG, MEM.
+       * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE.
+
+       * cplus-dem.c (type_kind_t): New type.
+       (demangle_template_value_parm): Add type_kind_t parameter.  Rely
+       on this parameter, rather than demangling the type again.
+       (demangle_integral_value): Pass tk_integral.
+       (demangle_template_: Pass the value returned from do_type.
+       (do_type): Return a type_kind_t.  Pass tk_integral to
+       demangle_template_value_parm for array bounds.
+       (demangle_fund_type): Likewise.
+
+Mon Jul 27 00:54:41 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
+       identical.
+
+Mon Jul 27 22:18:36 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.c (move_operand): Accept CONSTANT_P_RTX.
+
+Mon Jul 27 17:18:52 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * stor-layout.c (layout_type): Handle arrays of bits, for Chill.
+
+       * expr.c (get_inner_reference): Handle zero-based, unsigned, array
+       index conversion.
+
+Mon Jul 27 14:51:33 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
+       (DEBUGGER_ARG_OFFSET): Likewise.
+
+       * mn10300.md (movsf): Remove last change.  Not needed.
+
+Mon Jul 27 14:22:36 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * c-lex.c (yylex): Fix boundary conditions in character literal and
+       string literal loops.
+
+Mon Jul 27 11:43:54 1998  Stan Cox  <scox@cygnus.com>
+
+       * longlong.h (count_leading_zeros): Sparclite scan instruction was
+       being invoked incorrectly.
 
-       * expr.c (emit_push_insn, emit_block_move): Pass alignment (as rtx)
-       as 4th arg to movstr gen functions.
+       * i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
+       * i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE):
+       Add -pg support.
+       * i386/win32.h: New file.  Hybrid mingw32.h/cygwin32.h configuration.
+       * configure.in: Added i[34567]86-*-win32.
+       * config.sub: Likewise.
+       * configure: Rebuilt.
 
-Tue Jan 10 23:43:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Sun Jul 26 01:11:12 1998  H.J. Lu  (hjl@gnu.org)
 
-       * stor-layout.c (layout_type): Use BLKmode, if a struct isn't
-       aligned well enough for a scalar mode.
+       * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
+       the frame pointer and compiling PIC code and reload has not completed.
 
-       * expr.c (expand_expr): For static CONSTRUCTOR, ensure memory
-       address is made valid.
+       * i386.c (output_to_reg): Add code to emulate non-popping DImode
+       case.
 
-       * genpeep.c (match_rtx): For MATCH_OPERATOR, set max_opno, n_operands.
+Sun Jul 26 01:01:32 1998  Jeffrey A Law  (law@cygnus.com)
 
-Mon Jan  9 17:07:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
 
-       * varasm.c (output_constant): Split strings every 2000 chars.
+Sat Jul 25 23:29:23 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
-       * stmt.c (expand_end_case): Test bkwds, handling constant switch arg.
+       * Makefile.in (install-info): Only try to update the info
+       directory file if it exists in the first place.
 
-Fri Jan  6 09:11:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Jul 24 18:58:37 1998  Klaus Espenlaub  <kespenla@student.informatik.uni-ulm.de>
 
-       * output-sparc.c (output_delay_insn): Add parens to first if test.
-       (output_move_double): Turn addr for `sethi' into MEM for %m.
+       * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
 
-       * c-typeck.c (convert_for_assignment): move test for ERROR_MARK.
+Fri Jul 24 14:20:26 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * c-parse.y (unary_expr): Allow cast_expr as arg of unary op.
+       * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
+       CONST_DOUBLE source.
 
-       * stmt.c (expand_decl): Don't abort if FUNCTION_DECL lacks rtl;
-       assemble_variable is called after this.
+Fri Jul 24 11:17:04 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * c-parse.y (primary -> identifier): Separate case for undeclared
-       identifier outside of functions; avoids confusing error msgs.
+       * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
+       strings as the insertion of USER_LABEL_PREFIX.
+       * config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
+       valid code.
+       * config/arm/thumb.md: Use %_ as a prefix to gcc library function
+       calls.
 
-Thu Jan  5 01:24:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Jul 23 18:53:20 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * Makefile (install): Ignore errors in all `if' commands.
-       Create $(libdir) if nec.
+       * dbxout.c (dbxout_range_type): Only call dbxout_type_index for
+       already defined type.
 
-       * Makefile (insn-*.[ch]): Put in empty commands.  May help Ultrix Make.
+Thu Jul 23 13:49:41 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * stmt.c (emit_case_nodes): New arg UNSIGNEDP says do unsigned jumps.
-       Arg INDEX is an rtx, not a tree.
-       (expand_end_case): Pass that arg.
-       (node_has_{low,high}_bound): check for overflow, avoid confusion.
+       * expr.c (check_max_integer_computation_mode): Allow conversions
+       of constant integers to MAX_INTEGER_COMPUTATION_MODE.
+       (expand_expr): Likewise.
 
-Wed Jan  4 02:24:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Thu Jul 23 11:12:06 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-       * sparc.md (movdi, movdf): Use `&' constraint when loading reg from;
-       otherwise can lose on (set (reg X) (mem (plus (reg X) (reg X+1)))).
+       * expr.c (expand_expr): Expand RETURN_EXPR.
 
-       * expr.c (emit_push_insn): For memory scalar partially going in regs,
-       copy each word to reg before pushing.  Avoids memory-to-memory move.
-       Make the displaced address valid.
-       Also delete unfinished STACK_OFFSET variable.
+Thu Jul 23 11:00:29 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * c-parse.y (check_newline): Read just one #-directive and return.
-       This prevents lossage when toplev.c calls it to get the main input file
-       name, and it gets a following #ident as well.
+       * dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
 
-       * c-decl.c (lang_decode_option): Set warn_cast_qual for -Wcast-qual.
-       * c-typeck.c (build_c_cast): Issue some warnings if set.
+Wed Jul 22 19:10:00 1998  Catherine Moore  <clm@cygnus.com>
 
-       * tm-3b1.h (ASM_OUTPUT_CASE_LABEL): Missing `;'.
+       * dwarf2out.c (output_aranges): Call stripattributes
+       for TEXT_SECTION references.
+       (output_line_info): Likewise.
 
-Tue Jan  3 18:07:31 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Jul 22 14:08:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * expr.c (emit_library_call): Do force_operand on each operand
-       if it isn't a REG, MEM or constant.
-       Do this, or mode conversions, earlier, before loading any hard regs.
+       * profile.c (branch_prob): Call allocate_reg_info after outputting
+       profile rtl in instrument_arcs.
 
-       * m68k.md (addsi3) [SGS]: Put a zero displacement in the `lea'.
+Wed Jul 22 12:47:49 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * c-typeck.c (default_conversion): Don't lose `const' or `volatile'
-       when converting array type to pointer.
+       * fixinc.irix (math.h): Install wrapper instead of copying.
 
-Mon Jan  2 01:18:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Wed Jul 22 12:37:14 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
 
-       * expmed.c (store_bit_field, store_fixed_bit_field): New arg,
-       alignment in bytes the structure is known to have.
-       (store_fixed_bit_field): Handle working in halfwords,
-       in case the pointer isn't known to have fullword alignment.
-       * expmed.c (extract_bit_field, extract_fixed_bit_field): likewise.
-       (extract_bit_field): fix unsignedp arg to extract_fixed_bit_field.
-       * expr.c (store_field): New arg, passed to {store,extract}_bit_field
-       (expand_assignment, store_constructor): Pass that arg.
-       (expand_expr): Pass new arg to extract_bit_field.
+       * tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
+       so WFL are expanded correctly when contained in a COMPOUND_EXPR.
+       * tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
+       lang_flag_0. Added documentation in the flag table.
 
-       * m68k.md (casesi_2 recognizer): Offset always 6 for 3b1.
+Tue Jul 21 23:28:35 1998  Klaus Kaempf  <kkaempf@rmi.de>
 
-       * c-typeck.c (convert_for_assignment): Strip from rhs no-op NOP_EXPRs
-       put on by build_c_cast (to make the result not an lvalue).
-       (build_modify_expr, build_compound_expr): likewise.
-       (build_conditional_expr): likewise.
-       (actualparameterlist, build_function_call): likewise.
-       (default_conversion, truthvalue_conversion): likewise.
+       * cccp.c (do_include): Fix vax c style include handling.
 
-       * loop.c (move_movables): If reg has moved out of one loop,
-       divide `savings' by 2.
+Tue Jul 21 13:28:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-Sun Jan  1 03:00:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
 
-       * c-typeck.c (truthvalue_conversion): Distribute the conversion
-       into the arms of a COND_EXPR.
+Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
-       * cse.c (fold_rtx): Don't fold a MINUS with VOIDmode
-       into a symbolic constant--it's incorrect.
+       * fold-const.c (non_lvalue): Don't deal with null pointer
+       constants here.
+       (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
 
-       * cse.c (cse_insn): If SRC is a subreg with known value, simplify it.
+Tue Jul 21 15:49:31 1998  David Edelsohn  <edelsohn@gnu.org>
 
-       * integrate.c (copy_rtx_and_substitute): Allow a ref to a part of
-       MEM parm whose actual parm is a reg, provided it refs
-       the low part of the MEM.
-       (function_cannot_inline_p): Don't inline functions which have
-       aggregate parameters and take their addresses.  This could produce
-       refs to non-low-parts, which copy_rtx_and_substitute can't handle.
+       * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
+       * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
+       * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
+       (u_short_cint_operand): Same.
+       (reg_or_cint_operand): Same.
+       (logical_operand): Same.
+       (input_operand): Same.
+       (reg_or_short_operand): Use u_short_cint_operand.
 
-       * c-typeck.c (build_modify_expr): If lhs is COND_EXPR,
-       make a COMPOUND_EXPR to ensure the rhs is computed before the branch.
+Tue Jul 21 08:56:42 1998  Richard Henderson  <rth@cygnus.com>
 
-       * Implement -pipe.
-       * gcc.c (do_spec_1): `|' is now a special delimiter
-       which goes in the argbuf.
-       When a newline is preceded by a `|', delete it if no -pipe.
-       Otherwise, don't execute yet, and keep scanning.
-       (do_spec): At end, if we have stuff with no newline, execute it.
-       (handle_braces): Implement %{|foo:...}.
-       (execute): If argbuf contains some `|'s, run several processes
-       and pipe them together.
-       (pexecute): new subroutine to make one of the processes.
-       (find_exec_file): new fn to search for program to execute.
-       (record_temp_file): new arg FAIL_ONLY.
-       (store_arg): 2nd arg == 3 means delete file on failure.
-       This is used for output files.
-       (delete_temp_files): delete certain files only if fail.
+       * alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
+       but keep the insns and splits.  Adjust so when the ultimate destination
+       is memory, use cvtql.
 
-       * cccp.c (include_defaults): /usr/include before /usr/local/include.
+Tue Jul 21 08:55:09 1998  Richard Henderson  <rth@cygnus.com>
 
-       * recog.c (asm_noperands): 1-off in loop checking CLOBBERS
-       when no output operands and PARALLEL.
+       * flow.c (regno_uninitialized): Fixed regs are never uninitialized.
 
-       * expmed.c (negate_rtx): Sign-extend the high bits rather than clear.
+Tue Jul 21 00:31:01 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * cse.c (fold_rtx): fold negation of real values.
-       (fold_cc0): fold comparisons on real values.
+       * gcc.c (do_spec): Call "error" not "warning".
 
-       * Makefile (install): Use $(INSTALL) for gcc.1 and files in USER_H.
+       * configure.in: Fix minor problems with gas feature detection code.
+       * configure: Rebuilt.
 
-       * Handle floating-point problems for cross-compilation.
+       * gcc.c (do_spec): Issue a warning for '%[]' usage.
 
-       * real.h (CONST_DOUBLE_LOW, etc.): new macros to access CONST_DOUBLE.
-       * varasm.c (immed_double_const, decode_rtx_const): Use these.
-       ({force,clear}_const_double_mem): Likewise.
-       * output-*.c (output_move_double): Use these.
-       * output-m68k.c (standard_{68881,sun_fpa}_constant_p): Likewise.
-       * tm-*.h (PRINT_OPERAND): Use these.
-       * output-i386.c (print_operand): Use these.
-       * final.c (output_addr_const): Likewise.
-       * emit-rtl.c (gen_rtx): Delete special code for CONST_DOUBLE.
+       * Undo this change.
+       * gcc.c: Delete %[spec] support.
+       (do_spec_1, case '('): Likewise.
+       (do_spec_1, case '['): Call error.
 
-       * real.h (union real_extract): Portable type for storing real as ints.
-       * varasm.c (immed_double_const, decode_rtx_const): Use these.
+Mon Jul 20 22:34:17 1998  Richard Henderson  <rth@cygnus.com>
 
-       * varasm.c (immed_real_const_1, decode_rtx_const):
-       Don't assume REAL_VALUE_TYPE is 2 ints long.
-       * emit-rtl.c (init_emit_once): Likewise.
+       * alpha.h (CPP_SPEC): Tidy.  Hook to cpp_cpu and cpp_subtarget.
+       (CPP_SUBTARGET_SPEC): Default to empty string.
+       (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
+       (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
+       * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
+       * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
+       (LIB_SPEC): Tidy.
+       * alpha/linux.h (CPP_PREDEFINES): Tidy.
+       * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
+       * alpha/netbsd.h (CPP_PREDEFINES): Tidy.
+       * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
+       * alpha/win-nt.h (CPP_PREDEFINES): Likewise.
+       * alpha/vsf.h (CPP_PREDEFINES): Likewise.
+       (CPP_SUBTARGET_SPEC): New.  Do this instead of overriding CPP_SPEC.
+       * alpha/vxworks.h: Likewise.
 
-       * real.h (REAL_VALUE_TYPE): Define as `double' if not defined.
-       (REAL_IS_NOT_DOUBLE): Define this if default REAL_VALUE_TYPE not used.
-       (REAL_VALUES_EQUAL, REAL_VALUES_LESS): Define, if not already defined.
-       (REAL_VALUE_LDEXP, REAL_VALUE_ATOF): Likewise.
-       * tree.h (struct tree_real_cst): Use REAL_VALUE_TYPE for the value.
+Mon Jul 20 22:51:57 1998  Ken Raeburn  <raeburn@cygnus.com>
 
-       * rtl.c (init_rtl): Increase length of CONST_DOUBLE if REAL_VALUE_TYPE
-       needs more space.  Change the rtx_format element to match.
-       * varasm.c (immed_real_const_1): 1st arg now has REAL_VALUE_TYPE.
-       (force_const_mem): Assume a CONST_DOUBLE contains REAL_VALUE_TYPE.
-       * emit-rtl.c (init_emit_once): Likewise.
-       And use REAL_VALUE_ATOF to get a floating zero.
-       * optabs.c (expand_float): Use REAL_VALUE_TYPE, REAL_VALUE_LDEXP.
-       * c-parse.y (yylex): Likewise, and use REAL_VALUE_ATOF.
-       * fold-const.c (split_tree): Don't accept REAL_CSTs.
-       (combine, fold_convert, fold): Use REAL_ARITHMETIC if defined;
-       else don't fold reals if they are not doubles.
-       * tree.c (build_real_from_int_cst): Likewise.
-       * print-tree.c (dump) [REAL_IS_NOT_DOUBLE]: output float value
-       in hex, since we don't know how to do it right.
+       * mips.md (reload_outsi): Added missing REGNO call.
+       (smulsi3_highpart, umulsi3_highpart): Provide prototype for
+       function pointer.
+       (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
+       another match_operator and compare the codes.
 
-Sat Dec 31 14:15:13 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
 
-       * optabs.c (init_optabs): Handle new macros {U,}MULSI3_LIBCALL,
-       DIVSI3_LIBCALL, MODSI3_LIBCALL.
-       * tm-sparc.h: Define {,U}{MUL,DIV,MOD}SI3 to call Sun's library direct.
+       * MIPS multiply pattern fixes:
+       * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
+       Add union classes for HI, LO, or HILO plus general registers.
+       (GENERATE_MADD): Deleted.
+       * mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
+       Add TARGET_MAD to condition.
+       (mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
+       (mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
+       "*d" for accumulator, to give preference to LO initially but not
+       during reload.
 
-       * tm-sun3-nfp.h, tm-sun3-fpa.h: New files.
+Mon Jul 20 16:16:38 1998  Dave Brolley  <brolley@cygnus.com>
 
-Fri Dec 30 00:14:36 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * configure.in (enable_c_mbchar): New configure option.
+       (extra_cpp_objs): Always available now.
 
-       * cccp.c (main): Certain envvars specify a file to write deps info to.
+       * cexp.y (mbchar.h): #include it.
+       (yylex): Handle Multibyte characters in character literals.
 
-       * toplev.c (compile_file): Warn about undefined fns declared static.
+       * cccp.c (mbchar.h): #include it.
+       (main): Set character set based on LANG environment variable.
+       (rescan): Handle multibyte characters in comments.
+       (skip_if_group): See above.
+       (validate_else): See above.
+       (skip_to_end_of_comment): See above.
+       (macarg1): See above.
+       (discard_comments): See above.
+       (rescan): Handle multibyte characters in string and character literals.
+       (collect_expansion): See above.
+       (skip_quoted_string): See above.
+       (macroexpand): See above.
+       (macarg1): See above.
+       (discard_comments): See above.
+       (change_newlines): See above.
 
-       * m68k.md (casesi_2 recognizer) [SGS] RTX_INTEGRATED_P test backwards.
-       * tm-3b1.h (ASM_OUTPUT_CASE_LABEL): Likewise.  Also missing `\'.
+       * c-lex.c (mbchar.h): #include it.
+       (GET_ENVIRONMENT): New macro.
+       (init_lex): Set character set based on LANG environment variable.
+       (yylex): Handle multibyte characters in character literals.
+       (yylex): Handle multibyte characters in string literals.
 
-       * reload1.c (count_occurrences): New function.
-       (choose_reload_targets): Don't delete a reload if the same reg
-       is used elsewhere in the current insn.
-       (delete_output_reload): code split out from choose_reload_targets.
+       * Makefile.in (mbchar.o): New target.
+       (cccp$(exeext)): @extra_cpp_objs@ is always available.
+       (cppmain$(exeext)): @extra_cpp_objs@ is always available.
 
-       * c-typeck.c (build_c_cast): Always put on some operator,
-       so the cast is never an lvalue for strict ANSI.
+       * mbchar.[ch]: New files for multibyte character handling.
 
-       * c-typeck.c (initializer_constant_valid_p): Don't depend on
-       distinction between NOP_EXPR and CONVERT_EXPR.
+Mon Jul 20 01:11:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
-       * c-convert.c: Fns reordered; new comments.
+       * jump.c (jump_optimize): When simplifying noop moves and
+       PUSH_ROUNDING, fix thinko so we use same criterion for identifying
+       the PUSHes to rewrite in second loop as we did in the first.
 
-       * fold-const.c (fold): If simplifying a NOP_EXPR within a BIT_AND_EXPR,
-       return a NOP_EXPR.
-       New var TYPE holds type of expr.
+Sun Jul 19 08:23:53 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
-       * c-parse.y (expr_no_commas): Split off cast_expr and unary_expr,
-       to reject `sizeof (int) foo'.
+       * cplus-dem.c (demangle_nested_args): Make function definition
+       static to match the prototype.
 
-       * toplev.c (main): Treat plain `-' as input filename.
+Fri Jul 17 14:58:44 1998  Richard Henderson  <rth@cygnus.com>
 
-       * final.c (final): If an insn's output routine returns 0,
-       it means to output the deleted compare insn immediately preceding.
+       * alloca.c: Respect USE_C_ALLOCA.
+       * gencheck.c (xmalloc): Ignore __GNUC__ for definition.
+       * gengenrtl.c (xmalloc): Likewise.
 
-       * m68k.md (branch insns): Use 0 as 3rd arg for OUTPUT_JUMP
-       rather than explicitly clearing the overflow flag.
+Fri Jul 17 14:18:14 1998  Richard Henderson  <rth@cygnus.com>
 
-       * tm-i386.h (OUTPUT_JUMP): Really use NO_OV; don't abort.
-       * i386.md (branch insns): Put real data (sometimes 0) in 3rd arg
-       of OUTPUT_JUMP.  0 means preceding test may not be deleted.
-       (lea pattern): Clear the cc's.
-       * output-i386.c (notice_update_cc): various arith insns set the cc's.
+       * loop.h (struct induction): Add no_const_addval.
+       * loop.c (the_movables, reg_address_cost): New variables.
+       (init_loop): Init reg_address_cost.
+       (loop_optimize): Call end_alias_analysis.
+       (scan_loop): Init the_movables.
+       (record_giv): Init induction->no_const_addval.
+       (basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
+       [REG]: Rearrange loop search test to catch more cases.
+       (general_induction_var): Return success not benefit; take an extra
+       argument for that.  Change all callers.
+       (simplify_giv_expr) [PLUS]: Always combine invariants.  Use sge_plus.
+       [MULT]: Use rtx_equal_p instead of ==.  Combine simple invariants.
+       [default]: Search the_movables for additional combinations.
+       (sge_plus_constant, sge_plus): New functions.
+       (express_from_1): New function.
+       (express_from): Always define.  Rewrite using express_from_1.
+       (combine_givs_p): Handle more cases.  Ignore address cost.
+       (cmp_combine_givs_stats): New function.
+       (combine_givs_used_once, combine_givs_benefit_from): New functions.
+       (combine_givs): Rewrite to do best-fit combination.
 
-Thu Dec 29 13:22:01 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * fold-const.c (operand_equal_p): Handle RTL_EXPR.
+       (fold): Do a complete (A*C)+(B*C) association check.
 
-       * stmt.c (expand_decl_init): Do nothing for static decls.
+Fri Jul 17 11:21:55 1998  Jim Wilson  <wilson@cygnus.com>
 
-       * reload.c (find_reloads_address{,_1}): Return 1 iff entire arg
-       was reloaded as a whole, else 0.
-       (find_reload): If find_reloads_address returns 1, don't let that MEM
-       satisfy a `>' or `<' constraint.
+       * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
 
-       * m68k.md (cmpmb): Delete special pattern, make cmpqi handle it.
-       The special pattern couldn't handle reloading the incremented register.
+Fri Jul 17 11:48:55 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * integrate.c (copy_rtx_and_substitute): Test BYTES_BIG_ENDIAN,
-       not BITS...
+       * mn10300.c (MODES_TIEABLE_P): Fix typo.
 
-       * combine.c (subst): Consider big-endian correction
-       when simplifying (subreg (mem ...) ...).
+Fri Jul 17 03:26:12 1998  Rihcard Earnshaw  (rearnsha@arm.com)
 
-       * reload.c (find_reloads): Don't crash if matching operands in `asm'
-       are both read or both write.
+       * tree.c (valid_machine_attribute): Only create a new type variant if
+       there is a decl to use it.
 
-       * expr.c (emit_push_insn): Address for movstr must be XINNER, not X.
+Thu Jul 16 14:48:04 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * toplev.c (main): Typo parsing `-fno...'.
+       * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
+       a suffix.
 
-Wed Dec 28 13:07:21 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+Fri Jul 17 03:24:40 1998  Hans-Peter Nilsson  <hp@axis.se>
 
-       * toplev.c (rest_of_compilation): `volatile' fns need jump_optimize
-       for warnings, as if -Wreturn-type.
-       * c-typeck.c (c_expand_return): Warn about `return' in a `volatile' fn.
-       * c-decl.c (finish_function): Warn if `volatile' fn can drop thru end.
+       * extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
+       be deleted"
 
-       * cse.c (canon_reg): Handle nulls as subexpressions.
-       (fold_rtx, canon_hash, mention_regs, exp_equiv_p): Likewise.
-       * loop.c (invariant_p, replace_regs, replace_call_address, may_trap_p,
-       {basic,general}_induction_var): Likewise.
+Thu Jul 16 14:48:47 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * expr.c (expand_call): Handle `const' functions:
-       Local IS_CONST is 1 if function is const.
-       Attach REG_RETVAL and REG_LIBCALL notes around the call.
-       Copy fn address to register outside of those notes.
-       Likewise precompute all parms outside them.
+       * mn10300.c (count_tst_insns): New arg oreg_countp.  Callers changed.
+       Simplify tests for clearing an address register.
+       (expand_prologue): Corresponding changes.
 
-       * expr.c (expand_call): If fn is volatile, emit barrier after the call.
+       * mn10300.md (movXX patterns): Make sure the destination is an
+       ADDRESS_REG when substituting "zero_areg" for (const_int 0).
+       (logical patterns): Split into expanders + patterns.
+       (zero and sign extension patterns): Similarly.
+       (shift patterns): Similarly.
 
-       * c-decl.c (grokdeclarator): Allow function declared const or volatile.
+Thu Jul 16 01:17:44 1998  Richard Henderson  <rth@cygnus.com>
 
-Sat Dec 24 18:40:12 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * loop.c (emit_iv_add_mult): Scan the entire insn list generated
+       for the sequence, recording base values.
 
-       * integrate.c (function_cannot_inline_p): If STRUCT_VALUE_INCOMING
-       or STRUCT_VALUE is defined, can't inline functions returning BLKmode.
+Wed Jul 15 10:49:55 1998  Richard Henderson  <rth@cygnus.com>
 
-Fri Dec 23 13:26:26 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
 
-       * expr.c (store_constructor): Compute array's size
-       with int_size_in_bytes.
+Tue Jul 14 14:15:30 1998  Nick Clifton  <nickc@cygnus.com>
 
-       * varasm.c (assemble_variable): If shared data, go to data section
-       before outputting an uninitialized symbol.
+       * gcc.c: Remove ANSI-C ism from --help code.
 
-       * tm-sequent.h (ASM_OUTPUT_ALIGN_CODE): Missing backslash.
-       (SHARED_SECTION_ASM_OP): Macro defined.
-       * tm-seq386.h (SHARED_SECTION_ASM_OP): Macro defined.
+       * toplev.c: Support --help with USE_CPPLIB.
 
-       * c-typeck.c (c_expand_asm_operands): Warn if output op is `const'.
+Tue Jul 14 14:46:08 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * Fix problem where a stmt expr in an initialization
-       refers to the variable it is initializing.
-       * stmt.c (expand_decl_init): New fn split out from `expand_decl'.
-       * c-decl.c (finish_decl): Call that.
-       Don't call expand_decl if already done.
-       (start_decl): Call expand_decl if type is complete already.
+       * configure.in: Rework gas feature code to work with symlink based
+       source trees.
 
-       * Makefile (install): Typo in ranlib command.
+       * extend.texi: Clarify some issues related to local variables
+       assigned to explicit registers.
 
-Thu Dec 22 15:57:12 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+       * mn10300.md (mulsi): Turn into expander + pattern.
 
-       * tree.h (tree_identifier): New field.
-       (IDENTIFIER_ERROR_LOCUS): Accessor for it.
-       * c-parse.y (primary => IDENTIFIER):
-       Undeclared variable gets one err msg per function it appears in.
+       * mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
+       alternative.
 
-       * ns32k.md (andsi3): Delete extra brace.
+Tue Jul 14 07:41:59 1998  Richard Earnshaw  (rearnsha@arm.com)
 
-       * alliant.md, xm-alliant.h, tm-alliant.h, output-alliant.c: New files.
+       * arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
 
-       * combine.c (SUBST, SUBST_INT): Store new field `is_int'.
-       (copy_substitutions): Don't copy an int as an rtx.
+Tue Jul 14 03:02:44 1998  Jeffrey A Law  (law@cygnus.com)
 
-       * Makefile (INSTALL): Install gcc.1 properly.
+       * version.c: Bump again to distinguish mainline tree from the
+       egcs-1.1 branch.
 
-       * tm-ns32k.h (FUNCTION_PROLOGUE, ASM_OUTPUT_ALIGN_CODE):
-       Add missing backslashes.
+See ChangeLog.0 for earlier changes.
 
-See file ChangeLog.0.
+Local Variables:
+add-log-time-format: current-time-string
+End: