OSDN Git Service

2007-02-11 Jie Zhang <jie.zhang@analog.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index d6c580a..07f8a5b 100644 (file)
@@ -1,3 +1,984 @@
+2007-04-12  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * doc/md.texi (Blackfin family constraints): Document PA and PB.
+       * config/bfin/bfin.h (CONST_OK_FOR_P): Handle PA and PB.
+       (MACFLAGS_MATCH_P): New macro.
+       * config/bfin/bfin.c (print_operand): Handle MACFLAG_IS_M.
+       (bfin_secondary_reload): Treat EVEN_AREGS and ODD_AREGS like AREGS.
+       * config/bfin/bfin.md (MACFLAG_IS_M): New constant.  Renumber some of
+       the other MACFLAG constants.
+       (sum_of_accumulators, lshrpdi3, ashrpdi3): New patterns.
+       (flag_machi): Tighten constraints.  Renumber some of the operands.
+       (flag_machi_acconly): Tighten constraints.  Correct operand numbers in
+       output template.
+       (flag_machi_parts_acconly): New pattern.
+       (flag_macinithi): Tighten constraints.  Allow any accumulator to be
+       used.
+       (flag_macinit1hi): Tighten constraints.
+       (flag_mul_macv2hi_parts_acconly): New pattern.
+
+       2007-02-11  Jie Zhang  <jie.zhang@analog.com>
+       * config/bfin/bfin.opt (msim): New option.
+       (mcpu=): New option.
+       * config/bfin/bfin-protos.h (enum bfin_cpu): New.
+       (bfin_cpu_t): Typedef of enum bfin_cpu.
+       (bfin_cpu_type): New declaration.
+       * config/bfin/elf.h (STARTFILE_SPEC): Add support for
+       -msim and -mcpu= options.
+       (LIB_SPEC): Likewise.
+       * config/bfin/bfin.c (bfin_cpu_type): Define.
+       (bfin_handle_option): Handle -mcpu= option.
+       * config/bfin/bfin.h (DEFAULT_CPU_TYPE): Define as BFIN_CPU_BF532.
+       (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF531__, __ADSPBF532__,
+       __ADSPBF533__ or __ADSPBF537__ according to the cpu type.
+
+2007-04-12  Richard Sandiford  <richard@codesourcery.com>
+
+       * config.gcc (*-*-vxworks*): Don't add to tm_files in this stanza.
+       (arm-wrs-vxworks, mips-wrs-vxworks, powerpc-wrs-vxworks)
+       (powerpc-wrs-vxworksae): Use ${tm_file}.
+       (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add svr4.h
+       after elfos.h.  Remove i386/sysv4.h and add i386/vx-common.h.
+       * config/i386/vx-common.h: New file.
+
+2007-04-12  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/vxworks.h (VXWORKS_STARTFILE_SPEC): Use -l:crt0.o instead
+       of crt0.o%s.
+
+2007-04-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md ("trunctddd2"): Use TDmode for the target of
+       ldxtr.
+
+2007-04-12  Douglas Gregor  <doug.gregor@gmail.com>
+
+       PR c++/31078
+       PR c++/31103
+       * c-common.c (c_build_qualified_type): Set canonical type
+       appropriately.  
+
+2007-04-12  Richard Guenther  <rguenther@suse.de>
+
+       * tree-pretty-print.c (dump_generic_node): Print ARRAY_REF
+       lower bound and element size if lower bound is not zero
+       or either of the ARRAY_REF operands is set.
+
+2007-04-12  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/24689
+       PR tree-optimization/31307
+       * fold-const.c (operand_equal_p): Compare INTEGER_CST array
+       indices by value.
+       * gimplify.c (canonicalize_addr_expr): To be consistent with
+       gimplify_compound_lval only set operands two and three of
+       ARRAY_REFs if they are not gimple_min_invariant.  This makes
+       it never at this place.
+       * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
+
+2007-04-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
+       null before emitting a .nsubspa directive.
+
+2007-04-11  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-alias.c (dump_mem_ref_stats): Do not call
+       need_to_partition_p if there are no memory statements in the
+       function.
+
+2007-04-11  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-data-ref.c (chrec_steps_divide_constant_p): Removed.
+       (gcd_of_steps_may_divide_p): New function.
+       (analyze_miv_subscript): Use gcd_of_steps_may_divide_p.
+
+2007-04-11  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * reload.c (find_reloads_toplev, find_reloads_address,
+       find_reloads_address_1, find_reloads_subreg_address): Use rtx_equal_p,
+       not a pointer equality test, to decide if we need to call
+       push_reg_equiv_alt_mem.
+
+2007-04-11  Sebastian Pop  <sebastian.pop@inria.fr>
+
+       * tree-data-ref.c (affine_function_zero_p, constant_access_functions,
+       insert_innermost_unit_dist_vector, add_distance_for_zero_overlaps): New.
+       (build_classic_dist_vector): Call add_distance_for_zero_overlaps.
+
+2007-04-11  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-data-ref.c (add_multivariate_self_dist): Force the distance
+       vector to be positive.
+
+2007-04-11  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 30735
+       PR 31090
+       * doc/invoke.texi: Document --params max-aliased-vops and
+       avg-aliased-vops.
+       * tree-ssa-operands.h (get_mpt_for, dump_memory_partitions,
+       debug_memory_partitions): Move to tree-flow.h
+       * params.h (AVG_ALIASED_VOPS): Define.
+       * tree-ssa-alias.c (struct mp_info_def): Remove.  Update all
+       users.
+       (mp_info_t): Likewise.
+       (get_mem_sym_stats_for): New.
+       (set_memory_partition): Move from tree-flow-inline.h.
+       (mark_non_addressable): Only clear the set of symbols for the
+       partition if it exists.
+       (dump_memory_partitions): Move from tree-ssa-operands.c
+       (debug_memory_partitions): Likewise.
+       (need_to_partition_p): New.
+       (dump_mem_ref_stats): New.
+       (debug_mem_ref_stats): New.
+       (dump_mem_sym_stats): New.
+       (debug_mem_sym_stats): New.
+       (update_mem_sym_stats_from_stmt): New.
+       (compare_mp_info_entries): New.
+       (mp_info_cmp): Call it.
+       (sort_mp_info): Change argument to a list of mem_sym_stats_t
+       objects.
+       (get_mpt_for): Move from tree-ssa-operands.c.
+       (find_partition_for): New.
+       (create_partition_for): Remove.
+       (estimate_vop_reduction): New.
+       (update_reference_counts): New.
+       (build_mp_info): New.
+       (compute_memory_partitions): Refactor.
+       Document new heuristic.
+       Call build_mp_info, update_reference_counts,
+       find_partition_for and estimate_vop_reduction.
+       (compute_may_aliases): Populate virtual operands before
+       calling debugging dumps.
+       (delete_mem_sym_stats): New.
+       (delete_mem_ref_stats): New.
+       (init_mem_ref_stats): New.
+       (init_alias_info): Call it.
+       (maybe_create_global_var): Remove alias_info argument.
+       Get number of call sites and number of pure/const call sites
+       from gimple_mem_ref_stats().
+       (dump_alias_info): Call dump_memory_partitions first.
+       (dump_points_to_info_for): Show how many times a pointer has
+       been dereferenced.
+       * opts.c (decode_options): For -O2 set --param
+       max-aliased-vops to 500.
+       For -O3 set --param max-aliased-vops to 1000 and --param
+       avg-aliased-vops to 3.
+       * fortran/options.c (gfc_init_options): Remove assignment to
+       MAX_ALIASED_VOPS.
+       * tree-flow-inline.h (gimple_mem_ref_stats): New.
+       * tree-dfa.c (dump_variable): Dump memory reference
+       statistics.
+       Dump NO_ALIAS* settings.
+       (referenced_var_lookup): Tidy.
+       (mem_sym_stats): New.
+       * tree-ssa-copy.c (may_propagate_copy): Return true if DEST
+       and ORIG are different SSA names for a memory partition.
+       * tree-ssa.c (delete_tree_ssa): Call delete_mem_ref_stats.
+       * tree-flow.h (struct mem_sym_stats_d): Define.
+       (mem_sym_stats_t): Define.
+       (struct mem_ref_stats_d): Define.
+       (struct gimple_df): Add field mem_ref_stats.
+       (enum noalias_state): Define.
+       (struct var_ann_d): Add bitfield noalias_state.
+       (mem_sym_stats, delete_mem_ref_stats, dump_mem_ref_stats,
+       debug_mem_ref_stats, debug_memory_partitions,
+       debug_mem_sym_stats): Declare.
+       * tree-ssa-structalias.c (update_alias_info): Update call
+       sites, pure/const call sites and asm sites in structure
+       returned by gimple_mem_ref_stats.
+       Remove local variable IS_POTENTIAL_DEREF.
+       Increase NUM_DEREFS if the memory expression is a potential
+       dereference.
+       Call update_mem_sym_stats_from_stmt.
+       If the memory references memory, call
+       update_mem_sym_stats_from_stmt for all the direct memory
+       symbol references found.
+       (intra_create_variable_infos): Set noalias_state field for
+       pointer arguments according to the value of
+       flag_argument_noalias.
+       * tree-ssa-structalias.h (struct alias_info): Remove fields
+       num_calls_found and num_pure_const_calls_found.
+       (update_mem_sym_stats_from_stmt): Declare.
+       * params.def (PARAM_MAX_ALIASED_VOPS): Change description.
+       Set default value to 100.
+       (PARAM_AVG_ALIASED_VOPS): Define.
+
+2007-04-11  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/31530
+       * simplify-rtx.c (simplify_binary_operation_1): Do not simplify
+       a * -b + c as c - a * b if we honor sign dependent rounding.
+
+2007-04-11  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin-protos.h (bfin_expand_movmem): Renamed from
+       bfin_expand_strmov.
+       * config/bfin/bfin.c (bfin_expand_prologue, bfin_delegitimize_address,
+       bfin_function_ok_for_sibcall, split_load_immediate): Remove unused
+       variables.
+       (initialize_trampoline): Don't use old-style function definition.
+       (bfin_secondary_reload): Mark IN_P argument as unused.
+
+2007-04-10  Sebastian Pop  <sebastian.pop@inria.fr>
+
+       PR tree-optimization/31343
+       * tree-chrec.h (chrec_zerop): Moved before build_polynomial_chrec.
+       (build_polynomial_chrec): Return a scalar when the evolution is zero.
+       * testsuite/gcc.dg/vect/pr31343.c: New.
+
+2007-04-10  Eric Christopher  <echristo@apple.com>
+
+       * config/i386/i386.h (X87_FLOAT_MODE_P): New.
+       * config/i386/i386.md (*cmpfp0): Use.
+       (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto.
+       (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto.
+       (fix_trunc<mode>_i386_fisttp): Ditto.
+       (fix_trunc<mode>_i387_fisttp_with_temp): Ditto.
+       (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto.
+       (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto.
+       (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto.
+       (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto.
+       (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto.
+       (unnamed_splitters): Ditto.
+       * config/i386/i386.c (output_fix_trunc): Assert that
+       we're not being passed a TFmode operand.
+
+2007-04-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/31526
+       * tree-inline.c (copy_cfg_body): Use last_basic_block instead of
+       n_basic_blocks to find newly added blocks.
+
+2007-04-10  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (fix_trunc<mode>di_sse): Remove "x" from "xm"
+       alternative.
+       (fix_trunc<mode>si_sse): Ditto.
+       (*floatsisf2_mixed, *floatsisf2_sse): Ditto.
+       (*floatsidf2_mixed, *floatsidf2_sse): Ditto.
+       (*floatdisf2_mixed, *floatdisf2_sse): Ditto.
+       (*floatdidf2_mixed, *floatdidf2_sse): Ditto.
+       (floathi<mode>2): Rename from floathisf2 and floathidf2. Macroize
+       expander using SSEMODEF mode macro.
+       (floatsi<mode>2): Rename from floatsisf2 and floashidf2. Macroize
+       expander using SSEMODEF mode macro.
+       (*floathi<mode>2_i387): Rename from *floathisf2_i387 and
+       *floathidf2_i387. Macroize insn using X87MODEF12 mode macro.
+       (*floatsi<mode>2_i387): Rename from *floatsisf2_i387 and
+       *floatsidf2_i387. Macroize insn using X87MODEF12 mode macro.
+       (*floatdi<mode>2_i387): Rename from *floatdisf2_i387 and
+       *floatdidf2_i387. Macroize insn using X87MODEF12 mode macro.
+       (float<mode>xf2): Rename from floathixf2, floatsixf2 and floatdixf2.
+       Macroize insn using X87MODEF mode macro.
+
+2007-04-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/sse.md (sse2_pinsrw): Removed.
+       (sse2_pextrw): Renamed to ...
+       (*sse2_pextrw): This.
+
+2007-04-09  Jan Hubicka  <jh@suse.cz>
+
+       PR target/27869
+       * config/i386/sse.md
+       (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
+       (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
+       (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
+       (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
+
+2007-04-09  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-ccp (maybe_fold_offset_to_component_ref): Recurse into
+       multiple fields of union.
+
+2007-04-09  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge.
+       (create_preheaders): Check that loops are available.
+       (fix_loop_structure): Clean up, improve comments.
+       * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa):
+       Check that loops are available.  Set LOOP_CLOSED_SSA to the loops
+       state flags.
+       * tree-scalar-evolution.c (scev_finalize): Clear scalar_evolution_info.
+       * predict.c (tree_estimate_probability): Do not call
+       calculate_dominance_info.  Call create_preheaders.
+       * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Only call
+       rewrite_into_loop_closed_ssa if LOOP_CLOSED_SSA is set in loops state
+       flags.
+       * cfgloop.c (loop_preheader_edge): Assert that loops have preheaders.
+       * cfgloop.h (LOOP_CLOSED_SSA): New constant.
+       * tree-cfg.c (tree_split_edge): Make an assert more precise.
+       * tree-ssa-threadedge.c (thread_across_edge): Comment the function
+       arguments.
+
+2007-04-08  Jan Hubicka  <jh@suse.cz>
+
+       * tree.h (maybe_fold_offset_to_component_ref): Declare.
+       * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Export.
+       * fold-const.c (fold_unary): Use it.
+
+2007-04-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * varasm.c (assemble_variable): Remove call to
+       lang_hooks.decls.prepare_assemble_variable.
+       * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill.
+       (LANG_HOOKS_DECLS): Remove LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE.
+       * langhooks.h (lang_hooks_for_decls): Remove
+       prepare_assemble_variable.
+
+2007-04-08  Mike Stump  <mrs@apple.com>
+
+       * config/i386/i386.c: Use inc/dec on Core2.
+
+2007-04-08  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * langhooks.c (lhd_tree_inlining_add_pending_fn_decls,
+       lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
+       lhd_tree_inlining_end_inlining): Remove.
+       * langhooks.h (struct lang_hooks_for_tree_inlining): Remove then
+       add_pending_fn_decls, anon_aggr_type_p, start_inlining, and
+       end_inlining hooks.
+       * langhooks-def.h (lhd_tree_inlining_add_pending_fn_decls,
+       lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
+       lhd_tree_inlining_end_inlining): Remove prototypes.
+       (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS,
+       LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
+       LANG_HOOKS_TREE_INLINING_START_INLINING,
+       LANG_HOOKS_TREE_INLINING_END_INLINING): Remove.
+
+       * c-objc-common.h (LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do
+       not set it.
+
+2007-04-08  Anatoly Sokolov <aesok@post.ru>
+
+       PR target/29932
+       * config/avr/predicates.md (io_address_operand): Delete predicate.
+       (low_io_address_operand): Don't use 'mode' argument.
+       (higth_io_address_operand): Rename ...
+       (high_io_address_operand): ... to this. Don't use 'mode' argument.
+       * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
+       for above change.
+
+2007-04-07  Daniel Berlin  <dberlin@dberlin.org>
+
+       Revert change removing staticp.
+
+2007-04-07  Anatoly Sokolov <aesok@post.ru>
+
+       PR target/30289
+       * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
+       earlyclobber.
+
+2007-04-07  Bruce Korb  <bkorb@gnu.org>
+
+       * c.opt: Add -Wformat-contains-nul.
+       * c-format.c (set_Wformat):  Set warn_format_contains_nul to the
+         -Wformat setting.
+       (check_format_info_main): Check OPT_Wformat_contains_nul before emitting
+       the NUL byte warning.
+
+2007-04-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_handle_option): Handle SSSE3.
+
+2007-04-06  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree.c (staticp): No longer use staticp langhook.
+       * langhooks.c (lhd_staticp): Removed.
+       * langhooks.h (struct lang_hooks): Remove staticp.
+       * c-common.c (c_staticp): Remove.
+       * c-common.h (c_staticp): Ditto.
+       * langhooks-defs.h (lhd_staticp): Ditto.
+       (LHD_HOOKS_STATICP): Ditto
+       * tree.h (gcc_assert_lowered): New macro.
+
+2007-04-06  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use
+       argument "reliable".
+       (infer_loop_bounds_from_ref, infer_loop_bounds_from_array):
+       Add argument "reliable".  Propagate it through calls.
+       (infer_loop_bounds_from_undefined):  Derive number of iterations
+       estimates from references in blocks that do not dominate loop latch.
+       (gcov_type_to_double_int): New function.
+       (estimate_numbers_of_iterations_loop): Use gcov_type_to_double_int
+       and expected_loop_iterations_unbounded.
+       * cfgloopanal.c (expected_loop_iterations_unbounded): New function.
+       (expected_loop_iterations): Use expected_loop_iterations_unbounded.
+       * tree-data-ref.c (estimated_loop_iterations): Export.
+       (get_references_in_stmt): Fix -- do not return addresses of local
+       objects.
+       * cfgloop.h (expected_loop_iterations_unbounded,
+       estimated_loop_iterations): Declare.
+
+2007-04-06  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift.
+
+2007-04-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (extend<mode>xf2): Rename from extendsfxf2
+       and extenddfxf2. Macroize expander using X87MODEF12 mode macro.
+       (*truncdfsf_mixed, *truncdfsf_i387, *truncdfsf2_i387_1):
+       Use output_387_reg_move().
+       (*truncxf<mode>2): Rename from *truncxfsf2 and truncxfdf2. Macroize
+       expander using X87MODEF12 mode macro.
+       (*truncxfsf2_mixed): Combine alternatives, ignore "r" alternative when
+       choosing register preferences.  Use output_387_reg_move().
+       (*truncxfdf2_mixed): Combine alternatives, use "r" alternative
+       instead of "x".  Use output_387_reg_move().
+       (*truncxf<mode>2_i387_noop): Rename from *truncxfsf2_i387_noop and
+       *truncxfdf2_i387_noop.  Macroize insn using X87MODEF12 mode macro.
+       (*truncxf<mode>2_i387): Rename from *truncxfsf2_i387 and
+       *truncxfdf2_i387.  Macroize insn using X87MODEF12 mode macro.
+       Use output_387_reg_move().
+       (*truncxf?f_mixed splitter): Macroize splitter using X87MODEF12
+       mode macro.
+       (*truncxf?f_i387 splitter): Ditto.
+
+2007-04-06  Daniel Berlin  <dberlin@dberlin.org>
+
+       * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
+       LANG_HOOKS_SAFE_FROM_P.
+       * expr.c (safe_from_p): Remove langhook call.
+       * langhooks.h (lang_hooks): Remove safe_from_p.
+       (lhd_safe_from_p): Remove prototype.
+       * langhooks.c (lhd_safe_from_p): Remove.
+
+2007-04-06  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (decide_is_function_needed): Do not keep always_inline
+       functions.
+
+2007-04-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (output_387_reg_move): Handle memory operand[0].
+       * config/i386/i386.md (*movsf_1, *movdf_nointeger,
+       *movdf_integer_rex64, *movdf_integer, *movxf_nointeger,
+       *movxf_integer): Use output_387_reg_move() for x87 reg->mem
+       alternative.
+       (*extendsfdf2_mixed, *extendsfdf2_i387, *extendsfxf2_i387,
+       *extenddfxf2_i387, *truncdfsf_fast_mixed): Ditto.
+
+2007-04-05  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (print_operand) [+]: Remove.
+       (alpha_end_function): Print nop if call at end of function.
+       * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Remove +.
+       * config/alpha/alpha.md (UNSPEC_LDGP1): New.
+       (call_osf_1_er_noreturn, call_value_osf_1_er_noreturn): New.
+       (call_osf_2_er_nogp, call_value_osf_2_er_nogp): New.
+       (call_osf_2_er, call_value_osf_2_er): Merge the ldgp highpart into
+       the call pattern. Update peepholes to match.
+
+2007-04-05  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/extend.texi (Other Builtins): Add decimal float variants
+       of signbit.
+       * builtins.def: Ditto.
+       * builtins.c (expand_builtin): Ditto.
+
+2007-04-05  Uros Bizjak  <ubizjak@gmail.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/31478
+       * config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead
+       of V8HImode when calling ix86_binary_operator_ok.
+       (sse2_pmaddwd): Call ix86_binary_operator_ok.
+       (sdot_prodv8hi): Operands 1 and 2 must be register.
+
+2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
+
+       * tree-sra.c (try_instantiate_multiple_fields): Needlessly
+       initialize align to silence bogus warning.
+
+2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR middle-end/22156
+       * tree-sra.c (struct sra_elt): Add in_bitfld_block.  Remove
+       all_no_warning.
+       (struct sra_walk_fns): Remove use_all parameter from use.
+       (sra_hash_tree): Handle BIT_FIELD_REFs.
+       (sra_elt_hash): Don't hash bitfld blocks.
+       (sra_elt_eq): Skip them in parent compares as well.  Handle
+       BIT_FIELD_REFs.
+       (sra_walk_expr): Don't maintain or pass down use_all_p.
+       (scan_use): Remove use_all parameter.
+       (scalarize_use): Likewise.  Re-expand assignment to
+       BIT_FIELD_REF of gimple_reg.  De-scalarize before input or
+       output, and re-scalarize after output.  Don't mark anything
+       for no warning.
+       (scalarize_ldst): Adjust.
+       (scalarize_walk_gimple_modify_statement): Likewise.
+       (build_element_name_1): Handle BIT_FIELD_REFs.
+       (instantiate_element): Don't warn for any element whose parent
+       is used as a whole.
+       (instantiate_missing_elements_1): Return the sra_elt.
+       (canon_type_for_field): New.
+       (try_instantiate_multiple_fields): New.
+       (instantiate_missing_elemnts): Use them.
+       (mark_no_warning): Removed.
+       (generate_one_element_ref): Handle BIT_FIELD_REFs.
+       (REPLDUP, sra_build_elt_assignment): New.
+       (generate_copy_inout): Use them.
+       (generate_element_copy): Likewise.  Handle bitfld differences.
+       (generate_element_zero): Don't recurse for blocks.  Use
+       sra_build_elt_assignment.
+       (generate_one_element_int): Take elt instead of var.  Use
+       sra_build_elt_assignment.
+       (generate_element_init_1): Adjust.
+       (scalarize_use, scalarize_copy): Use REPLDUP.
+       (scalarize_ldst): Move assert before dereference.
+       (dump_sra_elt_name): Handle BIT_FIELD_REFs.
+
+2007-04-05  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * regmove.c: Fix unused variable warnings due to previous commit.
+
+2007-04-05  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize.
+       (regmove_bb_head): Remove.
+       (copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD.
+       (regmove_optimize): Don't do unnecessary CFG fixes for non-existing
+       problems with fixup_match_1.
+       Don't initialize/free regmove_bb_head.
+
+       (reg_is_remote_constant_p): If an insn is in the same basic block
+       but not before INSN, consider it remote, too.
+
+2007-04-05  Anatoly Sokolov <aesok@post.ru>
+
+       PR target/25448
+       * config/avr/avr.c (avr_handle_fndecl_attribute): Use the
+       DECL_ASSEMBLER_NAME, not the DECL_NAME.
+
+2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Reformat.
+       (CONDITIONAL_REGISTER_USAGE): Likewise.
+
+2007-04-04  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/lib1funcs.asm: Remove unused file.
+
+2007-04-04  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       PR other/31356
+       * opts.c (print_specific_help): Fix --help=<language>
+       header line.
+       (common_handle_option): Support --help=common.
+
+2007-04-04  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       PR other/31353
+       * gcc.c (main): Do not run the linker if
+       print_subprocess_help indicates that it shouldn't be
+       run.
+
+2007-04-04  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       PR doc/31355
+       * doc/invoke.texi (--help=): Document <languages> value, fix
+       formatting in tables of values.
+
+2007-04-04  Danny Smith  <dannysmith.users.sourceforge.net>
+
+       * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore
+       dllimport attribute of virtual methods.
+
+2007-04-04  Chen Liqin  <liqin@sunnorth.com.cn>
+
+        * config/score/crti.asm: Change _bss_start to __bss_start.
+        * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
+        (OUTGOING_REG_PARM_STACK_SPACE) update.
+        * config/score/score.opt: add options to make backend support
+        score5, score5u, score7 and score7d.
+        * config/score/score.md: Likewise.
+        * config/score/misc.md: Likewise.
+        * config/score/mac.md: Likewise.
+        * doc/invoke.texi: Likewise.
+        * doc/md.texi: update constraints define.
+
+2007-04-03  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield
+       an appropriate type, use the mode instead.
+
+2007-04-03  Richard Sandiford  <richard@codesourcery.com>
+
+       * config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file.
+       Set the default --with-arch setting to mips2.
+       * config/mips/t-vxworks (MULTILIB_OPTIONS, MULTILIB_MATCHES)
+       (MULTILIB_EXCEPTIONS): Redefine with new multilibs.
+       (MULTILIB_OSDIRNAMES): Delete.
+       (MULTILIB_DIRNAMES): Define.
+       * config/mips/vxworks.h (LINK_SPEC): Add VXWORKS_LINK_SPEC.
+       (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Define.
+       (TARGET_OS_CPP_BUILTINS): Incorporate old SUBTARGET_CPP_SPEC
+       definitions, except for _WRS_R3K_EXC_SUPPORT.  Call
+       VXWORKS_OS_CPP_BUILTINS.
+       (SUBTARGET_CPP_SPEC): Redefine to VXWORKS_ADDITIONAL_CPP_SPEC.
+       (MIPS_DEBUGGING_INFO): Undefine.
+       (FUNCTION_PROFILER): Define to VXWORKS_FUNCTION_PROFILER.
+
+2007-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/30704
+       * fold-const.c (native_encode_real): Encode real.c provided longs
+       as a series of 32-bit native integers.
+       (native_interpret_real): Interpret buffer as a series of 32-bit
+       native integers.
+
+2007-04-03  Richard Guenther  <rguenther@suse.de>
+
+       * genpreds.c (write_insn_constraint_len): Write function
+       optimized for CONSTRAINT_LEN implementation.
+       (write_tm_preds_h): Output insn_constraint_len inline and
+       use it for CONSTRAINT_LEN.
+       (write_insn_preds_c): Don't output insn_constraint_len.
+       * doc/md.texi (define_register_constraint): Document multi-letter
+       constraints shall have the same length if they start with the same
+       letter.
+
+2007-04-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/31175
+       * config/i386/i386.md (isinf<mode>2): Expand only when
+       TARGET_C99_FUNCTIONS is set.
+
+2007-04-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.
+       (x86_64-*-linux*): Ditto.
+       * config/i386/i386.opt (mpc): New option.
+       * config/i386/i386.c (overrride_options): Handle
+       ix87_precision_string.
+       * config/i386/crtprec.c: New file.
+       * config/i386/t-crtpc: Ditto.
+       * config/i386/linux.h (ENDFILE_SPEC): Add handling of -mpc32, -mpc64
+       and -mpc80 options.
+       * config/i386/linux64.h (ENDFILE_SPEC): Ditto.
+       * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
+       crtprec32.o, crtprec64.o and crtprec80.o.
+
+       * doc/invoke.texi (Machine Dependent Options): Add -mpc32, -mpc64
+       and -mpc80 options.
+       (i386 and x86-64 Options): Document -mpc32, -mpc64 and -mpc80 options.
+
+2007-04-02  Eric Christopher  <echristo@apple.com>
+
+       * doc/invoke.texi (i386 and x86-64 Options): Document -m64
+       limitations on darwin.
+
+2007-04-02  Anatoly Sokolov <aesok@post.ru>
+
+       PR target/31137
+       * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
+
+2007-04-02  Dave Korn  <dave.korn@artimi.com>
+
+       * doc/tm.texi (FUNCTION_MODE): Update and extend documentation.
+
+2007-04-02  Dave Korn  <dave.korn@artimi.com>
+
+       * libgcc2.h (exception_descriptor): Don't forward-declare.
+       (__get_eh_table_language, __get_eh_table_version): Delete
+       prototypes of long-dead functions.
+
+2007-04-01  Daniel Berlin  <dberlin@dberlin.org>
+
+       * ebitmap.h: New file
+       * ebitmap.c: New file
+       * Makefile.in (ebitmap.o): New target.
+
+2007-04-01  Jan Hubicka  <jh@suse.cz>
+
+       * emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit
+       before very first instruction.
+
+2007-04-01  Jan Hubicka  <jh@suse.cz>
+
+       * ggc-page.c (ggc_print_statistics): Fix formatting string to avoid
+       waring on 64bit hosts.
+       * bitmap.h: Fix typo in bitmap_head_def.
+
+2007-04-01  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR rtl-optimization/31391
+       * cfgcleanup.c (try_optimize_cfg): If a removed label is turned
+       into a DELETED_LABEL note, and the label is in an empty basic
+       block, update BB_END as well as BB_HEAD.
+
+2007-04-01  Richard Henderson  <rth@redhat.com>
+
+       PR tree-optimization/31169
+       * tree-vrp.c (extract_range_from_binary_expr) <RSHIFT_EXPR>: Drop
+       to varying if the range is outside [0,  prec-1].
+
+2007-04-01  Richard Sandiford  <richard@codesourcery.com>
+
+       PR target/31388
+       * config/mips/mips.md (load_const_gp): New insn.
+       * config/mips/mips.c (mips_split_symbol): Avoid using or creating
+       the MIPS16 GP pseudo register if no_new_pseudos.
+       (mips16_gp_pseudo_reg): Use gen_load_const_gp.
+
+2007-03-31  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR target/31364
+       * config/rs6000/rs6000.md (call): Convert to LR hard reg for
+       secureplt.
+       (call_value): Likewise.
+
+2007-03-31  Wolfgang Bangerth  <bangerth@dealii.org>
+           Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR 14737
+       * doc/invoke.texi: (optimization options): Reword description
+       of -ffast-math. Document its primary purpose.
+
+2007-03-31  Richard Guenther  <rguenther@suse.de>
+
+       * omp-low.c (splay-tree.h): Include.
+       (lookup_decl): Replace splay-tree usage by pointer-map.
+       (maybe_lookup_decl): Likewise.
+       (new_omp_context): Likewise.
+       (delete_omp_context): Likewise.
+       * gimplify.c (splay-tree.h): Include.
+       * tree-inline.c (insert_decl_map): Replace splay-tree usage by
+       pointer-map.
+       (remap_ssa_name): Likewise.
+       (remap_decl): Likewise.
+       (remap_type_1): Likewise.
+       (remap_type): Likewise.
+       (copy_body_r): Likewise.
+       (expand_call_inline): Likewise.
+       (clone_body): Likewise.
+       (copy_tree_r): Likewise.
+       (remap_save_expr): Likewise.
+       (unsave_r): Likewise.
+       (unsave_expr_now): Likewise.
+       (tree_function_versioning): Likewise.
+       (build_duplicate_type): Likewise.
+       * tree-inline.h (pointer-set.h): Include instead of splay-tree.h.
+       (struct copy_body_data): Replace splay-tree by pointer-map.
+       * Makefile.in (TREE_INLINE_H): Depend on pointer-map.h,
+       not $(SPLAY_TREE_H).
+       (gimplify.o): Depend on $(SPLAY_TREE_H).
+       (omp-low.p): Likewise.
+
+2007-03-31  Anatoly Sokolov <aesok@post.ru>
+
+       * config/avr/predicates.md (even_register_operand,
+       odd_register_operand): New predicates.
+       * config/avr/avr.md (movw peephole2): New.
+       (movw_r peephole2): New.
+
+2007-03-30  Rafael Avila de Espindola  <espindola@google.com>
+
+       * tree.h (get_signed_or_unsigned_type): New.
+       * fold-const.c (operand_equal_for_comparison_p): Use
+       get_signed_or_unsigned_type instead of
+       lang_hooks.types.signed_or_unsigned_type.
+       * expr.c (store_expr): Ditto.
+       * langhooks.c (get_signed_or_unsigned_type): New.
+       (lhd_signed_or_unsigned_type): New.
+       * langhooks.h (lhd_signed_or_unsigned_type): New.
+       * langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Define.
+
+2007-03-30  Richard Henderson  <rth@redhat.com>
+
+       * tree-ssa-loop-ivopts.c: Include target.h.
+       (produce_memory_decl_rtl): Pass the rtx through encode_section_info.
+       (get_address_cost): Force SYMBOL_FLAG_LOCAL set.
+       (force_expr_to_var_cost): Use produce_memory_decl_rtl.
+       * Makefile.in (tree-ssa-loop-ivopts.o): Depend on TARGET_H.
+
+2007-03-30  Richard Henderson  <rth@redhat.com>
+           Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/cygming.h (DWARF2_DEBUGGING_INFO): Enable by
+       default for 64-bit.
+       (PREFERRED_DEBUGGING_TYPE): Prefer dwarf2 for 64-bit.
+       (TARGET_64BIT_MS_ABI): New.
+       (DBX_REGISTER_NUMBER): Handle 64-bit.
+       (SIZE_TYPE, PTRDIFF_TYPE): Use long long for 64-bit.
+       (LONG_TYPE_SIZE): Force to 32.
+       (REG_PARM_STACK_SPACE): New.
+       (OUTGOING_REG_PARM_STACK_SPACE): New.
+       (REGPARM_MAX, SSE_REGPARM_MAX): New.
+       (HANDLE_PRAGMA_PUSH_POP_MACRO): New.
+       (STACK_BOUNDARY): Use 128 for 64-bit.
+       * config/i386/cygwin.asm: Use push/ret to preserve call stack.
+       Add 64-bit implementation.
+       * config/i386/gthr-win32.c (__gthr_win32_key_create): Mark dtor
+       argument unused.
+       * config/i386/i386.c (x86_64_ms_abi_int_parameter_registers): New.
+       (override_options): Set ix86_cmodel for TARGET_64BIT_MS_ABI.
+       Warn for -mregparm, -mrtd in 64-bit mode; force ix86_regparm
+       for 64-bit; use TARGET_SUBTARGET64_DEFAULT.
+       (ix86_handle_cconv_attribute): Don't warn when ignoring if
+       TARGET_64BIT_MS_ABI.
+       (ix86_function_arg_regno_p): Handle TARGET_64BIT_MS_ABI.
+       (ix86_pass_by_reference): Likewise.
+       (ix86_function_value_regno_p): Likewise.
+       (ix86_build_builtin_va_list): Likewise.
+       (ix86_va_start, ix86_gimplify_va_arg): Likewise.
+       (function_arg_advance_ms_64): New.
+       (function_arg_advance): Call it.
+       (function_arg_ms_64): New.
+       (function_arg): Call it.
+       (function_value_ms_64): New.
+       (ix86_function_value_1): Call it.
+       (return_in_memory_ms_64): New.
+       (ix86_return_in_memory): Call it.
+       (setup_incoming_varargs_ms_64): New.
+       (ix86_setup_incoming_varargs): Call it.
+       (ix86_expand_prologue): Handle 64-bit stack probing.
+       (legitimize_pic_address): Handle TARGET_64BIT_MS_ABI.
+       (output_pic_addr_const): Likewise.
+       (x86_this_parameter): Likewise.
+       (x86_output_mi_thunk): Likewise.
+       (x86_function_profiler): Likewise.
+       (TARGET_STRICT_ARGUMENT_NAMING): New.
+       * config/i386/i386.h (TARGET_SUBTARGET64_DEFAULT): New.
+       (TARGET_64BIT_MS_ABI): New.
+       (CONDITIONAL_REGISTER_USAGE): Handle TARGET_64BIT_MS_ABI.
+       * config/i386/i386.md (allocate_stack_worker): Remove.
+       (allocate_stack_worker_32): Rename from allocate_stack_worker_1;
+       describe the clobber of eax without a match_scratch.
+       (allocate_stack_worker_postreload): Remove.
+       (allocate_stack_worker_64): Rename from allocate_stack_worker_rex64;
+       describe the clobbers of rax, r10, r11 properly; use __chkstk symbol.
+       (allocate_stack_worker_rex64_postreload): Remove.
+       (allocate_stack): Handle 64-bit.
+       * config/i386/i386elf (TARGET_SUBTARGET_DEFAULT): Remove.
+       * config/i386/mingw32.h (TARGET_VERSION): Set correctly for 64-bit.
+       (EXTRA_OS_CPP_BUILTINS): Handle 64-bit.
+       (STANDARD_INCLUDE_DIR): Handle TARGET_64BIT_DEFAULT.
+       (STANDARD_STARTFILE_PREFIX_1): Likewise.
+       * config/i386/unix.h (TARGET_SUBTARGET64_DEFAULT): New.
+       * config.build (x86_64-*-mingw*): New host.
+       * config.host (x86_64-*-mingw*): New host.
+       * config.gcc (x86_64-*-mingw*): New target.
+       * gthr-win32.h (__gthread_key_create): Mark dtor unused.
+
+2007-03-30  Richard Henderson  <rth@redhat.com>
+           Kai Tietz  <kai.tietz@onevision.com>
+
+       * c-pragma.c (struct def_pragma_macro_value): New.
+       (struct def_pragma_macro): New.
+       (pushed_macro_table): New.
+       (dpm_hash, dpm_eq): New.
+       (handle_pragma_push_macro, handle_pragma_pop_macro): New.
+       (init_pragma): Install them.
+       * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): New.
+
+2007-03-30  Anatoly Sokolov <aesok@post.ru>
+
+       * config/avr/avr.c (avr_override_options): Clear
+       'flag_delete_null_pointer_checks'.
+
+2007-03-30  Paolo Carlini  <pcarlini@suse.de>
+
+       PR c++/26099
+       * c-common.h (enum rid): Add RID_HAS_NOTHROW_ASSIGN,
+       RID_HAS_NOTHROW_CONSTRUCTOR, RID_HAS_NOTHROW_COPY,
+       RID_HAS_TRIVIAL_ASSIGN, RID_HAS_TRIVIAL_CONSTRUCTOR,
+       RID_HAS_TRIVIAL_COPY, RID_HAS_TRIVIAL_DESTRUCTOR,
+       RID_HAS_VIRTUAL_DESTRUCTOR, RID_IS_ABSTRACT, RID_IS_BASE_OF,
+       RID_IS_CONVERTIBLE_TO, RID_IS_CLASS, RID_IS_EMPTY, RID_IS_ENUM,
+       RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_UNION, as
+       C++ extensions.
+       * doc/extend.texi (Extensions to the C++ Language): Add Type Traits.
+
+2007-03-30  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * regmove.c: Move all of pass_stack_adjustments from here...
+       * combine-stack-adj.c: ...to this new file.
+       * Makefile.in: Add rules for combine-stack-adj.o.
+
+2007-03-30  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/31383
+       * tree-data-ref.c (affine_function_equal_p): Do not require the vectors
+       to have the same length.
+
+2007-03-30  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/30700
+       * dwarf2out.c (reference_to_unused): Ask cgraph for functions
+       availablility; add more sanity checking; ask varpool only about
+       VAR_DECL.
+
+2007-03-29  Richard Henderson  <rth@redhat.com>
+
+       * unwind-generic.h (_sleb128_t, _uleb128_t): Don't use HAVE_LONG_LONG
+       to decide, but __SIZEOF_LONG_LONG__.
+
+2007-03-29  Richard Henderson  <rth@redhat.com>
+
+       * emutls.c (struct __emutls_array): New.
+       (emutls_destroy): Use it instead of casting element 0 from void*.
+       (__emutls_get_address): Likewise.
+
+2007-03-29  Richard Henderson  <rth@redhat.com>
+
+       * varasm.c (initializer_constant_valid_p): Don't deny
+       DECL_DLLIMPORT_P on functions.
+
+       * config/i386/cygming.h: Remove function declarations.
+       (SUBTARGET_ENCODE_SECTION_INFO): Don't undef first.
+       (ASM_OUTPUT_LABELREF): Remove.
+       (COMMON_ASM_OP): Remove.
+       (ASM_OUTPUT_COMMON): Remove.
+       (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
+       (ASM_DECLARE_OBJECT_NAME): Use i386_pe_maybe_record_exported_symbol.
+       (ASM_DECLARE_FUNCTION_NAME): Likewise.
+       * config/i386/i386-interix.h (SUBTARGET_ENCODE_SECTION_INFO):
+       Rename from TARGET_ENCODE_SECTION_INFO.
+       * config/i386/netware.h: Likewise.
+       * config/i386/i386-protos.h: Update.
+       * config/i386/i386.c (ix86_function_ok_for_sibcall): Turn ifdef
+       of TARGET_DLLIMPORT_DECL_ATTRIBUTES into straight if.
+       (legitimate_constant_p): Reject dllimports.
+       (dllimport_map, get_dllimport_decl): New.
+       (legitimize_dllimport_symbol): New.
+       (legitimize_address, ix86_expand_move): Use it.
+       (TARGET_BINDS_LOCAL_P): Redefine for TARGET_DLLIMPORT_DECL_ATTRIBUTES.
+       * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Remove.
+       (SYMBOL_FLAG_DLLIMPORT, SYMBOL_REF_DLLIMPORT_P): New.
+       (SYMBOL_FLAG_DLLEXPORT, SYMBOL_REF_DLLEXPORT_P): New.
+       * config/i386/predicates.md (constant_call_address_operand): Only
+       accept symbols; reject dllimport_p symbols.
+       * config/i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Use
+       i386_pe_maybe_record_exported_symbol.
+       * config/i386/winnt.c (DLL_IMPORT_PREFIX, DLL_EXPORT_PREFIX): Remove.
+       (i386_pe_determine_dllexport_p): Rename from i386_pe_dllexport_p.
+       (i386_pe_determine_dllimport_p): Rename from i386_pe_dllimport_p;
+       trust the setting of DECL_DLLIMPORT_P.
+       (i386_pe_dllexport_name_p, i386_pe_dllimport_name_p): Remove.
+       (i386_pe_mark_dllexport, i386_pe_mark_dllimport): Remove.
+       (gen_stdcall_or_fastcall_suffix): Return NULL if no change required;
+       tidy the argument scanning loop.
+       (i386_pe_encode_section_info): Set SYMBOL_FLAG_DLLIMPORT and
+       SYMBOL_FLAG_DLLEXPORT in SYMBOL_REF_FLAGS.
+       (i386_pe_strip_name_encoding): Remove.
+       (i386_pe_binds_local_p): New.
+       (i386_pe_strip_name_encoding_full): Use default_strip_name_encoding.
+       (i386_pe_output_labelref): Remove.
+       (i386_pe_asm_output_aligned_decl_common): New.
+       (i386_pe_maybe_record_exported_symbol): Rename from
+       i386_pe_record_exported_symbol; check for dllexported symbols.
+
+2007-03-29  Zack Weinberg  <zack@mrtock.ucsd.edu>
+
+       * gengtype.c (oprintf): Mostly revert changes from 2007-03-26;
+       add comment explaining why vsnprintf cannot be used.
+
 2007-03-29  Douglas Gregor  <doug.gregor@gmail.com>
 
        PR tree-optimization/30666
        than calling gen_rtx_SET directly.  Use r0 to hold the value of
        'address + 4' rather than a stack based temporary which can be
        mis-optimized away.
-       
+
 2007-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        * config/s390/s390.c (s390_secondary_input_reload_class,
 
        * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
        * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix.
+       * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef.
 
 2007-03-28  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
 
        * config.gcc: Accept barcelona as a variant of amdfam10.
        * config/i386/i386.c (override_options): Likewise.
        * doc/invoke.texi: Likewise.
-       
+
 2007-03-28  Eric Botcazou  <ebotcazou@adacore.com>
 
        * tree-dfa.c (get_ref_base_and_extent): Do not expect positive
 2007-03-28  Lars Poeschel <larsi@wh2.tu-dresden.de>
 
        * config/fr30/fr30.md (movsi_internal): Change destination
-       constraint from m to V and add m to the end. 
+       constraint from m to V and add m to the end.
 
 2007-03-28  Christian Bruel  <christian.bruel@st.com>
 
        * config/s390/s390.md ("fix_trunc<mode>di2"): New expander.
        ("fix_trunc<DFP:mode>di2_dfp"): New insn definition renamed from
        fix_trunc<mode>di2.
-       ("fixuns_truncdddi2", "fixuns_trunctddi2"): Use 
+       ("fixuns_truncdddi2", "fixuns_trunctddi2"): Use
        fix_trunc<DFP:mode>di2_dfp instead of fix_trunc<mode>di2.
        ("fix_truncdfsi2", "fix_truncsfsi2", "fixuns_truncdddi2",
        "fixuns_trunctddi2"): Whitespace fix.
 
 2007-03-27  Anatoly Sokolov <aesok@post.ru>
 
-       * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' 
+       * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
        architecture.
 
 2007-03-27  Janis Johnson  <janis187@us.ibm.com>
 2007-03-27  Richard Guenther  <rguenther@suse.de>
 
        * tree-dfa.c (get_ref_base_and_extent): Replace bit_offset and
-       computations with it with a HOST_WIDE_INT variable.  
+       computations with it with a HOST_WIDE_INT variable.
 
 2007-03-26  Mike Stump  <mrs@apple.com>
 
        _mm_srli_epi64): Mark __B const.
        (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
        (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
-       _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use 
+       _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
        new two-vector shift builtins.
 
 2007-03-26  Ian Lance Taylor  <iant@google.com>