OSDN Git Service

* config/m68k/m68k-devices.def (52274, 52277, 5301x, 5225x, 51xx):
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2c5b52e..c07ab68 100644 (file)
@@ -1,3 +1,273 @@
+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