+2009-04-17 Simon Baldwin <simonb@google.com>
+
+ * toplev.c (default_tree_printer): Add handling for %E format.
+
+2009-04-17 Diego Novillo <dnovillo@google.com>
+
+ * tree-pretty-print.c (dump_generic_node): Add break
+ after TREE_BINFO handler.
+ Handle COMPLEX_TYPE, REAL_TYPE and FIXED_POINT_TYPE
+ Handle NULL TREE_TYPEs.
+ Handle METHOD_TYPE and FUNCTION_TYPE together.
+ Call print_struct_decl when printing structures and
+ TDF_SLIM is not given.
+ (print_struct_decl): Fix logic for detecting recursion.
+
+2009-04-17 Rafael Avila de Espindola <espindola@google.com>
+
+ PR 31567
+ * gcc.c (create_at_file): New.
+ (compile_input_file_p): New.
+ (do_spec_1): Use @args files for %i. Use create_at_file for %o.
+ * main.c (main): Update call to toplev_main.
+ * toplev.c (toplev_main): Change signature. Call expandargv.
+ * toplev.h (toplev_main): Change signature.
+
+2009-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (field_byte_offset): Use the type size as the field size
+ if the latter is not constant.
+
+2009-04-17 David Edelsohn <edelsohn@gnu.org>
+
+ * dbxout.c (xcoff_debug_hooks): Add set_name_debug_nothing.
+
+2009-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dbxout.c (dbxout_block): Reinstate test on TREE_USED.
+ * tree-ssa-live.c (remove_unused_scope_block_p): Update TREE_USED bit.
+
+2009-04-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (get_constraint_for_component_ref):
+ Handle component references view-converting an invariant address.
+
+2009-04-17 Adam Nemet <anemet@caviumnetworks.com>
+
+ * doc/tm.texi (TARGET_DEFAULT_TARGET_FLAGS,
+ TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET,
+ TARGET_HAVE_SRODATA_SECTION, TARGET_HAVE_TLS,
+ TARGET_UNWIND_TABLES_DEFAULT, TARGET_TERMINATE_DW2_EH_FRAME_INFO):
+ Use @deftypevr rather than @deftypevar.
+
+2009-04-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (get_prop_dest_stmt): Clean up
+ tuplification.
+ (get_prop_source_stmt): Likewise.
+ (can_propagate_from): Likewise.
+
+2009-04-17 Andrew Stubbs <ams@codesourcery.com>
+
+ * configure.ac: Add new AC_SUBST for TM_ENDIAN_CONFIG,
+ TM_MULTILIB_CONFIG and TM_MULTILIB_EXCEPTIONS_CONFIG.
+ (--with-multilib-list): Add default value.
+ * configure: Regenerate.
+ * Makefile.in (TM_ENDIAN_CONFIG): Define.
+ (TM_MULTILIB_CONFIG, TM_MULTILIB_EXCEPTIONS_CONFIG): Define.
+ * config.gcc (sh-*-*): Switch to using TM_ENDIAN_CONFIG,
+ TM_MULTILIB_CONFIG, and TM_MULTILIB_EXCEPTIONS_CONFIG.
+ Don't add default cpu to multilib list unnecessarily, but do enable
+ the relevant compiler option..
+ Add support for --with-multilib-list=<blank> and
+ --with-multilib-list=!<somelib> to supress unwanted multilibs.
+ * config/sh/t-sh (DEFAULT_ENDIAN, OTHER_ENDIAN): New variables.
+ (MULTILIB_ENDIAN, MULTILIB_CPUS): Delete variables.
+ (MULTILIB_OPTIONS): Redefine using OTHER_ENDIAN and
+ TM_MULTILIB_CONFIG.
+ (MULTILIB_EXCEPTIONS): Add TM_MULTILIB_EXCEPTIONS_CONFIG.
+ (MULTILIB_OSDIRNAMES): New variable.
+ * config/sh/t-1e: Delete file.
+ * config/sh/t-mlib-sh1: Delete file.
+ * config/sh/t-mlib-sh2: Delete file.
+ * config/sh/t-mlib-sh2a: Delete file.
+ * config/sh/t-mlib-sh2a-nofpu: Delete file.
+ * config/sh/t-mlib-sh2a-single: Delete file.
+ * config/sh/t-mlib-sh2a-single-only: Delete file.
+ * config/sh/t-mlib-sh2e: Delete file.
+ * config/sh/t-mlib-sh3e: Delete file.
+ * config/sh/t-mlib-sh4: Delete file.
+ * config/sh/t-mlib-sh4-nofpu: Delete file.
+ * config/sh/t-mlib-sh4-single: Delete file.
+ * config/sh/t-mlib-sh4-single-only: Delete file.
+ * config/sh/t-mlib-sh4a: Delete file.
+ * config/sh/t-mlib-sh4a-nofpu: Delete file.
+ * config/sh/t-mlib-sh4a-single: Delete file.
+ * config/sh/t-mlib-sh4a-single-only: Delete file.
+ * config/sh/t-mlib-sh4al: Delete file.
+ * config/sh/t-mlib-sh5-32media: Delete file.
+ * config/sh/t-mlib-sh5-32media-nofpu: Delete file.
+ * config/sh/t-mlib-sh5-64media: Delete file.
+ * config/sh/t-mlib-sh5-64media-nofpu: Delete file.
+ * config/sh/t-mlib-sh5-compact: Delete file.
+ * config/sh/t-mlib-sh5-compact-nofpu: Delete file.
+ * config/sh/t-linux: Don't override MULTILIB_EXCEPTIONS.
+ * doc/install.texi (Options specification): Add
+ --with-multilib-list and --with-endian.
+
+2009-04-17 Rafael Avila de Espindola <espindola@google.com>
+
+ * Makefile.in (REVISION_s): Always include quotes. Change ifdef to use
+ REVISION_c.
+ (OBJS-common): Add plugin-version.o.
+ (plugin-version.o): New.
+ * gcc-plugin.h (plugin_gcc_version): New.
+ (plugin_default_version_check): New.
+ (plugin_init_func, plugin_init): Add version argument.
+ * plugin-version.c: New.
+ * plugin.c (str_plugin_gcc_version_name): New.
+ (try_init_one_plugin): Read plugin_gcc_version from the plugin and
+ pass it to the init function.
+ (plugin_default_version_check): New.
+
+2009-04-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-alias.c (refs_may_alias_p_1): Do not use TBAA
+ for decl-vs-decl disambiguation.
+
+2009-04-17 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.h (s390_tune_attr): New macro definition.
+ * config/s390/s390.md (cpu attribute): Map to s390_tune_attr.
+
+2009-04-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (struct fold_stmt_r_data): Remove.
+ (fold_stmt_r): Likewise.
+ (maybe_fold_reference): New function.
+ (fold_gimple_assign): Handle cases fold_stmt_r did.
+ (fold_stmt): Do not use fold_stmt_r.
+ (fold_stmt_inplace): Likewise.
+
+2009-04-17 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-dom.c (gimple_assign_unary_useless_conversion_p): Remove.
+ (record_equivalences_from_stmt): Remove useless checks and
+ simplifications.
+ * tree-ssa-pre.c (eliminate): Avoid converting a constant if
+ the type is already suitable.
+
+2009-04-17 Paolo Bonzini <bonzini@gnu.org>
+
+ * config/sh/sh.h (FUNCTION_VALUE): Fix call to sh_promote_prototypes.
+
+2009-04-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/arm/sfp-machine.h (__gcc_CMPtype): New typedef.
+ (CMPtype): Define as __gcc_CMPtype.
+
+2009-04-17 Aurelien Jarno <aurelien@aurel32.net>
+
+ * config.gcc: Add soft-fp/t-softfp and i386/t-linux to tmake_file
+ for i[34567]86-*-kfreebsd*-gnu*, x86_64-*-kfreebsd*-gnu*.
+
+2009-04-17 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/39746
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Remove
+ special-casing for builtins and static variable use/def.
+ (call_may_clobber_ref_p_1): Likewise.
+
+2009-04-16 Ian Lance Taylor <iant@google.com>
+
+ * df.h: Include "timevar.h".
+ (struct df_problem): Change tv_id field to timevar_id_t.
+ * tree-pass.h: Include "timevar.h".
+ (struct opt_pass): Change tv_id field to timevar_id_t.
+ * timevar.h (timevar_id_t): Define TV_NONE.
+ * passes.c (execute_one_ipa_transform_pass): Check for tv_id !=
+ TV_NONE rather than tv_id != 0.
+ (execute_one_pass): Likewise.
+ * Makefile.in (DF_H): Add $(TIMEVAR_H).
+ (TREE_PASS_H): Define. Change all instances of tree-pass.h in
+ dependencies to $(TREE_PASS_H).
+ * bt-load.c (pass_branch_target_load_optimize1): Set tv_id field
+ to TV_NONE.
+ (pass_branch_target_load_optimize2): Likewise.
+ * cfglayout.c (pass_into_cfg_layout_mode): Likewise.
+ (pass_outof_cfg_layout_mode): Likewise.
+ * cgraphbuild.c (pass_remove_cgraph_callee_edges): Likewise.
+ (pass_rebuild_cgraph_edges): Likewise.
+ (pass_remove_cgraph_callee_edges): Likewise.
+ * df-core.c (pass_df_initialize_opt): Likewise.
+ (pass_df_initialize_no_opt): Likewise.
+ (pass_df_finish): Likewise.
+ * emit-rtl.c (pass_unshare_all_rtl): Likewise.
+ * except.c (pass_set_nothrow_function_flags): Likewise.
+ (pass_convert_to_eh_region_ranges): Likewise.
+ * final.c (pass_compute_alignments): Likewise.
+ * function.c (pass_instantiate_virtual_regs): Likewise.
+ (pass_init_function): Likewise.
+ (pass_leaf_regs): Likewise.
+ (pass_match_asm_constraints): Likewise.
+ * gimple-low.c (pass_lower_cf): Likewise.
+ (pass_mark_used_blocks): Likewise.
+ * init-regs.c (pass_initialize_regs): Likewise.
+ * integrate.c (pass_initial_value_sets): Likewise.
+ * ira.c (pass_ira): Likewise.
+ * jump.c (pass_cleanup_barriers): Likewise.
+ * omp-low.c (pass_expand_omp): Likewise.
+ (pass_lower_omp): Likewise.
+ * matrix-reorg.c (pass_ipa_matrix_reorg): Likewise.
+ * recog.c (pass_split_all_insns): Likewise.
+ (pass_split_after_reload): Likewise.
+ (pass_split_before_regstack): Likewise.
+ (pass_split_before_sched2): Likewise.
+ (pass_split_for_shorten_branches): Likewise.
+ * reginfo.c (pass_reginfo_init): Likewise.
+ (pass_subregs_of_mode_init): Likewise.
+ (pass_subregs_of_mode_finish): Likewise.
+ * passes.c (pass_postreload): Likewise.
+ * stack-ptr-mod.c (pass_stack_ptr_mod): Likewise.
+ * tree-cfg.c (pass_remove_useless_stmts): Likewise.
+ (pass_warn_function_return): Likewise.
+ (pass_warn_function_noreturn): Likewise.
+ * tree-complex.c (pass_lower_complex): Likewise.
+ (pass_lower_complex_O0): Likewise.
+ * tree-if-conv.c (pass_if_conversion): Likewise.
+ * tree-into-ssa.c (pass_build_ssa): Likewise.
+ * tree-mudflap.c (pass_mudflap_1): Likewise.
+ (pass_mudflap_2): Likewise.
+ * tree-nomudflap.c (pass_mudflap_1): Likewise.
+ (pass_mudflap_2): Likewise.
+ * tree-nrv.c (pass_return_slot): Likewise.
+ * tree-object-size.c (pass_object_sizes): Likewise.
+ * tree-optimize.c (pass_all_optimizations): Likewise.
+ (pass_early_local_passes): Likewise.
+ (pass_all_early_optimizations): Likewise.
+ (pass_cleanup_cfg): Likewise.
+ (pass_cleanup_cfg_post_optimizing): Likewise.
+ (pass_free_datastructures): Likewise.
+ (pass_free_cfg_annotations): Likewise.
+ (pass_fixup_cfg): Likewise.
+ (pass_init_datastructures): Likewise.
+ * tree-ssa.c (pass_early_warn_uninitialized): Likewise.
+ (pass_late_warn_uninitialized): Likewise.
+ (pass_update_address_taken): Likewise.
+ * tree-ssa-ccp.c (pass_fold_builtins): Likewise.
+ * tree-ssa-math-opts.c (pass_cse_reciprocals): Likewise.
+ (pass_cse_sincos): Likewise.
+ (pass_convert_to_rsqrt): Likewise.
+ * tree-ssa-structalias.c (pass_build_alias): Likewise.
+ * tree-stdarg.c (pass_stdarg): Likewise.
+ * tree-tailcall.c (pass_tail_recursion): Likewise.
+ (pass_tail_calls): Likewise.
+ * tree-vect-generic.c (pass_lower_vector): Likewise.
+ (pass_lower_vector_ssa): Likewise.
+ * tree-vectorizer.c (pass_ipa_increase_alignment): Likewise.
+
+2009-04-16 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/mips.c (mips_rtx_cost_data): Use SOFT_FP_COSTS in
+ XLR entry.
+ * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC, MIPS_ARCH_FLOAT_SPEC):
+ Handle -march=xlr.
+ * config/mips/xlr.md (ir_xlr_alu): Also accept insn types move,
+ logical and signext.
+
+2009-04-16 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/39767
+ * config/sh/predicates.md (arith_operand): Check if the operand
+ of TRUNCATE is a REG.
+
+2009-04-16 Kazu Hirata <kazu@codesourcery.com>
+
+ * cfgrtl.c (delete_insn_chain_and_edges): Remove.
+ * rtl.h: Remove the prototype for delete_insn_chain_and_edges.
+
+2009-04-16 Kazu Hirata <kazu@codesourcery.com>
+
+ * tree-iterator.c (tsi_split_statement_list_after,
+ tsi_split_statement_list_before): Remove.
+ * tree-iterator.h: Remove the prototypes for
+ tsi_split_statement_list_after and tsi_split_statement_list_before.
+
+2009-04-16 Kazu Hirata <kazu@codesourcery.com>
+
+ * tree-ssa-propagate.c (stmt_makes_single_load): Remove.
+ * tree-ssa-propagate.h: Remove the prototype for
+ stmt_makes_single_load.
+
+2009-04-16 Kazu Hirata <kazu@codesourcery.com>
+
+ * emit-rtl.c (set_mem_attrs_from_reg): Remove.
+ * rtl.h: Remove the prototype for set_mem_attrs_from_reg.
+
+2009-04-16 Kazu Hirata <kazu@codesourcery.com>
+
+ * tree-iterator.c (EXPR_LAST_BODY): Remove.
+
+2009-04-16 Kazu Hirata <kazu@codesourcery.com>
+
+ * except.c (eh_region_outer_p): Remove.
+ * except.h: Remove the prototype for eh_region_outer_p.
+
+2009-04-16 Kazu Hirata <kazu@codesourcery.com>
+
+ * function.c (current_function_assembler_name): Remove.
+ * function.h: Remove the prototype for
+ current_function_assembler_name.
+
+2009-04-16 Ian Lance Taylor <iant@google.com>
+
+ * rtlanal.c (alloc_reg_note): New function, broken out of add_reg_note.
+ (add_reg_note): Call alloc_reg_note.
+ * rtl.h (alloc_reg_note): Declare.
+ * combine.c (try_combine): Use alloc_reg_note.
+ (recog_for_combine, move_deaths): Likewise.
+ (distribute_notes): Use alloc_reg_note and add_reg_note.
+ * haifa-sched.c (sched_create_recovery_edges): Use add_reg_note.
+ * combine-stack-adj.c (adjust_frame_related_expr): Likewise.
+ * reload1.c (eliminate_regs_1): Use alloc_reg_note.
+
+2009-04-16 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/39762
+ * ira-int.h (ira_register_move_cost, ira_may_move_in_cost,
+ ira_may_move_out_cost): Add comments about way of their usage.
+ (ira_get_register_move_cost, ira_get_may_move_cost): New functions.
+
+ * ira-conflicts.c (process_regs_for_copy): Use function
+ ira_get_register_move_cost instead of global
+ ira_register_move_cost.
+
+ * ira-color.c (update_copy_costs, calculate_allocno_spill_cost,
+ color_pass, move_spill_restore, update_curr_costs): Ditto.
+
+ * ira-lives.c (process_single_reg_class_operands): Ditto.
+
+ * ira-emit.c (emit_move_list): Ditto.
+
+ * ira-costs.c (copy_cost): Don't call ira_init_register_move_cost.
+ (record_reg_classes): Ditto. Use functions
+ ira_get_register_move_cost and ira_get_may_move_cost instead of
+ global vars ira_register_move_cost, ira_may_move_out_cost and
+ ira_may_move_in_cost.
+ (record_address_regs): Don't call ira_init_register_move_cost.
+ Use function ira_get_may_move_cost instead of global
+ ira_may_move_in_cost.
+ (process_bb_node_for_hard_reg_moves): Use function
+ ira_get_register_move_cost instead of global ira_register_move_cost.
+ (ira_costs): Don't call ira_init_register_move_cost.
+
+2009-04-16 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (verify_gimple_assign_binary):
+ Allow POINTER_PLUS_EXPR-like PLUS_EXPR for vectors.
+ * ipa-struct-reorg.c (gen_size): Fold the built expressions.
+ (create_general_new_stmt): Note that this function is broken.
+
+2009-04-16 Rafael Avila de Espindola <espindola@google.com>
+
+ * common.opt (fhelp): Add Var(help_flag).
+ * gcc-plugin.h (plugin_info): Add help.
+ * plugin.c (plugin_name_args): Add help.
+ (register_plugin_info): Set plugin->help.
+ (print_help_one_plugin): New.
+ (print_plugins_help): New.
+ * plugin.h (print_plugins_help): New.
+ * toplev.c (toplev_main): Call print_plugins_help if needed.
+
+2009-04-16 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_copy): Do not clear addresses_taken bitmap.
+ (gimple_ior_addresses_taken_1): New function.
+ (gimple_ior_addresses_taken): Likewise.
+ * gimple.h (struct gimple_statement_with_ops_base): Remove
+ addresses_taken member.
+ (gimple_ior_addresses_taken): Declare.
+ (gimple_addresses_taken, gimple_addresses_taken_ptr,
+ gimple_set_addresses_taken): Remove.
+ * ipa-reference.c (mark_address): New function.
+ (scan_stmt_for_static_refs): Use it for marking addresses taken.
+ * tree-ssa-operands.c (add_to_addressable_set): Rename to ...
+ (mark_address_taken): ... this. Just set TREE_ADDRESSABLE.
+ (gimple_add_to_addresses_taken): Remove.
+ (get_tmr_operands): Call mark_address_taken.
+ (get_asm_expr_operands): Likewise.
+ (get_expr_operands): Likewise.
+ (build_ssa_operands): Do not clear the addresses_taken bitmap.
+ (free_stmt_operands): Do not free it.
+ * tree-ssa.c (delete_tree_ssa): Likewise.
+ (execute_update_addresses_taken): Use gimple_ior_addresses_taken.
+
+2009-04-16 Richard Guenther <rguenther@suse.de>
+
+ * gimple.h (walk_stmt_load_store_addr_ops): Declare.
+ (walk_stmt_load_store_ops): Likewise.
+ * gimple.c (get_base_loadstore): New function.
+ (walk_stmt_load_store_addr_ops): Likewise.
+ (walk_stmt_load_store_ops): Likewise.
+ * ipa-pure-const.c (check_op): Simplify.
+ (check_load, check_store): New functions.
+ (check_stmt): Use walk_stmt_load_store_ops.
+ * ipa-reference.c (mark_load): Adjust signature.
+ (mark_store): Likewise.
+ (scan_stmt_for_static_refs): Use walk_stmt_load_store_addr_ops.
+
+2009-04-16 Rafael Avila de Espindola <espindola@google.com>
+
+ * gcc-plugin.h (plugin_event): Add PLUGIN_INFO.
+ (plugin_info): New.
+ * opts.c (common_handle_option): Don't call print_version.
+ * plugin.c (plugin_name_args): Add version.
+ (register_plugin_info): New.
+ (register_callback): Handle PLUGIN_INFO.
+ (try_init_one_plugin): New.
+ (init_one_plugin): Use try_init_one_plugin. Only free plugin_name_args
+ if failed to init.
+ (finalize_one_plugin): New.
+ (finalize_plugins): New.
+ (print_one_plugin): New.
+ (print_plugins_versions): New.
+ * plugin.h (print_plugins_versions): New.
+ (finalize_plugins): New.
+ * toplev.c (compile_file): Don't call initialize_plugins.
+ (print_version): Call print_plugins_versions.
+ (toplev_main): Call initialize_plugins. Print version if needed.
+ Call finalize_plugins.
+
+2009-04-16 Rafael Avila de Espindola <espindola@google.com>
+
+ * common.opt (fversion): New.
+ * gcc.c (print_version): New.
+ (process_command): Don't print the version. Just set print_version.
+ (main): Print version. Call subprocesses if print_version and
+ verbose_flag are set.
+ * opts.c (common_handle_option): Handle OPT_fversion.
+
+2009-04-16 Richard Guenther <rguenther@suse.de>
+ Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/39698
+ * tree-vect-loop.c (get_initial_def_for_reduction): Use the
+ type of the reduction variable. Only generate the def if
+ it is needed.
+
+ * omp-low.c (expand_omp_for_generic): When converting to a pointer
+ make sure to first convert to an integer of the same precision.
+ * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Retain
+ the type of the evolution correctly in computing the new
+ induction variable base.
+
+2009-04-16 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/39625
+ * tree-cfg.c (make_blocks): Split statements with to-be
+ abnormal SSA names on the lhs.
+
+2009-04-16 Paolo Bonzini <bonzini@gnu.org>
+
+ * c-common.c (vector_targets_convertible_p, vector_types_convertible_p):
+ Use TYPE_VECTOR_OPAQUE instead of targetm.vector_opaque_p.
+ * c-typeck.c (really_start_incremental_init): Likewise.
+ * target-def.h (TARGET_VECTOR_OPAQUE_P): Remove.
+ (TARGET_INITIALIZER): Remove it.
+ * target.h (struct target): Remove vector_opaque_p.
+ * tree.c (build_opaque_vector_type): New.
+ * tree.h (TYPE_VECTOR_OPAQUE): New.
+ (build_opaque_vector_type): Declare.
+ * doc/tm.texi (TARGET_VECTOR_OPAQUE_P): Remove.
+ * config/rs6000/rs6000.c (build_opaque_vector_type,
+ rs6000_is_vector_type, TARGET_VECTOR_OPAQUE_P): Remove.
+ (rs6000_init_builtins): Use build_opaque_vector_type for
+ opaque_V4SI_type_node.
+
+2009-04-15 Catherine Moore <clm@codesourcery.com>
+
+ * debug.h (set_name): Declare.
+ * dwarf2out.c (dwarf2out_set_name): Declare.
+ (dwarf2_debug_hooks): Add set_name.
+ (find_AT_string): New.
+ (add_AT_string): Call find_AT_string.
+ (dwarf2out_set_name): New.
+ * cp/decl.c (grokdeclarator): Call set_name.
+ * vmsdbgout.c (vmsdbg_debug_hooks): Add set_name_debug_nothing.
+ * debug.c (do_nothing_debug_hooks): Likewise.
+ * dbxout.c (dbx_debug_hooks): Likewise.
+ * sdbout.c (sdb_debug_hooks): Likewise.
+
+2009-04-15 Michael Eager <eager@eagercon.com>
+
+ * config/rs6000/rs6000.c (rs6000_function_value): Set function return
+ reg for single-precision FPU.
+ * config/rs6000/rs6000.md (movsi_internal1): Only for
+ !TARGET_SINGLE_FPU.
+ (movsi_internal1_single): New. Add pattern to move SI values to/from
+ single-precision FP regs.
+
+2009-04-15 Richard Guenther <rguenther@suse.de>
+
+ * omp-low.c (lower_rec_input_clauses): Build correct address
+ expressions.
+ (expand_omp_for_generic): Fix multiplication type.
+ * tree-loop-distribution.c (build_size_arg): Build a size_t argument.
+ (generate_memset_zero): Fix types.
+ * tree-profile.c (prepare_instrumented_value): Correctly
+ widen a pointer.
+
+2009-04-15 Ian Lance Taylor <iant@google.com>
+
+ * c.opt (Wenum-compare): Enable for C and Objc. Initialize to -1.
+ * c-opts.c (c_common_handle_option): For C, set warn_enum_compare
+ for -Wall and for -Wc++-compat.
+ (c_common_post_options): For C++, set warn_enum_compare if not
+ already set.
+ * c-tree.h (struct c_expr): Add field original_type.
+ (build_external_ref): Update declaration.
+ * c-parser.c (c_parser_braced_init): Set original_type.
+ (c_parser_initelt): Likewise.
+ (c_parser_expr_no_commas): Likewise.
+ (c_parser_conditional_expression): Likewise.
+ (c_parser_cast_expression): Likewise.
+ (c_parser_unary_expression): Likewise. Pull setting of
+ original_code to top of function.
+ (c_parser_sizeof_expression): Set original_type.
+ (c_parser_alignof_expression): Likewise.
+ (c_parser_postfix_expression): Likewise. Pull setting of
+ original_code to top of function.
+ (c_parser_postfix_expression_after_paren_type): Set original_type.
+ (c_parser_postfix_expression_after_primary): Likewise.
+ (c_parser_expression): Likewise.
+ * c-typeck.c (build_external_ref): Add type parameter. Change all
+ callers.
+ (c_expr_sizeof_expr): Set original_type field.
+ (parser_build_unary_op): Likewise.
+ (parser_build_binary_op): Likewise. Optionally warn about
+ comparisons of enums of different types.
+ (digest_init): Set original_type field.
+ (really_start_incremental_init): Likewise.
+ (push_init_level, pop_init_level): Likewise.
+ * doc/invoke.texi (Warning Options): -Wenum-compare now
+ supported in C.
+
+2009-04-15 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (eliminate): When replacing a PHI node carry
+ out a necessary conversion.
+ * tree-ssa-sccvn.c (run_scc_vn): Also assign value-ids to
+ names we didn't value number.
+ * tree-mudflap.c (mf_build_check_statement_for): Use correct types.
+