Johannes Singler [Tue, 8 Jun 2010 16:50:05 +0000 (16:50 +0000)]
2010-06-08 Johannes Singler <singler@kit.edu>
* include/parallel/find.h
(__find_template(.., growing_blocks_tag)): Make block size
proportional to current position.
* include/parallel/settings.h (_Settings): Introduce new tuning
parameter find_scale_factor to the end of the struct, defaults to
0.01f.
From-SVN: r160439
Kazu Hirata [Tue, 8 Jun 2010 13:15:25 +0000 (13:15 +0000)]
arm.c (arm_rtx_costs_1): Don't special case for Thumb-2 in the MINUS case.
* config/arm/arm.c (arm_rtx_costs_1): Don't special case for
Thumb-2 in the MINUS case.
From-SVN: r160436
Nathan Sidwell [Tue, 8 Jun 2010 09:59:10 +0000 (09:59 +0000)]
decl.c (record_key_method_defined): New, broken out of ...
cp/
* decl.c (record_key_method_defined): New, broken out of ...
(finish_function): ... here. Call it.
(start_decl): Treat aliases as definitions.
testsuite/
* g++.dg/ext/attr-alias-1.C: New.
* g++.dg/ext/attr-alias-2.C: New.
From-SVN: r160431
Tristan Gingold [Tue, 8 Jun 2010 09:51:27 +0000 (09:51 +0000)]
dwarf2.h (enum dwarf_tag): Add DW_TAG_HP_Bliss_field and DW_TAG_HP_Bliss_field_set.
2010-06-08 Tristan Gingold <gingold@adacore.com>
* dwarf2.h (enum dwarf_tag): Add DW_TAG_HP_Bliss_field and
DW_TAG_HP_Bliss_field_set.
(enum dwarf_attribute): Add DW_AT_HP_prologue, DW_AT_HP_epilogue,
DW_AT_HP_unit_name, DW_AT_HP_unit_size, DW_AT_HP_widened_byte_size,
DW_AT_HP_definition_points, DW_AT_HP_default_location and
DW_AT_HP_is_result_param.
(enum dwarf_type): Add DW_ATE_HP_VAX_float, DW_ATE_HP_VAX_float_d,
DW_ATE_HP_packed_decimal, DW_ATE_HP_zoned_decimal, DW_ATE_HP_edited,
DW_ATE_HP_signed_fixed, DW_ATE_HP_unsigned_fixed,
DW_ATE_HP_VAX_complex_float and DW_ATE_HP_VAX_complex_float_d.
(enum dwarf_line_number_x_ops): Add
DW_LNE_HP_source_file_correlation.
(enum dwarf_source_language): Add DW_LANG_HP_Bliss,
DW_LANG_HP_Basic91, DW_LANG_HP_Pascal91, DW_LANG_HP_IMacro,
DW_LANG_HP_Assembler.
From-SVN: r160430
Johannes Singler [Tue, 8 Jun 2010 09:11:49 +0000 (09:11 +0000)]
2010-06-08 Johannes Singler <singler@kit.edu>
* include/parallel/partial_sum.h
(__parallel_partial_sum_linear):
Correctly calculate part lengths for partial_sum_dilation!=1.0f.
From-SVN: r160428
Laurynas Biveinis [Tue, 8 Jun 2010 07:25:24 +0000 (07:25 +0000)]
utils.c (init_gnat_to_gnu): Use typed GC allocation.
gcc/ada:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* gcc-interface/utils.c (init_gnat_to_gnu): Use typed GC
allocation.
(init_dummy_type): Likewise.
(gnat_pushlevel): Likewise.
* gcc-interface/trans.c (Attribute_to_gnu): Likewise.
(Subprogram_Body_to_gnu): Likewise.
(Compilation_Unit_to_gnu): Likewise.
(start_stmt_group): Likewise.
(extract_encoding): Likewise.
(decode_name): Likewise.
* gcc-interface/misc.c (gnat_printable_name): Likewise.
* gcc-interface/decl.c (annotate_value): Likewise.
* gcc-interface/ada-tree.h (struct lang_type): Add variable_size
GTY option.
(struct lang_decl): Likewise.
(SET_TYPE_LANG_SPECIFIC): Use typed GC allocation.
(SET_DECL_LANG_SPECIFIC): Likewise.
gcc/c-family:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* c-pragma.c (push_alignment): Use typed GC allocation.
(handle_pragma_push_options): Likewise.
* c-common.c (parse_optimize_options): Likewise.
* c-common.h (struct sorted_fields_type): Add variable_size GTY
option.
gcc/cp:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* typeck2.c (abstract_virtuals_error): Likewise.
* pt.c (maybe_process_partial_specialization): Likewise.
(register_specialization): Likewise.
(add_pending_template): Likewise.
(lookup_template_class): Likewise.
(push_tinst_level): Likewise.
* parser.c (cp_lexer_new_main): Likewise.
(cp_lexer_new_from_tokens): Likewise.
(cp_token_cache_new): Likewise.
(cp_parser_context_new): Likewise.
(cp_parser_new): Likewise.
(cp_parser_nested_name_specifier_opt): Likewise.
(cp_parser_template_id): Likewise.
* name-lookup.c (binding_entry_make): Likewise.
(binding_table_construct): Likewise.
(binding_table_new): Likewise.
(cxx_binding_make): Likewise.
(pushdecl_maybe_friend): Likewise.
(begin_scope): Likewise.
(push_to_top_level): Likewise.
* lex.c (init_reswords): Likewise.
(retrofit_lang_decl): Likewise.
(cxx_dup_lang_specific_decl): Likewise.
(copy_lang_type): Likewise.
(cxx_make_type): Likewise.
* decl.c (make_label_decl): Likewise.
(check_goto): Likewise.
(start_preparsed_function): Likewise.
(save_function_data): Likewise.
* cp-tree.h (TYPE_SET_PTRMEMFUNC_TYPE): Likewise.
* cp-objcp-common.c (decl_shadowed_for_var_insert): Likewise.
* class.c (finish_struct_1): Likewise.
* cp-tree.h (struct lang_type): Add variable_size GTY option.
(struct lang_decl): Likewise.
* parser.c (cp_parser_new): Update comment to not reference
ggc_alloc.
gcc/fortran:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* trans-types.c (gfc_get_nodesc_array_type): Use typed GC
allocation.
(gfc_get_array_type_bounds): Likewise.
* trans-decl.c (gfc_allocate_lang_decl): Likewise.
(gfc_find_module): Likewise.
* f95-lang.c (pushlevel): Likewise.
* trans.h (struct lang_type): Add variable_size GTY option.
(struct lang_decl): Likewise.
gcc/java:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* jcf-reader.c (jcf_parse_constant_pool): Use typed GC allocation.
* jcf-parse.c (java_parse_file): Likewise.
(process_zip_dir): Likewise.
* java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Likewise.
(MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Likewise.
* expr.c (add_type_assertion): Likewise.
* decl.c (make_binding_level): Likewise.
(java_dup_lang_specific_decl): Likewise.
* constants.c (set_constant_entry): Likewise.
(cpool_for_class): Likewise.
* class.c (add_method_1): Likewise.
(java_treetreehash_new): Likewise.
* java-tree.h (struct lang_type): Add variable_size GTY option.
(struct lang_decl): Likewise.
* jch.h (struct cpool_entry): Likewise.
* java-tree.h (java_treetreehash_create): Remove parameter ggc.
* except.c (prepare_eh_table_type): Update
java_treetreehash_create call.
* class.c (add_method_1): Update java_treetreehash_create call.
(java_treetreehash_create): Remove parameter gc. Use
htab_create_ggc.
gcc/lto:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* lto.c (lto_read_in_decl_state): Use typed GC allocation.
(lto_file_read): Likewise.
(new_partition): Likewise.
(read_cgraph_and_symbols): Likewise.
gcc/objc:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
allocation.
* objc-act.c (objc_volatilize_decl): Likewise.
(objc_build_string_object): Likewise.
(hash_init): Likewise.
(hash_enter): Likewise.
(hash_add_attr): Likewise.
(add_class): Likewise.
(start_class): Likewise.
gcc/objcp:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* objcp-decl.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
allocation.
gcc:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
* doc/gty.texi (GTY Options): Document typed GC allocation and
variable_size GTY option.
* ggc-internal.h: New.
* ggc.h: Update copyright year.
(digit_string): Move to stringpool.c.
(ggc_mark_stringpool, ggc_purge_stringpool, ggc_mark_roots)
(gt_pch_save_stringpool, gt_pch_fixup_stringpool)
(gt_pach_restore_stringpool, gt_pch_p_S, gt_pch_note_object)
(init_ggc_pch, ggc_pch_count_object, ggc_pch_total_size)
(ggc_pch_this_base, ggc_pch_alloc_object, ggc_pch_prepare_write)
(ggc_pch_write_object, ggc_pch_finish, ggc_pch_read)
(ggc_force_collect, ggc_get_size, ggc_statistics)
(ggc_print_common_statistics): Move to ggc-internal.h.
(digit_vector, new_ggc_zone, destroy_ggc_zone, ggc_alloc_stat)
(ggc_alloc, ggc_alloc_cleared, ggc_realloc, ggc_calloc, GGC_NEW)
(GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, ggc_alloc_rtvec)
(ggc_alloc_tree, gt_pch_save, ggc_min_expand_heuristic)
(ggc_min_heapsize_heuristic, ggc_alloc_zone)
(ggc_alloc_zone_pass_stat): Remove.
(ggc_internal_alloc_stat, ggc_internal_alloc)
(ggc_internal_cleared_alloc_stat): New.
(GGC_RESIZEVEC, GGC_RESIZEVAR): Redefine.
(ggc_internal_vec_alloc_stat)
(ggc_internal_cleared_vec_alloc_stat)
(ggc_internal_vec_alloc_stat, ggc_internal_cleared_vec_alloc)
(ggc_alloc_atomic_stat, ggc_alloc_atomic)
(ggc_alloc_cleared_atomic, ggc_cleared_alloc_htab_ignore_args)
(ggc_cleared_alloc_ptr_array_two_args): New.
(htab_create_ggc, splay_tree_new_ggc): Redefine.
(ggc_splay_alloc): Change the type of the first argument to
enum gt_types_enum.
(ggc_alloc_string): Make macro.
(ggc_alloc_string_stat): New.
(ggc_strdup): Redefine.
(rtl_zone, tree_zone, tree_id_zone): Declare unconditionally.
(ggc_alloc_rtvec_sized): New.
(ggc_alloc_zone_stat): Rename to ggc_internal_alloc_zone_stat.
(ggc_internal_alloc_zone_pass_stat, ggc_internal_alloc_zone_stat)
(ggc_internal_cleared_alloc_zone_stat)
(ggc_internal_zone_alloc_stat)
(ggc_internal_zone_cleared_alloc_stat)
(ggc_internal_zone_vec_alloc_stat)
(ggc_alloc_zone_rtx_def_stat)
(ggc_alloc_zone_tree_node_stat)
(ggc_alloc_zone_cleared_tree_node_stat)
(ggc_alloc_cleared_gimple_statement_d_stat): New.
* ggc-common.c: Include ggc-internal.h.
(ggc_internal_cleared_alloc_stat): Rename from
ggc_alloc_cleared_stat.
(ggc_realloc_stat): Use ggc_internal_alloc_stat.
(ggc_calloc): Remove.
(ggc_cleared_alloc_htab_ignore_args): New.
(ggc_cleared_alloc_ptr_array_two_args): New.
(ggc_splay_alloc): Add obj_type parameter.
(init_ggc_heuristics): Formatting fixes.
* ggc-none.c: Update copyright year.
(ggc_alloc_stat): Rename to ggc_alloc_stat.
(ggc_alloc_cleared_stat): Rename to
ggc_internal_cleared_alloc_stat.
(struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
* ggc-page.c: Update copyright year. Include ggc-internal.h.
Remove references to ggc_alloc in comments.
(ggc_alloc_typed_stat): Call ggc_internal_alloc_stat.
(ggc_alloc_stat): Rename to ggc_internal_alloc_stat.
(new_ggc_zone, destroy_ggc_zone): Remove.
(struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
* ggc-zone.c: Include ggc-internal.h. Remove references to
ggc_alloc in comments.
(ggc_alloc_zone_stat): ggc_internal_alloc_zone_stat.
(ggc_internal_alloc_zone_pass_stat): New.
(ggc_internal_cleared_alloc_zone_stat): New.
(ggc_alloc_typed_stat): Use ggc_internal_alloc_zone_pass_stat.
(ggc_alloc_stat): Rename ggc_internal_alloc_stat.
(new_ggc_zone, destroy_ggc_zone): Remove.
* stringpool.c: Update copyright year. Include ggc-internal.h
(digit_vector): Make static.
(digit_string): Moved from ggc.h.
(stringpool_ggc_alloc): Use ggc_alloc_atomic.
(ggc_alloc_string): Rename to ggc_alloc_string_stat.
* Makefile.in (GGC_INTERNAL_H): New.
(ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
$(GGC_INTERNAL_H) to dependencies.
* gentype.c: Update copyright year.
(walk_type): Accept variable_size GTY option.
(USED_BY_TYPED_GC_P): New macro.
(write_enum_defn): Use USED_BY_TYPED_GC_P. Do not output
whitespace at the end of strings.
(get_type_specifier, variable_size_p): New functions.
(alloc_quantity, alloc_zone): New enums.
(write_typed_alloc_def): New function.
(write_typed_struct_alloc_def): Likewise.
(write_typed_typed_typedef_alloc_def): Likewise.
(write_typed_alloc_defns): Likewise.
(output_typename, write_splay_tree_allocator_def): Likewise.
(write_splay_tree_allocators): Likewise.
(main): Call write_typed_alloc_defns and
write_splay_tree_allocators.
* lto-streamer.h (lto_file_decl_data_ptr): New.
* passes.c (order): Define using cgraph_node_ptr.
* strinpool.c (struct string_pool_data): Declare nested_ptr using
ht_identifier_ptr.
* gimple.h (union gimple_statement_d): Likewise.
* rtl.h (struct rtx_def): Likewise.
(struct rtvec_def): Likewise.
* tree.h (union tree_node): Likewise.
* tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
* cfgloop.c (record_loop_exits): Use htab_create_ggc.
* tree-scalar-evolution.c (scev_initialize): Likewise.
* alias.c (record_alias_subset): Update splay_tree_new_ggc call.
* dwarf2asm.c (dw2_force_const_mem): Likewise.
* omp-low.c (lower_omp_critical): Likewise.
* bitmap.h (struct bitmap_head_def): Update comment to not
reference ggc_alloc.
* config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
* ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
* ipa-prop.c (duplicate_ggc_array): Rename to
duplicate_ipa_jump_func_array. Use typed GC allocation.
(ipa_edge_duplication_hook): Call duplicate_ipa_jump_func_array.
* gimple.c (gimple_alloc_stat): Use
ggc_alloc_cleared_gimple_statement_d_stat.
* varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
* tree.c (make_node_stat): Use
ggc_alloc_zone_cleared_tree_node_stat.
(make_tree_vec_stat): Likewise.
(build_vl_exp_stat): Likewise.
(copy_node_stat): Use ggc_alloc_zone_tree_node_stat.
(make_tree_binfo_stat): Likewise.
(tree_cons_stat): Likewise.
* rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
(shallow_copy_rtx_stat): Likewise.
(make_node_stat): Likewise.
* lto-symtab.c: Fix comment.
* tree-cfg.c (create_bb): Update comment to not reference
ggc_alloc_cleared.
* tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is
value.
* varpool.c (varpool_node): Use typed GC allocation.
(varpool_extra_name_alias): Likewise.
* varasm.c (emutls_decl): Likewise.
(get_unnamed_section): Likewise.
(get_noswitch_section): Likewise.
(get_section): Likewise.
(get_block_for_section): Likewise.
(build_constant_desc): Likewise.
(create_constant_pool): Likewise.
(force_const_mem): Likewise.
* tree.c (build_vl_exp_stat): Likewise.
(build_real): Likewise.
(build_string): Likewise.
(decl_debug_expr_insert): Likewise.
(decl_value_expr_insert): Likewise.
(type_hash_add): Likewise.
(build_omp_clause): Likewise.
* tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
* tree-ssa.c (init_tree_ssa): Likewise.
* tree-ssa-structalias.c (heapvar_insert): Likewise.
* tree-ssa-operands.c (ssa_operand_alloc): Likewise.
* tree-ssa-loop-niter.c (record_estimate): Likewise.
* tree-ssa-alias.c (get_ptr_info): Likewise.
* tree-scalar-evolution.c (new_scev_info_str): Likewise.
* tree-phinodes.c (allocate_phi_node): Likewise.
* tree-iterator.c (tsi_link_before): Likewise.
(tsi_link_after): Likewise.
* tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
* tree-dfa.c (create_var_ann): Likewise.
* tree-cfg.c (create_bb): Likewise.
* toplev.c (alloc_for_identifier_to_locale): Likewise.
(general_init): Likewise.
* stringpool.c (stringpool_ggc_alloc): Likewise.
(gt_pch_save_stringpool): Likewise.
* sese.c (if_region_set_false_region): Likewise.
* passes.c (do_per_function_toporder): Likewise.
* optabs.c (set_optab_libfunc): Likewise.
(set_conv_libfunc): Likewise.
* lto-symtab.c (lto_symtab_register_decl): Likewise.
* lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
(input_eh_region): Likewise.
(input_eh_lp): Likewise.
(make_new_block): Likewise.
(unpack_ts_real_cst_value_fields): Likewise.
* lto-section-in.c (lto_new_in_decl_state): Likewise.
* lto-cgraph.c (input_node_opt_summary): Likewise.
* loop-init.c (loop_optimizer_init): Likewise.
* lambda.h (lambda_vector_new): Likewise.
* lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
* ira.c (update_equiv_regs): Likewise.
* ipa.c (cgraph_node_set_new): Likewise.
(cgraph_node_set_add): Likewise.
(varpool_node_set_new): Likewise.
(varpool_node_set_add): Likewise.
* ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
(duplicate_ipa_jump_func_array): Likewise.
(ipa_read_node_info): Likewise.
* ipa-cp.c (ipcp_create_replace_map): Likewise.
* integrate.c (get_hard_reg_initial_val): Likewise.
* gimple.c (gimple_alloc_stat): Likewise.
(gimple_build_omp_for): Likewise.
(gimple_seq_alloc): Likewise.
(gimple_copy): Likewise.
* gimple-iterator.c (gsi_insert_before_without_update): Likewise.
(gsi_insert_after_without_update): Likewise.
* function.c (add_frame_space): Likewise.
(insert_temp_slot_address): Likewise.
(assign_stack_temp_for_type): Likewise.
(allocate_struct_function): Likewise.
(types_used_by_var_decl_insert): Likewise.
* except.c (init_eh_for_function): Likewise.
(gen_eh_region): Likewise.
(gen_eh_region_catch): Likewise.
(gen_eh_landing_pad): Likewise.
(add_call_site): Likewise.
* emit-rtl.c (get_mem_attrs): Likewise.
(get_reg_attrs): Likewise.
(start_sequence): Likewise.
(init_emit): Likewise.
* dwarf2out.c (new_cfi): Likewise.
(queue_reg_save): Likewise.
(dwarf2out_frame_init): Likewise.
(new_loc_descr): Likewise.
(find_AT_string): Likewise.
(new_die): Likewise.
(add_var_loc_to_decl): Likewise.
(clone_die): Likewise.
(clone_as_declaration): Likewise.
(break_out_comdat_types): Likewise.
(new_loc_list): Likewise.
(loc_descriptor): Likewise.
(add_loc_descr_to_each): Likewise.
(add_const_value_attribute): Likewise.
(tree_add_const_value_attribute): Likewise.
(add_comp_dir_attribute): Likewise.
(add_name_and_src_coords_attributes): Likewise.
(lookup_filename): Likewise.
(store_vcall_insn): Likewise.
(dwarf2out_init): Likewise.
* dbxout.c (dbxout_init): Likewise.
* config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
* config/sparc/sparc.c (sparc_init_machine_status): Likewise.
* config/score/score7.c (score7_output_external): Likewise.
* config/score/score3.c (score3_output_external): Likewise.
* config/s390/s390.c (s390_init_machine_status): Likewise.
* config/rs6000/rs6000.c (builtin_function_type): Likewise.
(rs6000_init_machine_status): Likewise.
(output_toc): Likewise.
* config/pa/pa.c (pa_init_machine_status): Likewise.
(get_deferred_plabel): Likewise.
* config/moxie/moxie.c (moxie_init_machine_status): Likewise.
* config/mmix/mmix.c (mmix_init_machine_status): Likewise.
* config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
* config/mep/mep.c (mep_init_machine_status): Likewise.
(mep_note_pragma_flag): Likewise.
* config/m32c/m32c.c (m32c_init_machine_status): Likewise.
* config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
* config/ia64/ia64.c (ia64_init_machine_status): Likewise.
* config/i386/winnt.c (i386_pe_record_external_function): Likewise.
(i386_pe_maybe_record_exported_symbol): Likewise.
* config/i386/i386.c (get_dllimport_decl): Likewise.
(ix86_init_machine_status): Likewise.
(assign_386_stack_local): Likewise.
* config/frv/frv.c (frv_init_machine_status): Likewise.
* config/darwin.c (machopic_indirection_name): Likewise.
* config/cris/cris.c (cris_init_machine_status): Likewise.
* config/bfin/bfin.c (bfin_init_machine_status): Likewise.
* config/avr/avr.c (avr_init_machine_status): Likewise.
* config/arm/arm.c (arm_init_machine_status): Likewise.
* config/alpha/alpha.c (alpha_init_machine_status): Likewise.
(alpha_need_linkage): Likewise.
(alpha_use_linkage): Likewise.
* cgraph.c (cgraph_allocate_node): Likewise.
(cgraph_create_edge_1): Likewise.
(cgraph_create_indirect_edge): Likewise.
(cgraph_add_asm_node): Likewise.
* cfgrtl.c (init_rtl_bb_info): Likewise.
* cfgloop.c (alloc_loop): Likewise.
(rescan_loop_exit): Likewise.
* cfg.c (init_flow): Likewise.
(alloc_block): Likewise.
(unchecked_make_edge): Likewise.
* c-parser.c (c_parse_init): Likewise.
(c_parse_file): Likewise.
* c-decl.c (bind): Likewise.
(record_inline_static): Likewise.
(push_scope): Likewise.
(make_label): Likewise.
(lookup_label_for_goto): Likewise.
(finish_struct): Likewise.
(finish_enum): Likewise.
(c_push_function_context): Likewise.
* bitmap.c (bitmap_element_allocate): Likewise.
(bitmap_gc_alloc_stat): Likewise.
* alias.c (record_alias_subset): Likewise.
(init_alias_analysis): Likewise.
include:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* splay-tree.h: Update copyright years.
(splay_tree_s): Document fields.
(splay_tree_new_typed_alloc): New.
* hashtab.h: Update copyright years.
(htab_create_typed_alloc): New.
libcpp:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* include/symtab.h (ht_identifier_ptr): New.
libiberty:
2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* splay-tree.c: Update copyright years.
(splay_tree_new_typed_alloc): New.
(splay_tree_new_with_allocator): Use it.
* hashtab.c: Update copyright years.
(htab_create_typed_alloc): New.
(htab_create_alloc): Use it.
* functions.texi: Regenerate.
From-SVN: r160425
Tobias Burnus [Tue, 8 Jun 2010 06:37:32 +0000 (08:37 +0200)]
re PR fortran/44446 (Error with protected pocedure pointer)
2010-06-07 Tobias Burnus <burnus@net-b.de>
PR fortran/44446
* symbol.c (check_conflict): Move protected--external/procedure
check ...
* resolve.c (resolve_select_type): ... to the resolution stage.
2010-06-07 Tobias Burnus <burnus@net-b.de>
PR fortran/44446
* gfortran.dg/proc_ptr_27.f90: New.
From-SVN: r160424
Jason Merrill [Tue, 8 Jun 2010 04:33:50 +0000 (00:33 -0400)]
re PR c++/44366 ([C++0x] g++ crashes when declaring a lambda expression using a typedef'd decltype.)
PR c++/44366
* error.c (dump_parameters): Mask out TFF_SCOPE.
(dump_simple_decl): Don't print the scope of a PARM_DECL.
(dump_scope): Remove no-op mask.
From-SVN: r160420
Shujing Zhao [Tue, 8 Jun 2010 04:07:55 +0000 (04:07 +0000)]
fold-const.c (fold_comparison): Remove redundant parenthesis.
2010-06-08 Shujing Zhao <pearly.zhao@oracle.com>
* fold-const.c (fold_comparison): Remove redundant parenthesis.
* tree-inline.c (expand_call_inline): Pass translated return value of
cgraph_inline_failed_string to diagnostic function.
From-SVN: r160419
Andrew Pinski [Tue, 8 Jun 2010 03:56:40 +0000 (03:56 +0000)]
re PR c/37724 ("initialization from incompatible pointer type" does not say which field is being initialized)
gcc/
2010-06-08 Andrew Pinski <pinskia@gmail.com>
Shujing Zhao <pearly.zhao@oracle.com>
PR c/37724
* c-typeck.c (convert_for_assignment): Call pedwarn_init if the
implicit bad conversions is initialization.
(error_init): Use gmsgid instead of msgid for argument name and change
the call for error.
(pedwarn_init): Use gmsgid instead of msgid for argument name and
change the call for pedwarn.
(warning_init): Use gmsgid instead of msgid for argument name and
change the call for warning.
gcc/testsuite/
2010-06-08 Andrew Pinski <pinskia@gmail.com>
Shujing Zhao <pearly.zhao@oracle.com>
PR c/37724
* gcc.dg/c90-const-expr-10.c: Adjust.
* gcc.dg/c99-const-expr-10.c: Adjust.
* gcc.dg/init-bad-7.c: New.
From-SVN: r160418
Paolo Carlini [Tue, 8 Jun 2010 01:46:10 +0000 (01:46 +0000)]
re PR libstdc++/44417 (make check-target-libstdc++-v3 fails due to undefined ptrdiff_t)
2010-06-07 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/44417
* include/c_std/cwctype: Provide a workaround for bug glibc
BZ 9694 affecting glibc 2.9 and older.
* include/c_global/cwctype: Likewise.
* testsuite/util/testsuite_abi.h: Remove temporary workaround.
* testsuite/util/testsuite_allocator.h: Use everywhere std::size_t
and std::ptrdiff_t, don't include <cstddef>.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
error_code.cc: Minor tweak, prefer <cwchar> to <wchar.h>.
From-SVN: r160417
Paolo Carlini [Tue, 8 Jun 2010 00:45:02 +0000 (00:45 +0000)]
order_statistics_imp.hpp: Avoid -Wall warnings.
2010-06-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp:
Avoid -Wall warnings.
* testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
* testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
* testsuite/27_io/types/2.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/
wchar_t/01.cc: Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
01.cc: Likewise.
* testsuite/27_io/fpos/mbstate_t/4_neg.cc: Likewise.
* testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
* testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
* testsuite/27_io/fpos/mbstate_t/5.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
4.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/
4.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
* testsuite/25_algorithms/minmax/3.cc: Likewise.
* testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
* testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
* testsuite/24_iterators/front_insert_iterator/2.cc: Likewise.
* testsuite/24_iterators/back_insert_iterator/2.cc: Likewise.
* testsuite/24_iterators/insert_iterator/2.cc: Likewise.
* testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
* testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
* testsuite/21_strings/c_strings/wchar_t/2.cc: Likewise.
* testsuite/21_strings/c_strings/char/1.cc: Likewise.
* testsuite/21_strings/c_strings/char/2.cc: Likewise.
* testsuite/26_numerics/random/independent_bits_engine/cons/
copy.cc: Likewise.
* testsuite/26_numerics/random/subtract_with_carry_engine/
cons/copy.cc: Likewise.
* testsuite/26_numerics/random/subtract_with_carry_engine/
requirements/constants.cc: Likewise.
* testsuite/26_numerics/random/discard_block_engine/
cons/copy.cc: Likewise.
* testsuite/26_numerics/random/mersenne_twister_engine/
cons/copy.cc: Likewise.
* testsuite/26_numerics/random/mersenne_twister_engine/
requirements/constants.cc: Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/
cons/copy.cc: Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/
requirements/constants.cc: Likewise.
* testsuite/26_numerics/random/shuffle_order_engine/
cons/copy.cc: Likewise.
* testsuite/26_numerics/random/shuffle_order_engine/
requirements/constants.cc: Likewise.
* testsuite/26_numerics/complex/complex_value.cc: Likewise.
* testsuite/26_numerics/headers/cmath/overloads.cc: Likewise.
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++.cc: Likewise.
* testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
* testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
* testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
* testsuite/22_locale/time_put/put/char/1.cc: Likewise.
* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
* testsuite/22_locale/time_put/put/char/5.cc: Likewise.
* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
* testsuite/22_locale/num_put/put/char/1.cc: Likewise.
* testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
* testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
* testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
* testsuite/22_locale/num_get/get/char/1.cc: Likewise.
* testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
* testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
* testsuite/22_locale/ctype_base/mask.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry/requirements/constants.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
subtract_with_carry_01/requirements/constants.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
discard_block/requirements/constants.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
linear_congruential/requirements/constants.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
mersenne_twister/requirements/constants.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/
xor_combine/requirements/constants.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cfenv/functions.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cctype/functions.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cmath/templates.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cmath/functions.cc: Likewise.
* testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise.
* testsuite/tr1/6_containers/utility/pair.cc: Likewise.
* testsuite/29_atomics/atomic_address/cons/aggregate.cc: Likewise.
* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/operators/
increment_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/operators/
bitwise_neg.cc: Likewise.
* testsuite/29_atomics/atomic_integral/operators/
decrement_neg.cc: Likewise.
* testsuite/29_atomics/atomic_flag/cons/1.cc: Likewise.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Likewise.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
* testsuite/23_containers/priority_queue/members/7161.cc
* testsuite/23_containers/set/dr130.cc: Likewise.
* testsuite/23_containers/list/pthread5.cc: Likewise.
* testsuite/23_containers/map/dr130.cc: Likewise.
* testsuite/util/exception/safety.h: Likewise.
* testsuite/util/testsuite_common_types.h: Likewise.
* testsuite/20_util/clocks/1.cc: Likewise.
From-SVN: r160416
Nathan Froyd [Tue, 8 Jun 2010 00:21:53 +0000 (00:21 +0000)]
mips-protos.h (mips_print_operand): Delete.
* config/mips/mips-protos.h (mips_print_operand): Delete.
(mips_print_operand_address): Delete.
* config/mips/mips.h (mips_print_operand_punct): Delete.
(PRINT_OPERAND): Delete.
(PRINT_OPERAND_PUNCT_VALID_P): Delete.
(PRINT_OPERAND_ADDRESS): Delete.
* config/mips/mips.c (mips_print_operand_punct): Make static.
(mips_print_operand_address): Make static.
(mips_print_operand): Make static. Call
mips_print_operand_punct_valid_p.
(mips_print_operand_punct_valid_p): New function.
(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
From-SVN: r160415
GCC Administrator [Tue, 8 Jun 2010 00:17:57 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r160414
Jan Hubicka [Mon, 7 Jun 2010 22:48:32 +0000 (00:48 +0200)]
re PR middle-end/44454 (Many new failures)
PR middle-end/44454
(df_lr_top_dump, df_lr_bottom_dump): Check that in/out bitmaps
are allocated.
From-SVN: r160410
Kaz Kojima [Mon, 7 Jun 2010 22:15:47 +0000 (22:15 +0000)]
sh.c (sh_build_builtin_va_list): Set tree type name of RECORD.
* config/sh/sh.c (sh_build_builtin_va_list): Set tree type
name of RECORD.
From-SVN: r160409
H.J. Lu [Mon, 7 Jun 2010 21:13:38 +0000 (14:13 -0700)]
Add missing ChangeLog entry for revision 160382.
From-SVN: r160406
Rainer Orth [Mon, 7 Jun 2010 21:11:54 +0000 (21:11 +0000)]
target-supports.exp (check_effective_target_gas): New proc.
gcc/testsuite:
* lib/target-supports.exp (check_effective_target_gas): New proc.
* gcc.c-torture/execute/960321-1.x: New file.
gcc:
* doc/sourcebuild.texi (Effective-Target Keywords, Other
attributes): Document gas.
From-SVN: r160405
Jason Merrill [Mon, 7 Jun 2010 20:55:43 +0000 (16:55 -0400)]
revert: pt.c (lookup_template_class): Don't mess with DECL_TEMPLATE_INSTANTIATIONS except for partial instantiations.
Revert:
* pt.c (lookup_template_class): Don't mess with
DECL_TEMPLATE_INSTANTIATIONS except for partial instantiations.
From-SVN: r160401
Jason Merrill [Mon, 7 Jun 2010 20:43:01 +0000 (16:43 -0400)]
re PR c++/44401 (Doesn't correctly hide injected class name)
PR c++/44401
* parser.c (cp_parser_lookup_name): Fix naming the constructor.
From-SVN: r160399
Jason Merrill [Mon, 7 Jun 2010 20:42:37 +0000 (16:42 -0400)]
cp-tree.h (COMPLETE_OR_OPEN_TYPE_P): New macro.
* cp-tree.h (COMPLETE_OR_OPEN_TYPE_P): New macro.
* init.c (build_offset_ref): Use it.
* pt.c (maybe_process_partial_specialization): Use it.
(instantiate_class_template): Use it.
* search.c (lookup_base): Use it.
From-SVN: r160398
Jason Merrill [Mon, 7 Jun 2010 20:42:09 +0000 (16:42 -0400)]
pt.c (lookup_template_class): Don't mess with DECL_TEMPLATE_INSTANTIATIONS except for partial instantiations.
* pt.c (lookup_template_class): Don't mess with
DECL_TEMPLATE_INSTANTIATIONS except for partial instantiations.
From-SVN: r160397
Uros Bizjak [Mon, 7 Jun 2010 19:51:19 +0000 (21:51 +0200)]
i386.md (*add<mode>_1): Remove alternative 2.
* config/i386/i386.md (*add<mode>_1): Remove alternative 2.
<TYPE_LEA>: Split instruction.
<default>: Remove alternative 2 handling.
(*addsi_1_zext) <TYPE_LEA>: Split instruction.
(add lea splitter): Generate SImode lea for mode sizes <= SImode.
(add_zext lea splitter): Use ix86_lea_for_add_ok in insn predicate.
(*movsi_1) <TYPE_LEA>: Use %a modifier to output operand 1.
(ashift_zext lea splitter): Use DImode for multiplication.
* config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
to generate addition.
From-SVN: r160394
Tobias Burnus [Mon, 7 Jun 2010 19:21:19 +0000 (21:21 +0200)]
options.c (gfc_handle_option): Fix -fno-recursive.
2010-06-07 Tobias Burnus <burnus@net-b.de>
* options.c (gfc_handle_option): Fix -fno-recursive.
From-SVN: r160391
Tobias Burnus [Mon, 7 Jun 2010 18:55:08 +0000 (20:55 +0200)]
gfc-internals.texi (copyrights-gfortran): Fix copyright year format.
2010-06-07 Tobias Burnus <burnus@net-b.de>
* gfc-internals.texi (copyrights-gfortran): Fix copyright year format.
* gfortran.texi (copyrights-gfortran): Ditto.
From-SVN: r160390
Jakub Jelinek [Mon, 7 Jun 2010 17:50:10 +0000 (19:50 +0200)]
re PR c++/44444 (-Wunused-but-set-variable problem with field references)
PR c++/44444
* expr.c (mark_exp_read): Handle INDIRECT_REF.
* cvt.c (convert_to_void): Handle INDIRECT_REF like
handled_component_p.
* g++.dg/warn/Wunused-var-12.C: New test.
From-SVN: r160388
Jakub Jelinek [Mon, 7 Jun 2010 17:49:06 +0000 (19:49 +0200)]
re PR c++/44443 (-Wunused-but-set-variable problem with unused attribute on type)
PR c++/44443
* decl.c (initialize_local_var): If TREE_USED is set on the type,
set also DECL_READ_P on the decl.
* c-c++-common/Wunused-var-11.c: New test.
From-SVN: r160387
Jason Merrill [Mon, 7 Jun 2010 17:46:00 +0000 (13:46 -0400)]
use utf-8 in changelog
From-SVN: r160386
Joseph Myers [Mon, 7 Jun 2010 16:46:23 +0000 (17:46 +0100)]
common.opt (fira-verbose): Use Var.
* common.opt (fira-verbose): Use Var.
(fpcc-struct-return): Use Init instead of VarExists.
* defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from
toplev.c.
* flags.h (flag_signed_char, flag_short_enums,
flag_pcc_struct_return, flag_ira_verbose,
flag_detailed_statistics, flag_remove_unreachable_functions):
Remove.
* toplev.c (flag_detailed_statistics, flag_signed_char,
flag_short_enums, flag_pcc_struct_return, flag_ira_verbose):
Remove.
(DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
* toplev.h (flag_crossjumping, flag_if_conversion,
flag_if_conversion2, flag_keep_static_consts, flag_peel_loops,
flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer,
flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops,
flag_cprop_registers, time_report, flag_ira_loop_pressure,
flag_ira_coalesce, flag_ira_move_spills,
flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove.
c-family:
* c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
flag_signed_bitfields, warn_strict_null_sentinel,
flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
flag_gen_declaration, flag_no_gnu_keywords,
flag_implement_inlines, flag_implicit_templates,
flag_implicit_inline_templates, flag_optional_diags,
flag_elide_constructors, flag_default_inline, flag_rtti,
flag_conserve_space, flag_access_control, flag_check_new,
flag_new_for_scope, flag_weak, flag_working_directory,
flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
flag_enforce_eh_specs, flag_threadsafe_statics,
flag_pretty_templates): Remove.
* c-common.h (flag_preprocess_only, flag_nil_receivers,
flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
flag_replace_objc_classes, flag_undef, flag_no_builtin,
flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
flag_no_gnu_keywords, flag_implement_inlines,
flag_implicit_templates, flag_implicit_inline_templates,
flag_optional_diags, flag_elide_constructors, flag_default_inline,
flag_rtti, flag_conserve_space, flag_access_control,
flag_check_new, flag_new_for_scope, flag_weak,
flag_working_directory, flag_use_cxa_atexit,
flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
flag_threadsafe_statics, flag_pretty_templates,
warn_strict_null_sentinel): Remove.
* c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
fbuiltin, fcheck-new, fconserve-space, felide-constructors,
fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
fimplicit-inline-templates, fimplicit-templates,
flax-vector-conversions, fms-extensions, fnil-receivers,
fnonansi-builtins, fpretty-templates, freplace-objc-classes,
frtti, fshort-double, fshort-enums, fshort-wchar,
fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
gen-decls, undef): Use Var.
(fdefault-inline, foptional-diags): Document as doing nothing.
* c-opts.c (c_common_handle_option): Remove cases for options now
using Var. Mark ignored options as such.
fortran:
* lang.opt (fshort-enums): Define using Var and VarExists.
* options.c (gfc_handle_option): Don't set flag_short_enums here.
lto:
* lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
(lto_handle_option): Don't set flag_signed_char here.
From-SVN: r160384
Jan Hubicka [Mon, 7 Jun 2010 16:17:55 +0000 (18:17 +0200)]
df-problems.c (df_lr_problem_data): Add lr_bitmaps.
* df-problems.c (df_lr_problem_data): Add lr_bitmaps.
(df_lr_alloc): Initialize problem data; move bitmaps to
lr_bitmaps obstack.
(df_lr_finalize): Free problem data; do not bother to free bitmaps.
(df_lr_verify_solution_start): Do not initialize problem data;
allocate bitmaps in lr_bitmaps.
(df_lr_verify_solution_end): Do not free problem data.
From-SVN: r160382
Jason Merrill [Mon, 7 Jun 2010 16:05:09 +0000 (12:05 -0400)]
use utf-8 in changelog
From-SVN: r160381
Jan Hubicka [Mon, 7 Jun 2010 15:33:34 +0000 (17:33 +0200)]
cgraph.c (cgraph_edge_cannot_lead_to_return): Also check if caller is noreturn.
* cgraph.c (cgraph_edge_cannot_lead_to_return): Also check
if caller is noreturn.
* ipa-reference.c (analyze_function): Use ipa_ref_cannot_lead_to_return
* ipa-ref.h (ipa_ref_cannot_lead_to_return): New function.
* ipa-ref.c (ipa_ref_cannot_lead_to_return): New function.
* ipa-pure-const.c (check_decl): Add IPA parameter.
(state_from_flags): New function.
(better_state, worse_state): New functions.
(check_call): When in IPA mode, do not care about callees.
(check_load, check_store): Update.
(check_ipa_load, check_ipa_store): New.
(check_stmt): When in IPA mode, use IPA checkers.
(analyze_function): Use state_from_flags.
(propagate): Check indirect edges and references.
From-SVN: r160380
Kazu Hirata [Mon, 7 Jun 2010 13:17:32 +0000 (13:17 +0000)]
re PR rtl-optimization/44404 (auto-inc-dec generates an invalid assembly instruction)
gcc/
PR rtl-optimization/44404
* auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead
of count_occurrences to see if it's safe to modify mem_insn.insn.
gcc/testsuite/
gcc/testsuite/
PR rtl-optimization/44404
* gcc.dg/pr44404.c: New.
From-SVN: r160374
Kazu Hirata [Mon, 7 Jun 2010 13:12:42 +0000 (13:12 +0000)]
re PR rtl-optimization/44404 (auto-inc-dec generates an invalid assembly instruction)
gcc/
PR rtl-optimization/44404
* auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead
of count_occurrences to see if it's safe to modify mem_insn.insn.
gcc/testsuite/
gcc/testsuite/
PR rtl-optimization/44404
* gcc.dg/pr44404.c: New.
From-SVN: r160372
Richard Guenther [Mon, 7 Jun 2010 13:10:10 +0000 (13:10 +0000)]
gimplify.c (gimplify_cleanup_point_expr): For empty body and EH-only cleanup drop the cleanup instead of inserting it...
2010-06-07 Richard Guenther <rguenther@suse.de>
* gimplify.c (gimplify_cleanup_point_expr): For empty body
and EH-only cleanup drop the cleanup instead of inserting it
unconditionally.
From-SVN: r160371
Kai Tietz [Mon, 7 Jun 2010 10:56:44 +0000 (10:56 +0000)]
re PR testsuite/44159 (CPU options cause testsuite failures)
2010-06-07 Kai Tietz <kai.tietz@onevision.com>
PR target/44159
* gcc.target/i386/abi-2.c: Check sysv abi here.
* gcc.target/i386/aes-avx-check.h: Call test in noinline
function to avoid failures by different ABIs.
* gcc.target/i386/aes-check.h: Likewise.
* gcc.target/i386/avx-check.h: Likewise.
* gcc.target/i386/fma4-check.h: Likewise.
* gcc.target/i386/mmx-3dnow-check.h: Likewise.
* gcc.target/i386/mmx-check.h: Likewise.
* gcc.target/i386/pclmul-avx-check.h: Likewise.
* gcc.target/i386/pclmul-check.h: Likewise.
* gcc.target/i386/sse-check.h: Likewise.
* gcc.target/i386/sse2-check.h: Likewise.
* gcc.target/i386/sse3-check.h: Likewise.
* gcc.target/i386/sse4_1-check.h: Likewise.
* gcc.target/i386/sse4_2-check.h: Likewise.
* gcc.target/i386/sse4a-check.h: Likewise.
* gcc.target/i386/ssse3-check.h: Likewise.
* gcc.target/i386/xop-check.h: Likewise.
* gcc.target/i386/pr27971.c: Fix for LLP64.
* gcc.target/i386/pr39139.c: Likewise.
* gcc.target/i386/pr39315-check.c: Likewise.
* gcc.target/i386/vararg-1.c: Likewise.
* gcc.target/i386/vararg-2.c: Likewise.
Additional add dg-compile to avoid failure due
missing foo symbol.
From-SVN: r160363
Kai Tietz [Mon, 7 Jun 2010 10:55:20 +0000 (10:55 +0000)]
compound-literal-1.c: Fix for llp64.
2010-06-07 Kai Tietz <kai.tietz@onevision.com>
* gcc.dg/compound-literal-1.c: Fix for llp64.
* gcc.dg/pr32370.c: Likewise.
* gcc.dg/pr37561.c: Likewise.
* gcc.dg/pr41340.c: Likewise.
* gcc.dg/pr41551.c: Likewise.
From-SVN: r160362
Ira Rosen [Mon, 7 Jun 2010 09:12:32 +0000 (09:12 +0000)]
tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Update documentation.
* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Update
documentation.
* targhooks.c (default_builtin_vectorization_cost): New function.
* targhooks.h (default_builtin_vectorization_cost): Declare.
* target.h (enum vect_cost_for_stmt): Define.
(builtin_vectorization_cost): Change argument and comment.
* tree-vectorizer.h: Remove cost model macros.
* tree-vect-loop.c: Include target.h.
(vect_get_cost): New function.
(vect_estimate_min_profitable_iters): Replace cost model macros with
calls to vect_get_cost.
(vect_model_reduction_cost, vect_model_induction_cost): Likewise.
* target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Add
default implementation.
* tree-vect-stmts.c (cost_for_stmt): Replace cost model macros with
calls to target hook builtin_vectorization_cost.
(vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
Likewise.
* Makefile.in (tree-vect-loop.o): Add dependency on TARGET_H.
* config/spu/spu.c (spu_builtin_vectorization_cost): Replace with new
implementation to return costs.
* config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
* config/spu/spu.h: Remove vectorizer cost model macros.
* config/i386/i386.h: Likewise.
* tree-vect-slp.c (vect_build_slp_tree): Replace cost model macro with
a call to target hook builtin_vectorization_cost.
From-SVN: r160360
Sriraman Tallam [Mon, 7 Jun 2010 05:24:37 +0000 (05:24 +0000)]
re PR target/44319 (-fzee is mishandled)
2010-06-06 Sriraman Tallam <tmsriram@google.com>
PR target/44319
* config/i386/i386.c (override_options): Turn zee pass on for level 2
and above and defer till target is known.
(optimization_options): Turn on zee pass if TARGET_64BIT is set and
turn off otherwise.
From-SVN: r160357
GCC Administrator [Mon, 7 Jun 2010 00:16:55 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r160356
Jonathan Wakely [Sun, 6 Jun 2010 23:13:32 +0000 (23:13 +0000)]
Makefile.am, [...] (xml_sources_extra): Add fdl-1.3.xml.
2010-06-06 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/Makefile.am, doc/Makefile.in (xml_sources_extra): Add
fdl-1.3.xml.
* doc/xml/manual/intro.xml: Update FDL link.
* doc/xml/manual/spine.xml: Update FDL include.
* doc/xml/gnu/fdl-1.3.xml: Add.
* doc/html/*: Regenerate.
From-SVN: r160352
Jonathan Wakely [Sun, 6 Jun 2010 21:46:38 +0000 (21:46 +0000)]
pointer.h (_Pointer_adapter::operator++): Remove name of unused parameter.
2010-06-06 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/ext/pointer.h (_Pointer_adapter::operator++): Remove
name of unused parameter.
From-SVN: r160351
Jan Hubicka [Sun, 6 Jun 2010 19:32:38 +0000 (19:32 +0000)]
Revert accidental commit.
From-SVN: r160349
Jan Hubicka [Sun, 6 Jun 2010 19:29:01 +0000 (21:29 +0200)]
df-core.c (df_set_blocks): Use bitmap_head instead of bitmap.
* df-core.c (df_set_blocks): Use bitmap_head instead of bitmap.
(df_compact_blocks): Likewise.
* df.h (struct df): Turn hardware_regs_used,
regular_block_artificial_uses, eh_block_artificial_uses,
insns_to_delete, insns_to_rescan, insns_to_notes_rescan into
bitmap_head.
* df-problems.c (df_lr_local_compute, df_lr_confluence_0,
df_byte_lr_alloc, df_simulate_fixup_sets): Update.
* df-scan.c (df_scan_free_internal, df_scan_alloc, df_scan_start_dump,
df_scan_blocks, df_insn_delete, df_insn_rescan,
df_insn_rescan_debug_internal, df_insn_rescan_all,
df_process_deferred_rescans, df_process_deferred_rescans,
df_notes_rescan, df_get_call_refs, df_get_call_refs,
regs_invalidated_by_call_regset, df_get_call_refs, df_bb_refs_collect,
df_record_entry_block_defs, df_record_exit_block_uses,
df_update_exit_block_uses, df_bb_verify, df_entry_block_bitmap_verify,
df_scan_verify): Update.
From-SVN: r160348
Dodji Seketeli [Sun, 6 Jun 2010 18:24:27 +0000 (18:24 +0000)]
re PR c++/44188 (Fails to produce DW_AT_typedef for typedef of anonymous struct)
Fix PR c++/44188
gcc/ChangeLog:
PR c++/44188
* c-common.c (is_typedef_decl): Move this definition ...
* tree.c (is_typedef_decl): ... here.
(typdef_variant_p): Move definition here from gcc/cp/tree.c.
* c-common.h (is_typedef_decl): Move this declaration ...
* tree.h (is_typedef_decl): ... here.
(typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
* dwarf2out.c (is_naming_typedef_decl): New function.
(gen_tagged_type_die): Split out of ...
(gen_type_die_with_usage): ... this function. When an anonymous
tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
is emitted for the typedef.
(gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
anonymous tagged types.
gcc/cp/ChangeLog:
PR c++/44188
* cp-tree.h (typedef_variant_p): Move this declaration to
gcc/tree.h.
* tree.c (typedef_variant_p): Move this definition to gcc/tree.c.
* decl.c (grokdeclarator): Do not rename debug info of an
anonymous tagged type named by a typedef.
gcc/testsuite/ChangeLog:
PR c++/44188
* g++.dg/debug/dwarf2/typedef3.C: New test.
From-SVN: r160347
Manuel López-Ibáñez [Sun, 6 Jun 2010 16:40:18 +0000 (16:40 +0000)]
re PR c/20000 (missing warning for noreturn function returning non-void)
2010-06-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/20000
* c-decl.c (grokdeclarator): Delete warning.
testsuite/
* c-c++-common/pr20000.c: New.
From-SVN: r160346
Eric Botcazou [Sun, 6 Jun 2010 15:41:37 +0000 (15:41 +0000)]
Improve latest entry
From-SVN: r160345
Eric Botcazou [Sun, 6 Jun 2010 15:38:13 +0000 (15:38 +0000)]
stor-layout.c (self_referential_size): Set UNKNOWN_LOCATION on the newly built CALL_EXPR.
* stor-layout.c (self_referential_size): Set UNKNOWN_LOCATION on the
newly built CALL_EXPR.
* tree-profile.c (tree_profiling): Return 0 for built-in stuff.
From-SVN: r160344
Segher Boessenkool [Sun, 6 Jun 2010 14:56:53 +0000 (16:56 +0200)]
Fix ChangeLog typo
From-SVN: r160343
Jonathan Wakely [Sun, 6 Jun 2010 13:27:23 +0000 (13:27 +0000)]
re PR libstdc++/40296 ([C++0x] std::exception_ptr comparisons)
2010-06-06 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/40296
* libsupc++/exception_ptr.h (exception_ptr::exception_ptr): Replace
__safe_bool constructor with nullptr_t constructor in C++0x mode.
(exception_ptr::operator bool): Add explicit conversion to bool.
(swap(exception_ptr&, exception_ptr&)): Add.
(exception_ptr::_M_safe_bool_dummy): Only declare for old ABI.
* libsupc++/eh_ptr.cc (exception_ptr::_M_safe_bool_dummy): Move
next to other functions retained for ABI compatibility.
* testsuite/18_support/exception_ptr/requirements.cc: New.
* testsuite/18_support/exception_ptr/requirements_neg.cc: New.
From-SVN: r160340
Segher Boessenkool [Sun, 6 Jun 2010 11:38:46 +0000 (13:38 +0200)]
re PR bootstrap/44427 (genautomata uses more than 1.5GB of RAM on powerpc64-linux)
gcc/ChangeLog
2010-06-06 Segher Boessenkool <segher@kernel.crashing.org>
PR bootstrap/44427
PR bootstrap/44428
genautomata.c (SET_BIT, CLEAR_BIT, TEST_BIT): Make these macros
endianness-independent.
From-SVN: r160338
Fabien Chêne [Sun, 6 Jun 2010 09:35:45 +0000 (11:35 +0200)]
Fix PR c++/44086
From-SVN: r160337
Eric Botcazou [Sun, 6 Jun 2010 09:04:03 +0000 (09:04 +0000)]
Fix long lines
From-SVN: r160336
Paul Thomas [Sun, 6 Jun 2010 02:04:04 +0000 (02:04 +0000)]
re PR fortran/43945 ([OOP] Derived type with GENERIC: resolved to the wrong specific TBP)
2010-06-05 Paul Thomas <pault@gcc.gnu.org>
Janus Weil <janus@gcc.gnu.org>
PR fortran/43945
* resolve.c (get_declared_from_expr): Move to before
resolve_typebound_generic_call. Make new_ref and class_ref
ignorable if set to NULL.
(resolve_typebound_generic_call): Once we have resolved the
generic call, check that the specific instance is that which
is bound to the declared type.
(resolve_typebound_function,resolve_typebound_subroutine): Avoid
freeing 'class_ref->next' twice.
2010-06-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/43945
* gfortran.dg/generic_23.f03: New test.
Co-Authored-By: Janus Weil <janus@gcc.gnu.org>
From-SVN: r160335
GCC Administrator [Sun, 6 Jun 2010 00:17:32 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r160334
Steven Bosscher [Sat, 5 Jun 2010 20:33:22 +0000 (20:33 +0000)]
c-common.c: Move to c-family/.
gcc/ChangeLog:
* c-common.c: Move to c-family/.
* c-common.def: Likewise.
* c-common.h: Likewise.
* c-cppbuiltin.c: Likewise.
* c-dump.c: Likewise.
* c-format.c: Likewise.
* c-format.h : Likewise.
* c-gimplify.c: Likewise.
* c-lex.c: Likewise.
* c-omp.c: Likewise.
* c.opt: Likewise.
* c-opts.c: Likewise.
* c-pch.c: Likewise.
* c-ppoutput.c: Likewise.
* c-pragma.c: Likewise.
* c-pragma.h: Likewise.
* c-pretty-print.c: Likewise.
* c-pretty-print.h: Likewise.
* c-semantics.c: Likewise.
* stub-objc.c: Likewise.
* gengtype.c (get_file_langdir): Special-case files in c-family/.
(get_output_file_with_visibility): Fix name for c-common.h.
* c-config-lang.in: Update paths in gtfiles for files in c-family/.
* c-tree.h: Update include path for moved files.
* c-lang.c: Likewise.
* c-lang.h: Likewise.
* c-parser.c: Likewise.
* c-convert.c: Likewise.
* c-decl.c: Likewise.
* c-objc-common.c: Likewise.
* configure.ac: Make sure c-family/ exists in the build directory.
* configure: Regenerate.
* Makefile.in: Update paths for moved files. Regroup files per
location and update dependencies. Move generated_files down after
ALL_GTFILES_H.
* config/spu/spu-c.c: Update paths for moved files.
* config/mep/mep-pragma.c: Likewise.
* config/darwin-c.c: Likewise.
* config/i386/msformat-c.c: Likewise.
* config/i386/i386-c.c: Likewise.
* config/avr/avr-c.c: Likewise.
* config/sol2-c.c: Likewise.
* config/ia64/ia64-c.c: Likewise.
* config/rs6000/rs6000-c.c: Likewise.
* config/arm/arm.c: Likewise.
* config/arm/arm-c.c: Likewise.
* config/h8300/h8300.c: Likewise.
* config/v850/v850-c.c: Likewise.
* config/t-darwin: Fix dependencies for moved files.
* config/t-sol2: Fix dependencies for moved files.
* config/mep/t-mep: Fix dependencies for moved files.
* config/ia64/t-ia64: Fix dependencies for moved files.
* config/rs6000/t-rs6000: Fix dependencies for moved files.
* config/v850/t-v850: Fix dependencies for moved files.
* config/v850/t-v850e: Fix dependencies for moved files.
* config/m32c/m32c-pragma.c
* po/exgettext: Look in c-family/ also.
c-family/ChangeLog:
* c-common.c: Include gt-c-family-c-common.h.
* c-pragma.c: Include gt-c-family-c-pragma.h.
objc/ChangeLog:
* objc-act.c: Update include path for moved files.
* objc-lang.c: Likewise.
* config-lang.in: Update paths in gtfiles for files in c-family/.
objcp/ChangeLog:
* objcp-lang.c: Update include path for moved files.
* config-lang.in: Update paths in gtfiles for files in c-family/.
cp/ChangeLog:
* typeck.c: Update include path for moved files.
* decl.c: Likewise.
* rtti.c: Likewise.
* cp-gimplify.c: Likewise.
* cp-lang.c: Likewise.
* pt.c: Likewise.
* semantics.c: Likewise.
* cxx-pretty-print.h: Likewise.
* decl2.c: Likewise.
* parser.c: Likewise.
* cp-objcp-common.c: Likewise.
* cp-tree.h: Likewise.
* name-lookup.c: Likewise.
* lex.c: Likewise.
* name-lookup.h: Likewise.
* config-lang.in: Update paths in gtfiles for files in c-family/.
* Make-lang.in: Likewise.
From-SVN: r160330
Eric Botcazou [Sat, 5 Jun 2010 19:24:45 +0000 (19:24 +0000)]
tree-ssa-dce.c (mark_last_stmt_necessary): New function.
* tree-ssa-dce.c (mark_last_stmt_necessary): New function.
(mark_control_dependent_edges_necessary): Call it instead of marking
the last statement manually.
(propagate_necessity): Likewise.
From-SVN: r160329
Jonathan Wakely [Sat, 5 Jun 2010 18:35:53 +0000 (18:35 +0000)]
shared_ptr_base.h (_Sp_counted_ptr::_M_dispose): Make nullptr_t specializations inline.
2010-06-05 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/shared_ptr_base.h (_Sp_counted_ptr::_M_dispose): Make
nullptr_t specializations inline.
From-SVN: r160328
Jan Hubicka [Sat, 5 Jun 2010 17:54:54 +0000 (19:54 +0200)]
tree-into-ssa.c (insert_phi_nodes): Use bitmap heads for dominance frontiers.
* tree-into-ssa.c (insert_phi_nodes): Use bitmap heads
for dominance frontiers.
(rewrite_into_ssa): Update for bitmap heads in dominance
frontiers.
(insert_updated_phi_nodes_for): Likewise.
(update_ssa): Likewise.
* cfganal.c (compute_dominance_frontiers_1): Likewise.
(compute_dominance_frontiers): Likewise.
(compute_idf): Likewise.
* df-problems.c (df_md_local_compute): Likewise.
From-SVN: r160327
Paul Thomas [Sat, 5 Jun 2010 17:51:39 +0000 (17:51 +0000)]
re PR fortran/43895 ([OOP] internal compiler error: verify_ssa failed)
2010-06-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/43895
* trans-array.c (structure_alloc_comps): Dereference scalar
'decl' if it is a REFERENCE_TYPE. Tidy expressions containing
TREE_TYPE (decl).
2010-06-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/43895
* gfortran.dg/alloc_comp_class_1.f90 : New test.
From-SVN: r160326
Jonathan Wakely [Sat, 5 Jun 2010 17:47:04 +0000 (18:47 +0100)]
status_cxx200x.xml: Update.
2010-06-05 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/xml/manual/status_cxx200x.xml: Update.
From-SVN: r160325
Jonathan Wakely [Sat, 5 Jun 2010 17:43:29 +0000 (18:43 +0100)]
[multiple changes]
2010-06-05 Magnus Fromreide <magfr@lysator.liu.se>
Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/functional (function): Add nullptr_t support.
* include/bits/shared_ptr.h (shared_ptr): Likewise.
* include/bits/unique_ptr.h (unique_ptr): Likewise.
2010-06-05 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/shared_ptr_base.h (__shared_ptr): Add nullptr_t support.
(__shared_count): Add nullptr_t support and make constructors explicit.
* testsuite/20_util/shared_ptr/cons/43820.cc: Adjust.
* testsuite/20_util/shared_ptr/cons/nullptr.cc: New.
* testsuite/20_util/unique_ptr/cons/nullptr.cc: New.
* testsuite/20_util/unique_ptr/assign/nullptr.cc: New.
* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust.
* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.
From-SVN: r160324
Anatoly Sokolov [Sat, 5 Jun 2010 17:27:51 +0000 (21:27 +0400)]
target.h (struct gcc_target): Add memory_move_cost field.
* target.h (struct gcc_target): Add memory_move_cost field.
* target-def.h (TARGET_MEMORY_MOVE_COST): New.
(TARGET_INITIALIZER): Use TARGET_MEMORY_MOVE_COST.
* targhooks.c (default_memory_move_cost): New function.
* targhooks.h (default_memory_move_cost): Declare function.
* reload.h (memory_move_cost): Declare.
(memory_move_secondary_cost): Change type of 'in' argument to bool.
* reginfo.c (memory_move_cost): New function.
(memory_move_secondary_cost): Change type of 'in' argument to bool.
* ira.h (ira_memory_move_cost): Update comment.
* ira.c: (ira_memory_move_cost): Update comment.
(setup_class_subset_and_memory_move_costs): Replace MEMORY_MOVE_COST
with memory_move_cost.
* postreload.c (reload_cse_simplify_set): (Ditto.).
* reload1.c (choose_reload_regs): (Ditto.).
* doc/tm.texi (TARGET_MEMORY_MOVE_COST): New.
(MEMORY_MOVE_COST): Revise documentation.
* config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
* config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
* config/i386/i386.h (ix86_memory_move_cost): Make static. Change
type of 'in' argument to bool.
(TARGET_MEMORY_MOVE_COST): Define.
From-SVN: r160323
Jan Hubicka [Sat, 5 Jun 2010 17:02:26 +0000 (19:02 +0200)]
ipa-pure-const.c (propagate): Fix type in handling functions that can not return...
* ipa-pure-const.c (propagate): Fix type in handling functions
that can not return; be more cureful about merging the results
with previously known.
From-SVN: r160321
Matthias Klose [Sat, 5 Jun 2010 15:07:32 +0000 (15:07 +0000)]
gcc.c (cc1_options, [...]): Use find-plugindir spec function to add the -iplugindir option.
2010-06-05 Matthias Klose <doko@ubuntu.com>
* gcc.c (cc1_options, cpp_unique_options): Use find-plugindir spec
function to add the -iplugindir option.
(find_plugindir_spec_function): Add new declaration and function.
(static_spec_func): Use it for "find-plugindir".
From-SVN: r160319
Jakub Jelinek [Sat, 5 Jun 2010 15:02:32 +0000 (17:02 +0200)]
re PR c++/44361 (-Wunused-but-set-variable vs. explicit void cast)
PR c++/44361
* c-typeck.c (mark_exp_read): Handle C_MAYBE_CONST_EXPR.
* c-parser.c (c_parser_postfix_expression): Call mark_exp_read on
statement expression.
* c-c++-common/Wunused-var-9.c: New test.
From-SVN: r160318
Jakub Jelinek [Sat, 5 Jun 2010 14:49:16 +0000 (16:49 +0200)]
re PR c++/44361 (-Wunused-but-set-variable vs. explicit void cast)
PR c++/44361
* c-typeck.c (mark_exp_read): Handle C_MAYBE_CONST_EXPR.
* c-parser.c (c_parser_postfix_expression): Call mark_exp_read on
statement expression.
* c-c++-common/Wunused-var-9.c: New test.
From-SVN: r160317
Joseph Myers [Sat, 5 Jun 2010 14:43:58 +0000 (15:43 +0100)]
Fix ChangeLog typo.
From-SVN: r160316
Jan Hubicka [Sat, 5 Jun 2010 13:55:17 +0000 (15:55 +0200)]
df-problems.c (seen_in_block, [...]): Convert to bitmap_head.
* df-problems.c (seen_in_block, seen_in_insn): Convert to bitmap_head.
(df_rd_problem_data): Convert sparse_invalidated_by_call,
dense_invalidated_by_call to bitmap head.
(df_rd_alloc, df_rd_bb_local_compute_process_def,
df_rd_bb_local_compute, df_rd_confluence_n, df_rd_transfer_function,
df_rd_start_dump, df_lr_verify_transfer_functions,
df_live_verify_transfer_functions, df_chain_create_bb,
df_chain_add_problem, df_byte_lr_check_regs, df_byte_lr_alloc,
df_byte_lr_confluence_0, df_byte_lr_confluence_n, df_note_compute,
df_simulate_one_insn_forwards, df_md_alloc, df_md_bb_local_compute_process_def,
df_md_bb_local_compute_process_def, df_md_local_compute, df_md_transfer_function
df_md_free): Update.
From-SVN: r160315
Jason Merrill [Sat, 5 Jun 2010 13:13:57 +0000 (09:13 -0400)]
* g++.dg/cpp0x/noexcept06.C: Call set_unexpected.
From-SVN: r160314
Jason Merrill [Sat, 5 Jun 2010 13:13:46 +0000 (09:13 -0400)]
* testsuite/util/testsuite_abi.h: Work around glibc BZ 9694.
From-SVN: r160313
Joseph Myers [Sat, 5 Jun 2010 12:54:41 +0000 (13:54 +0100)]
re PR c/44322 (Bogus warning when assigning pointer-to-array with both "const" and "restrict")
PR c/44322
* c-typeck.c (build_unary_op): Merge qualifiers into pointer
target type for ADDR_EXPR; require no changes to qualifiers except
for function types.
* c-tree.h (c_build_type_variant): Remove.
testsuite:
* gcc.dg/c99-restrict-4.c: New test.
From-SVN: r160312
Fabien Chêne [Sat, 5 Jun 2010 09:40:11 +0000 (11:40 +0200)]
Add myself to MAINTAINERS in the right place
From-SVN: r160311
Eric Botcazou [Sat, 5 Jun 2010 08:00:14 +0000 (08:00 +0000)]
Fix formatting nits
From-SVN: r160310
Magnus Fromreide [Sat, 5 Jun 2010 04:52:18 +0000 (06:52 +0200)]
cvt.c (cp_convert_to_pointer): Use null_ptr_cst_p.
* cvt.c (cp_convert_to_pointer): Use null_ptr_cst_p.
* typeck.c (build_ptrmemfunc): Likewise.
From-SVN: r160309
Jason Merrill [Sat, 5 Jun 2010 04:52:07 +0000 (00:52 -0400)]
typeck2.c (merge_exception_specifiers): Adjust merging of throw() and noexcept(true).
* typeck2.c (merge_exception_specifiers): Adjust merging of
throw() and noexcept(true).
From-SVN: r160308
Segher Boessenkool [Sat, 5 Jun 2010 03:13:50 +0000 (05:13 +0200)]
genautomata.c (get_excl_set): Do work per element, not per char.
2010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
genautomata.c (get_excl_set): Do work per element, not per char.
(check_presence_pattern_sets): Similar.
(check_absence_pattern_sets): Similar.
From-SVN: r160307
Segher Boessenkool [Sat, 5 Jun 2010 03:11:46 +0000 (05:11 +0200)]
genautomata.c (curr_state_pass_num): Delete.
2010-06-05 Segher Boessenkool <segher@kernel.crashing.org>
* genautomata.c (curr_state_pass_num): Delete.
(min_issue_delay_pass_states): Delete.
(min_issue_delay): Delete.
(initiate_min_issue_delay_pass_states): Delete.
(output_min_issue_delay_table): Compute min_issue_delay_vect
using a breadth-first search variant.
(output_tables): Don't call initiate_min_issue_delay_pass_states.
From-SVN: r160306
H.J. Lu [Sat, 5 Jun 2010 00:48:49 +0000 (00:48 +0000)]
Update df_lr_bb_local_compute for embedded bitmaps.
2010-06-04 H.J. Lu <hongjiu.lu@intel.com>
PR boostrap/44421
* df-problems.c (df_lr_bb_local_compute): Updated for embedded
bitmaps.
(df_byte_lr_bb_local_compute): Likewise.
From-SVN: r160305
GCC Administrator [Sat, 5 Jun 2010 00:17:43 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r160304
Jason Merrill [Fri, 4 Jun 2010 21:59:22 +0000 (17:59 -0400)]
pt.c (value_dependent_expression_p): Avoid using an uninitialized variable.
* pt.c (value_dependent_expression_p) [NOEXCEPT_EXPR]: Avoid
using an uninitialized variable.
From-SVN: r160300
Jason Merrill [Fri, 4 Jun 2010 21:42:41 +0000 (17:42 -0400)]
cxx-pretty-print.c (pp_cxx_unary_expression): Handle NOEXCEPT_EXPR.
* cxx-pretty-print.c (pp_cxx_unary_expression): Handle NOEXCEPT_EXPR.
(pp_cxx_expression): Likewise.
From-SVN: r160299
Jason Merrill [Fri, 4 Jun 2010 21:21:23 +0000 (17:21 -0400)]
Implement noexcept-specification (15.4)
Implement noexcept-specification (15.4)
* parser.c (cp_parser_exception_specification_opt): Parse it.
Give -Wdeprecated warning about throw() specs.
* pt.c (tsubst_exception_specification): Handle it.
* error.c (dump_exception_spec): Handle it.
* cxx-pretty-print.c (pp_cxx_exception_specification): Likewise.
* typeck.c (comp_except_specs): Handle compatibility rules.
Change exact parm to take an enum.
* typeck2.c (merge_exception_specifiers): Handle noexcept.
* except.c (nothrow_spec_p, type_noexcept_p): New fns.
(type_throw_all_p, build_noexcept_spec): New fns.
* cp-tree.h (TYPE_NOTHROW_P, TYPE_NOEXCEPT_P): Use them.
(comp_except_specs): Define ce_derived, ce_normal, ce_exact enums.
(cp_tree_index): Add CPTI_NOEXCEPT_TRUE_SPEC, CPTI_NOEXCEPT_FALSE_SPEC.
(noexcept_true_spec, noexcept_false_spec): New macros.
* name-lookup.c (pushdecl_maybe_friend): Adjust.
* search.c (check_final_overrider): Adjust.
* decl.c (check_redeclaration_exception_specification): Adjust.
(use_eh_spec_block): Use type_throw_all_p.
(cxx_init_decl_processing): Set noexcept_false_spec,noexcept_true_spec.
Give operator new a noexcept-specification in C++0x mode.
* tree.c (build_exception_variant, cxx_type_hash_eq): Adjust.
(cp_build_type_attribute_variant): Don't test TYPE_RAISES_EXCEPTIONS.
From-SVN: r160298
Jason Merrill [Fri, 4 Jun 2010 21:21:13 +0000 (17:21 -0400)]
Implement noexcept operator (5.3.7)
Implement noexcept operator (5.3.7)
* c-common.c (c_common_reswords): Add noexcept.
* c-common.h (enum rid): Add RID_NOEXCEPT.
cp/
* cp-tree.def (NOEXCEPT_EXPR): New.
* except.c (check_noexcept_r, finish_noexcept_expr): New.
* cp-tree.h: Declare finish_noexcept_expr.
* parser.c (cp_parser_unary_expression): Parse noexcept-expression.
* pt.c (tsubst_copy_and_build): And tsubst it.
(type_dependent_expression_p): Handle it.
(value_dependent_expression_p): Handle it.
From-SVN: r160297
Jason Merrill [Fri, 4 Jun 2010 21:21:02 +0000 (17:21 -0400)]
call.c (build_conditional_expr): Never fold in unevaluated context.
* call.c (build_conditional_expr): Never fold in unevaluated context.
* tree.c (build_aggr_init_expr): Propagate TREE_NOTHROW.
* semantics.c (simplify_aggr_init_expr): Likewise.
* typeck.c (merge_types): Call merge_exception_specifiers.
* decl.c (duplicate_decls): Check DECL_SOURCE_LOCATION rather than
DECL_ANTICIPATED for preferring new type.
From-SVN: r160296
Joseph Myers [Fri, 4 Jun 2010 18:52:50 +0000 (19:52 +0100)]
darwin-driver.c (darwin_default_min_version): Use
* config/darwin-driver.c (darwin_default_min_version): Use
* GCC-specific formats in diagnostics.
* cppspec.c (lang_specific_driver): Use GCC-specific formats in
diagnostics.
* gcc.c (translate_options, read_specs, add_sysrooted_prefix,
execute, process_command, end_going_arg, do_self_spec, do_spec_1,
eval_spec_function, handle_braces, process_brace_body, main,
perror_with_name, used_arg, set_multilib_dir, print_multilib_info,
getenv_spec_function, compare_version_strings,
version_compare_spec_function): Use GCC-specific formats in
diagnostics.
cp:
* g++spec.c (lang_specific_driver): Use GCC-specific formats in
diagnostics.
fortran:
* gfortranspec.c (append_arg, lang_specific_driver): Use
GCC-specific formats in diagnostics.
java:
* jvspec.c (lang_specific_driver): Use GCC-specific formats in
diagnostics.
From-SVN: r160292
Jakub Jelinek [Fri, 4 Jun 2010 18:45:07 +0000 (20:45 +0200)]
re PR c++/44412 (Another bogus set-but-not-used warning)
PR c++/44412
* typeck.c (build_class_member_access_expr): Call mark_exp_read
on object for static data members.
* g++.dg/warn/Wunused-var-10.C: New test.
* g++.dg/warn/Wunused-var-11.C: New test.
From-SVN: r160290
Jakub Jelinek [Fri, 4 Jun 2010 18:42:42 +0000 (20:42 +0200)]
re PR c++/44362 (Bogus set-but-not-used warning)
PR c++/44362
* call.c (build_conditional_expr): If both arg2 and arg3 are lvalues
with the same type, call mark_lvalue_use on both.
* c-c++-common/Wunused-var-10.c: New test.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r160289
Uros Bizjak [Fri, 4 Jun 2010 17:55:54 +0000 (19:55 +0200)]
i386.md (*addhi_1_lea): Assert that operand 0 and operand 1 are equal.
* config/i386/i386.md (*addhi_1_lea) <TYPE_INCDEC, default>: Assert
that operand 0 and operand 1 are equal.
(*addqi_1_lea) <TYPE_INCDEC, default>: Ditto.
(*add<mode>_2) <TYPE_INCDEC>: Remove assert that operand 0
and operand 1 are equal.
<default>: Ditto. Remove ??? comment.
(*add<mode>_3) <TYPE_INCDEC>: Remove assert that operand 0
and operand 1 are equal.
<default>: Ditto. Remove ??? comment.
(*adddi_4) <default>: Remove assert that operand 0 and operand 1
are equal.
(*add<mode>_4) <default>: Ditto.
(*add<mode>_5) <TYPE_INCDEC, default>: Ditto.
From-SVN: r160287
Nathan Froyd [Fri, 4 Jun 2010 17:28:10 +0000 (17:28 +0000)]
i386-protos.h (ix86_print_operand): Declare.
* config/i386/i386-protos.h (ix86_print_operand): Declare.
* config/i386/i386.c (ix86_print_operand): Make non-static.
* config/i386/sol2.h (ASM_OUTPUT_CALL): Call ix86_print_operand.
* output.h (output_operand): Declare.
* final.c (output_operand): Make non-static.
From-SVN: r160286
Alexandre Oliva [Fri, 4 Jun 2010 16:43:42 +0000 (16:43 +0000)]
re PR rtl-optimization/44013 (VTA produces wrong code)
PR rtl-optimization/44013
* sched-deps.c (add_dependence_list_and_free): Don't free lists
when processing debug insns.
From-SVN: r160281
Alexandre Oliva [Fri, 4 Jun 2010 16:42:27 +0000 (16:42 +0000)]
re PR debug/41371 (var-tracking is slow and memory hungry)
PR debug/41371
* var-tracking.c (find_loc_in_1pdv): Mark initial value before
recursing. Check that recursion is bounded. Rename inner var
to avoid hiding incoming argument.
From-SVN: r160280
Uros Bizjak [Fri, 4 Jun 2010 15:47:49 +0000 (17:47 +0200)]
i386.md (*addqi_2): Do not assert operands[2] == 255 for TYPE_INCDEC operands.
* config/i386/i386.md (*addqi_2): Do not assert operands[2] == 255
for TYPE_INCDEC operands.
(*addqi_3): Ditto.
(*addqi_4): Ditto.
(*addqi_5): Ditto.
(*addqi_ext_1_rex64): Ditto.
(*addqi_ext_1): Ditto.
(*addqi_4): Check for incdec_operand in QImode.
(*add<mode>_2): Macroize insn from *add<mode>_2 and *add{qi,hi}_2
using SWI mode iterator.
(*add<mode>_3): Ditto from *add<mode>_3 and *add{qi,hi}_3.
(*add<mode>_4): Macroize insn from *add{qi,hi,si}_4 using SWI124
mode iterator.
(*add<mode>_5): Macroize insn from *add<mode>_5 and *add{qi,hi}_5
using SWI mode iterator.
From-SVN: r160277
Manuel López-Ibáñez [Fri, 4 Jun 2010 15:15:38 +0000 (15:15 +0000)]
re PR c/25880 (improve message of warning for discarding qualifiers)
2010-06-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c/25880
* c-objc-common.c (c_tree_printer): Handle %V, %v and %#v.
* c-format.c (gcc_diag_flag_specs): Add hash.
(gcc_cxxdiag_flag_specs): Use gcc_diag_flag_specs directly.
(gcc_tdiag_char_table,gcc_cdiag_char_table): Handle %V and %v.
* c-pretty-print.c (pp_c_cv_qualifier): Rename as
pp_c_cv_qualifiers. Handle qualifiers spelling here.
(pp_c_type_qualifier_list): Call the function above.
* c-pretty-print.h (pp_c_cv_qualifiers): Declare.
* c-typeck.c (handle_warn_cast_qual): Print qualifiers.
(WARN_FOR_QUALIFIERS): New macro.
(convert_for_assignment): Use it.
testsuite/
* gcc.dg/assign-warn-2.c: Update.
* gcc.dg/cpp/line3.c: Update.
* gcc.dg/c99-array-lval-8.c: Update.
* gcc.dg/cast-qual-2.c: Update.
* gcc.dg/c99-arraydecl-3.c: Update.
* gcc.dg/assign-warn-1.c: Update.
* gcc.dg/format/gcc_diag-1.c: Update.
From-SVN: r160274
Kai Tietz [Fri, 4 Jun 2010 15:00:35 +0000 (15:00 +0000)]
cygming.h (ASM_GENERATE_INTERNAL_LABEL): Prefix by '*'.
2010-06-04 Kai Tietz <kai.tietz@onevision.com>
* config/i386/cygming.h (ASM_GENERATE_INTERNAL_LABEL): Prefix
by '*'.
From-SVN: r160272
Jan Hubicka [Fri, 4 Jun 2010 14:27:50 +0000 (16:27 +0200)]
df.h (df_rd_bb_info, [...]): Embedd bitmap_head into the structure.
* df.h (df_rd_bb_info, df_md_bb_info, df_lr_bb_info, df_live_bb_info,
df_byte_lr_bb_info): Embedd bitmap_head into the structure.
(DF_LIVE_IN, DF_LIVE_OUT, DF_LR_IN, DF_LR_OUT, DF_BYTE_LR_IN,
DF_BYTE_LR_OUT): Update for embedded bitmaps.
* fwprop.c (single_def_use_enter_block): Likewise.
* ddg.c (create_ddg_dep_from_intra_loop_link,
add_cross_iteration_register_deps, build_inter_loop_deps): Likewise.
* loop-iv.c (latch_dominating_def): Likewise.
* df-problems.c (df_rd_free_bb_info, df_rd_alloc,
df_rd_bb_local_compute_process_def, df_rd_bb_local_compute_process_def,
df_rd_init_solution, df_rd_init_solution, df_rd_transfer_function,
df_rd_transfer_function, df_rd_top_dump,
df_rd_bottom_dump): Update.
(df_lr_free_bb_info, df_lr_alloc, df_lr_reset, df_lr_bb_local_compute,
df_lr_bb_local_compute, df_lr_bb_local_compute, df_lr_bb_local_compute,
df_lr_bb_local_compute, df_lr_local_compute, df_lr_init, df_lr_init,
df_lr_confluence_0, df_lr_free, df_lr_top_dump, df_lr_bottom_dump,
df_lr_verify_solution_start, df_lr_verify_solution_end,
df_lr_verify_transfer_functions, df_lr_verify_transfer_functions,
df_live_free_bb_info, df_live_alloc, df_live_reset,
df_live_bb_local_compute, df_live_init, df_live_transfer_function,
df_live_finalize, df_live_free, df_live_top_dump, df_live_bottom_dump,
df_live_verify_solution_start, df_live_verify_solution_end,
df_live_verify_transfer_functions, df_chain_create_bb,
df_byte_lr_free_bb_info, df_byte_lr_alloc, df_byte_lr_reset,
df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init,
df_byte_lr_confluence_0, df_byte_lr_confluence_n,
df_byte_lr_transfer_function, df_byte_lr_top_dump,
df_byte_lr_bottom_dump, df_create_unused_note,
df_note_bb_compute, df_md_free_bb_info, df_md_alloc,
df_md_bb_local_compute_process_def, df_md_local_compute, df_md_reset,
df_md_transfer_function, df_md_init, df_md_confluence_0,
df_md_confluence_n,
df_md_top_dump, df_md_bottom_dump): Update. (struct df_lr_problem_data):
Embedd bitmap headers.
From-SVN: r160268
Rainer Orth [Fri, 4 Jun 2010 14:01:22 +0000 (14:01 +0000)]
check_jni_methods.sh.in: Don't use diff -U.
libjava/classpath:
* scripts/check_jni_methods.sh.in: Don't use diff -U.
Adapt grep regex, ignore file and problem message.
contrib:
* test_summary: Don't use diff -u.
Adapt egrep regex.
From-SVN: r160264
Jan Hubicka [Fri, 4 Jun 2010 13:27:51 +0000 (15:27 +0200)]
* dce.c (dce_process_block): Do not re-scan already marked instructions.
From-SVN: r160262
Bernd Schmidt [Fri, 4 Jun 2010 12:44:01 +0000 (12:44 +0000)]
re PR rtl-optimization/39871 (Code size increase on ARM due to poor register allocation)
PR rtl-optimization/39871
PR rtl-optimization/40615
PR rtl-optimization/42500
PR rtl-optimization/42502
* ira.c (init_reg_equiv_memory_loc: New function.
(ira): Call it twice.
* reload.h (calculate_elim_costs_all_insns): Declare.
* ira-costs.c: Include "reload.h".
(regno_equiv_gains): New static variable.
(init_costs): Allocate it.
(finish_costs): Free it.
(ira_costs): Call calculate_elim_costs_all_insns.
(find_costs_and_classes): Take estimated elimination costs
into account.
(ira_adjust_equiv_reg_cost): New function.
* ira.h (ira_adjust_equiv_reg_cost): Declare it.
* reload1.c (init_eliminable_invariants, free_reg_equiv,
elimination_costs_in_insn, note_reg_elim_costly): New static
functions.
(elim_bb): New static variable.
(reload): Move code out of here into init_eliminable_invariants and
free_reg_equiv. Call them.
(calculate_elim_costs_all_insns): New function.
(eliminate_regs_1): Declare. Add extra arg FOR_COSTS;
all callers changed. If FOR_COSTS is true, don't call alter_reg,
but call note_reg_elim_costly if we turned a valid memory address
into an invalid one.
* Makefile.in (ira-costs.o): Depend on reload.h.
testsuite/
PR rtl-optimization/39871
PR rtl-optimization/40615
PR rtl-optimization/42500
PR rtl-optimization/42502
* gcc.target/arm/eliminate.c: New test.
From-SVN: r160260
Julian Brown [Fri, 4 Jun 2010 12:30:10 +0000 (12:30 +0000)]
thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives for pool ranges.
gcc/
* config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
for pool ranges.
From-SVN: r160259