+2009-05-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/m68k/m68k-devices.def (52274, 52277, 5301x, 5225x, 51xx):
+ New devices.
+ * doc/invoke.texi (M680x0 Options): Document new coldfire cpus.
+
+2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * tree-vect-data-refs.c (vect_analyze_group_access): Use
+ HOST_WIDE_INT for gap.
+
+2009-05-11 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/40074
+ * tree-vect-data-refs.c (vect_analyze_group_access): Take gaps into
+ account in group size and step comparison.
+
+2009-05-11 Richard Guenther <rguenther@suse.de>
+
+ * passes.c (init_optimization_passes): Strip now incorrect comment.
+ (execute_function_todo): Do not set PROP_alias.
+ * tree-pass.h (PROP_alias): Remove.
+ * tree-ssa-structalias.c (pass_build_alias): Do not provide PROP_alias.
+ * tree-if-conv.c (pass_if_conversion): Do not require PROP_alias.
+ * tree-nrv.c (pass_return_slot): Likewise.
+ * tree-object-size.c (pass_object_sizes): Likewise.
+ * tree-ssa-dom.c (pass_dominator): Likewise.
+ (pass_phi_only_cprop): Likewise.
+ * tree-ssa-dse.c (pass_dse): Likewise.
+ * tree-ssa-phiopt.c (pass_phiopt): Likewise.
+ (pass_cselim): Likewise.
+ * tree-ssa-pre.c (pass_pre): Likewise.
+ (pass_fre): Likewise.
+ * tree-ssa-reassoc.c (pass_reassoc): Likewise.
+ * tree-ssa-sink.c (pass_sink_code): Likewise.
+ * tree-stdarg.c (pass_stdarg): Likewise.
+ * tree-tailcall.c (pass_tail_calls): Likewise.
+ * tree-vrp.c (pass_vrp): Likewise.
+
+2009-05-10 Ian Lance Taylor <iant@google.com>
+
+ * basic-block.h (enum profile_status): Break out of struct
+ control_flow_graph.
+ * cgraph.h (struct inline_summary): Break out of struct
+ cgraph_local_info.
+ * cgraphunit.c (enum cgraph_order_sort_kind): New enum, broken out
+ of struct cgraph_order_sort.
+ * combine.c (enum undo_kind): New enum, broken out of struct
+ undo.
+ * cse.c (struct branch_path): Break out of struct
+ cse_basic_block_data.
+ * except.h (enum eh_region_type): Break out of struct eh_region.
+ * gcc.c (enum add_del): Break out of struct modify_target.
+ * genrecog.c (enum decision_type): Break out of struct
+ decision_test.
+ * ggc-page.c (struct ggc_pch_ondisk): Break out of struct
+ ggc_pch_data.
+ * matrix-reorg.c (struct free_info): Break out of struct
+ matrix_info.
+ * regmove.c (enum match_use): New enum, broken out of struct
+ match.
+ * sched-int.h (enum post_call_group): New enum, broken out of
+ struct deps.
+ (struct deps_reg): Break out of struct deps.
+ * target.h (struct asm_int_op): Break out of struct gcc_target.
+ * tree-eh.c (struct goto_queue_node): Break out of struct
+ leh_tf_state.
+ * tree-inline.h (enum copy_body_cge_which): Break out of
+ copy_body_data.
+ * tree-pass.h (enum opt_pass_type): Break out of struct opt_pass.
+
+ * c-decl.c (in_struct, struct_types): New static variables.
+ (pushtag): Add loc parameter. Change all callers.
+ (lookup_tag): Add ploc parameter. Change all callers.
+ (check_compound_literal_type): New function.
+ (parser_xref_tag): Add loc parameter. Change all callers. If
+ -Wc++-compat, warn about struct/union/enum types defined within a
+ struct or union.
+ (start_struct): Add enclosing_in_struct, enclosing_struct_types,
+ and loc parameters. Change all callers. Change error calls to
+ error_at, using loc. For a redefinition, if the location of the
+ original definition is known, report it. Set in_struct and
+ struct_types. If -Wc++-compat warn if in sizeof, typeof, or
+ alignof.
+ (finish_struct): Add new parameters enclosing_in_struct and
+ enclosing_struct_types. Change all callers. Set
+ C_TYPE_DEFINED_IN_STRUCT for all struct/union/enum types defined
+ in the struct. If in a struct, add this struct to struct_types.
+ (start_enum): Add loc parameter. Change all callers. Use
+ error_at for errors, using loc. For a redefinition, if the
+ location of the original definition is known, report it. If in a
+ struct, add this enum type to struct_types. If -Wc++-compat warn
+ if in sizeof, typeof, or alignof.
+ * c-parser.c (disable_extension_diagnostics): Disable
+ -Wc++-compat.
+ (enable_extension_diagnostics): Reenable -Wc++-compat if
+ appropriate.
+ (c_parser_enum_specifier): Get enum location for start_enum.
+ (c_parser_struct_or_union_specifier): Get struct location for
+ start_struct. Save in_struct and struct_types status between
+ start_struct and finish_struct.
+ (c_parser_cast_expression): Get location of cast.
+ (c_parser_alignof_expression): Get location of type.
+ (c_parser_postfix_expression): Likewise.
+ (c_parser_postfix_expression_after_paren_type): Add type_loc
+ parameter. Change all callers. Call
+ check_compound_literal_type. Use type_loc for error about
+ variable size type.
+ * c-typeck.c (build_external_ref): If -Wc++-compat, warn about a
+ use of an enum constant from an enum type defined in a struct or
+ union.
+ (c_cast_expr): Add loc parameter. Change all callers. If
+ -Wc++-compat, warn about defining a type in a cast.
+ * c-tree.h (C_TYPE_DEFINED_IN_STRUCT): Define.
+ (start_enum, start_struct, finish_struct): Update declarations.
+ (parser_xref_tag, c_cast_expr): Update declarations.
+ (check_compound_literal_type): Declare.
+
+2009-05-11 Ben Elliston <bje@au.ibm.com>
+
+ * config/rs6000/rs6000-c.c (altivec_categorize_keyword): Update
+ for recent libcpp interface change.
+ (rs6000_macro_to_expand): Likewise.
+
+2009-05-10 Michael Matz <matz@suse.de>
+
+ PR target/40031
+ * config/arm/arm.c (require_pic_register): Emit on entry edge,
+ not at entry of function.
+
+2009-05-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/40081
+ Revert
+ * tree-sra.c (instantiate_element): Instantiate scalar replacements
+ using the main variant of the element type. Do not fiddle with
+ TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS.
+
+ * tree-sra.c (sra_type_can_be_decomposed_p): Do not decompose
+ structs with volatile fields.
+
+2009-05-10 Jan Hubicka <jh@suse.cz>
+
+ * tree-inline.c (delete_unreachable_blocks_update_callgraph): Declare.
+ (estimate_move_cost): Assert that it does not get called for VOID_TYPE_P.
+ (estimate_num_insns): Skip VOID types in argument handling.
+ (optimize_inline_calls): Delete unreachable blocks and verify that
+ callgraph is valid.
+
+2009-05-10 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c (record_reference): Use cgraph_mark_address_taken_node.
+ * cgraph.c (cgraph_mark_address_taken_node): New function.
+ (dump_cgraph_node): Dump new flag.
+ * cgraph.h (struct cgraph_node): Add address_taken.
+ (cgraph_mark_address_taken_node): New function.
+ * ipa.c (cgraph_postorder): Prioritize functions with address taken
+ since new direct calls can be born.
+
+2009-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * c-lex.c (c_lex_with_flags): Expect cpp_hashnode in
+ tok->val.node.node.
+
+2009-05-10 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/40084
+ * cgraph.c (cgraph_update_edges_for_call_stmt_node): Take old_call
+ argument; rewrite.
+ (cgraph_update_edges_for_call_stmt): Take old_decl argument.
+ * cgraph.h (cgraph_update_edges_for_call_stmt): Update prototype.
+ * tree-inline.c (copy_bb): Set frequency correctly.
+ (fold_marked_statements): Update call to
+ cgraph_update_edges_for_call_stmt.
+
+2009-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arc/arc.c (arc_handle_interrupt_attribute): Use %qE for
+ identifiers in diagnostics.
+ * config/arm/arm.c (arm_handle_fndecl_attribute,
+ arm_handle_isr_attribute): Likewise.
+ * config/avr/avr.c (avr_handle_progmem_attribute,
+ avr_handle_fndecl_attribute, avr_handle_fntype_attribute):
+ Likewise.
+ * config/bfin/bfin.c (handle_int_attribute,
+ bfin_handle_longcall_attribute, bfin_handle_l1_text_attribute,
+ bfin_handle_l1_data_attribute, bfin_handle_longcall_attribute,
+ bfin_handle_l1_text_attribute, bfin_handle_l1_data_attribute):
+ Likewise.
+ * config/darwin.c (darwin_handle_kext_attribute,
+ darwin_handle_weak_import_attribute): Likewise.
+ * config/h8300/h8300.c (h8300_handle_fndecl_attribute,
+ h8300_handle_eightbit_data_attribute,
+ h8300_handle_tiny_data_attribute): Likewise.
+ * config/i386/i386.c (ix86_handle_cconv_attribute,
+ ix86_handle_abi_attribute, ix86_handle_struct_attribute):
+ Likewise.
+ * config/i386/winnt.c (ix86_handle_shared_attribute,
+ ix86_handle_selectany_attribute): Likewise.
+ * config/ia64/ia64.c (ia64_handle_model_attribute): Likewise.
+ * config/m32c/m32c.c (function_vector_handler): Likewise.
+ * config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute,
+ m68hc11_handle_fntype_attribute): Likewise.
+ * config/m68k/m68k.c (m68k_handle_fndecl_attribute): Likewise.
+ * config/mcore/mcore.c (mcore_handle_naked_attribute): Likewise.
+ * config/mips/mips.c (mips_insert_attributes,
+ mips_merge_decl_attributes, mips_expand_builtin): Likewise.
+ * config/rs6000/rs6000.c (rs6000_handle_longcall_attribute,
+ rs6000_handle_struct_attribute): Likewise.
+ * config/sh/sh.c (sh_insert_attributes,
+ sh_handle_resbank_handler_attribute,
+ sh_handle_interrupt_handler_attribute,
+ sh2a_handle_function_vector_handler_attribute,
+ sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
+ Likewise.
+ * config/sh/symbian.c (sh_symbian_mark_dllimport): Likewise.
+ * config/spu/spu.c (spu_handle_fndecl_attribute,
+ spu_handle_vector_attribute): Likewise.
+ * config/stormy16/stormy16.c
+ (xstormy16_handle_interrupt_attribute): Likewise.
+ * config/v850/v850-c.c (ghs_pragma_section): Likewise.
+ * config/v850/v850.c (v850_handle_interrupt_attribute): Likewise.
+
+2009-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * pretty-print.h (struct pretty_print_info): Add
+ translate_identifiers.
+ (pp_translate_identifiers): New.
+ (pp_identifier): Only conditionally translate identifier to locale
+ character set.
+ * pretty-print.c (pp_construct): Set pp_translate_identifiers.
+ (pp_base_tree_identifier): Only conditionally translate identifier
+ to locale character set.
+ * c-pretty-print.c (M_): Define.
+ (pp_c_type_specifier, pp_c_primary_expression): Mark English
+ fragments for conditional translation with M_.
+ * tree-pretty-print.c (maybe_init_pretty_print): Disable
+ identifier translation.
+
+2009-05-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/40081
+ * tree-sra.c (instantiate_element): Instantiate scalar replacements
+ using the main variant of the element type. Do not fiddle with
+ TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS.
+
+2009-05-09 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/40080
+ * cgraphunit.c (cgraph_materialize_all_clones): Do not redirect
+ indirect calls; verify cgraph afterwards.
+
+2009-05-09 Jan Hubicka <jh@suse.cz>
+
+ PR bootstrap/40082
+ * ipa.c (update_inlined_to_pointer): New function.
+ (cgraph_remove_unreachable_nodes): Use it.
+
+2009-05-09 Jan Hubicka <jh@suse.cz>
+
+ * tree-eh.c (struct leh_state): Remove prev_try.
+ (lower_try_finally, lower_catch, lower_eh_filter, lower_cleanup): Do
+ not track prev_try.
+ * except.c (gen_eh_region_cleanup, duplicate_eh_regions,
+ copy_eh_region_1, copy_eh_region, redirect_eh_edge_to_label,
+ remove_eh_handler_and_replace, foreach_reachable_handler,
+ verify_eh_region, verify_eh_tree): Remove tracking of prev_try pointer.
+ * except.h (struct eh_region): Remove eh_region_u_cleanup.
+ (gen_eh_region_cleanup): Update prototype.
+
2009-05-09 Jan Hubicka <jh@suse.cz>
PR middle-end/40043