+2003-03-12 Daniel Jacobowitz <drow@mvista.com>
+
+ Fix PR target/9797 and PR c/9853.
+ * stmt.c (expand_decl_init): Call push_temp_slots () and
+ pop_temp_slots ().
+
+Wed Mar 12 16:30:25 2003 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.c: Include basic-block.h.
+ (sh_output_mi_thunk, emit_load_ptr): New functions.
+ (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
+
+2003-03-12 Nick Clifton <nickc@redhat.com>
+
+ * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
+ (CALL_USED_REGISTERS): Likewise.
+ * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
+ describing how this value is calculated.
+
+2003-03-12 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * configure.in (rlim_t): Define to long if no valid definition
+ found in sys/resource.h.
+ * config.in, configure: Regenerate.
+
+2003-03-12 Neil Booth <neil@daikokuya.co.uk>
+
+ * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
+ TARGET_OS_CPP_BUILTINS.
+ * config/mcore/mcore-pe.h: Similarly.
+ * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
+ CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
+
+2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR c/9928
+ * c-decl.c (duplicate_decls): Discard the initializer of the new decl
+ only if it is a VAR_DECL.
+
+2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/9888
+ * config/i386/i386.md (jcc_1): Fix range.
+ (jcc_2): Likewise.
+ (jump): LIkewise.
+ (doloop_end_internal): Likewise.
+
+2003-03-12 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
+ Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
+ (DLL_EXPORT_PREFIX): New define. Use throughout instead of
+ DLL_IMPORT_EXPORT_PREFIX and "i."
+ (i386_pe_dllexport_name_p): Here.
+ (i386_pe_dllimport_name_p): Here.
+ (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
+ not 9 chars when getting identifier name.
+ (i386_pe_mark_dllimport): Here.
+ (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
+ not 9 chars when getting identifier name. Correct comment.
+ (i386_pe_strip_name_encoding): Here. Add comments for different
+ cases.
+ (gen_fastcall_suffix): Break down xmalloc() argument to
+ components.
+ (gen_stdcall_suffix): Likewise.
+ Update copyright year.
+
+2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/9888
+ * config/i386/i386.md (movsi_1): Remove special alternatives
+ for %eax register.
+ (movsi_1_nointernunit): Likewise.
+ (movhi_1): Likewise.
+ * config/i386/i386.c (memory_address_length): Do not use
+ short displacement when there is no base.
+ (ix86_attr_length_address_default): Handle LEA instructions.
+
+2003-03-12 Neil Booth <neil@daikokuya.co.uk>
+
+ * c-cppbuiltin.c (builtin_define_std): Make non-static.
+
+2003-03-11 Loren James Rittle <ljrittle@acm.org>
+
+ * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
+ (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
+ (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
+ * config/freebsd.h (CPP_PREDEFINES): Remove.
+ (TARGET_OS_CPP_BUILTINS): New.
+ * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
+ instead of TARGET_OS_CPP_BUILTINS.
+ * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
+
+2003-03-11 Geoffrey Keating <geoffk@apple.com>
+
+ * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
+
+2003-03-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_stack_info): Remove
+ insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
+
+ * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
+
+Tue Mar 11 21:19:03 2003 Alexandre Oliva <aoliva@redhat.com>
+
+ * toplev.c (independent_decode_option): Return success for --help,
+ --target-help and --version.
+
+Tue Mar 11 20:20:14 2003 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
+ Default to -mips3 on -mabi=64. Don't add -mips* flag if -march is
+ specified.
+ (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
+ DRIVER_SELF_SPECS.
+ (LINK_SPEC): Let endian options affect the linker emulation name.
+
+Tue Mar 11 22:35:39 2003 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.md (reload_inqi): Fix mode for source in second set.
+
+Tue Mar 11 22:48:03 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * cselib.c (cselib_invalidate_mem_1): Move too ...
+ (cselib_invalidate_mem): ... here; use new list
+ (dummy_val, first_containing_mem): New static variables.
+ (clear_table): Initialize first_containing_mem.
+ (discard_useless_values): Compact the containing_mem list.
+ (add_mem_for_addr): Add to the list.
+ * cselib.h (cselib_val): Add next_containing_mem.
+
+2003-03-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_override_options): Disable string
+ instructions for e500.
+
+2003-03-11 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makefile.in: Update.
+ * c-cppbuiltin.c: Include tm_p.h.
+
+2003-03-11 Aldy Hernandez <aldyh@redhat.com>
+
+ * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
+
+ * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
+ (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
+ (_Unwind_SetGR): Same.
+ (_Unwind_GetGRPtr): New.
+ (_Unwind_SetGRPtr): New.
+ (uw_update_context_1): Use accesor functions instead of accessing
+ context->reg[] directly.
+ (uw_install_context_1): Same.
+ (execute_cfa_program): Same.
+ (__frame_state_for): Same.
+
+ * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
+ the synthetic register offset.
+
+ * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
+
+2003-03-11 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.md: Remove lingering EGCS reference.
+ ("*extopqihi_side_biap"): For HI operation, match
+ cris_additive_operand_extend_operator, not
+ cris_operand_extend_operator. Adjust condition.
+ ("*extopqihi_side", "*extopqihi"): Ditto.
+ ("*extopqisi_side_biap"): Correct operand numbers in condition.
+ ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
+ ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
+ ("*extophisi_swap"): Ditto.
+ ("*extopqihi_swap_side_biap"): For HI operation, match a simple
+ PLUS, not cris_operand_extend_operator. Adjust condition and
+ output template.
+ ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
+ * config/cris/cris.h (PREDICATE_CODES): Add
+ cris_additive_operand_extend_operator.
+ * config/cris/cris.c (cris_additive_operand_extend_operator):
+ New predicate.
+
+2003-03-11 Hartmut Penner <hpenner@de.ibm.com>
+
+ * df.c (read_modify_subreg_p): Change from static to global.
+ * df.h (read_modify_subreg_p): Add prototype.
+ * sched-deps.c (sched_analyze_1): Generate true dependency for
+ strict_low_part, certain subregs and zero/sign_extract.
+
+2003-03-11 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makefile.in: Update.
+ * c-common.c: Don't include real.h or except.h.
+ (REGISTER_PREFIX): Remove.
+ (builtin_define_std, builtin_define_with_value,
+ builtin_define_with_int_value, builtin_define_with_hex_fp_value,
+ builtin_define_type_max, builtin_define_type_precision,
+ builtin_define_float_constants): Move to c-cppbuiltin.c.
+ (c_stddef_cpp_builtins): New.
+ * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
+ * c-cppbuiltin.c: New, extracted from c-common.c.
+ (define__GNUC__): New.
+ * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
+ * gcc.c: Remove support of %v1, %v2 and %v3 specs.
+ (cpp_unique_options): Don't support no-gcc.
+ (do_spec_1): Remove support of version specs.
+ * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
+ * doc/passes.texi: Update.
+ * doc/tm.texi: Update.
+
+2003-03-10 Aldy Hernandez <aldyh@redhat.com>
+
+ * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
+
+2003-03-10 Andrew Pinski <apinski@apple.com>
+
+ * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
+ is on should not get here.
+ (machopic_indirect_data_reference): If dynamic-no-pic is on just
+ generate high/low parts of the address.
+ (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
+ MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
+ symbol and labels with a new reg. Dynamic-no-pic does not have a
+ pic_offset_table_rtx.
+ (machopic_select_section): Change references of flag_pic to
+ MACHOPIC_INDIRECT.
+ (machopic_asm_out_destructor): Likewise.
+ * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
+ reference of flag_pic to MACHOPIC_INDIRECT.
+ (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
+ (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
+ (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
+ (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
+ * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
+ 0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
+ * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
+ (TARGET_DYNAMIC_NO_PIC): Define.
+ (SUBTARGET_SWITCHES): Define, have sub-target switches for
+ dynamic-no-pic.
+ (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
+ rs6000_override_options to here. Dynamic-no-pic overrides
+ pic.
+ (CC1_SPEC): Change from not static then pic to not static and not
+ dynamic-no-pic then pic.
+ * config/rs6000/rs6000.c (rs6000_override_options): Move the
+ check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
+ (rs6000_legitimize_reload_address): Add case for loading floating in
+ dynamic-no-pic.
+ (rs6000_emit_move): Add case for dynamic-no-pic. Change reference
+ of flag_pic to MACHOPIC_INDIRECT.
+ (secondary_reload_class): Conditional change the reference of
+ flag_pic to MACHOPIC_INDIRECT.
+ (rs6000_output_mi_thunk): Change reference of flag_pic to
+ MACHOPIC_INDIRECT.
+ (output_profile_hook): Likewise.
+ (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
+ * config/rs6000/rs6000.md (movdf_low): Add the case for
+ MACHO_DYNAMIC_NO_PIC_P.
+ (call): Change references for flag_pic in TARGET_MACHO to
+ MACHOPIC_INDIRECT.
+ (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
+ -mdynamic-no-pic is on. Also move case for -fpic from rs6000.c.
+ * doc/invoke.texi (-mdynamic-no-pic): Document.
+
+2003-03-10 Devang Patel <dpatel@apple.com>
+
+ PR c++/9394
+ * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
+ (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
+ * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
+ (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
+ * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
+ (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
+
+2003-03-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
+
+ PR optimization/7189
+ * toplev.c (rest_of_compilation): Move
+ check_function_return_warnings up to just after
+ delete_unreachable_blocks.
+
+2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
+ * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
+ Declare.
+ * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
+ for reg rename optimization to avoid using Z and Y registers.
+
+2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
+ when adding to X and Y since leax/leay are fast.
+ ("*addhi3"): Accept 'I' constraint when adding to address register.
+ ("rotlhi3"): Operand 1 must be a register_operand.
+ (peephole2): New peephole to optimize some adds.
+ * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
+ to represent -2 .. 2 small integer range.
+
+2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
+ each 16-bit rotation.
+
+2003-03-10 Zack Weinberg <zack@codesourcery.com>
+
+ * c-opts.c (add_prefixed_path): Don't use concat. When
+ prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
+ cpp_GCC_INCLUDE_DIR_len characters.
+
+2003-03-10 Segher Boessenkool <segher@koffie.nl>
+
+ * testsuite/gcc.dg/altivec-9.c: New file.
+
+ * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
+ (rs6000_emit_prologue): Use rs6000_frame_related instead.
+
+2003-03-10 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/spe.h: Define __ev64_*64__ to use single element
+ vectors.
+ (__ev_convert_u64): Remove macro. Define as inline.
+ (__ev_convert_s64): Same.
+
+2003-03-10 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
+ (rs6000_stack_t): Add spe_64bit_regs_used.
+
+ * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
+ spe_64bit_regs_used, and use it to determine the size of the
+ frame.
+ (spe_func_has_64bit_regs_p): New.
+ (spe_synthesize_frame_save): New.
+ (rs6000_frame_related): Handle SPE synthetic registers.
+ (rs6000_emit_prologue): Only save in 64-bits if the function used
+ any registers in 64-bit mode.
+ (rs6000_emit_epilogue): Same, but for restore.
+
+2003-03-10 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.h (enum floating_point_type): Delete. Replace with...
+ (enum fputype): ... new.
+ (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT. Values reworked.
+ * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
+ * arm.md (attr fpu): Reworked for new underlying enum values.
+ * arm.c (arm_fpu_arch): Now enum fputype.
+ (arm_fpu_tune): Renamed from arm_fpu. Now enum fputype.
+ (arm_override_options, arm_output_epilogue, arm_expand_prologue):
+ Update uses of arm_fpu_arch and arm_fpu_tune.
+
+2003-03-10 Josef Zlomek <zlomekj@suse.cz>
+
+ * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
+ (try_crossjump_to_edge): Replace refereces to one jump table by
+ references to identical jump table.
+ * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
+ (replace_label): Moved to rtlanal.c.
+ (struct rtx_pair): Moved to rtl.h.
+ * rtl.h (struct rtx_pair): Moved from loop.c.
+ (replace_label): New extern function.
+ (subrtx_p): New extern function.
+ (tablejump_p): New extern function.
+ * rtlanal.c (replace_label): Moved from loop.c.
+ (subrtx_p_1): New static function.
+ (subrtx_p): New function.
+ (tablejump_p): New function.
+
+Mon Mar 10 15:30:36 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
+
+ * cfgcleanup.c (merge_blocks): Return where to iterate next.
+ (try_optimize_cfg): Use return value of merge_blocks
+
+2003-03-10 Michael Matz <matz@suse.de>
+
+ * cfg.c (unchecked_make_edge): New.
+ (cached_make_edge): Use it.
+ * basic-block.h (unchecked_make_edge): Declare.
+ * cfglayout.c (cfg_layout_duplicate_bb): Use it.
+
+2003-03-10 Richard Earnshaw <rearnsha@arm.com>
+
+ * fpa.md: New file. Move all patterns relating to FPA co-processor
+ to here...
+ * arm.md: ... from here.
+ (cirrus.md, fpa.md): Include at end of description.
+ (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
+ (pic_load_addr_based): Remove register constraint from expander.
+ (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
+ (sordered, sungt, sunle, sunge, sunlt): Likewise.
+ (eh_epilogue, tablejump): Likewise.
+
+2003-03-09 David Edelsohn <edelsohn@gnu.org>
+ Mostafa Hagog
+
+ * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
+ condition.
+
+2003-03-09 Neil Booth <neil@daikokuya.co.uk>
+
+ * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
+ * config/ip2k/ip2k.h: Similarly.
+ * config/m32r/m32r.h: Similarly.
+ * config/m68hc11/m68hc11.h: Similarly.
+ * config/mn10200/mn10200.h: Similarly.
+ * config/mn10300/mn10300.h: Similarly.
+ * config/pdp11/pdp11.h: Similarly.
+ * config/v850/v850.h: Similarly.
+ * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
+ * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
+ * config/mips/iris3.h: Remove #if 0 block.
+
+2003-03-09 Roger Sayle <roger@eyesopen.com>
+ Joern Rennecke <joern.rennecke@superh.com>
+
+ * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
+ pending argument upon return from handle_braces here.
+ (do_spec_2): Instead handle it upon return from do_spec_1 here.
+
+2003-03-09 Roger Sayle <roger@eyesopen.com>
+ Joern Rennecke <joern.rennecke@superh.com>
+
+ * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
+ pending argument upon return from handle_braces here.
+ (do_spec_2): Instead handle it upon return from do_spec_1 here.
+
+2003-03-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * varasm.c (make_decl_one_only): Use declare_weak().
+
+2003-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/9986
+ * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
+ after the common builtins.
+ * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
+ * pa.c (TARGET_INIT_BUILTINS): Define.
+ (pa_init_builtins): New function.
+
+ * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
+ space has been allocated for the outgoing arguments, set the arg
+ pointer for a call emitted after virtuals have been instantiated
+ using the stack pointer offset, otherwise abort.
+
+2003-03-09 DJ Delorie <dj@redhat.com>
+
+ * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
+
+2003-03-09 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
+ (arm_fix_truncdfsi2): Add missing fix in floating point mode before
+ conversion to integer.
+ * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
+
+2003-03-09 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.def: Fix typo and improve grammar.
+ * loop-unroll.c (decide_peel_completely): Tidy log message.
+
+2003-03-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*tstsi_upper_bit): New.
+ (*iorsi3_e2f): Likewise.
+
+2003-03-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (h8300_and_costs): Return the number of
+ assembly instructions needed.
+ (h8300_shift_costs): Likewise.
+