+2004-03-14 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.
+
+2004-03-13 Dara Hazeghi <dhazeghi@yahoo.com>
+
+ * doc/install.texi: Note status of -fnew-ra.
+
+2004-03-13 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR middle-end/14470
+ * expr.c (store_expr): Call emit_queue before generating the move
+ from the temporary to the original target. Protect the temporary
+ from emit_queue.
+
+2004-03-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/14533
+ * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
+ other than UNSPEC_GOTOFF.
+
+2004-03-13 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (arm_legitimate_address_p): New argument, OUTER. Pass through
+ to arm_legitimate_index_p. Update all callers with SET as default
+ value.
+ (arm_legitimate_index_p): New argument, OUTER. Restrict the index
+ range if OUTER is a sign-extend operation on QImode. Correctly
+ reject shift operations on sign-extended QImode addresses.
+ (bad_signed_byte_operand): Delete.
+ (arm_extendqisi_mem_op): New function.
+ * arm.h (EXTRA_CONSTRAINT_ARM): Delete. Replace with...
+ (EXTRA_CONSTRAINT_STR_ARM): ... this. Handle extended address
+ constraints.
+ (CONSTRAINT_LEN): New.
+ (EXTRA_CONSTRAINT): Delete. Replace with...
+ (EXTRA_CONSTRAINT_STR): ... this.
+ (PREDICATE_CODES): Remove bad_signed_byte_operand.
+ * arm.md (extendqihi_insn): Use new constraint Uq. Rework. Length
+ is now always default.
+ (define_splits for bad sign-extend loads): Delete.
+ (arm_extendqisi, arm_extendqisi_v5): Likewise.
+ * arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp):
+ Rework 'U' constraint to 'Uv'.
+ * arm-protos.h: Remove bad_signed_byte_operand. Add
+ arm_extendqisi_mem_op.
+ * doc/md.texi (ARM constraints): Rename VFP constraint (now Uv).
+ Add Uq constraint.
+
+2004-03-13 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS
+ with targetm version.
+
+ PR target/14567
+ * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
+ (HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
+ * config/rs6000/rs6000.c (rs6000_arg_size): New function.
+ Update all users of RS6000_ARG_SIZE.
+ (function_arg_advance): Count fregno using mode size.
+ (function_arg): Handle long double split over regs and memory.
+ (function_arg_partial_nregs): Likewise.
+ (rs6000_va_arg): Repackage complex args.
+
+2004-03-13 Dean Ferreyra <dferreyra@igc.org>
+
+ PR target/14047
+ * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
+ (avr_insert_attributes): Pass "attributes" to avr_progmem_p.
+ * config/avr/avr-protos.h (avr_progmem_p): Change prototype.
+
+2004-03-12 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
+ prototype.
+ * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
+ * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
+
+2003-03-12 Andrew Pinski <apinski@apple.com>
+
+ * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
+ Use ret instead of result. Use addr instead of base.
+
+2004-03-12 David Edelsohn <edelsohn@gnu.org>
+
+ * doc/install.texi (*-ibm-aix*): Document assembler and achiver
+ fixes required by libstdc++ and update installation instructions
+ for libstdc++.a.
+
+2004-03-12 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip
+ leading '@' on fastcall symbols before stripping suffix.
+
+2004-03-12 Roger Sayle <roger@eyesopen.com>
+
+ * combine.c (unmentioned_reg_p): New function to check whether an
+ expression is a "specialization" of another, i.e. that there are
+ no registers or memory references mentioned in the first that don't
+ appear in the second.
+ (unmentioned_reg_p_1): New helper subroutine of unmentioned_reg_p.
+ (combine_instructions): Also try combining instructions using the
+ REG_EQUAL note from a preceding log-linked instruction.
+
+2004-03-12 Roger Sayle <roger@eyesopen.com>
+
+ * config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.
+
+2004-03-12 Matt Austern <austern@apple.com>
+
+ * target.h (struct gcc_target): New target hook, unwind_label.
+ * target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook.
+ * output.h (default_emit_unwind_label): New function.
+ * default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro.
+ (TARGET_USES_WEAK_UNWIND_INFO): New target macro.
+ (TARGET_SUPPORTS_HIDDEN): New target macro.
+ * dwarf2out.c (struct dw_fde_struct): Add field for function decl
+ that corresponds to this FDE.
+ (FRAME_BEGIN_LABEL): Allow target to override default label.
+ (output_call_frame_info): If FDEs are linknonce, then use extra
+ indirection for FDE encoding, output a label for each FDE, and
+ output an empty label for each function without an FDE.
+ (dwarf2out_begin_prologue): Set up decl field when creating an FDE.
+ * varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for
+ decls with DECL_ONE_ONLY set, if that macro is defined.
+ (make_decl_one_only): Don't use DECL_COMMON if we're compiling
+ for a SUPPORTS_ONE_ONLY target.
+ * config/darwin-protos.h (darwin_unique_section): Declare.
+ (darwin_asm_named_section): Likewise.
+ (darwin_section_type_flags): Likewise.
+ (darwin_non_lazy_pcrel): Likewise.
+ (darwin_emit_unwind_label): Likewise.
+ (darwin_make_decl_one_only): Likewise.
+ * config/darwin.c (machopic_finish): Get rid of tweak that
+ eliminate stubs for symbols that are defined.
+ (darwin_encode_section_info): Don't treat weak functions as defined.
+ (darwin_make_decl_one_only): Define.
+ (darwin_asm_named_section): Likewise.
+ (darwin_section_type_flags): Likewise.
+ (darwin_unique_section): Likewise.
+ (darwin_emit_unwind_label): Likewise.
+ (darwin_non_lazy_pcrel): Likewise.
+ (darwin_asm_output_dwarf_delta): Difference between two labels is
+ local only if both labels are local.
+ * config/darwin.h (MAKE_DECL_ONE_ONLY): Define.
+ (ASM_MAKE_LABEL_LINKONCE): Likewise.
+ (TARGET_SUPPORTS_HIDDEN): Likewise.
+ (TARGET_USES_WEAK_UNWIND_INFO): Likewise.
+ (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise.
+ (FRAME_BEGIN_LABEL): Likewise.
+ (ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect.
+ (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ (darwin_eh_frame_section): Give __eh_frame section the coalesced flag.
+ (TARGET_ASM_UNIQUE_SECTION): Define.
+ (EH_FRAME_SECTION_NAME): Define.
+ (EH_FRAME_SECTION_ATTR): Likewise.
+ (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
+ (TARGET_ASM_NAMED_SECTION): Likewise.
+ (TARGET_SECTION_TYPE_FLAGS): Likewise.
+ * doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO,
+ TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN,
+ TARGET_ASM_EMIT_UNWIND_LABEL.
+
+2004-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (expand_builtin_mathfn): Add pow10* to the
+ existing exp10* case.
+ (expand_builtin): Likewise.
+
+2004-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/tm.texi (registers) <Values in Registers>: Add
+ entry for REGMODE_NATURAL_SIZE.
+
+2004-03-12 Richard Henderson <rth@redhat.com>
+
+ PR target/14547
+ * target.h (struct gcc_target): Move calls substructure before
+ booleans. Add split_complex_arg.
+ * function.c (assign_parms, split_complex_args): Use it.
+ * calls.c (expand_call): Likewise.
+ (split_complex_values): Likewise. Check for splittable types
+ before allocating memory.
+ (split_complex_types): Likewise.
+ * system.h (SPLIT_COMPLEX_ARGS): Poison.
+ * expr.h (SPLIT_COMPLEX_ARGS): Remove.
+ * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
+ * config/alpha/alpha.c (alpha_split_complex_arg): New.
+ (TARGET_SPLIT_COMPLEX_ARG): New.
+ * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
+ * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
+ (rs6000_override_options): Zap it for non-AIX.
+ (rs6000_function_value): Use targetm.calls.split_complex_arg.
+ * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
+ * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
+ * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
+ * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
+ SPLIT_COMPLEX_ARGS entry.
+
+2004-03-11 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New.
+ (alpha_lookup_xfloating_lib_func): Use them, return rtx.
+ (alpha_emit_xfloating_arith): Update to match.
+ (alpha_emit_xfloating_compare): Likewise.
+ (alpha_emit_xfloating_cvt): Likewise.
+ (alpha_emit_xfloating_libcall): Take already built symbol,
+ mark call const.
+ * config/alpha/alpha.md (extendsftf2, extenddftf2): Take
+ op1 in a register.
+
+2004-03-11 Richard Henderson <rth@redhat.com>
+
+ PR target/14539
+ * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
+
+ * simplify-rtx.c (simplify_relational_operation): Fix typo.
+
+2004-03-11 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/14477
+ * except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
+
+2004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
+
+ PR target/14262
+ * calls.c (load_register_parameters): If BLOCK_REG_PADDING is not
+ defined, pass small BLKmode values in registers in the low-order part.
+
+2004-03-11 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * combine.c (if_then_else_cond): Check for NULL return value of
+ simplify_gen_subreg.
+
+2004-03-11 Richard Sandiford <rsandifo@redhat.com>
+
+ PR target/14496
+ * config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
+ TARGET_SINGLE_FLOAT.
+
+2004-03-11 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef.
+ * config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define.
+ * config/ia64/ia64.c (ia64_init_libfuncs): New.
+ (ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs.
+
+2004-03-11 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
+ -((int)X>>C) where C is an integer constant one bit less than the
+ size of X into (unsigned)X>>C. Similarly for unsigned->signed.
+ (negate_expr) <RSHIFT_EXPR>: Implement the above transformations.
+
+ * simplify-rtx.c (simplify_unary_operation): Also implement the
+ above transformations at the RTL level.
+
+2004-03-11 Alan Modra <amodra@bigpond.net.au>
+
+ * real.c (encode_ibm_extended): Do round low word.
+
+2004-03-11 Ben Elliston <bje@wasabisystems.com>
+
+ * config/arm/arm.md (is_xscale): Comment this attribute and move
+ it a bit further up in the file, closer to related attributes.
+
+2004-03-11 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/host-solaris.c (sol_gt_pch_use_address): Add
+ missing terminating marker to comment.
+
+2004-03-11 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: Use move_operand in splitters for 64-bit moves.
+ (movdi, movsi, movhi, movqi, movsf, movdf): Remove predicates.
+ (*movdi_32bit_mips16, *movsi_mips16, *movhi_mips16, *movqi_mips16)
+ (*movsf_mips16, *movdf_mips16): Name unnamed patterns. Use
+ move_operand as source predicate in all cases.
+ (*movdi_32bit): Renamed from movdi_internal. Remove 'F' constraint.
+ Test reg_or_0_operand. Use move_operand as source predicate.
+ (*movdi_64bit): Renamed from movdi_internal2. Test reg_or_0_operand.
+ (*movdi_64bit_mips16): Renamed from movdi_internal2_mips16.
+ (*movsi_internal): Renamed from movsi_internal. Test reg_or_0_operand.
+ (movhi, movqi, movsf, movdf): Use mips_legitimize_move.
+ (*movhi_internal): Renamed from movhi_internal. Test reg_or_0_operand.
+ Use move_operand as source predicate. Remove 'K' constraint.
+ (*movqi_internal): Likewise movqi_internal.
+ (*movsf_hardfloat): Renamed from movsf_internal1. Test
+ reg_or_0_operand. Use move_operand as source predicate.
+ (*movsf_softfloat): Likewise movsf_internal2.
+ (*movdf_hardfloat_64bit): Likewise movsf_internal1a.
+ (*movdf_hardfloat_32bit): Likewise movsf_internal1b.
+ (*movdf_softfloat): Likewise movdf_internal2.
+ * config/mips/mips.c (move_operand): Match arbitrary CONST_INTs
+ for DImode if !TARGET_64BIT.
+ (mips_legitimize_move): Simplify accordingly.
+
+2004-03-11 Josef Zlomek <zlomekj@suse.cz>
+
+ PR/14362
+ * var-tracking.c (struct variable_def): Added field refcount.
+ (variable_htab_free): Decrease the refcount and delete variable
+ only if there are no more references.
+ (unshare_variable): New function.
+ (vars_copy_1): Increase refcount instead of copying the variable.
+ (variable_union): Share the variables where possible, unshare
+ the variables if needed.
+ (variable_different_p): Return false if var1 and var2 are
+ the same structure.
+ (variable_was_changed): Init the refcount of new variable.
+ (set_frame_base_location): Unshare variable if needed.
+ (set_variable_part): Init the refcount of new variable.
+ Unshare the variables if needed.
+ (delete_variable_part): Unshare the variables if needed.
+ (emit_notes_for_differences_1): Init the refcount of new variable.
+ (vt_add_function_parameters): Do not add function parameters to
+ IN set of ENTRY_BLOCK_PTR because it is unused anyway.
+ (vt_initialize): Do not add frame_base_decl to IN set of
+ ENTRY_BLOCK_PTR because it is unused anyway.
+
+2004-03-11 Josef Zlomek <zlomekj@suse.cz>
+
+ * var-tracking.c (vars_copy_1): Cleanup and speedup chain operations.
+ (vars_copy): Likewise.
+ (variable_union): Likewise.
+ (set_variable_part): Likewise.
+ (delete_variable_part): Likewise.
+
+2004-03-11 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-typeck.c, combine.c, cse.c, dominance.c, et-forest.h,
+ ggc-page.c, var-tracking.c, config/fp-bit.c, config/c4x/c4x.c,
+ config/cris/cris.c, config/i386/ppro.md, config/i860/i860.c,
+ config/i860/i860.h, config/m32r/m32r.h, config/m32r/xm-m32r.h,
+ config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
+ config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.h,
+ config/pa/pa.c, config/pa/pa32-regs.h, config/pa/pa64-regs.h,
+ config/pdp11/pdp11.h, config/rs6000/rs6000.c,
+ config/stormy16/stormy16.c: Fix comment typos and formatting.
+
+2004-03-11 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * configure: Regenerate, since I forgot to while committing Paolo's
+ changes.
+
+2004-03-08 Paolo Bonzini <bonzini@gnu.org>
+
+ PR ada/14131
+ Move language detection to the top level.
+ * configure.ac: Remove code to detect languages,
+ it now lives exclusively in the top level.
+ * aclocal.m4 (gcc_AC_PROG_GNAT): Moved to the
+ top level, renamed to ACX_PROG_GNAT.
+
+2004-03-10 Richard Henderson <rth@redhat.com>
+
+ * c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
+ extra arguments.
+ * config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj
+ and host_xmake_file fragments.
+ * ggc-common.c (gt_pch_save): Update for gt_pch_get_address change.
+ (gt_pch_restore): Similarly for gt_pch_use_address.
+ (default_gt_pch_get_address): New.
+ (mmap_gt_pch_get_address): Split out of gt_pch_save.
+ (default_gt_pch_use_address): Split out of gt_pch_restore.
+ (mmap_gt_pch_use_address): Likewise.
+ * hooks.c (hook_voidp_size_t_null): Remove.
+ (hook_bool_voidp_size_t_false): Remove.
+ * hooks.h: Likewise.
+ * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the
+ default_ or mmap_ definitions.
+ (HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise.
+ * hosthooks.h (struct host_hooks): Update gt_pch_get_address
+ and gt_pch_use_address.
+ * config/host-linux.c, config/host-solaris.c: New files.
+ * config/x-linux, config/x-solaris: New files.
+ * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_get_address):
+ Update for changed definition.
+ (darwin_rs6000_gt_pch_use_address): Likewise.
+ * doc/hostconfig.texi: Update docs.
+
+2004-03-10 Richard Henderson <rth@redhat.com>
+
+ PR c/14517
+ * c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
+ except for pedantic c90 mode.
+
+2004-03-10 Kelley Cook <kcook@gcc.gnu.org>
+
+ * configure.ac: Bump AC_PREREQ to 2.59.
+ * configure: Regenerate.
+
+2004-03-10 Uros Bizjak <uros@kss-loka.si>
+
+ * optabs.h (enum optab_index): Add new OTI_exp10 and OTI_exp2.
+ (exp10_optab, exp2_optab): Define corresponding macros.
+ * optabs.c (init_optabs): Initialize exp10_optab and exp2_optab.
+ * genopinit.c (optabs): Implement exp10_optab and exp2_optab
+ using exp10?f2 and exp2?f2 patterns.
+ * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP10{,F,L}
+ using exp10_optab, and BUILT_IN_EXP2{,F,L} using exp2_optab.
+ (expand_builtin): Expand BUILT_IN_EXP10{,F,L} and BUILT_IN_EXP2{,F,L}
+ using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
+
+ * config/i386/i386.md (exp10sf2, exp10df2, exp10xf2, exp2sf2,
+ exp2df2, exp2xf2): New patterns to implement exp10, exp10f, exp10l,
+ exp2, exp2f and exp2l built-ins as inline x87 intrinsics.
+
+2004-03-10 Anthony Green <green@redhat.com>
+
+ * doc/invoke.texi (ARM Options): Fix -mpfu typo.
+
+2004-03-10 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/aix.h (TARGET_OS_CPP_BUILTINS): Rename to ...
+ (TARGET_OS_AIX_CPP_BUILTINS): this. Conditionally define
+ __LONGDOUBLE128.
+ * config/rs6000/aix41.h (TARGET_OS_CPP_BUILTINS): Use
+ TARGET_OS_AIX_CPP_BUILTINS.
+ * config/rs6000/aix43.h (TARGET_OS_CPP_BUILTINS): Same.
+ * config/rs6000/aix51.h (TARGET_OS_CPP_BUILTINS): Same.
+ * config/rs6000/aix52.h (TARGET_OS_CPP_BUILTINS): Same.
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Revert
+ previous change.
+
+2004-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * fold-const.c (tree_expr_nonnegative_p): Add more builtin cases.
+
+2004-03-10 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
+ __LONGDOUBLE128 on AIX.
+
+2004-03-10 Andrew Haley <aph@redhat.com>
+
+ PR optimization/14381
+ * function.c (expand_function_end): Emit a blockage insn before
+ the epilogue when -fnon-call-exceptions is used.
+
+ * except.c (expand_start_all_catch): Make comment more accurate.
+
+2004-03-08 Joel Sherrill <joel@oarcorp.com>
+
+ PR target/14480
+ * config/rs6000/t-rtems: Add missing file on branch.
+
+2004-03-10 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * dbxout.c (dbxout_symbol_location): Do not output references
+ to optimized-out constant pool symbols.
+
+2004-03-10 Andreas Schwab <schwab@suse.de>
+
+ * config/ia64/ia64.md (divsi3, udivsi3): Remove unused variable
+ twon34_r.
+
+2004-03-09 James E Wilson <wilson@specifixinc.com>
+
+ * alias.c (alias_sets_might_conflict_p): New.
+ * c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1.
+ * common.opt (Wstrict-aliasing=): New.
+ * flags.h (warn_strict_aliasing): Change type to int.
+ * opts.c (warn_strict_aliasing): Change type to int.
+ (common_handle_option): Handle OPT_Wstrict_aliasing_.
+ * tree.h (alias_sets_might_conflict_p): Declare it.
+ * doc/invoke.tex (-Wstrict-aliasing=2): Document it.
+
+2004-03-10 Roman Zippel <zippel@linux-m68k.org>
+
+ PR bootstrap/12371
+ * config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
+ (CALL_USED_REGISTERS): Likewise.
+ (REG_CLASS_CONTENTS): Likewise.
+ (REG_ALLOC_ORDER): New.
+ (REGNO_REG_CLASS): Use regno_reg_class.
+ * config/m68k/m68k.c: Add regno_reg_class array.
+
+2004-03-09 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.md (divsi3): Fix algorithm.
+ (udivsi3): Ditto.
+ (setf_exp_xf): Remove '*' from name.
+ * testsuite/gcc.dg/20040309-1.c: New test.
+
+2004-03-09 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * system.h (SUNOS4_SHARED_LIBRARIES): Poison.
+ * collect2.c: Remove SUNOS4_SHARED_LIBRARIES code.
+ * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): Don't define.
+ * config/sparc/sparc.c (sparc_aout_select_section): Remove.
+ (sparc_aout_select_rtx_section): Don't check
+ SUNOS4_SHARED_LIBRARIES.
+ * config/sparc/sparc.h (SUNOS4_SHARED_LIBRARIES): Don't define.
+
+2004-03-10 Hans-Peter Nilsson <hp@axis.com>
+
+ PR other/14474
+ * doc/md.texi (Pattern Ordering, Dependent Patterns)
+ (Jump Patterns, Looping Patterns): Wrap in separate "@ifset
+ INTERNALS".
+
+2004-03-09 Zack Weinberg <zack@codesourcery.com>
+
+ * config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
+ (LIBGCC_SPEC): Update to match.
+
+2004-03-09 Zack Weinberg <zack@codesourcery.com>
+
+ * c-decl.c (last_function_parms, last_function_parm_tags)
+ (last_function_parm_others, current_function_parms)
+ (current_function_parm_tags, current_function_parm_others):
+ Delete.
+ (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES, ARG_INFO_OTHERS):
+ New macros.
+ (grokdeclarator): For function definitions, save the arg-info
+ block from the declarator in DECL_ARGUMENTS.
+ (grokparms): Do not write to last_function_parm*. Use ARG_INFO_*
+ macros to operate on arg-info block. Can assume ARG_INFO_PARMS
+ contains only PARM_DECLs. Improve diagnostics.
+ (get_parm_info): Use ARG_INFO_* macros. Improve comments and
+ diagnostics. Disable some expensive checks if not ENABLE_CHECKING.
+ (store_parm_decls_newstyle): Take the function to operate on,
+ and an arg-info block, as arguments; don't get anything from
+ current_function_* globals.
+ (store_parm_decls_oldstyle): Likewise.
+ (store_parm_decls): Pass fndecl and its arg-info block down to
+ store_parm_decls_newstyle/oldstyle. Send functions with empty
+ argument lists through store_parm_decls_newstyle to reduce
+ overhead.
+ (pushdecl): Comment on the problems with the call to copy_node.
+ Clear DECL_ARGUMENTS of the old node after copying it, if it
+ is an arg-info block instead of a chain of decls.
+ (start_function): Do not manipulate current_function_parm* or
+ last_function_parm*.
+
+2004-03-09 Roger Sayle <roger@eyesopen.com>
+ Andrew Pinski <pinskia@physics.uc.edu>
+
+ * ifcvt.c (noce_try_sign_mask): New function to transform
+ "x = (y < 0) ? z : 0" into the equivalent "x = (y >> C) & z".
+ (noce_process_if_block): Call noce_try_sign_mask.
+
+2004-03-09 Andrew Pinski <apinski@apple.com>
+
+ * c-typeck.c (tagged_types_tu_compatible_p):
+ Fix typo.
+
+2004-03-09 Roger Sayle <roger@eyesopen.com>
+
+ * simplify-rtx.c (simplify_const_relational_operation): New function
+ renamed from simplify_relational_operation.
+ (simplify_relational_operation): Change prototype to accept an
+ additional mode argument. Call simplify_const_relational_operation.
+ (simplify_gen_relational): Update simplify_relational_operation call.
+ (simplify_ternary_operation): Update simplify_relational_operation
+ subroutine call to use simplify_const_relational_operation instead.
+
+ * rtl.h (simplify_const_relational_operation): Prototype here.
+ (simplify_relational_operation): Add addtional mode argument.
+
+ * combine.c (combine_simplify_rtx): Update calls to
+ simplify_relational_operation.
+ (simplify_set): Likewise.
+ (gen_binary): Likewise.
+ * cse.c (fold_rtx): Likewise.
+ * dojump.c (compare_from_rtx): Likewise.
+ (do_compare_rtx_and_jump): Likewise.
+ * integrate.c (subst_constants): Likewise.
+ * unroll.c (simplify_cmp_and_jump_insns): Likewise.
+
+2004-03-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/m32r/m32r.md: Remove all define_peephole's.
+
+2004-03-09 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.md: Remove trailing whitespace.
+
+2004-03-08 Eric Christopher <echristo@redhat.com>
+
+ * Makefile.in (site.exp): Add libiconv variable definition.
+
+2004-03-09 Hans-Peter Nilsson <hp@axis.com>
+
+ * configure: Regenerate for config/accross.m4 correction.
+
+2004-03-08 Joel Sherrill <joel@oarcorp.com>
+
+ PR target/14480
+ * config/rs6000/t-rtems: Add missing file on branch.
+
2004-03-08 Roger Sayle <roger@eyesopen.com>
PR middle-end/14289
and MASK_STRING.
2004-03-07 Aldy Hernandez <aldyh@redhat.com>
-
- * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
- for little endian.
- ("ashrdi3_no_power"): Disable for little endian.
+
+ * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
+ for little endian.
+ ("ashrdi3_no_power"): Disable for little endian.
(ashrdi3): Same.
2004-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* toplev.c (dump_file_tbl): Rename from dump_file.
* bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
- cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
+ cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
2004-01-31 Paolo Bonzini <bonzini@gnu.org>
- * combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
+ * combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
and restore it to gen_lowpart_general on exit.
(gen_lowpart_for_combine): Adjust all callers to go through
gen_lowpart.
* fixinc/inclhack.def (alpha___extern_prefix,
alpha___extern_prefix_standards): New hacks to obey
- __PRAGMA_EXTERN_PREFIX.
+ __PRAGMA_EXTERN_PREFIX.
* fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
test.
* fixinc/tests/base/standards.h: Likewise.