OSDN Git Service

* config/arm/arm.c (arm_init_libfuncs): Clear mod optabs.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index ba76cb6..99347ef 100644 (file)
@@ -1,3 +1,500 @@
+2005-04-19  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_init_libfuncs): Clear mod optabs. 
+
+2005-04-19  Andrew Haley  <aph@redhat.com>
+
+       PR java/21022
+       * dbxout.c (dbxout_type_fields): Check DECL_IGNORED_P before
+       looking at a field's bitpos.
+
+2005-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * system.h (fopen, fdopen, freopen): Define these to the unlocked
+       libiberty functions.
+
+2005-04-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimization/21096
+       * tree-ssa-copy.c (fini_copy_prop): Free cached_last_copy_of.
+
+2005-04-19  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/21098
+       * config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New.
+       * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use the above.
+
+2005-04-19  Alexandre Oliva  <aoliva@redhat.com>
+
+       * tree-cfg.c (dump_function_to_file): Use cfun info only if it
+       refers to the function being dumped.
+
+2005-04-18  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * varasm.c (assemble_start_function): Remove reset of in_section.
+
+2005-04-18  James A. Morrison  <phython@gcc.gnu.org>
+
+       PR tree-optimization/21085
+       * fold-const (fold_binary): Don't change X % -C to X % C if C has
+       overflowed.
+
+2005-04-19  Ben Elliston  <bje@au.ibm.com>
+
+       * doc/invoke.texi (Optimize Options): Refer to the correct
+       optimisation flag -ftree-dominator-opts, not -ftree-dom.
+
+2005-04-18  Christopher Jaillet <christophe.jaillet@wanadoo.fr>
+
+       * config/rs6000/rs6000.c (machopic_output_stub):  Increase
+       alloca argument to be big enough.
+
+2005-04-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR middle-end/21049
+       * tree-cfg.c (dump_function_to_file): Do not crash if cfun or
+       cfun->cfg are NULL.
+
+2005-04-18  Tom Tromey  <tromey@redhat.com>
+
+       * cgraphunit.c (cgraph_finalize_compilation_unit): Fix a comment
+       typo.
+
+2005-04-18  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_split_atomic_op): New.
+       (alphaev5_insn_pipe): Add LD_L, ST_C, MB types.
+       (alphaev4_insn_pipe): Likewise.  Correct IST and LDSYM pipes.
+       * config/alpha/alpha-protos.h: Update.
+       * config/alpha/alpha.md (UNSPECV_MB, UNSPECV_LL, UNSPECV_SC): New.
+       (UNSPECV_ATOMIC, UNSPECV_CMPXCHG, UNSPECV_XCHG): New.
+       (attr type): Add ld_l, st_c, mb.
+       (andsi_internal, andnotsi3, iorsi_internal, one_cmplsi_internal,
+       iornotsi3, xorsi_internal, xornotsi3): New.
+       * config/alpha/ev4.md (ev4_ld): Add ld_l.
+       (ev4_ist_c, ev4_mb): New.
+       * config/alpha/ev5.md (ev5_st): Add st_c, mb.
+       (ev5_ld_l): New.
+       * config/alpha/ev6.md (ev6_ild): Add ld_l.
+       (ev6_ist): Add st_c.
+       (ev6_mb): New.
+       * config/alpha/sync.md: New file.
+
+2005-04-18  Richard Henderson  <rth@redhat.com>
+
+       * builtins.c (expand_builtin_sync_operation): Fold nand to and
+       for constants.
+
+       * optabs.c (expand_sync_operation): Fix typo expanding nand to and.
+
+2005-04-18  Devang Patel  <dpatel@apple.com>
+
+       * config/rs6000/atlivec.md (mulv4si3): New pattern.
+       
+2005-04-18  James A. Morrison  <phython@gcc.gnu.org>
+
+       PR tree-optimization/20922
+       * fold-const.c (fold_binary): Fold X - c > X and X + c < X to false.
+       Fold X + c >= X and fold X - c <= X to true.
+
+2005-04-18  James A. Morrison  <phython@gcc.gnu.org>
+
+       * config/ia64/unwind-ia64.c (emergency_reg_state_free): Make an
+       unsigned int.
+       (emergency_labeled_state_free): Likewise.
+
+2005-04-18  Nick Clifton  <nickc@redhat.com>
+
+       * config/h8300/h8300.md (jump): Remove prescan parameter from
+       calls to final_scan_insn.
+
+       * config/arc/arc.c (arc_output_function_epilogue): Remove prescan
+       parameter from calls to final_scan_insn.
+
+       * config.gcc (m68hc12): Use the m68hc11.opt file for target
+       specific options.
+       (v850e, v850e1): Use the v850.opt file for target specific
+       options.
+
+2005-04-18  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimization/21001
+       * tree-optimize.c (init_tree_optimization_passes): Move the
+       first pass_forwprop immediately before pass_vrp.
+
+2005-04-17  Ian Lance Taylor  <ian@airs.com>
+
+       * c-common.def (SIZEOF_EXPR, ARROW_EXPR, ALIGNOF_EXPR): Remove.
+       * c-common.c (c_sizeof_or_alignof_type): Change second parameter
+       from enum tree_code op to bool is_sizeof.
+       * c-common.h (c_sizeof_or_alignof_type): Update declaration.
+       (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
+       * c-pretty-print.c (pp_c_postfix_expression): Remove ARROW_EXPR
+       case.
+       (pp_c_unary_expression): Remove SIZEOF_EXPR and ALIGNOF_EXPR
+       cases.
+       (pp_c_expression): Remove ARROW_EXPR, SIZEOF_EXPR, and
+       ALIGNOF_EXPR cases.
+
+2005-04-17  Ian Lance Taylor  <ian@airs.com>
+
+       * system.h: Poison DONT_ACCESS_GBLS_AFTER_EPILOGUE.
+
+2005-04-17  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (va_list_skip_additions): Only define if
+       TARGET_ABI_OSF.
+       (TARGET_STDARG_OPTIMIZE_HOOK): Likewise.
+       (alpha_stdarg_optimize_hook): Likewise.  Allow for one more round
+       of indirection through ssa names while looking for the gpr counter
+       field.
+       (alpha_setup_incoming_varargs) <TARGET_ABI_OSF>: Make use of the
+       saved va_list_gpr_size and va_list_fpr_size.
+
+2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-vrp.c (compare_values): Check that VAL1 and VAL2 are
+       both pointers or both integers.
+
+       * tree-vrp.c (maybe_add_assert_expr): Don't assert
+       ASSERT_EXPRs for single-use variable.
+
+       * tree-into-ssa.c: Fix a comment typo.
+
+2005-04-17  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/iris6.h (DRIVER_SELF_SPECS): Check -march as well as
+       -mipsN before forcing a default of -mips2.
+
+2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * predict.h (IS_TAKEN): Remove.
+       * rtl.h (NOTE_PREDICTION): Likewise.
+
+       * modulo-sched.c (CFG_HOOKS): Remove.
+
+       * c-parser.c (N_C_TTYPES): Remove.
+
+       * tree-flow-inline.h (get_stmt_operands): Remove.
+       * lambda-code.c, tree-ssa-loop-unswitch.c,
+       tree-ssa-operands.c, tree-ssa-pre.c, tree-ssa-propagate.c,
+       tree-ssa-sink.c, tree-ssa.c, tree-tailcall.c,
+       tree-vect-transform.c, tree-vectorizer.c, tree-vrp.c): Remove
+       calls to get_stmt_operands.
+       * doc/tree-ssa.texi: Don't mention get_stmt_operands.
+
+2005-04-17  Richard Henderson  <rth@redhat.com>
+
+       PR target/20375
+       * config/alpha/alpha.c (alpha_setup_incoming_varargs): Advance a copy
+       of CUMULATIVE_ARGS past the last named argument.
+       (alpha_va_start): Expect pretend_args_size only if strictly less than
+       6 named arguments.
+
+2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR middle-end/21024
+       * builtins.c (expand_builtin_strcat): Convert the result of
+       strlen to the right type.
+       * fold-const.c (fold_binary) <PLUS_EXPR>: Use fold_convert to
+       avoid creating type mismatches.
+       <GE_EXPR>: Pass op0 and op1 to fold_build2 to avoid creating
+       type mismatches.
+
+       * c-lex.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Remove.
+
+2005-04-16  Richard Henderson  <rth@redhat.com>
+
+       PR target/21051
+       * builtins.c (expand_builtin) <BUILT_IN_BOOL_COMPARE_AND_SWAP_*>:
+       Use the mode of boolean_type_node when the user doesn't provide one.
+       * config/ia64/sync.md (sync_lock_release<I48MODE>): Use operand 1.
+
+2005-04-16  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR target/20126
+       * loop.c (loop_givs_rescan): Handle non-replaceable (plus (reg)
+       (const)).
+
+       * tree-scalar-evolution.c (interpret_rhs_modify_expr): Fix typo in
+       comment.
+
+2005-04-16  Roger Sayle  <roger@eyesopen.com>
+           Steven Bosscher  <stevenb@suse.de>
+
+       * fold-const.c (fold_binary_to_constant): Delete obsolete comment.
+       (fold_unary_to_constant): Likewise.
+
+2005-04-16  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * basic-block.h: Adjust the value of PROP_SCAN_DEAD_STORES,
+       PROP_ASM_SCAN.
+
+2005-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Specific): Avoid using asterisks in @anchor
+       names related to target triplets.
+       Remove i?86-*-esix from platform directory.
+       Remove powerpc-*-eabiaix from platform directory.
+
+2005-04-16  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR middle-end/20491
+       * config/ia64/ia64.c (rtx_needs_barrier): Recurse instead of
+       falling through from SUBREG case to REG.
+
+2005-04-15  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold_relational_hi_lo): Delete function and prototype.
+       (fold_binary): Update comment mentioning fold_relational_hi_lo.
+       (fold_binary_to_constant): Simplify using fold_binary.
+       (fold_unary_to_constant): Likewise, simplify using fold_unary.
+
+2005-04-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * gthr-posix.c (pthread_cancel): Define.
+       (pthread_mutexattr_init): Likewise.
+       (pthread_mutexattr_settype): Likewise.
+       (pthread_mutexattr_destroy): Likewise.
+
+2005-04-15  David S. Miller  <davem@davemloft.net>
+
+       PR target/20673
+       * config/sparc/sparc.h (sparc_hard_reg_printed): Mark as GTY(()).
+
+2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimization/21031
+       * tree-ssa-forwprop.c (ssa_name_defined_by_comparison_p): New.
+       (forward_propagate_into_cond_1): Call it.  Forward propagate
+       integer-integer casts into COND_EXPRs.
+
+2005-04-15  Dave Korn  <dave.korn@artimi.com>
+
+       * gcc.c (default_compilers): Clarify obscure error message when
+       reading from standard input.
+
+2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * basic-block.h (PROP_EQUAL_NOTES): Remove.
+       * flow.c (propagate_one_insn): Don't use PROP_EQUAL_NOTES.
+
+       * tree-ssa-alias.c (init_alias_info): Remove a call to
+       get_stmt_operands.
+
+2005-04-15  Andrew MacLeod  <amacleod@redhat.com>
+
+       * tree-vect-analyze.c (vect_stmt_relevant_p): Process immediate uses
+       of non-virtual PHI nodes like we use to.
+
+2005-05-15  Paolo Bonzini  <bonzini@gnu.org>
+
+       * genattrtab.c (ATTR_EQ_ATTR_P): Remove.
+       (attr_copy_rtx): Do not use it.
+
+2005-04-15  Andrew Macleod  <amacleod@redhat.com>
+
+       * doc/tree-ssa.texi: Grammer/abbreviation updates.
+
+2005-04-15  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-vect-transform.c (vectorizable_store): Mark necessary
+       objects in the vectorized store needing renaming.  Update the
+       SSA graph for V_MAY_DEF operands in the original store.
+
+2005-04-14  Daniel Berlin <dberlin@dberlin.org>
+
+       * tree-ssa-pre.c (compute_avail): It's okay to have
+       TREE_INVARIANT's here, and value number the resulting expressions.
+       (create_expression_by_pieces): Make sure operands that were
+       min_invariant when we started, stay that way.
+
+2005-04-15  David Edelsohn  <edelsohn@gnu.org>
+
+       * doc/install.texi (*-ibm-aix*): Add comment about system limits.
+
+2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimization/20936.
+       * tree-ssa-ccp.c (visit_assignment): Fix a typo.
+
+2005-04-15  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * doc/invoke.texi: Fix typos.
+       * doc/md.texi: Likewise.
+       * doc/rtl.texi: Likewise.
+       * doc/sourcebuild.texi: Likewise.
+       * doc/tm.texi: Likewise.
+
+2005-04-15  Uros Bizjak  <uros@kss-loka.si>
+
+       PR tree-optimization/21004
+       * convert.c (convert_to_integer): Convert ceilf, ceill, floorf
+       and floorl in c99 mode only.
+       * builtins.c (expand_builtin_int_roundingfn): Assert that
+       fallback_fndecl is not NULL_TREE.
+
+2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfgrtl.c (purge_all_dead_edge): Remove an unused argument.
+       * basic-block.h: Update the prototype for
+       purge_all_dead_edges.
+       * cfgexpand.c (tree_expand_cfg): Update a call to
+       purge_all_dead_edges.
+       * combine.c (combine_instructions): Likewise.
+       * passes.c (rest_of_handle_old_regalloc, rest_of_handle_cse,
+       rest_of_handle_cse2, rest_of_handle_gcse,
+       rest_of_handle_postreload): likewise.
+
+2005-04-15  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR middle-end/20739
+       * gimplify.c (gimplify_addr_expr): Compensate for removal of
+       e.g. cv-qualification conversions.
+
+2005-04-14  Mike Stump  <mrs@apple.com>
+
+       * config/darwin-c.c (framework_construct_pathname): We must
+       find all headers of a framework in the first instance of it
+       found in the seach path.
+
+2005-04-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimization/21021
+       * tree-vrp.c (compare_values): Work around a bug in the front
+       end that produces a comparison of mismatched types.
+
+2004-04-14  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.h (enum fetchop_code): Remove.
+       (enum ia64_builtins): Move ...
+       * config/ia64/ia64.c (enum ia64_builtins): ... here.  Remove all
+       members except BSP and FLUSHRS.
+       (ia64_init_builtins): Remove __sync builtins.
+       (ia64_expand_builtin): Likewise.
+       (ia64_expand_fetch_and_op, ia64_expand_op_and_fetch): Remove.
+       (ia64_expand_compare_and_swap, ia64_expand_lock_test_and_set): Remove.
+       (ia64_expand_lock_release): Remove.
+       * config/ia64/ia64.md (mf): Move to sync.md.
+       (mf_internal, fetchadd_acq_si, fetchadd_acq_di, cmpxchg_acq_si,
+       cmpxchg_acq_di, xchgsi, xchgdi): Likewise.
+       * config/ia64/sync.md: New file.
+       (memory_barrier): Rename from mf.
+       (fetchadd_acq_<I48MODE>): Macroize from _si/_di patterns.
+       (cmpxchg_acq_<I48MODE>): Likewise.
+       (sync_lock_test_and_set<I48MODE>): Likewise.
+
+       * config/ia64/ia64intrin.h: Define nothing for C; limit #defines
+       to c++.  Remove __sync* declarations.  s/_si/_4/.  s/_di/_8/.
+
+2004-04-14  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (x86_cmpxchg, x86_xadd): New.
+       (ix86_compare_emitted): New.
+       (ix86_expand_compare): Use ix86_compare_emitted if set.
+       (ix86_expand_setcc): Only emit REG_EQUAL if both ix86_compare_op0
+       and ix86_compare_op0 are set.
+       * config/i386/i386.h (x86_cmpxchg, x86_xadd): Declare.
+       (TARGET_CMPXCHG, TARGET_XADD): New.
+       (ix86_compare_emitted): Declare.
+       * config/i386/i386.md: Include sync.md
+       (UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2): New.
+       (UNSPECV_XCHG, UNSPECV_LOCK): New.
+       * config/i386/sync.md: New file.
+
+2004-04-14  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/14311
+       * builtin-types.def (BT_BOOL, BT_VOLATILE_PTR, BT_I1, BT_I2,
+       BT_I4, BT_I8, BT_FN_VOID_VPTR, BT_FN_I1_VPTR_I1, BT_FN_I2_VPTR_I2,
+       BT_FN_I4_VPTR_I4, BT_FN_I8_VPTR_I8, BT_FN_BOOL_VPTR_I1_I1,
+       BT_FN_BOOL_VPTR_I2_I2, BT_FN_BOOL_VPTR_I4_I4, BT_FN_BOOL_VPTR_I8_I8,
+       BT_FN_I1_VPTR_I1_I1, BT_FN_I2_VPTR_I2_I2, BT_FN_I4_VPTR_I4_I4,
+       BT_FN_I8_VPTR_I8_I8): New.
+       * builtins.def (DEF_SYNC_BUILTIN): New.
+       (BUILT_IN_FETCH_AND_ADD_N, BUILT_IN_FETCH_AND_ADD_1,
+       BUILT_IN_FETCH_AND_ADD_2, BUILT_IN_FETCH_AND_ADD_4,
+       BUILT_IN_FETCH_AND_ADD_8, BUILT_IN_FETCH_AND_SUB_N,
+       BUILT_IN_FETCH_AND_SUB_1, BUILT_IN_FETCH_AND_SUB_2,
+       BUILT_IN_FETCH_AND_SUB_4, BUILT_IN_FETCH_AND_SUB_8,
+       BUILT_IN_FETCH_AND_OR_N, BUILT_IN_FETCH_AND_OR_1,
+       BUILT_IN_FETCH_AND_OR_2, BUILT_IN_FETCH_AND_OR_4,
+       BUILT_IN_FETCH_AND_OR_8, BUILT_IN_FETCH_AND_AND_N,
+       BUILT_IN_FETCH_AND_AND_1, BUILT_IN_FETCH_AND_AND_2,
+       BUILT_IN_FETCH_AND_AND_4, BUILT_IN_FETCH_AND_AND_8,
+       BUILT_IN_FETCH_AND_XOR_N, BUILT_IN_FETCH_AND_XOR_1,
+       BUILT_IN_FETCH_AND_XOR_2, BUILT_IN_FETCH_AND_XOR_4,
+       BUILT_IN_FETCH_AND_XOR_8, BUILT_IN_FETCH_AND_NAND_N,
+       BUILT_IN_FETCH_AND_NAND_1, BUILT_IN_FETCH_AND_NAND_2,
+       BUILT_IN_FETCH_AND_NAND_4, BUILT_IN_FETCH_AND_NAND_8,
+       BUILT_IN_ADD_AND_FETCH_N, BUILT_IN_ADD_AND_FETCH_1,
+       BUILT_IN_ADD_AND_FETCH_2, BUILT_IN_ADD_AND_FETCH_4,
+       BUILT_IN_ADD_AND_FETCH_8, BUILT_IN_SUB_AND_FETCH_N,
+       BUILT_IN_SUB_AND_FETCH_1, BUILT_IN_SUB_AND_FETCH_2,
+       BUILT_IN_SUB_AND_FETCH_4, BUILT_IN_SUB_AND_FETCH_8,
+       BUILT_IN_OR_AND_FETCH_N, BUILT_IN_OR_AND_FETCH_1,
+       BUILT_IN_OR_AND_FETCH_2, BUILT_IN_OR_AND_FETCH_4,
+       BUILT_IN_OR_AND_FETCH_8, BUILT_IN_AND_AND_FETCH_N,
+       BUILT_IN_AND_AND_FETCH_1, BUILT_IN_AND_AND_FETCH_2,
+       BUILT_IN_AND_AND_FETCH_4, BUILT_IN_AND_AND_FETCH_8,
+       BUILT_IN_XOR_AND_FETCH_N, BUILT_IN_XOR_AND_FETCH_1,
+       BUILT_IN_XOR_AND_FETCH_2, BUILT_IN_XOR_AND_FETCH_4,
+       BUILT_IN_XOR_AND_FETCH_8, BUILT_IN_NAND_AND_FETCH_N,
+       BUILT_IN_NAND_AND_FETCH_1, BUILT_IN_NAND_AND_FETCH_2,
+       BUILT_IN_NAND_AND_FETCH_4, BUILT_IN_NAND_AND_FETCH_8,
+       BUILT_IN_BOOL_COMPARE_AND_SWAP_N, BUILT_IN_BOOL_COMPARE_AND_SWAP_1,
+       BUILT_IN_BOOL_COMPARE_AND_SWAP_2, BUILT_IN_BOOL_COMPARE_AND_SWAP_4,
+       BUILT_IN_BOOL_COMPARE_AND_SWAP_8, BUILT_IN_VAL_COMPARE_AND_SWAP_N,
+       BUILT_IN_VAL_COMPARE_AND_SWAP_1, BUILT_IN_VAL_COMPARE_AND_SWAP_2,
+       BUILT_IN_VAL_COMPARE_AND_SWAP_4, BUILT_IN_VAL_COMPARE_AND_SWAP_8,
+       BUILT_IN_LOCK_TEST_AND_SET_N, BUILT_IN_LOCK_TEST_AND_SET_1,
+       BUILT_IN_LOCK_TEST_AND_SET_2, BUILT_IN_LOCK_TEST_AND_SET_4,
+       BUILT_IN_LOCK_TEST_AND_SET_8, BUILT_IN_LOCK_RELEASE_N,
+       BUILT_IN_LOCK_RELEASE_1, BUILT_IN_LOCK_RELEASE_2,
+       BUILT_IN_LOCK_RELEASE_4, BUILT_IN_LOCK_RELEASE_8,
+       BUILT_IN_SYNCHRONIZE: New.
+       * builtins.c (called_as_built_in): Rewrite from CALLED_AS_BUILT_IN
+       as a function.  Accept __sync_ as a prefix as well.
+       (expand_builtin_sync_operation, expand_builtin_compare_and_swap,
+       expand_builtin_lock_test_and_set, expand_builtin_synchronize,
+       expand_builtin_lock_release): New.
+       (expand_builtin): Call them.
+       * c-common.c (DEF_BUILTIN): Don't require __builtin_ prefix if
+       neither BOTH_P nor FALLBACK_P are defined.
+       (builtin_type_for_size): New.
+       (sync_resolve_size, sync_resolve_params, sync_resolve_return): New.
+       (resolve_overloaded_builtin): New.
+       * c-common.h (resolve_overloaded_builtin): Declare.
+       (builtin_type_for_size): Declare.
+       * c-typeck.c (build_function_call): Invoke resolve_overloaded_builtin.
+       * expr.c (sync_add_optab, sync_sub_optab, sync_ior_optab,
+       sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab,
+       sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab,
+       sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab,
+       sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab,
+       sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap,
+       sync_compare_and_swap_cc, sync_lock_test_and_set,
+       sync_lock_release): New.
+       * optabs.h: Declare them.
+       * expr.h (expand_val_compare_and_swap, expand_bool_compare_and_swap,
+       expand_sync_operation, expand_sync_fetch_operation,
+       expand_sync_lock_test_and_set): Declare.
+       * genopinit.c (optabs): Add sync optabs.
+       * optabs.c (init_optabs): Initialize sync optabs.
+       (expand_val_compare_and_swap_1, expand_val_compare_and_swap,
+       expand_bool_compare_and_swap, expand_compare_and_swap_loop,
+       expand_sync_operation, expand_sync_fetch_operation,
+       expand_sync_lock_test_and_set): New.
+       * doc/extend.texi (Atomic Builtins): New section
+       * doc/md.texi (Standard Names): Add sync patterns.
+
+2005-04-14  Alexandre Oliva  <aoliva@redhat.com>
+
+       * tree-eh.c (lower_try_finally_copy): Generate new code in
+       response to goto_queue entries as if the queue was sorted by
+       index, not pointers.
+       (lower_try_finally_switch): Likewise.
+
 2005-04-14  Richard Henderson  <rth@redhat.com>
 
        * config/i386/i386.c (ix86_expand_sse_cmp): Split out from ...
 
        Fix PR tree-optimization/20963
        * tree-ssa-pre.c (compute_avail): Remove special case for
-       TREE_INVARIANT. 
+       TREE_INVARIANT.
        (create_expression_by_pieces): Add value numbers for forced out
        statements.
 
 2005-04-13 Fariborz Jahanian <fjahanian@apple.com>
 
        * simplify-rtx.c (simplify_binary_operation_1): Return
-       scalar or vector of constant 0, depending on the xor's 
+       scalar or vector of constant 0, depending on the xor's
        mode.
 
 2005-04-13  Dale Johannesen  <dalej@apple.com>
 
-        * objc/Make-lang.in (objc-lang.o):  Depend on tree-gimple.h.
-        (objc-act.o):  Ditto.
-        * objc/objc-act.c (objc_gimplify_expr):  New.
-        (objc_get_callee_fndecl):  New.
-        * objc/objc-act.h:  Include tree-gimple.h.  Declare new functions.
-        * objc/objc-lang.c (LANG_HOOKS_GIMPLIFY_EXPR):  Define.
-        (LANG_HOOKS_GET_CALLEE_FNDECL):  Define.
+       * objc/Make-lang.in (objc-lang.o):  Depend on tree-gimple.h.
+       (objc-act.o):  Ditto.
+       * objc/objc-act.c (objc_gimplify_expr):  New.
+       (objc_get_callee_fndecl):  New.
+       * objc/objc-act.h:  Include tree-gimple.h.  Declare new functions.
+       * objc/objc-lang.c (LANG_HOOKS_GIMPLIFY_EXPR):  Define.
+       (LANG_HOOKS_GET_CALLEE_FNDECL):  Define.
 
 2005-04-13  Devang Patel  <dpatel@apple.com>
 
        * tree-if-conv.c (tree_if_convert_cond_expr): Do not create extra
        temp variables.
-       
+
 2005-04-13  Hans-Peter Nilsson  <hp@axis.com>
 
        CRIS prologue as RTL.
 
        * config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK from
        being used for symbols with vague linkage when HAVE_GAS_COMDAT_GROUP
-       is true. 
+       is true.
 
 2005-04-13  Kazu Hirata  <kazu@cs.umass.edu>
 
        Var(bfin_lib_id_given).
 
 2005-04-13  Matt Thomas  <matt@3am-software.com>
+
        * config/rs6000/sysv4.h (NO_IMPLICIT_EXTERN_C): undefine before
        defining.
 
 2005-04-12  Richard Henderson  <rth@redhat.com>
 
        * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Split ...
-       (ix86_expand_sse_fp_minmax): ... from ... 
+       (ix86_expand_sse_fp_minmax): ... from ...
        (ix86_expand_fp_movcc): ... here.
        (ix86_expand_sse_movcc): Rewrite from ix86_split_sse_movcc.
        * config/i386/i386-protos.h: Update.
 2005-04-12  Caroline Tice  <ctice@apple.com>
 
        Temporary fix for partitioning problems.
-       * passes.c (rest_of_handle_final): Remove code that 
+       * passes.c (rest_of_handle_final): Remove code that
        frees unlikely_text_section_name,
        * varasm.c (assemble_start_function): Test for partitioning
        flag before writing out section labels.
        (assemble_end_function): Test for partitioning flag before
        writing out section labels.
-       
+
 2005-04-12  Steven Bosscher  <stevenb@suse.de>
            Stuart Hastings <stuart@apple.com>
            Jan Hubicka  <jh@suse.cz>
        * function.h (struct function): Revert my patch from April 9.
        * opts.c (decode_options): Revert my patch from April 9.
        * output.h (unlikely_section_label, hot_section_label,
-       hot_section_end_label, cold_section_end_label, 
+       hot_section_end_label, cold_section_end_label,
        unlikely_text_section_name): Revert my patch from April 9.
        * passes.c (rest_of_handle_final): Revert my patch from April 9.
        * varasm.c (unlikely_section_label, hot_section_label,
        (assemble_start_function): Revert my patch from April 9.
        (assemble_end_function): Revert my patch from April 9.
        (default_section_type_flags_1): Revert my patch from April 9.
-       
+
 2005-04-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        * config/sparc/sparc.h (APPLY_RESULT_SIZE): Set to 24 in 64-bit mode.
 
 2005-04-11  Devang Patel  <dpatel@apple.com>
 
-        * tree-data-ref.c (build_classic_dist_vector,
-        compute_subscript_distance): Make externally visible.
-        * tree-data-ref.h (build_classic_dist_vector,
-        compute_subscript_distance): Same.
-        * tree-vect-analyze.c (vect_analyze_data_ref_dependence):
-        Check distance vector against vectorization factor.
-        (vect_analyze_loop): Determine vectorizaion factor before
-        analyzing data dependences.
-        * tree-vectorizer.c (loops_num): Make it externally visible and
-        rename ...
-        * tree-vectorizer.c (vect_loops_num): ... new name.
-        * tree-vectorizer.h  (vect_loops_num): New.
+       * tree-data-ref.c (build_classic_dist_vector,
+       compute_subscript_distance): Make externally visible.
+       * tree-data-ref.h (build_classic_dist_vector,
+       compute_subscript_distance): Same.
+       * tree-vect-analyze.c (vect_analyze_data_ref_dependence):
+       Check distance vector against vectorization factor.
+       (vect_analyze_loop): Determine vectorizaion factor before
+       analyzing data dependences.
+       * tree-vectorizer.c (loops_num): Make it externally visible and
+       rename ...
+       * tree-vectorizer.c (vect_loops_num): ... new name.
+       * tree-vectorizer.h  (vect_loops_num): New.
 
 2005-04-11  Devang Patel  <dpatel@apple.com>
 
-        * tree-vect-analyze.c (vect_analyze_operations): Check
-        vectorizable codition.
-        * tree-vect-transform.c (vect_is_simple_cond): New function.
-        (vectorizable_condition): New function.
-        (vect_transform_stmt): Handle condition_vec_info_type.
-        * tree-vectorizer.h (enum stmt_vec_info_type): Add
-        condition_vec_info_type.
-        (vectorizable_condition): New.
-       
+       * tree-vect-analyze.c (vect_analyze_operations): Check
+       vectorizable codition.
+       * tree-vect-transform.c (vect_is_simple_cond): New function.
+       (vectorizable_condition): New function.
+       (vect_transform_stmt): Handle condition_vec_info_type.
+       * tree-vectorizer.h (enum stmt_vec_info_type): Add
+       condition_vec_info_type.
+       (vectorizable_condition): New.
+
 2005-04-11  Geoffrey Keating  <geoffk@apple.com>
 
        * config/i386/i386.h (TARGET_FPMATH_DEFAULT): New.
        fflush, fgetc, fgets, ferror, fread): Redefine to the associated
        _unlocked function.
        (fwrite_unlocked): Fix prototype.
-       
+
        * configure, config.in: Regenerate.
 
 2005-04-11  David Edelsohn  <edelsohn@gnu.org>
 2005-04-11  Daniel Berlin  <dberlin@dberlin.org>
 
        Fix PR tree-optimization/20926
-       
+
        * tree-ssa-alias.c (add_type_alias): Handle subvars.
-       
+
 2005-04-11  Devang Patel  <dpatel@apple.com>
 
        * config/rs6000.c (rs6000_emit_vector_select): Fix vector select
        operand ordering.
-       
+
 2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>
 
        * fold-const.c (fold_binary_op_with_conditional_arg):
        (fold_binary): Likewise.
 
 2005-04-11  Daniel Berlin  <dberlin@dberlin.org>
-       
+
        Fix PR tree-optimization/20612
        * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Fix increment
        handling
        (current_function_section): Likewise.
        (assemble_start_function): Modify to get/put unlikely_text_section_name
        in current function struct; modify to get hot/cold section labels
-       from function struct; initialize labels using 
+       from function struct; initialize labels using
        ASM_GENERATE_INTERNAL_LABEL;
        test partitioning flag before writing out hot section label.
        (assemble_end_function): Test partitioning flag before writing out
        * tree-sra.c (decide_instantiations): Mark all symbols in
        SRA_CANDIDATES for renaming.
        (mark_all_v_defs_1): Rename from mark_all_v_defs.
-       (mark_all_v_defs): New function.  Update all users to call it 
+       (mark_all_v_defs): New function.  Update all users to call it
        with the whole list of scalarized statements, not just the
        first one.
        * tree-ssa-alias.c (count_ptr_derefs): Make extern.
 
        PR target/20814
        * config/rs6000/predicates.md (altivec_register_operand): Accept
-       SUBREG. 
+       SUBREG.
        (and64_operand): Do not limit CONST_INT to mask64_operand.
        (and64_2_operand): Do not limit CONST_INT to mask64_1or2_operand.
        (and_operand): Do not limit CONST_INT to mask_operand.
 2005-04-08  Mike Stump  <mrs@apple.com>
 
        * config/darwin.c (indirect_data): Fix typo in strncmp logic.
-       
+
        * config/rs6000/rs6000.c (rs6000_emit_prologue): Use 5 nops,
        instead of 4.
 
        using gen_lowpart and gen_highpart_mode.
        (note_invalid_constants): All constants in an RTX with a constraint
        that permits memory are now pushed to the constant pool.
-       (output_move_double): Delete code to handle reg to reg and 
+       (output_move_double): Delete code to handle reg to reg and
        constant to reg moves.
        (const_double_needs_minipool, output_mov_immediate): Delete.
        * arm.h (EXTRA_CONSTRAINT_STR_ARM): All 'D' variants now handle
 2005-04-06  Dorit Naishlos  <dorit@il.ibm.com>
 
        * tree-vect-analyze.c (vect_analyze_loop_form): Call
-       split_loop_exit_edge instead of loop_split_edge_with. 
+       split_loop_exit_edge instead of loop_split_edge_with.
 
 2005-04-06  Paolo Bonzini  <bonzini@gnu.org>
 
        dump_immediate_uses_for, debug_immediate_uses_for): Delete.
        (mark_new_vars_to_rename): Call update_stmt.
        * tree-dump.c (dump_option_value_in): Add "stmtaddr".
-       * tree-flow-inline.h (modify_stmt): Rename to mark_stmt_modified.  
+       * tree-flow-inline.h (modify_stmt): Rename to mark_stmt_modified.
        Ignore PHI nodes.
        (unmodify_stmt): Delete.
        (update_stmt): New.  Force an update of a stmt.
        (update_stmt_if_modified): update a stmt if it is out of date.
-       (get_stmt_operands): Verify stmt is NOT modified. 
+       (get_stmt_operands): Verify stmt is NOT modified.
        (stmt_modified_p): Update comment.
        (delink_imm_use): Remove a use node from its immuse list.
        (link_imm_use_to_list): Link a use node to a specific list.
        (num_imm_uses): New.  Return the number of immediate uses.
        (get_v_must_def_ops): Use is now a pointer.
        (use_operand_p, get_v_may_def_op_ptr, get_vuse_op_ptr,
-       get_v_must_def_kill_ptr, get_phi_arg_def_ptr): Return the address of 
+       get_v_must_def_kill_ptr, get_phi_arg_def_ptr): Return the address of
        the use node.
        (get_immediate_uses, num_immediate_uses, immediate_use): Delete.
        (delink_stmt_imm_use): Delink all immuses from a stmt.
        (immediate_use_iterator_d): New.  Immediate use iterator struct.
        (FOR_EACH_IMM_USE_FAST): New.  Macro for read only immuse iteration.
        (FOR_EACH_IMM_USE_SAFE): New.  Macro for write-safe immuse iteration.
-       (BREAK_FROM_SAFE_IMM_USE): New.  Macro for earlyu exit from write-safe 
+       (BREAK_FROM_SAFE_IMM_USE): New.  Macro for earlyu exit from write-safe
        iteration.
        (struct stmt_ann_d): Remove dataflow_t from struct.
        * tree-if-conv.c (tree_if_conversion).  Don't call free_df.
        (if_convertible_phi_p): Use FAST immuse iterator.
        (if_convertible_loop_p): Don't call compute_immediate_uses.
        (replace_phi_with_cond_modify_expr): Call update_stmt.
-       * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites): Call 
+       * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites): Call
        update_stmt_if_modified.
        (rewrite_all_into_ssa): Initialize ssa operands.
        * tree-loop-linear.c (linear_transform_loops): Don't call free_df or
        compute_immediate_uses.
-       * tree-optimize.c (execute_todo): Call verify_ssa whenever the 
+       * tree-optimize.c (execute_todo): Call verify_ssa whenever the
        ssa_property is available.
        (execute_one_pass):  Change parameters passed to execute_todo.
        * tree-outof-ssa.c (rewrite_trees): Don't call modify_stmt.
        * tree-ssa-cpp.c (need_imm_uses_for): Delete.
        (ccp_initialize): Remove call to compute_immediate_uses.
        (substitute_and_fold, execute_fold_all_builtins): Call update_stmt.
-       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Update all modified 
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Update all modified
        stmts.
        (simplify_cond_and_lookup_avail_expr): Call mark_stmt_modified.
        (simplify_switch_and_lookup_avail_expr): Call mark_stmt_modified.
        (substitute_single_use_vars): Use new immuse interface.
        (tree_ssa_forward_propagate_single_use_vars): Remove calls to free_df
        and compute_immediate_uses.
-       * tree-ssa-loop-im.c (single_reachable_address): Use new immuse 
+       * tree-ssa-loop-im.c (single_reachable_address): Use new immuse
        interface.
        (rewrite_mem_refs): Call update_stmt.
        (determine_lsm): Remove call to compute_imm_uses and free_df.
        (compute_phi_arg_on_exit): Insert each stmt before trying to process.
        (rewrite_use) : Call update_stmt.
        * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Add arg to call.
-       * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Call 
+       * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Call
        update_stmt.
        * tree-ssa-operands.c (NULL_USE_OPERAND_P): Remove declaration.
        (allocate_use_optype, allocate_vuse_optype): Adjust allocation size.
        (SET_USE): Call set_ssa_use_from_ptr.
        (USE_STMT): Define.
        (PHI_ARG_INDEX_FROM_USE): Define.
-       * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Set the phi 
+       * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Set the phi
        argument via SET_USE, not PHI_ARG_DEF_TREE.
        * tree-ssa-pre.c (eliminate): Call update_stmt.
        * tree-ssa-propagate.c (cfg_blocks_get): Use imm_use iterators.  Don't
        was changed.
        (replace_immediate_uses): Use imm_use iterator, call update_stmt.
        (check_phi_redundancy): Use imm_use iterator.
-       (kill_redundant_phi_nodes): Don't call compute_immediate_uses or 
+       (kill_redundant_phi_nodes): Don't call compute_immediate_uses or
        free_df.
        * tree-ssanames.c (make_ssa_name): Initialize imm_use node.
        (release_ssa_name): Delink node and all elements in its imm_use list.
        * c-decl.c (finish_function): If USE_MAPPED_LOCATION set the location
        of the artification 'return 0' in main() to BUILTINS_LOCATION.
        * tree-cfg.c (remove_bb): Check that location isn't BUILTINS_LOCATION
-       before warning. 
+       before warning.
 
 2004-04-05  Devang Patel  <dpatel@apple.com>
 
        (ashr<mode>3): ... new name.
        * config/rs6000/rs6000.c (builtin_description): Rename shift
        operations.
-       
+
 2004-04-05  Paolo Bonzini  <bonzini@gnu.org>
 
        * combine.c (RTL_HOOKS_GEN_LOWPART_NO_EMIT): Use
        * config.gcc: Add bfin*-* and bfin*-elf configurations.
 
 2005-04-05  Olivier Hainque  <hainque@adacore.com>
-       
+
        * config/mips/iris6.h (DWARF_FRAME_RETURN_COLUMN): Redefine to
        match what the system unwinder expects.
        * config/mips/mips.c (mips_frame_set): If we're saving the return
        * config/i386/i386.md (frndintxf2_floor, frndintxf2_ceil)
        (frndintxf2_trunc, frndintxf2_mask_pm): Add FLAGS_REG clobber.
        Allocate local stack slots here.  Set ix86_optimize_mode_switching.
-       flag here. Implement using define_insn_and_split.  
+       flag here. Implement using define_insn_and_split.
        (frndintxf2_floor_i387, frndintxf2_ceil_i387, frndintxf2_trunc_i387)
        (frndintxf2_mask_pm_i387): New insn patterns.
        (floorsf2, floordf2, floorxf2): Remove local stack slot allocations.
 
 2005-04-02  Daniel Berlin  <dberlin@dberlin.org>
            Diego Novillo <dnovillo@redhat.com>
-           
+
        Fix PR tree-optimization/20703
        Fix PR tree-optimization/20725
-       
+
        * tree-ssa-pre.c (phi_translate): Handle tcc_comparison.
        (create_expression_by_pieces): Ditto.
        (valid_in_set): Ditto. Also handle tcc_declaration.
        attribute.
        ("imul"): Removed from "type" attribute.
        ("*muldi3_sign", "muldi3"): Changed type to imuldi.
-       ("mulsi3/1", "mulsi3/3", "mulsi/4", "mulsidi3", "umulsidi3"): 
+       ("mulsi3/1", "mulsi3/3", "mulsi/4", "mulsidi3", "umulsidi3"):
        Changed type to imulsi.
        ("*mulsi3_sign", "mulsi3/2"): Changed type to imulhi.
 
        (compare_negsi_si): New pattern.
        (cmpsi_negshiftsi_si): New pattern.
        (negated_cbranchsi4): Restrict to equality_operator.
-       
+
        * arm.md (movhi_insn_arch4): delete trailing white space from assembler
        template.
 
 
        * doc/md.texi: Remove remark about impossibility to query unit
        presence in non nondeterministic automaton state.
-       
+
        * config/ia64/ia64.c (get_template): Change order of unit querying.
 
 2005-03-31  Kazu Hirata  <kazu@cs.umass.edu>
        cold blocks to last round.
        (find_traces): Remove code that added extra round of trace finding
        when doing partitioning.
-       (find_traces_1_round) :  Remove variable last_round;  add code to 
-       update new struct field, in_trace; correct trace_length where it was 
-       incorrect before (after call to copy_bb); change code that pushed all 
-       cold blocks to last round. Instead verify that all blocks going into 
+       (find_traces_1_round) :  Remove variable last_round;  add code to
+       update new struct field, in_trace; correct trace_length where it was
+       incorrect before (after call to copy_bb); change code that pushed all
+       cold blocks to last round. Instead verify that all blocks going into
        a trace belong in the same partition.
        (connect_traces): Modify to connect the traces in two passes, if the
-       function contains both hot and cold blocks.  The first pass connects 
-       all the traces for blocks in the partition that the first block in 
-       the function belongs to; the second pass connnects all the traces 
+       function contains both hot and cold blocks.  The first pass connects
+       all the traces for blocks in the partition that the first block in
+       the function belongs to; the second pass connnects all the traces
        containing blocks that belong in the other partition.
        (find_rarely_executed_basic_blocks_and_crossing_edges):  Remove
        code that automatically put the first block in a function into the
        hot partition if the function had any hot blocks.
-       (fix_crossing_unconditional_branches): Check number of succ edges 
+       (fix_crossing_unconditional_branches): Check number of succ edges
        before attempting to get one.
        (fix_edges_for_rarely_executed_code):  Update comment describing
        function.
        (reorder_basic_blocks):  Add code to initialize new field (in_trace);
-       remove call to add_unlikely_executed_notes; add call to 
+       remove call to add_unlikely_executed_notes; add call to
        verify_hot_cold_block_grouping.
-       (duplicate_computed_gotos): Don't change computed goto if it's a 
+       (duplicate_computed_gotos): Don't change computed goto if it's a
        crossing edge.
        (partition_hot_cold_basic_blocks):  Update function comment.
-       * cfgcleanup.c (try_simplify_condjump): Remove redundacy from 
+       * cfgcleanup.c (try_simplify_condjump): Remove redundacy from
        condition.
        (try_forward_edges): Likewise.
        (merge_blocks_move_predecessor_nojumps): Likewise.
        UNLIKELY_EXECUTED_CODE notes to cold bb's.
        (commit_one_edge_insertion): Likewise.
        (cfg_layout_can_merge_blocks_p): Remove redundancy from condition.
-       * dbxout.c (FORCE_TEXT): Replace function_section with 
+       * dbxout.c (FORCE_TEXT): Replace function_section with
        current_function_section.
        (struct dbx_debug_h): Add do_nothing function for new debug_hooks
        function, switch_text_section.
        for new debug_hooks funciton, switch_text_section..
        * debug.h (struct gcc_debug_hooks):  Add new function to debug_hooks,
        switch_text_section.
-       * dwarf2out.c (struct dw_fde_struct):  Add five new fields: 
-       dw_fde_hot_section_label, dw_fde_hot_section_end_label, 
-       dw_fde_unlikely_section_label, dw_fde_unlikely_section_end_label and 
+       * dwarf2out.c (struct dw_fde_struct):  Add five new fields:
+       dw_fde_hot_section_label, dw_fde_hot_section_end_label,
+       dw_fde_unlikely_section_label, dw_fde_unlikely_section_end_label and
        dw_fde_switched_sections.
        (output_call_frame_info):  Add test to see if function switches text
-       sections in the middle; if so, use appropriate extra hot and cold 
+       sections in the middle; if so, use appropriate extra hot and cold
        section labels to compute size deltas for the hot and cold sections.
-       (dwarf2out_begin_prologue): Add code to initialize new fields in 
+       (dwarf2out_begin_prologue): Add code to initialize new fields in
        dw_fde_struct.
-       (dwarf2out_switch_text_section): New function (invoked through 
+       (dwarf2out_switch_text_section): New function (invoked through
        debug_hook); updates new fields in dw_fde_struct appropriately and
        increments separate_line_info_table_in_use.
        (dwarf2_debug_hooks): Initialize switch_text_section function to be
        current_function_section.
        (dwarf2out_end_block): Likewise.
        (dwarf2out_source_line): Likewise.
-       (dwarf2out_var_location): Add code to check whether in hot or cold 
+       (dwarf2out_var_location): Add code to check whether in hot or cold
        section and use the appropriate label.
-       * except.c (output_function_exception_table): Change call to 
+       * except.c (output_function_exception_table): Change call to
        function_section into call to current_function_section.
        * final.c (profile_function): Likewise.
        (scan_ahead_for_unlikely_executed_note): Remove function.
-       (final_scan_insn):  Remove calls to 
-       scan_ahead_for_unlikely_executed_note, and related code for switching 
-       to cold section, except for the single time 
-       NOTE_INSN_SWITCH_TEXT_SECTIONS may be encountered;  add calls to 
-       debug_hooks->switch_text_sections; replace appropriate calls to 
+       (final_scan_insn):  Remove calls to
+       scan_ahead_for_unlikely_executed_note, and related code for switching
+       to cold section, except for the single time
+       NOTE_INSN_SWITCH_TEXT_SECTIONS may be encountered;  add calls to
+       debug_hooks->switch_text_sections; replace appropriate calls to
        function_section with calls to current_function_section.
-       * ifcvt.c (find_if_case_1): Remove redundancy from condition, add 
+       * ifcvt.c (find_if_case_1): Remove redundancy from condition, add
        test_bb to condition.
        (find_if_case_2): Likewise.
        * insn-notes.def: Change NOTE_INSN_UNLIKELY_EXECUTED_CODE to
        * passes.c (rest_of_handle_final): Free unlikely_text_section_name.
        * print-rtl.c (print_rtx): Change NOTE_INSN_UNLIKELY_EXECUTED_CODE
        to NOTE_INSN_SWITCH_TEXT_SECTIONS.
-       * reg-stack.c (emit_swap_insn): Remove UNLIKELY_EXECUTED_CODE note 
+       * reg-stack.c (emit_swap_insn): Remove UNLIKELY_EXECUTED_CODE note
        insn from consideration.
-       * sdbout.c (sdb_debug_hooks): Add do_nothing for new function, 
+       * sdbout.c (sdb_debug_hooks): Add do_nothing for new function,
        switch_text_section.
        * varasm.c (basic-block.h): Add new include.
        (unlikely_section_label_printed): Remove global variable.
        (initialize_cold_section_name): New function.
        (enum in_section): Move declaration to output.h.
        (text_section): Update last_text_section.
-       (unlikely_text_section): Replace code to determine cold section name 
-       with call to initialize_cold_section_name; Add code to update 
+       (unlikely_text_section): Replace code to determine cold section name
+       with call to initialize_cold_section_name; Add code to update
        last_text_section; remove code for printing out label.
-       (named_section_real): Add code to update last_text_section and 
+       (named_section_real): Add code to update last_text_section and
        last_text_section_name as appropriate.
        (function_section): Change test for 'unlikely' to depend on
-       first_function_block_is_cold (moved old test to 
+       first_function_block_is_cold (moved old test to
        current_function_section).
        (current_function_section): New function.
-       (assemble_start_function): Move code that frees 
-       unlikely_text_section_name; initialize hot_section_end_label; 
-       print hot and cold section labels at the start of the function; 
+       (assemble_start_function): Move code that frees
+       unlikely_text_section_name; initialize hot_section_end_label;
+       print hot and cold section labels at the start of the function;
        set first_function_block_is_cold, if appropriate; initialize l
        ast_text_section; add call to insert_section_boundary_note.
        (assemble_end_function):  Add code to write out hot and cold section
        end labels.
        *vmsdbgout.c (vmsdbg_debug_hooks): Add do_nothing for new function,
        switch_text_section.
-       * config/darwin.c (machopic_select_section): Replace incorrect 
+       * config/darwin.c (machopic_select_section): Replace incorrect
        function in base_funs; update reloc for cold sections if necessary.
-       * config/darwin.h (SECTION_FUNCTION):  Add code to update 
+       * config/darwin.h (SECTION_FUNCTION):  Add code to update
        last_text_section if appropriate.
        (text_unlikely_section): Remove.
        * config/sparc/sparc.c (sparc_output_deferred_case_vectors): Likewise.
 
        PR c++/18644
        * doc/invoke.texi (-Wsynth): Don't document, as it now is void of
-       semantics. 
+       semantics.
 
 2005-03-31  Alan Modra  <amodra@bigpond.net.au>
 
 
        * tree-sra.c (decide_block_copy): Disable scalarization of
        sub-elements.
-       
+
 2005-03-30  Stuart Hastings  <stuart@apple.com>
            Dale Johannesen  <dalej@apple.com>
 
        * config/mips/mips.c: Follow the spelling convensions.
        * doc/invoke.texi: Fix typos.
 
-2005-03-18  Dale Johannese  <dalej@apple.com>
-
-       * cp/tree.c (cp_tree_equal):  Handle SSA_NAME.
-
 2005-03-23  Daniel Berlin  <dberlin@dberlin.org>
 
        Fix PR tree-optimization/20601