OSDN Git Service

* m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5f6faa2..48fa0a3 100644 (file)
@@ -1,3 +1,703 @@
+Mon Nov  2 11:46:17 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+       * m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
+       (m32r_output_block_move): Rewrite bytes < 4 handling.
+
+Mon Nov  2 10:10:35 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * configure.in: Call AC_FUNC_VFORK.
+
+       * 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.
+
+       * gcc.c: Remove vfork check on USG, we're using autoconf.
+       Besides, no calls to vfork/fork occur in this file.
+
+       * protoize.c: Likewise.
+
+Mon Nov  2 07:52:28 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * 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
+
+Mon Nov  2 01:48:10 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * BUGS: fix the regexp for `more' to find the appropriate node.
+       Reported by Joerg Pietschmann  <joerg_pietschmann@zkb.ch>
+
+       * BUGS: added link to the WWW FAQ
+
+Sun Nov 1 18:27:15 PST 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sun Nov  1 11:04:32 1998  Jeffrey A Law  (law@cygnus.com)
+
+        * 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__.
+
+Sat Oct 31 21:42:39 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * 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.
+
+Sat Oct 31 22:35:29 1998  Jean-Pierre Radley <jpr@jpr.com>
+
+       * fixinc.sco: Paramaterize #include_next values.
+       * fixinc/fixinc.sco: Likewise.
+
+Sat Oct 31 20:39:35 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * 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.
+
+Sat Oct 31 12:30:02 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * 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 Oct 31 10:02:48 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * dwarf2out.c (output_call_frame_info): Use
+       ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
+
+Sat Oct 31 10:23:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       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'
+
+Fri Oct 30 14:50:25 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * configure.in (assembler features): Also make gas is configured if
+       we find it in the souce tree.
+
+Fri Oct 30 13:23:20 1998  Richard Henderson  <rth@cygnus.com>
+
+       * i386.c (i386_comp_type_attributes): Compare whether the 
+       attributes are defined, not their tree nodes.
+
+Fri Oct 30 11:39:47 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * configure.in (gxx_include_dir): bitten by autoconf quoting
+       characters :-(
+       * configure: rebuilt
+
+Fri Oct 30 10:43:29 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * configure.in: Ignore non-absolute value in $AS.
+
+Fri Oct 30 00:54:25 1998  Peter Jakubek <pjak@snafu.de>
+
+       * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
+
+Fri Oct 30 00:42:34 1998  Mark Elbrecht <snowball3@usa.net>
+
+       * configure.in (msdosdjgpp): Set exeext and target_alias.
+
+Thu Oct 29 23:55:43 1998  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+
+       * 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 defeined 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.
+
+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 EST 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.
+
+Wed Oct 28 23:09:25 1998  Robert Lipe  <robertl@dgii.com>
+
+       * sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
+       specific compiler switches.
+
+Wed Oct 28 21:05:53 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * Makefile.in (c-common.o): Depend on c-pragma.h.  Use $(RTL_H) instead
+       of rtl.h.
+
+Wed Oct 28 20:52:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * 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.
+
+       * alpha.h (EXTRA_SPECS): Revert change for missing initializers.
+
+       * mips.h  (EXTRA_SPECS): Likewise.
+
+       * sparc.h (EXTRA_SPECS): Likewise.
+
+Wed Oct 28 16:46:07 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+    
+       * 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
+       successfull 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.
+
+1998-10-28 16:10 -0500 Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+        * 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.
+
+1998-10-28 16:09 -0500 Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+        * 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_speudos 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 somehing_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
+       arseudo): 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): Replce 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@mhpcc.edu>
+       
+       * 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>
+
+       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. 
+
+       * 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.
+
+       * config/arm/lin1funcs.asm: Add ELF only macros to generate .size
+       and .type directives, and add "(PLT)" qualification to function
+       calls.
+
+       * config/arm/linux.h: Deleted.  This file is now superceeded by
+       either linux-elf.h or linux-aout.h.
+
+       * 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.
+       
+       * config/arm/elf.h: New file.  Generic ARM/ELF support.
+       
+       * config/arm/linux-aout.h: New file.  Support for Linux with a.out.
+       
+       * config/arm/linux-elf.h: New file.  Support for Linux with ELF.
+       
+       * config/arm/linux-elf26.h: New file.  Support for Linux with ELF
+       using the 26bit APCS.
+       
+       * config/arm/unknown-elf.h: New file.  Support for OS'es other
+       than Linux with ELF.
+
+       * config/arm/t-arm-elf: New file.  makefile fragment for arm-elf
+       builds.
+       
+       * config/arm/coff.h: Include aout.h for basic assembler macros.
+       Add support for -mstructure_size_boundary=<n> command line option.
+       
+       * 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. 
+
+       * config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
+       command line option.
+
+       
+Tue Oct 27 08:56:46 1998  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * 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 Oct 26 13:35:02 1998  Richard Henderson  <rth@cygnus.com>
+
+       * combine.c (subst): Process the inputs to a parallel asm_operands
+       only once.
+
+Mon Oct 26 13:32:31 1998  Richard Henderson  <rth@cygnus.com>
+
+       * stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
+
+Mon Oct 26 12:53:14 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
+
+Mon Oct 26 00:36:58 PST 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sun Oct 25 23:36:52 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * stmt.c (expand_fixup): Set fixup->before_jump to a
+       NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
+
+Sun Oct 25 15:49:57 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * 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.
+
+       * combine.c (simplify_set): Remove unused variable `scratches'.
+
+       * final.c (final_scan_insn): Wrap declaration of variables `vlen'
+       and `idx' in macro conditional controlling their use.
+
+       * 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.
+
+       * genpeep.c (main): Make the generated output file include
+       insn-config.h and recog.h.
+
+       * 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@mhpcc.edu>
+
+       * 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>
+
+       * m32r/m32r.c (gen_split_move_double): Call alter_subreg.  Delete
+       subreg support.
+
+Fri Oct 23 16:19:24 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * mips.h (EXTRA_SPECS): Add missing initializers.
+
+Fri Oct 23 16:08:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * sparc.h (EXTRA_SPECS): Add missing initializers.
+       (sparc_defer_case_vector): Provide a prototype.
+
+       * svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
+       comparing it to the result of a pointer subtraction.
+
+Fri Oct 23 15:34:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * alpha.c (override_options): Use ISDIGIT(), not isdigit().  Cast
+       the argument to (unsigned char).
+
+       * alpha.h (EXTRA_SPECS): Add missing initializers.
+       (ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
+       format specifier.
+
+Fri Oct 23 13:12:35 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * flow.c (life_analysis_1): Enable "rescan" code after reload.
+       (propagate_block): Delete dead code after reload.
+
+       * 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.
+
+       * mn10200.md (truncated shift): Accept constant inputs too.
+
+Fri Oct 23 04:06:57 1998  Richard Earnshaw (rearnsha@arm.com)
+
+       * machmode.h (mode_mask_array): No longer const.
+       * rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
+
+Fri Oct 23 11:19:06 1998  Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+       * frame.c: Somewhat explain `FDE'.
+       Suggested by Brendan Kehoe
+
 Fri Oct 23 00:56:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
 
        * expr.c (pending_chain): Move up.