+2002-06-16 Richard Henderson <rth@redhat.com>
+
+ * c-common.c (flag_ms_extensions): Move from c++ front end.
+ * c-common.h (flag_ms_extensions): Declare.
+ * c-decl.c (c_decode_option): Add -fms-extensions.
+ (grokfield): Don't accept anonymous structures in ISO C mode;
+ accept only unnamed anonymous structures in GNU C mode; accept
+ Plan 9 extensions in MS mode.
+ * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
+ SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
+ (extension): Clear flag_iso.
+ * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
+
+2002-06-16 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/7042
+ * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
+ early if current_function_epilogue_delay_list is non-empty.
+ * config/cris/cris.md ("return"): Add sanity check asserting that
+ current_function_epilogue_delay_list is empty.
+
+2002-06-16 Jeff Law <law@redhat.com>
+
+ * toplev.c (rest_of_compilation): Perform a simpler, less costly
+ cleanup of the CFG when not optimizing.
+
+2002-06-16 Alan Modra <amodra@bigpond.net.au>
+
+ * gcc.c (main): Correct startfile_prefix_spec check.
+
+2002-06-12 Geoffrey Keating <geoffk@redhat.com>
+
+ * config.gcc: Revert rth's patch of 2002-05-18. Instead,
+ include both darwin.o and rs6000-c.o.
+
+2002-06-15 Roger Sayle <roger@eyesopen.com>
+
+ * expr.c (compare_from_rtx): Call simplify_relational_operation
+ on all comparisons, not just those between integer constants,
+ with the correct (possibly unsigned) comparison code.
+ (do_compare_rtx_and_jump): Likewise.
+
+2002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * Makefile.in (tm_defines): New configuration variable.
+ (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
+ Pass tm_defines in TM_DEFINES.
+ (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES.
+ * config.gcc (tm_defines): New configuration variable.
+ (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
+ pa-7100.h headers. Change hppa1* scheduling default to 7100LC.
+ * configure.in: Substitute tm_defines.
+ * configure: Rebuilt.
+ * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES.
+ * doc/install.texi: Update.
+ * pa/pa-700.h: Delete file.
+ * pa/pa-7100.h: Delete file.
+
+2002-06-15 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (comparison_to_compcode): New function to convert
+ an comparison TREE CODE into a bit-based representation.
+ (compcode_to_comparison): New function to convert from this bit
+ based representation back to a comparison TREE CODE.
+ (fold_truthop): Simplify (x<y) && (x==y) and related composite
+ comparisons.
+
+2002-06-15 Aldy Hernandez <aldyh@redhat.com>
+
+ * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
+
+ * stor-layout.c (compute_record_mode): Remove check for
+ FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
+ MEMBER_TYPE_FORCES_BLK. Pass new mode field to
+ MEMBER_TYPE_FORCES_BLK.
+
+ * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
+
+ * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
+
+2002-06-14 Jeff Sturm <jsturm@one-point.com>
+
+ * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
+
+2002-06-14 Steve Ellcey <sje@cup.hp.com>
+
+ * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
+ USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
+ * configure, config.in: Regenerate.
+
+2002-06-14 Eric Botcazou <ebotcazou@multimania.com>
+
+ * loop.c (check_final_value): Use v->always_executed
+ instead of v->always_computable.
+ * unroll.c (final_giv_value): Don't calculate the final
+ value as a function of the biv if the giv is not computed
+ for every loop iteration.
+
+2002-06-14 Eric Botcazou <ebotcazou@multimania.com>
+
+ * loop.c (for_each_insn_in_loop): Fix formatting and comments.
+
+2002-06-14 Eric Botcazou <ebotcazou@multimania.com>
+
+ PR c/6677
+ * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
+ the truncation down when the target type is signed.
+ [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
+ * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
+ the conversion if the target type is a smaller type.
+
+2002-06-14 Richard Henderson <rth@redhat.com>
+
+ * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
+ earlier. Re-factor comparisons vs extrema.
+
+2002-06-14 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
+
+2002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
+ * sched-deps.c (add_dependence): Likewise.
+ (group_leader): Likewise.
+ * sched-rgn.c (init_ready_list): Likewise.
+ * doc/rtl.texi: Adjust accordingly.
+
+2002-06-13 Jeffrey Law <law@redhat.com>
+
+ * gcse.c (delete_null_pointer_checks_1): Inform caller if any
+ null pointer checks were eliminated. Update prototype.
+ (delete_null_pointer_checks): Similarly.
+ * rtl.h (delete_null_pointer_checks): Update prototype.
+ * toplev.c (rest_of_compilation): Only run cleanup_cfg if
+ delete_null_pointer_checks deletes one or more null
+ pointer checks. Do not run cleanup_cfg before gcse, the
+ CFG is accurate and optimized at that point..
+
+ * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
+ of hard registers.
+
+2002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * Makefile.in (libgcc.mk): Depend on specs.
+
+Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.md (mulsi3): Update way how to find insns in a sequence.
+
+Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
+
+ * sh.h: Define HARD_REGNO_RENAME_OK
+ * sh.c: sh_hard_regno_rename_ok: New. If current function has
+ interrupt_handler attribute, only registers saved on stack are OK.
+ * sh-protos.h: Declare sh_hard_regno_rename_ok.
+
+2002-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.md (jump): Emit jump insn.
+ (call_pcrel): Get pattern of the result of gen_call_site.
+ (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
+
+2002-06-14 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (struct cpp_buffer): Remove saved_line_base.
+ * cpptrad.c: Update comments.
+ (skip_whitespace, copy_comment): Take a new parameter.
+ (skip_escaped_newlines): Don't duplicate escaped newline test.
+ (copy_comment): Different location for CUR, decide here how
+ to copy / replace the comment.
+ (skip_whitespace): Copy whitespace.
+ (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
+ (scan_out_logical_line): Let copy comment handle keeping or
+ replacing comments.
+ (scan_parameters, _cpp_create_trad_definition): Update.
+
+2002-06-13 Alan Lehotsky <apl@alum.mit.edu>
+
+ * reload.c (get_secondary_mem,find_reloads_address,
+ find_reloads_address_1): Pass reference to MEM to find_reloads_address
+ so that LEGITIMIZE_RELOAD_ADDRESS will be called.
+
+2002-06-13 Jessica Han <jessica@cup.hp.com>
+
+ * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
+ (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
+ * doc/tm.texi: Document them.
+ * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
+ (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
+ (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
+ (ASM_OUTPUT_FDESC): Likewise.
+
+2002-06-13 Eric Christopher <echristo@redhat.com>
+
+ * diagnostic.c (output_format): Fix thinko.
+
+Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
+ (DWARF2_UNWIND_INFO): Define to 0.
+
+ * config/sh/sh.c (calc_live_regs): Don't use initial_value
+ optimization for PR_MEDIA_REG.
+
+2002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpphash.h (_cpp_lex_identifier_trad): Remove.
+ * cpplib.c (end_directive): Don't skip, always remove overlay
+ apart from #define.
+ (prepare_directive_trad): Handle NULL pfile->directive.
+ (_cpp_handle_directive): Always call prepare_directive_trad
+ if traditional.
+ * cppmain.c (check_multiline_token): Rename account_for_newlines,
+ generalize inputs.
+ (scan_translation_unit_trad): Use it.
+ * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
+ output, get escaped newline in comment close correct.
+ (check_output_buffer, skip_whitespace): Update.
+ (_cpp_lex_identifier_trad): Remove.
+ (scan_out_logical_line): Handle -C and comments in directives
+ properly.
+
+Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
+ * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
+ * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
+ (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
+ (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
+ (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
+ (SELECT_SH5_COMPACT_NOFPU): Likewise.
+ (TARGET_SWITCHES): Use them.
+ (TARGET_CPU_DEFAULT): Define if not already defined.
+ (TARGET_DEFAULT): Use it.
+ (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
+ * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
+ * config/sh/t-monolib: New file.
+
+2002-06-13 Roger Sayle <roger@eyesopen.com>
+
+ * toplev.c (rest_of_compilation): Simplify (and correct) the
+ logic of the first delete-null-pointer-checks pass.
+
+Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (ix86_expand_movstr): Fix pasto.
+
+Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * reload.c (find_valid_class): Fix thinko in my previous patch.
+
+2002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
+ * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
+ (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
+ (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
+
+2002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * tree-inline.c (expand_call_inline): Don' mess with _DECL
+ fields.
+
+2002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * diagnostic.c (output_format): Recognize "%H" as a format
+ specifier for a location_t.
+ (text_specifies_location): New function.
+ (diagnostic_set_info): Use it.
+
+2002-06-13 Jeffrey Law <law@redhat.com>
+
+ * emit-rtl.c (static_regno_reg_rtx): Define.
+ (init_emit_once): Initialize static_regno_reg_rtx.
+ (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
+ of building new hard reg objects once per function.
+ (gen_rtx_REG): Try to share hard regs.
+ * regclass.c (init_fake_stack_mems): New function broken out from
+ init_regs.
+ * rtl.h (init_fake_stack_mems): Declare.
+ * toplev.c (lang_independent_init): Call init_regs before
+ init_emit_once. Call init_fake_stack_mems after init_emit_once.
+
+ * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
+
+ * alias.c (argument_registers): Remove.
+ (init_alias_once): Initialize static_reg_base_value here. Remove
+ initialization of argument_registers.
+ (init_alias_once_per_function): Remove.
+ (init_alias_analysis): Copy all the entries from static_reg_base_value
+ into new_reg_base_value all at once.
+ * rtl.h (init_alias_once_per_function): Remove declaration.
+ * function.c (prepare_function_start): Do not call
+ init_alias_once_per_function.
+
+ * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
+ starting a sequence and emitting an INSN.
+
+2002-06-13 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
+
+2002-06-13 David S. Miller <davem@redhat.com>
+
+ * expmed.c (init_expmed): Remove duplicate init of 'reg'.
+
+2002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpplib.c (end_directive): Handle line skipping. Only remove
+ the rest of the line if the directive was valid.
+ * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
+ expanding a traditional macro.
+ * cpptrad.c (recursive_macro): New.
+ (read_logical_line_trad): Handle skipping.
+ (scan_out_logical_line): Continue after a successful directive.
+ Don't expand macros whilst skipping, or if recursing.
+ (_cpp_create_trad_definition): scan_out_logical_line now sets
+ the output current position.
+
+2002-06-12 Eric Christopher <echristo@redhat.com>
+
+ From Chris Demetriou <cgd@broadcom.com>
+ * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
+ comment.
+ (ISA_HAS_MADD_MSUB): Ditto.
+ (ISA_HAS_NMADD_NMSUB): Ditto.
+
+2002-06-12 Eric Christopher <echristo@redhat.com>
+
+ * config.gcc: Consolidate little endian handling and
+ little/big endian targets.
+ * config/mips/elfl.h: Remove file.
+ * config/mips/elfl64.h: Ditto.
+ * config/mips/ecoffl.h: Ditto.
+ * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
+
+2002-06-12 Geoffrey Keating <geoffk@redhat.com>
+
+ * gengtype.h (xvasprintf): New prototype.
+ (xasprintf): New prototype.
+ (struct outf): New.
+ (get_output_file): Return an outf_p.
+ (header_file): Is now an outf_p.
+ (base_files): Now are outf_p.
+ (oprintf): New.
+ * gengtype.c: Replace all output FILE * with outf_p; use oprintf
+ rather than stdio operations. Use xasprintf in a few places,
+ when appropriate.
+ (xvasprintf): New.
+ (xasprintf): New.
+ (struct filemap): Delete.
+ (files): Delete.
+ (output_files): New.
+ (oprintf): New.
+ (create_file): Create an outf_p. Add parameter to indicate output
+ file name, change all callers.
+ (open_base_files): Create gtype-desc.c here.
+ (get_output_file_with_visibility): Rewrite.
+ (get_output_file_name): Just look at 'name' field in struct outf.
+ (close_output_files): Rewrite.
+
+2002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
+ (MASK_G_FLOAT): Define.
+ (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
+ (TARGET_SWITCHES): Likewise.
+ (TARGET_DEFAULT): Likewise.
+
+2002-06-12 Daniel Jacobowitz <drow@mvista.com>
+
+ * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
+ * config/mips/mips.c (mips_output_filename): Don't print a
+ ".file" directive if we are using DWARF-2.
+ (mips_output_function_prologue): Do not emit source file
+ name for TARGET_GAS.
+
+Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
+ decide whether emit the short opcode.
+ * i386.h (x86_shift1): Declare.
+ (TARGET_SHIFT1): New macro.
+ * i386.c (x86_shift1): New global variable.
+
+ * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
+ unconditionally; make loop to rebuild CFG; kill unnecesary
+ find_basic_block calls; kill compute_bb_for_insn call.
+ * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
+ * haifa-sched.c (sched_init): Likewise.
+ * ssa-ccp.c (ssa_const_prop): Likewise.
+ * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
+
+2002-06-11 David S. Miller <davem@redhat.com>
+
+ * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
+ active_insn_p.
+
+2002-06-11 Richard Henderson <rth@redhat.com>
+
+ * c-common.c (builtin_define_type_max): New.
+ (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
+ __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
+
+ From Joseph S. Myers:
+ * glimits.h: Rewrite to expect the double underscore definitions
+ from the compiler.
+
+ * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
+ config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
+ config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
+ config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
+ config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
+ config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
+ config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
+ __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
+
+2002-06-11 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
+ (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
+ (code_for_builtns): Update.
+ (alpha_init_builtins): Add __builtin_thread_pointer and
+ __builtin_set_thread_pointer.
+ (alpha_expand_builtin): Handle void builtins.
+ * doc/extend.texi (Alpha Built-in Functions): Update.
+
+2002-06-11 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/6997
+ * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
+
2002-06-11 Zack Weinberg <zack@codesourcery.com>
* config.gcc: Make the name of the extra-modes file adjustable
* config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
-2002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
-
* config/s390/s390.c (emit_prologue): gen_store_multiple
returns an insn now, not a pattern.