+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.
+ (save_expr_status): Do save pending_chain.
+ (restore_expr_status): And restore it.
+ * function.h (struct function): Add pending_chain.
+
+1998-10-23 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+ * reorg.c (relax_delay_slots): Fixed test for mostly_true_jump. The
+ did not match the code.
+
+Fri Oct 23 00:07:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+
+ * 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.
+
+Thu Oct 22 22:34:42 1998 Jim Wilson <wilson@cygnus.com>
+
+ * reload1.c (reload_as_needed): When rewrite POST_INC, verify
+ reg_reloaded_contents matches incremented pseudo.
+
+ * v850/v850.c (v850_reorg): Call alter_subreg. Delete subreg support.
+
+Fri Oct 23 11:11:56 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for
+ addressing modes with side effects. These are currently
+ placeholders for the C4x target.
+
+Thu Oct 22 16:46:35 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+
+ * loop.c (express_from): Make sure that when generating a PLUS of
+ a PLUS, any constant expression appears on the outermost PLUS.
+
+Thu Oct 22 15:46:23 1998 Per Bothner (bothner@cygnus.com)
+
+ * Makefile.in (distdir-cvs, distdir-start): Clean up so it
+ works if "$(srcdir)" != ".".
+
+Wed Oct 21 19:23:59 1998 Jim Wilson <wilson@cygnus.com>
+
+ * expmed.c (store_bit_field): If need to add a SUBREG, then remove
+ existing SUBREG if we can, otherwise abort.
+
+Wed Oct 21 09:58:51 1998 Mark Mitchell <mark@markmitchell.com>
+
+ * c-common.c (c_apply_type_quals_to_decl): Don't crash when
+ `restrict' is applied to a non-pointer variable.
+
+Wed Oct 21 09:18:58 1998 Mark Mitchell <mark@markmitchell.com>
+
+ * invoke.texi: Document -flang-isoc9x.
+
+ * Makefile.in (OBJS): Add splay-tree.o.
+ (c-common.o): Depend on rtl.h.
+ (splay-tree.o): List dependencies and provide build rule.
+
+ * 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.
+
+ * 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): Initializae 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.
+
+ * 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.
+
+Wed Oct 21 09:15:06 1998 Nick Clifton <nickc@cygnus.com>
+
+ * config/arm/arm.h (TARGET_SWITCHES): Document arm specific
+ command line switches.
+
+Tue Oct 20 10:04:51 1998 Graham <grahams@rcp.co.uk>
+
+ * reload.c (loc_mentioned_in_p): Add missing braces to bind
+ else to correct if.
+
+Mon Oct 19 16:34:05 1998 Tom Tromey <tromey@cygnus.com>
+
+ * gcc.c (option_map): Added --classpath and --CLASSPATH.
+
+Tue Oct 20 10:59:02 1998 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * regclass.c (fix_register): Add error message.
+ * invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the
+ new error message.
+
+Tue Oct 20 10:12:17 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * 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.
+
+ * c-tree.h (warn_missing_noreturn): Declare extern.
+
+ * invoke.texi: Document new flags.
+
+ * toplev.c (documented_lang_options): Add description.
+
+Tue Oct 20 22:16:11 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * 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 (superceded by BCT
+ loop optimization).
+ (c4x_address_conflict): Be more paranoid when packing a volatile
+ memref in a parallel load/store.
+
+Tue Oct 20 21:56:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * 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.
+
+1998-10-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+
+ * 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.
+
+Sat Oct 17 13:09:09 1998 Graham <grahams@rcp.co.uk>
+
+ * function.c (purge_addressof_1): Replace call to
+ emit_insns_before() with emit_insn_before().
+
+Mon Oct 19 19:34:03 1998 Mike Stump <mrs@wrs.com>
+
+ * libgcc2.c (__pure_virtual): Call __terminate instead of _exit.
+
+Mon Oct 19 13:26:24 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+
+ * jump.c (sets_cc0_p): Compile only if HAVE_cc0.
+
+Mon Oct 19 11:40:56 1998 Jeffrey A Law (law@cygnus.com)
+
+ * gcse.c (compute_hash_table): Correctly identify hard regs which are
+ clobbered across calls.
+
+ * loop.c (scan_loop): Be more selective about what invariants are
+ moved out of a loop.
+
+Mon Oct 19 10:46:58 PDT 1998 Jeff Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
Mon Oct 19 11:40:56 1998 Jeffrey A Law (law@cygnus.com)
* libgcc2.c (eh_context_static): Do not call malloc to allocate the