platform/upstream/gcc.git
10 years agoreg-notes.def (CROSSING_JUMP): Likewise.
Richard Sandiford [Mon, 19 May 2014 06:49:58 +0000 (06:49 +0000)]
reg-notes.def (CROSSING_JUMP): Likewise.

gcc/
* reg-notes.def (CROSSING_JUMP): Likewise.
* rtl.h (rtx_def): Update comment for jump flag.
(CROSSING_JUMP_P): Define.
* cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
of a REG_CROSSING_JUMP note.
* cfghooks.c (tidy_fallthru_edges): Likewise.
* cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
* emit-rtl.c (try_split): Likewise.
* haifa-sched.c (sched_create_recovery_edges): Likewise.
* ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
* jump.c (redirect_jump_2): Likewise.
* reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
(relax_delay_slots): Likewise.
* config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
(bbit_di): Likewise.
* config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
* config/sh/sh.md (jump_compact): Likewise.
* bb-reorder.c (rotate_loop): Likewise.
(pass_duplicate_computed_gotos::execute): Likewise.
(add_reg_crossing_jump_notes): Rename to...
(update_crossing_jump_flags): ...this.
(pass_partition_blocks::execute): Update accordingly.

From-SVN: r210603

10 years agotree.h: Remove extraneous template <>.
Richard Sandiford [Mon, 19 May 2014 06:47:03 +0000 (06:47 +0000)]
tree.h: Remove extraneous template <>.

gcc/
* tree.h: Remove extraneous template <>.

From-SVN: r210602

10 years agore PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)
Wei Mi [Mon, 19 May 2014 05:25:45 +0000 (05:25 +0000)]
re PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)

2014-05-18  Wei Mi  <wmi@google.com>

        PR target/58066
        * gcc.target/i386/pr58066.c: Replace pattern matching of .cfi
        directive with rtl insns. Add effective-target of fpic and
        tls_native.

From-SVN: r210601

10 years agoAdd new test case
Xinliang David Li [Mon, 19 May 2014 01:41:16 +0000 (01:41 +0000)]
Add new test case

From-SVN: r210599

10 years agoipa.c (symtab_remove_unreachable_nodes): Remove symbol from comdat group if its body...
Jan Hubicka [Mon, 19 May 2014 01:01:12 +0000 (03:01 +0200)]
ipa.c (symtab_remove_unreachable_nodes): Remove symbol from comdat group if its body was eliminated.

* ipa.c (symtab_remove_unreachable_nodes): Remove
symbol from comdat group if its body was eliminated.
(comdat_can_be_unshared_p_1): Static symbols can always
be privatized.
* symtab.c (symtab_remove_from_same_comdat_group): Break out
from ...
(symtab_unregister_node): ... this one.
(verify_symtab_base): More strict checking of comdats.
* cgraph.h (symtab_remove_from_same_comdat_group): Declare.

From-SVN: r210598

10 years agotree-pass.h (make_pass_ipa_comdats): New pass.
Jan Hubicka [Mon, 19 May 2014 00:58:43 +0000 (02:58 +0200)]
tree-pass.h (make_pass_ipa_comdats): New pass.

* tree-pass.h (make_pass_ipa_comdats): New pass.
* timevar.def (TV_IPA_COMDATS): New timevar.
* passes.def (pass_ipa_comdats): Add.
* Makefile.in (OBJS): Add ipa-comdats.o
* ipa-comdats.c: New file.

* g++.dg/ipa/comdat.C: New file.

From-SVN: r210597

10 years agoDaily bump.
GCC Administrator [Mon, 19 May 2014 00:18:24 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r210596

10 years agoipa.c (update_visibility_by_resolution_info): New function.
Jan Hubicka [Sun, 18 May 2014 21:16:08 +0000 (23:16 +0200)]
ipa.c (update_visibility_by_resolution_info): New function.

* ipa.c (update_visibility_by_resolution_info): New function.
(function_and_variable_visibility): Use it.

From-SVN: r210592

10 years agotrans.c (Subprogram_Body_to_gnu): Rework comment and set function_start_locus.
Eric Botcazou [Sun, 18 May 2014 21:12:42 +0000 (21:12 +0000)]
trans.c (Subprogram_Body_to_gnu): Rework comment and set function_start_locus.

* gcc-interface/trans.c (Subprogram_Body_to_gnu): Rework comment and
set function_start_locus.

From-SVN: r210591

10 years agoutils.c (gnat_write_global_declarations): Adjust the flags put on dummy_global.
Eric Botcazou [Sun, 18 May 2014 21:08:14 +0000 (21:08 +0000)]
utils.c (gnat_write_global_declarations): Adjust the flags put on dummy_global.

* utils.c (gnat_write_global_declarations): Adjust the flags put on
dummy_global.

From-SVN: r210589

10 years agodecl.c (change_qualified_type): New static function.
Eric Botcazou [Sun, 18 May 2014 21:02:59 +0000 (21:02 +0000)]
decl.c (change_qualified_type): New static function.

* gcc-interface/decl.c (change_qualified_type): New static function.
(gnat_to_gnu_entity): Use it throughout to add qualifiers on types.
<E_Array_Type>: Set TYPE_VOLATILE on the array type directly.
<E_Array_Subtype>: Likewise.
Do not set flags on an UNCONSTRAINED_ARRAY_TYPE directly.
(gnat_to_gnu_component_type): Likewise.
(gnat_to_gnu_param): Likewise.

From-SVN: r210588

10 years agofe.h (Set_Present_Expr): Move around.
Eric Botcazou [Sun, 18 May 2014 20:52:45 +0000 (20:52 +0000)]
fe.h (Set_Present_Expr): Move around.

* fe.h (Set_Present_Expr): Move around.
(End_Location): New macro.
* gcc-interface/trans.c (Case_Statement_to_gnu): Use End_Location.

From-SVN: r210587

10 years agocgraph.h (symtab_first_defined_symbol, [...]): New functions.
Jan Hubicka [Sun, 18 May 2014 19:11:58 +0000 (21:11 +0200)]
cgraph.h (symtab_first_defined_symbol, [...]): New functions.

* cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
New functions.
(FOR_EACH_DEFINED_SYMBOL): New macro.
(varpool_first_static_initializer, varpool_next_static_initializer,
varpool_first_defined_variable, varpool_next_defined_variable): Fix comments.
(symtab_in_same_comdat_p): Correctly deal with inline functions.

From-SVN: r210586

10 years agodecl.c (gnat_to_gnu_entity): Use Underlying_Type in lieu of more verbose construct.
Eric Botcazou [Sun, 18 May 2014 17:59:58 +0000 (17:59 +0000)]
decl.c (gnat_to_gnu_entity): Use Underlying_Type in lieu of more verbose construct.

* gcc-interface/decl.c (gnat_to_gnu_entity): Use Underlying_Type in
lieu of more verbose construct.
* gcc-interface/trans.c (Call_to_gnu): Likewise.
(gnat_to_gnu): Likewise.  Remove obsolete code.

From-SVN: r210585

10 years agodecl.c (gnat_to_gnu_entity): Do not consider that regular packed arrays can never...
Eric Botcazou [Sun, 18 May 2014 17:51:15 +0000 (17:51 +0000)]
decl.c (gnat_to_gnu_entity): Do not consider that regular packed arrays can never be superflat.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Do not
consider that regular packed arrays can never be superflat.

From-SVN: r210583

10 years agolibgomp.texi (Runitme Library Routines): Remove multiple @menu.
Uros Bizjak [Sun, 18 May 2014 10:29:30 +0000 (12:29 +0200)]
libgomp.texi (Runitme Library Routines): Remove multiple @menu.

* libgomp.texi (Runitme Library Routines): Remove multiple @menu.
(Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
texts according to their @menu entry positions.

From-SVN: r210580

10 years ago* gcc.target/ia64/visibility-1.c (variable_l): Add used attribute.
Andreas Schwab [Sun, 18 May 2014 07:25:33 +0000 (07:25 +0000)]
* gcc.target/ia64/visibility-1.c (variable_l): Add used attribute.

From-SVN: r210579

10 years agoChangeLog: Fix.
Uros Bizjak [Sun, 18 May 2014 07:24:24 +0000 (09:24 +0200)]
ChangeLog: Fix.

* ChangeLog: Fix.
* testsuite/ChangeLog: Ditto.

From-SVN: r210578

10 years agoextend.texi (Size of an asm): Really move node to its position.
Uros Bizjak [Sun, 18 May 2014 07:17:06 +0000 (09:17 +0200)]
extend.texi (Size of an asm): Really move node to its position.

* doc/extend.texi (Size of an asm): Really move node to its position.

From-SVN: r210577

10 years agore PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist...
Jerry DeLisle [Sun, 18 May 2014 02:34:02 +0000 (02:34 +0000)]
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write)

2014-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu>

PR libfortran/52539
* gfortran.dg/namelist_utf8.f90: New test.

From-SVN: r210575

10 years agore PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist...
Jerry DeLisle [Sun, 18 May 2014 02:29:27 +0000 (02:29 +0000)]
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write)

2014-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu>

PR libfortran/52539
* io/io.h (gfc_unit): New function pointers *next_char_fn_ptr
and *push_char_fn_ptr.
*io/list_read.c (next_char): Create macro with this name to call
the new function pointer. Split the original next_char function
into three new functions. (next_char_default, next_char_internal,
next_char_utf8): New functions. (push_char): Create macro with
this name to call new function pointer. Split the original
push_char into three new functions. (push_char_default,
push_char_internal, push_char4): New functions. (set_workers):
New function to initilize the function pointers depending on the
type of IO to be performed. (list_formatted_read_scalar): Use
set_workers function. (finish_list_read): Likewise.
(namelist_read): Likewise.
(nml_get_obj_data): Use push_char_default.

From-SVN: r210574

10 years agoDaily bump.
GCC Administrator [Sun, 18 May 2014 00:17:09 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r210573

10 years agocomment ggc_handle_finalizers
Trevor Saunders [Sat, 17 May 2014 23:15:55 +0000 (23:15 +0000)]
comment ggc_handle_finalizers

* ggc-page.c (ggc_handle_finalizers): Add comment.

From-SVN: r210569

10 years agoadd finalizers to ggc
Trevor Saunders [Sat, 17 May 2014 23:08:00 +0000 (23:08 +0000)]
add finalizers to ggc

This implements finalizers by keeping a list of registered finalizers
and after every mark but before sweeping check to see if any of them are
for unmarked blocks.

gcc/ChangeLog:

* ggc-common.c (ggc_internal_cleared_alloc): Adjust.
* ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
(ggc_internal_cleared_alloc): Likewise.
* ggc-page.c (finalizer): New class.
(vec_finalizer): Likewise.
(globals::finalizers): New member.
(globals::vec_finalizers): Likewise.
(ggc_internal_alloc): Record the finalizer if any for the block being
allocated.
(ggc_handle_finalizers): New function.
(ggc_collect): Call ggc_handle_finalizers.
* ggc.h (ggc_internal_alloc): Add arguments to allow installing a
finalizer.
(ggc_internal_cleared_alloc): Likewise.
(finalize): New function.
(need_finalization_p): Likewise.
(ggc_alloc): Install the type's destructor as the finalizer if it
might do something.
(ggc_cleared_alloc): Likewise.
(ggc_vec_alloc): Likewise.
(ggc_cleared_vec_alloc): Likewise.

From-SVN: r210568

10 years agoremove unused function
Trevor Saunders [Sat, 17 May 2014 23:07:43 +0000 (23:07 +0000)]
remove unused function

gcc/ChangeLog:

*ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.

From-SVN: r210567

10 years agouse templates instead of gengtype for typed allocation functions
Trevor Saunders [Sat, 17 May 2014 23:07:23 +0000 (23:07 +0000)]
use templates instead of gengtype for typed allocation functions

gcc/ChangeLog:

* alias.c (record_alias_subset): Adjust.
* bitmap.c (bitmap_element_allocate): Likewise.
(bitmap_gc_alloc_stat): Likewise.
* cfg.c (init_flow): Likewise.
(alloc_block): Likewise.
(unchecked_make_edge): Likewise.
* cfgloop.c (alloc_loop): Likewise.
(flow_loops_find): Likewise.
(rescan_loop_exit): Likewise.
* cfgrtl.c (init_rtl_bb_info): Likewise.
* cgraph.c (insert_new_cgraph_node_version): Likewise.
(cgraph_allocate_node): Likewise.
(cgraph_create_edge_1): Likewise.
(cgraph_allocate_init_indirect_info): Likewise.
* cgraphclones.c (cgraph_clone_edge): Likewise.
* cgraphunit.c (add_asm_node): Likewise.
(init_lowered_empty_function): Likewise.
* config/aarch64/aarch64.c (aarch64_init_machine_status):
Likewise.
* config/alpha/alpha.c (alpha_init_machine_status): Likewise.
(alpha_use_linkage): Likewise.
* config/arc/arc.c (arc_init_machine_status): Likewise.
* config/arm/arm.c (arm_init_machine_status): Likewise.
* config/avr/avr.c (avr_init_machine_status): Likewise.
* config/bfin/bfin.c (bfin_init_machine_status): Likewise.
* config/c6x/c6x.c (c6x_init_machine_status): Likewise.
* config/cris/cris.c (cris_init_machine_status): Likewise.
* config/darwin.c (machopic_indirection_name): Likewise.
(darwin_build_constant_cfstring): Likewise.
(darwin_enter_string_into_cfstring_table): Likewise.
* config/epiphany/epiphany.c (epiphany_init_machine_status):
* Likewise.
* config/frv/frv.c (frv_init_machine_status): Likewise.
* config/i386/i386.c (get_dllimport_decl): Likewise.
(ix86_init_machine_status): Likewise.
(assign_386_stack_local): Likewise.
* config/i386/winnt.c (i386_pe_record_external_function):
Likewise.
(i386_pe_maybe_record_exported_symbol): Likewise.
(i386_pe_record_stub): Likewise.
* config/ia64/ia64.c (ia64_init_machine_status): Likewise.
* config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
* config/m32c/m32c.c (m32c_init_machine_status): Likewise.
(m32c_note_pragma_address): Likewise.
* config/mep/mep.c (mep_init_machine_status): Likewise.
(mep_note_pragma_flag): Likewise.
* config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
(mips16_local_alias): Likewise.
(mips_init_machine_status): Likewise.
* config/mmix/mmix.c (mmix_init_machine_status): Likewise.
* config/moxie/moxie.c (moxie_init_machine_status): Likewise.
* config/msp430/msp430.c (msp430_init_machine_status): Likewise.
* config/nds32/nds32.c (nds32_init_machine_status): Likewise.
* config/nios2/nios2.c (nios2_init_machine_status): Likewise.
* config/pa/pa.c (pa_init_machine_status): Likewise.
(pa_get_deferred_plabel): Likewise.
* config/rl78/rl78.c (rl78_init_machine_status): Likewise.
* config/rs6000/rs6000.c (builtin_function_type): Likewise.
(rs6000_init_machine_status): Likewise.
(output_toc): Likewise.
* config/s390/s390.c (s390_init_machine_status): Likewise.
* config/score/score.c (score_output_external): Likewise.
* config/sparc/sparc.c (sparc_init_machine_status): Likewise.
* config/spu/spu.c (spu_init_machine_status): Likewise.
* config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
* config/tilepro/tilepro.c (tilepro_init_machine_status):
* Likewise.
* config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
* coverage.c (coverage_end_function): Likewise.
* dbxout.c (dbxout_init): Likewise.
* doc/gty.texi: Don't mention variable_size attribute.
* dwarf2cfi.c (new_cfi): Adjust.
(new_cfi_row): Likewise.
(copy_cfi_row): Likewise.
(create_cie_data): Likewise.
* dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
(new_loc_descr): Likewise.
(find_AT_string_in_table): Likewise.
(add_addr_table_entry): 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.
(add_loc_descr_to_each): Likewise.
(add_location_or_const_value_attribute): Likewise.
(add_linkage_name): Likewise.
(lookup_filename): Likewise.
(dwarf2out_var_location): Likewise.
(new_line_info_table): Likewise.
(dwarf2out_init): Likewise.
(mem_loc_descriptor): Likewise.
(loc_descriptor): Likewise.
(add_const_value_attribute): Likewise.
(tree_add_const_value_attribute): Likewise.
(comp_dir_string): Likewise.
(dwarf2out_vms_debug_main_pointer): Likewise.
(string_cst_pool_decl): Likewise.
* emit-rtl.c (set_mem_attrs): Likewise.
(get_reg_attrs): Likewise.
(start_sequence): Likewise.
(init_emit): Likewise.
(init_emit_regs): 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.
* function.c (add_frame_space): Likewise.
(insert_temp_slot_address): Likewise.
(assign_stack_temp_for_type): Likewise.
(get_hard_reg_initial_val): Likewise.
(allocate_struct_function): Likewise.
(prepare_function_start): Likewise.
(types_used_by_var_decl_insert): Likewise.
* gengtype.c (variable_size_p): Remove function.
(enum alloc_quantity): Remove enum.
(write_typed_alloc_def): Remove function.
(write_typed_struct_alloc_def): Likewise.
(write_typed_typedef_alloc_def): Likewise.
(write_typed_alloc_defns): Likewise.
(main): Adjust.
* ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
(ggc_cleared_alloc_ptr_array_two_args): Likewise.
* ggc.h (ggc_alloc): new function.
(ggc_cleared_alloc): Likewise.
(ggc_vec_alloc): Template on type of vector element, and remove
element size argument.
(ggc_cleared_vec_alloc): Likewise.
* gimple.c (gimple_build_omp_for): Adjust.
(gimple_copy): Likewise.
* ipa-cp.c (get_replacement_map): Likewise.
(find_aggregate_values_for_callers_subset): Likewise.
(known_aggs_to_agg_replacement_list): Likewise.
* ipa-devirt.c (get_odr_type): Likewise.
* ipa-prop.c (ipa_node_duplication_hook): Likewise.
(read_agg_replacement_chain): Likewise.
* loop-iv.c (get_simple_loop_desc): Likewise.
* lto-cgraph.c (input_node_opt_summary): Likewise.
* lto-section-in.c (lto_new_in_decl_state): Likewise.
* lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
(input_eh_region): Likewise.
(input_eh_lp): Likewise.
(input_cfg): Likewise.
* optabs.c (set_optab_libfunc): Likewise.
(init_tree_optimization_optabs): Likewise.
(set_conv_libfunc): Likewise.
* passes.c (do_per_function_toporder): Likewise.
* rtl.h: Don't use variable_size gty attribute.
* sese.c (if_region_set_false_region): Adjust.
* stringpool.c (gt_pch_save_stringpool): Likewise.
* target-globals.c (save_target_globals): Likewise.
* toplev.c (general_init): Likewise.
* trans-mem.c (record_tm_replacement): Likewise.
(split_bb_make_tm_edge): Likewise.
* tree-cfg.c (move_sese_region_to_fn): Likewise.
* tree-data-ref.h (lambda_vector_new): Likewise.
* tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
* tree-iterator.c (tsi_link_before): Likewise.
(tsi_link_after): Likewise.
* tree-scalar-evolution.c (new_scev_info_str): Likewise.
* tree-ssa-loop-niter.c (record_estimate): Likewise.
* tree-ssa-operands.c (ssa_operand_alloc): Likewise.
* tree-ssa-operands.h: Don't use variable_size gty attribute.
* tree-ssa.c (init_tree_ssa): Adjust.
* tree-ssanames.c (set_range_info): Likewise.
(get_ptr_info): Likewise.
(duplicate_ssa_name_ptr_info): Likewise.
(duplicate_ssa_name_range_info): Likewise.
* tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
(unpack_ts_fixed_cst_value_fields): Likewise.
* tree.c (build_fixed): Likewise.
(build_real): Likewise.
(build_string): Likewise.
(decl_priority_info): Likewise.
(decl_debug_expr_insert): Likewise.
(decl_value_expr_insert): Likewise.
(decl_debug_args_insert): Likewise.
(type_hash_add): Likewise.
(build_omp_clause): Likewise.
* ubsan.c (decl_for_type_insert): Likewise.
* varasm.c (get_unnamed_section): Likewise.
(get_noswitch_section): Likewise.
(get_section): Likewise.
(get_block_for_section): Likewise.
(create_block_symbol): Likewise.
(build_constant_desc): Likewise.
(create_constant_pool): Likewise.
(force_const_mem): Likewise.
(record_tm_clone_pair): Likewise.
* varpool.c (varpool_create_empty_node): Likewise.

gcc/c/ChangeLog:

* c-decl.c (finish_struct): Adjust.
(finish_enum): Likewise.
(bind): Adjust.
(record_inline_static): Likewise.
(push_scope): Likewise.
(make_label): Likewise.
(lookup_label_for_goto): Likewise.
(finish_struct): Likewise.
(finish_enum): Likewise.
(store_parm_decls): Likewise.
(c_push_function_context): Likewise.
* c-lang.h: Remove usage of variable_size gty attribute.
* c-parser.c (c_parse_init): Adjust.
(c_parse_file): Likewise.

gcc/java/ChangeLog:

* class.c (add_method_1): Adjust.
(java_treetreehash_new): Likewise.
* constants.c (set_constant_entry): Likewise.
(cpool_for_class): Likewise.
* decl.c (make_binding_level): Likewise.
(java_dup_lang_specific_decl): Likewise.
* expr.c (add_type_assertion): Likewise.
* java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Likewise.
(lang_decl): don't use variable_size gty attribute.
(MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Adjust.
(lang_type): Don't use variable_size gty attribute.
* jcf-parse.c (java_parse_file): Adjust.
(process_zip_dir): Likewise.
* jcf.h: Remove usage of variable_size gty attribute.
* jcf-reader.c (jcf_parse_constant_pool): Adjust.
(jcf_parse_bootstrap_methods): Likewise.

gcc/objc/ChangeLog:

* objc-act.c (objc_build_string_object): Adjust.
(continue_class): Likewise.
* objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Likewise.
* objc-map.c (objc_map_alloc_ggc): Likewise.
(objc_map_private_resize): Likewise.
* objc-next-runtime-abi-02.c (objc_next_runtime_abi_02_init):
Likewise.
(hash_name_enter): Likewise.

gcc/cp/ChangeLog:

* class.c (sorted_fields_type_new): Adjust.
* cp-cilkplus.c (cilk_install_body_with_frame_cleanup): Likewise.
* cp-objcp-common.c (decl_shadowed_for_var_insert): Likewise.
* cp-tree.h: Remove usage of variable_size gty attribute.
* decl.c (make_label_decl): Adjust.
(check_goto): Likewise.
(start_preparsed_function): Likewise.
(save_function_data): Likewise.
* lex.c (init_reswords): Likewise.
(retrofit_lang_decl): Likewise.
(cxx_dup_lang_specific_decl): Likewise.
(copy_lang_type): Likewise.
(cxx_make_type): Likewise.
* name-lookup.c (binding_entry_make): Likewise.
(binding_table_construct): Likewise.
(binding_table_new): Likewise.
(cxx_binding_make): Likewise.
(pushdecl_maybe_friend_1): Likewise.
(begin_scope): Likewise.
(push_to_top_level): Likewise.
* parser.c (cp_lexer_alloc): 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.
* pt.c (maybe_process_partial_specialization): Likewise.
(register_specialization): Likewise.
(add_pending_template): Likewise.
(lookup_template_class_1): Likewise.
(push_tinst_level): Likewise.
* semantics.c (register_constexpr_fundef): Likewise.
(cxx_eval_call_expression): Likewise.
* typeck2.c (abstract_virtuals_error_sfinae): Likewise.

gcc/fortran/ChangeLog:

* f95-lang.c (pushlevel): Adjust.
* trans-decl.c (gfc_allocate_lang_decl): Adjust.
(gfc_find_module): Likewise.
* trans-types.c (gfc_get_nodesc_array_type): Likewise.
(gfc_get_array_type_bounds): Likewise.
(gfc_nonrestricted_type): Likewise.
* trans.h: Don't use variable_size gty attribute.

gcc/ada/ChangeLog:

* gcc-interface/ada-tree.h: Remove usage of variable_size gty
annotation.
* gcc-interface/decl.c (annotate_value): Adjust.
* gcc-interface/trans.c (Attribute_to_gnu): Likewise.
(push_range_check_info): Likewise.
(Loop_Statement_to_gnu): Likewise.
(Subprogram_Body_to_gnu): Likewise.
(Compilation_Unit_to_gnu): Likewise.
(start_stmt_group): Likewise.
* gcc-interface/utils.c (init_gnat_utils): Likewise.
(gnat_pushlevel): Likewise.
(maybe_pad_type): Likewise.

gcc/go/ChangeLog:

* go-lang.c (struct GTY): Don't use variable_size gty attribute.

gcc/c-family/ChangeLog:

* c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
* c-pragma.c (push_alignment): Adjust.
(handle_pragma_push_options): Likewise.

gcc/lto/ChangeLog:

* lto-tree.h: Don't use variable_size gty attribute.
* lto.c (lto_read_in_decl_state): Adjust.
(create_subid_section_table): Likewise.
(lto_flatten_files): Likewise.
(read_cgraph_and_symbols): Likewise.

gcc/objcp/ChangeLog:

* objcp-decl.h: Adjust.

From-SVN: r210566

10 years agorm a bunch of _stat allocation functions
Trevor Saunders [Sat, 17 May 2014 23:06:33 +0000 (23:06 +0000)]
rm a bunch of _stat allocation functions

Now that we can use c++ default arguments there's no reason to use
functions and wrapper macros.

gcc/ChangeLog:

* dwarf2out.c (tree_add_const_value_attribute): Call
ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
* gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
instead of ggc_internal_<x>alloc_stat.
* ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
(ggc_realloc): Likewise.
* ggc-none.c (ggc_internal_alloc): Likewise.
(ggc_internal_cleared_alloc): Likewise.
* ggc-page.c: Likewise.
* ggc.h (ggc_internal_alloc_stat): Likewise.
(ggc_internal_alloc): Remove macro.
(ggc_internal_cleared_alloc_stat): Drop _stat suffix.
(ggc_internal_cleared_alloc): Remove macro.
(GGC_RESIZEVEC): Adjust.
(ggc_resizevar): Remove macro.
(ggc_internal_vec_alloc_stat): Drop _stat suffix.
(ggc_internal_cleared_vec_alloc_stat): Likewise.
(ggc_internal_vec_cleared_alloc): Remove macro.
(ggc_alloc_atomic_stat): Drop _stat suffix.
(ggc_alloc_atomic): Remove macro.
(ggc_alloc_cleared_atomic): Remove macro.
(ggc_alloc_string_stat): Drop _stat suffix.
(ggc_alloc_string): Remove macro.
(ggc_alloc_rtx_def_stat): Adjust.
(ggc_alloc_tree_node_stat): Likewise.
(ggc_alloc_cleared_tree_node_stat): Likewise.
(ggc_alloc_cleared_gimple_statement_stat): Likewise.
(ggc_alloc_cleared_simd_clone_stat): Likewise.
* gimple.c (gimple_build_omp_for): Likewise.
(gimple_copy): Likewise.
* stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
* toplev.c (realloc_for_line_map): Adjust.
* tree-data-ref.h (lambda_vector_new): Likewise.
* tree-phinodes.c (allocate_phi_node): Likewise.
* tree.c (grow_tree_vec_stat): Likewise.
* vec.h (va_gc::reserve): Adjust.

gcc/java/ChangeLog:

* constants.c (set_constant_entry): Adjust.

From-SVN: r210565

10 years agore PR c++/52875 (ADL failure + ICE in decltype)
Paolo Carlini [Sat, 17 May 2014 20:22:30 +0000 (20:22 +0000)]
re PR c++/52875 (ADL failure + ICE in decltype)

2014-05-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52875
* g++.dg/cpp0x/decltype58.C: New.

From-SVN: r210562

10 years agocheck.c (gfc_check_fn_rc2008): move "argument" to the right place.
Dominique d'Humieres [Sat, 17 May 2014 17:54:50 +0000 (19:54 +0200)]
check.c (gfc_check_fn_rc2008): move "argument" to the right place.

2014-05-17  Dominique d'Humieres <dominiq@lps.ens.fr>

* check.c (gfc_check_fn_rc2008): move "argument" to the right
place.

From-SVN: r210561

10 years agonew_op.cc: Factor the calls to malloc, use __builtin_expect.
Marc Glisse [Sat, 17 May 2014 17:47:36 +0000 (19:47 +0200)]
new_op.cc: Factor the calls to malloc, use __builtin_expect.

2014-05-17  Marc Glisse  <marc.glisse@inria.fr>

* libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
* libsupc++/new_opnt.cc: Likewise.

From-SVN: r210560

10 years agoChangeLog:
Ajit Agarwal [Sat, 17 May 2014 15:12:38 +0000 (15:12 +0000)]
ChangeLog:

2014-05-17 Ajit Agarwal <ajitkum@xilinx.com>

 * config/microblaze/microblaze.c
   (break_handler): New Declaration.
   (microblaze_break_function_p,microblaze_is_break_handler) : New functions.
   (compute_frame_size): use of microblaze_break_function_p. Add the test of break_handler.
   (microblaze_function_prologue) : Add the test of variable
   break_handler. Check the fnname by BREAK_HANDLER_NAME.
   (microblaze_function_epilogue) : Add the test of break_handler.
   (microblaze_globalize_label) : Add the test of break_handler. Check the
   name by BREAK_HANDLER_NAME.

 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME) : New macro

 * config/microblaze/microblaze.md :
   (*<optab>,<optab>_internal): Add microblaze_is_break_handler () test.
   (call_internal1,call_value_intern) : Use of microblaze_break_function_p.
   Use of SYMBOL_REF_DECL.

 * config/microblaze/microblaze-protos.h
   (microblaze_break_function_p,microblaze_is_break_handler) : New Declaration.

 * testsuite/gcc.target/microblaze/others/break_handler.c : New.

 * doc/extend.texi( MicroBlaze break_handler Functions): Document new
   MicroBlaze break_handler functions.

From-SVN: r210559

10 years agore PR libstdc++/60966 (std::call_once sometime hangs)
Jonathan Wakely [Sat, 17 May 2014 12:58:46 +0000 (13:58 +0100)]
re PR libstdc++/60966 (std::call_once sometime hangs)

PR libstdc++/60966
* include/std/future (__future_base::_State_baseV2::_M_set_result):
Pass lock into _M_do_set and hold it until the function returns.
Signal condition variable after call_once completes.
(__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
signal here.
* testsuite/30_threads/promise/60966.cc: New.

From-SVN: r210556

10 years agoextend.texi (Size of an asm): Move node text according to its @menu entry position.
Uros Bizjak [Sat, 17 May 2014 12:58:34 +0000 (14:58 +0200)]
extend.texi (Size of an asm): Move node text according to its @menu entry position.

* doc/extend.texi (Size of an asm): Move node text according
to its @menu entry position.

From-SVN: r210555

10 years agore PR tree-optimization/61140 (wrong code at -O1 and above on x86_64-linux-gnu)
Marc Glisse [Sat, 17 May 2014 12:37:58 +0000 (14:37 +0200)]
re PR tree-optimization/61140 (wrong code at -O1 and above on x86_64-linux-gnu)

2014-05-17  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/61140
PR tree-optimization/61150
PR tree-optimization/61197
gcc/
* tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
gcc/testsuite/
* gcc.dg/tree-ssa/pr61140.c: New file.
* gcc.dg/tree-ssa/pr61150.c: New file.
* gcc.dg/tree-ssa/pr61197.c: New file.

From-SVN: r210554

10 years agoinvoke.texi (free): Mention Alpha.
Uros Bizjak [Sat, 17 May 2014 11:28:39 +0000 (13:28 +0200)]
invoke.texi (free): Mention Alpha.

* doc/invoke.texi (free): Mention Alpha.  Also enabled at -Os.

From-SVN: r210552

10 years agopr60969.C: Compile for all ilp32 x86 targets.
Uros Bizjak [Sat, 17 May 2014 11:03:31 +0000 (13:03 +0200)]
pr60969.C: Compile for all ilp32 x86 targets.

* g++.dg/pr60969.C: Compile for all ilp32 x86 targets.
(dg-options): Add -mfpmath=387.
(dg-final): Check that no MMX registers are used.

From-SVN: r210550

10 years agoChangeLog: Fix.
Uros Bizjak [Sat, 17 May 2014 10:33:43 +0000 (12:33 +0200)]
ChangeLog: Fix.

* ChangeLog: Fix.
* testsuite/ChangeLog: Ditto.

From-SVN: r210548

10 years agowide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or __SIZEOF_INT128__ is defined.
Richard Sandiford [Sat, 17 May 2014 08:30:14 +0000 (08:30 +0000)]
wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or __SIZEOF_INT128__ is defined.

gcc/
* wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
__SIZEOF_INT128__ is defined.

From-SVN: r210546

10 years ago* gcc.target/ia64/visibility-1.c (variable_i): Add used attribute.
Andreas Schwab [Sat, 17 May 2014 07:48:07 +0000 (07:48 +0000)]
* gcc.target/ia64/visibility-1.c (variable_i): Add used attribute.

From-SVN: r210545

10 years agors6000.c (rs6000_real_tls_symbol_ref_p): New function.
Richard Sandiford [Sat, 17 May 2014 07:34:57 +0000 (07:34 +0000)]
rs6000.c (rs6000_real_tls_symbol_ref_p): New function.

gcc/
* config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
(rs6000_delegitimize_address): Use it.

From-SVN: r210544

10 years agoemit-rtl.h (replace_equiv_address, [...]): Add an inplace argument.
Richard Sandiford [Sat, 17 May 2014 07:00:02 +0000 (07:00 +0000)]
emit-rtl.h (replace_equiv_address, [...]): Add an inplace argument.

gcc/
* emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
inplace argument.  Store the new address in the original MEM when true.
* emit-rtl.c (change_address_1): Likewise.
(adjust_address_1, adjust_automodify_address_1, offset_address):
Update accordingly.
* rtl.h (plus_constant): Add an inplace argument.
* explow.c (plus_constant): Likewise.  Try to reuse the original PLUS
when true.  Avoid generating (plus X (const_int 0)).
* function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
in-place.  Pass true to plus_constant.
(instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.

From-SVN: r210543

10 years agoDaily bump.
GCC Administrator [Sat, 17 May 2014 00:17:11 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r210542

10 years agotree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
Dehao Chen [Fri, 16 May 2014 23:16:13 +0000 (23:16 +0000)]
tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.

2014-05-16  Dehao Chen  <dehao@google.com>

* tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.

From-SVN: r210538

10 years agore PR target/54089 ([SH] Refactor shift patterns)
Oleg Endo [Fri, 16 May 2014 23:12:19 +0000 (23:12 +0000)]
re PR target/54089 ([SH] Refactor shift patterns)

gcc/
PR target/54089
* config/sh/predicates.md (negt_reg_shl31_operand): Match additional
patterns.
* config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.

From-SVN: r210537

10 years agoira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use optimize_function_for_size_p.
Dehao Chen [Fri, 16 May 2014 23:01:26 +0000 (23:01 +0000)]
ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use optimize_function_for_size_p.

2014-05-16  Dehao Chen  <dehao@google.com>

        * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use optimize_function_for_size_p.
        * regs.h (REG_FREQ_FROM_BB): Likewise.

From-SVN: r210536

10 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Fri, 16 May 2014 22:54:32 +0000 (22:54 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

gcc/
PR target/51244
* config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
negt_reg_operand cases.
* config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
predicate.
* config/sh/predicates.md (cbranch_treg_value): Simplify.

From-SVN: r210535

10 years agosh.c (sh_option_override): Set branch cost to 2 for all target variants.
Oleg Endo [Fri, 16 May 2014 22:21:52 +0000 (22:21 +0000)]
sh.c (sh_option_override): Set branch cost to 2 for all target variants.

gcc/
* config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
target variants.

From-SVN: r210534

10 years agoRevert r209902 "Dump the return type of functions in gimple dumps"
David Malcolm [Fri, 16 May 2014 21:39:22 +0000 (21:39 +0000)]
Revert r209902 "Dump the return type of functions in gimple dumps"

This commit reverts r209902 aka 1f09cb43ee8e199dca339233fb1b92b7ffdbc660
due to issues described in
  https://gcc.gnu.org/ml/gcc-patches/2014-05/msg01271.html

gcc/
2014-05-16  David Malcolm  <dmalcolm@redhat.com>

Revert:
2014-04-29  David Malcolm  <dmalcolm@redhat.com>

* tree-cfg.c (dump_function_to_file): Dump the return type of
functions, in a line to itself before the function body, mimicking
the layout of a C function.

gcc/testsuite
2014-05-16  David Malcolm  <dmalcolm@redhat.com>

Revert:
2014-04-29  David Malcolm  <dmalcolm@redhat.com>

* gcc.dg/tree-ssa/pr23401.c: Update the expected number of
occurrences of "int" in the gimple dump to reflect that the return
types of functions now show up in such dumps.
* gcc.dg/tree-ssa/pr27810.c: Likewise.

From-SVN: r210533

10 years agoabi.exp: Defer setting of baseline_subdir until after checking that the test is eligi...
Iain Sandoe [Fri, 16 May 2014 20:56:03 +0000 (20:56 +0000)]
abi.exp: Defer setting of baseline_subdir until after checking that the test is eligible...

2014-05-16  Iain Sandoe  <iain@codesourcery.com>
    Sandra Loosemore  <sandra@codesourcery.com>

        libstdc++-v3/
        * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
        until after checking that the test is eligible to be run.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r210531

10 years agocfghooks.c (make_forwarder_block): Use direct computation to get fall-through edge...
Dehao Chen [Fri, 16 May 2014 20:40:29 +0000 (20:40 +0000)]
cfghooks.c (make_forwarder_block): Use direct computation to get fall-through edge's count and frequency.

2014-05-16  Dehao Chen  <dehao@google.com>

* cfghooks.c (make_forwarder_block): Use direct computation to
get fall-through edge's count and frequency.

From-SVN: r210528

10 years agoPR 61187 Fix use of uninitialized memory.
Janne Blomqvist [Fri, 16 May 2014 20:37:13 +0000 (23:37 +0300)]
PR 61187 Fix use of uninitialized memory.

2014-05-16  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/61187
* io/unix.c (raw_close): Check if s->fd is -1.
(fd_to_stream): Check return value of fstat(), handle error.

From-SVN: r210527

10 years agoarc.c (arc_init): Fix typo in error message.
Benno Schulenberg [Fri, 16 May 2014 19:52:17 +0000 (19:52 +0000)]
arc.c (arc_init): Fix typo in error message.

2014-02-07  Benno Schulenberg  <bensberg@justemail.net>

* config/arc/arc.c (arc_init): Fix typo in error message.
* config/i386/i386.c (ix86_expand_builtin): Likewise.
(split_stack_prologue_scratch_regno): Likewise.
* fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
word from error message.

From-SVN: r210526

10 years agoira-costs.c: Fix typo in comment.
Zhouyi Zhou [Fri, 16 May 2014 18:22:44 +0000 (18:22 +0000)]
ira-costs.c: Fix typo in comment.

2014-05-16  Zhouyi Zhou <yizhouzhou@ict.ac.cn>

        * ira-costs.c: Fix typo in comment.

From-SVN: r210525

10 years agoextend.texi: (Visibility Pragmas) Fix misplaced @xref
David Wohlferd [Fri, 16 May 2014 18:20:38 +0000 (18:20 +0000)]
extend.texi: (Visibility Pragmas) Fix misplaced @xref

2014-05-14  David Wohlferd <dw@LimeGreenSocks.com>

 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref

From-SVN: r210524

10 years agovarpool.c (dump_varpool_node): Dump write-only flag.
Jan Hubicka [Fri, 16 May 2014 17:49:06 +0000 (19:49 +0200)]
varpool.c (dump_varpool_node): Dump write-only flag.

* varpool.c (dump_varpool_node): Dump write-only flag.
* lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
write-only flag.
* tree-cfg.c (execute_fixup_cfg): Remove statements setting write-only variables.

* gcc.c-torture/execute/20101011-1.c: Update testcase.
* gcc.dg/ira-shrinkwrap-prep-1.c: Update testcase.
* gcc.dg/tree-ssa/writeonly.c: New testcase.
* gcc.dg/tree-ssa/ssa-dse-6.c: Update testcase.
* gcc.dg/tree-ssa/pr21559.c: Update testcase.
* gcc.dg/debug/pr35154.c: Update testcase.
* gcc.target/i386/vectorize1.c: Update testcase.
* ipa.c (process_references): New function.
(set_readonly_bit): New function.
(set_writeonly_bit): New function.
(clear_addressable_bit): New function.
(ipa_discover_readonly_nonaddressable_var): Mark write only variables; fix
handling of aliases.
* cgraph.h (struct varpool_node): Add writeonly flag.

From-SVN: r210522

10 years agore PR c++/51640 (Misleading error if the type in the catch() is ambiguous)
Paolo Carlini [Fri, 16 May 2014 17:42:23 +0000 (17:42 +0000)]
re PR c++/51640 (Misleading error if the type in the catch() is ambiguous)

/cp
2014-05-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51640
* parser.c (cp_parser_diagnose_invalid_type_name): Early return
when cp_parser_lookup_name sets ambiguous_decls.

/testsuite
2014-05-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51640
* g++.dg/parse/error54.C: New.

From-SVN: r210521

10 years agore PR rtl-optimization/60969 (ICE in output_129 in MMXMOV of mode MODE_SF for march...
Vladimir Makarov [Fri, 16 May 2014 17:37:17 +0000 (17:37 +0000)]
re PR rtl-optimization/60969 (ICE in output_129 in MMXMOV of mode MODE_SF for march=pentium4)

2014-05-16  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/60969
* ira-costs.c (record_reg_classes): Allow only memory for pseudo.
Calculate costs for this case.

2014-05-16  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/60969
* g++.dg/pr60969.C: New.

From-SVN: r210520

10 years agofold-const (fold_unary_loc): New case.
Eric Botcazou [Fri, 16 May 2014 16:59:38 +0000 (16:59 +0000)]
fold-const (fold_unary_loc): New case.

* fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
<CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.

From-SVN: r210518

10 years agotypedefs-1.cc: Fix test for 32-bit target.
Jonathan Wakely [Fri, 16 May 2014 14:55:45 +0000 (15:55 +0100)]
typedefs-1.cc: Fix test for 32-bit target.

* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
test for 32-bit target.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
Fix test.

From-SVN: r210517

10 years agore PR libstdc++/60758 (Infinite backtrace in __cxa_end_cleanup)
Alexey Merzlyakov [Fri, 16 May 2014 13:16:33 +0000 (13:16 +0000)]
re PR libstdc++/60758 (Infinite backtrace in  __cxa_end_cleanup)

2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>

PR libstdc++/60758
* libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
and add unwind directives.

From-SVN: r210515

10 years agore PR tree-optimization/61194 (vectorization failed with "bit-precision arithmetic...
Richard Biener [Fri, 16 May 2014 11:21:11 +0000 (11:21 +0000)]
re PR tree-optimization/61194 (vectorization failed with "bit-precision arithmetic not supported" even if conversion to int is requested)

2014-05-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61194
* tree-vect-patterns.c (adjust_bool_pattern): Also handle
bool patterns ending in a COND_EXPR.

* gcc.dg/vect/pr61194.c: New testcase.

From-SVN: r210514

10 years agoparse_numbers.h (__parse_int::_Number_help): Check for overflow.
Jonathan Wakely [Fri, 16 May 2014 11:08:49 +0000 (12:08 +0100)]
parse_numbers.h (__parse_int::_Number_help): Check for overflow.

* include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
overflow.
* include/std/chrono (chrono_literals::__select_type::_Select_type):
Remove.
(chrono_literals::_Checked_integral_constant): Define.
Simplify UDL operator templates and check for overflow.
* testsuite/20_util/duration/literals/range.cc: New.

From-SVN: r210513

10 years ago[AArch64 costs] Fixup to costing of FNMUL
James Greenhalgh [Fri, 16 May 2014 10:15:54 +0000 (10:15 +0000)]
[AArch64 costs] Fixup to costing of FNMUL

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.

From-SVN: r210512

10 years agore PR libstdc++/61166 (overflow when parse number in std::duration operator"")
Ed Smith-Rowland [Fri, 16 May 2014 09:30:57 +0000 (09:30 +0000)]
re PR libstdc++/61166 (overflow when parse number in std::duration operator"")

2014-05-15  Ed Smith-Rowland  <3dw4rd@verizon.net>
    Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/61166
* include/bits/parse_numbers.h: Use integral_constant to remove
duplication and simplify.
* testsuite/20_util/duration/literals/61166.cc: New.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r210511

10 years ago[AArch64 costs 18/18] Dump a message if we are unable to cost an insn.
James Greenhalgh [Fri, 16 May 2014 09:27:55 +0000 (09:27 +0000)]
[AArch64 costs 18/18] Dump a message if we are unable to cost an insn.

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
where we were unable to cost an RTX.

From-SVN: r210510

10 years ago[AArch64 costs 17/18] Cost for SYMBOL_REF, HIGH and LO_SUM
James Greenhalgh [Fri, 16 May 2014 09:25:48 +0000 (09:25 +0000)]
[AArch64 costs 17/18] Cost for SYMBOL_REF, HIGH and LO_SUM

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
HIGH, LO_SUM.

From-SVN: r210509

10 years ago[AArch64 costs 16/18] Cost TRUNCATE
James Greenhalgh [Fri, 16 May 2014 09:23:28 +0000 (09:23 +0000)]
[AArch64 costs 16/18] Cost TRUNCATE

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.

Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r210508

10 years ago[AArch64 costs 15/18] Cost more Floating point RTX.
James Greenhalgh [Fri, 16 May 2014 09:20:22 +0000 (09:20 +0000)]
[AArch64 costs 15/18] Cost more Floating point RTX.

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.

Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r210507

10 years ago[AArch64 costs 14/18] Cost comparisons, flag setting operators and IF_THEN_ELSE
James Greenhalgh [Fri, 16 May 2014 09:16:23 +0000 (09:16 +0000)]
[AArch64 costs 14/18] Cost comparisons, flag setting operators and IF_THEN_ELSE

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
operators.

Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r210506

10 years ago[AArch64 costs 13/18] Improve costs for div/mod
James Greenhalgh [Fri, 16 May 2014 09:12:14 +0000 (09:12 +0000)]
[AArch64 costs 13/18] Improve costs for div/mod

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
DIV/MOD.

Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r210505

10 years ago[AArch64 costs 12/18] Improve costs for sign/zero extracts
James Greenhalgh [Fri, 16 May 2014 09:07:34 +0000 (09:07 +0000)]
[AArch64 costs 12/18] Improve costs for sign/zero extracts

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
SIGN/ZERO_EXTRACT.

Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r210504

10 years ago[AArch64 costs 11/18] Improve costs for rotate and shift operations.
James Greenhalgh [Fri, 16 May 2014 09:03:19 +0000 (09:03 +0000)]
[AArch64 costs 11/18] Improve costs for rotate and shift operations.

* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
rotates and shifts.

Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r210503

10 years ago[AArch64 costs 10/18] Improve costs for sign/zero extend operations
James Greenhalgh [Fri, 16 May 2014 09:01:28 +0000 (09:01 +0000)]
[AArch64 costs 10/18] Improve costs for sign/zero extend operations

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
ZERO_EXTEND and SIGN_EXTEND better.

Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r210502

10 years ago[AArch64 costs 9/18] Better cost logical operations
James Greenhalgh [Fri, 16 May 2014 08:59:07 +0000 (08:59 +0000)]
[AArch64 costs 9/18] Better cost logical operations

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
logical operations.

Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r210501

10 years ago[AArch64 costs 8/18] Cost memory accesses using address costs
James Greenhalgh [Fri, 16 May 2014 08:56:54 +0000 (08:56 +0000)]
[AArch64 costs 8/18] Cost memory accesses using address costs

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
costs when costing loads and stores to memory.

Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r210500

10 years ago[AArch64 costs 7/18] Improve SET cost.
James Greenhalgh [Fri, 16 May 2014 08:55:04 +0000 (08:55 +0000)]
[AArch64 costs 7/18] Improve SET cost.

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
for SET RTX.

Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r210499

10 years ago[AArch64 costs 6/18] Set default costs and handle vector modes.
James Greenhalgh [Fri, 16 May 2014 08:52:30 +0000 (08:52 +0000)]
[AArch64 costs 6/18] Set default costs and handle vector modes.

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.

From-SVN: r210498

10 years ago[AArch64 costs 5/18] Factor out common MULT cases
James Greenhalgh [Fri, 16 May 2014 08:50:51 +0000 (08:50 +0000)]
[AArch64 costs 5/18] Factor out common MULT cases

gcc/

* config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
to...
(aarch64_strip_extend): ...this, don't strip shifts, check RTX is
well formed.
(aarch64_rtx_mult_cost): New.
(aarch64_rtx_costs): Use it, refactor as appropriate.

Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r210497

10 years ago[AArch64 costs 4/18] Better estimate cost of building a constant
James Greenhalgh [Fri, 16 May 2014 08:47:59 +0000 (08:47 +0000)]
[AArch64 costs 4/18] Better estimate cost of building a constant

gcc/

* config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
emit instructions, return number of instructions which would
be emitted.
(aarch64_add_constant): Update call to aarch64_build_constant.
(aarch64_output_mi_thunk): Likewise.
(aarch64_rtx_costs): Estimate cost of a CONST_INT, cost
a CONST_DOUBLE.

Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
From-SVN: r210496

10 years ago[AArch64 costs 3/18] Wrap aarch64_rtx_costs to dump verbose output
James Greenhalgh [Fri, 16 May 2014 08:45:39 +0000 (08:45 +0000)]
[AArch64 costs 3/18] Wrap aarch64_rtx_costs to dump verbose output

gcc/

* config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
(TARGET_RTX_COSTS): Call it.

From-SVN: r210495

10 years ago[AArch64 costs 2/18] Add cost tables for Cortex-A57
James Greenhalgh [Fri, 16 May 2014 08:43:51 +0000 (08:43 +0000)]
[AArch64 costs 2/18] Add cost tables for Cortex-A57

gcc/

* config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
(cortexa57_vector_cost): Likewise.
(cortexa57_tunings): Use them.

From-SVN: r210494

10 years ago[AArch64 costs 1/18] Refactor aarch64_address_costs.
James Greenhalgh [Fri, 16 May 2014 08:41:46 +0000 (08:41 +0000)]
[AArch64 costs 1/18] Refactor aarch64_address_costs.

gcc/

* config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
(cpu_addrcost_table): Use it.
* config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
(aarch64_address_cost): Rewrite using aarch64_classify_address,
move it.

From-SVN: r210493

10 years agotree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
Richard Biener [Fri, 16 May 2014 08:05:50 +0000 (08:05 +0000)]
tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.

2014-05-16  Richard Biener  <rguenther@suse.de>

* tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
(set_ssa_val_to): Handle unexpected sets to VN_TOP.
(visit_phi): Ignore edges marked as not executable.
(class cond_dom_walker): New.
(cond_dom_walker::before_dom_children): Value-number
control statements and mark successor edges as not
executable if possible.
(run_scc_vn): First walk all control statements in
dominator order, marking edges as not executable.
* tree-inline.c (copy_edges_for_bb): Be not confused
about random edge flags.

* gcc.dg/tree-ssa/ssa-fre-39.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-40.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-8.c: One more elimination.
* gcc.dg/tree-ssa/struct-aliasing-2.c: Scan cddce1 dump.

From-SVN: r210492

10 years agotree-ssa-sccvn.c (visit_use): Also constant-fold calls.
Richard Biener [Fri, 16 May 2014 07:57:46 +0000 (07:57 +0000)]
tree-ssa-sccvn.c (visit_use): Also constant-fold calls.

2014-05-16  Richard Biener  <rguenther@suse.de>

* tree-ssa-sccvn.c (visit_use): Also constant-fold calls.

* gcc.dg/tree-ssa/ssa-fre-41.c: New testcase.

From-SVN: r210491

10 years agore PR target/61193 (ABI incompatibility between POWER and Z HTM builtins and intrinsics)
Peter Bergner [Fri, 16 May 2014 03:43:12 +0000 (22:43 -0500)]
re PR target/61193 (ABI incompatibility between POWER and Z HTM builtins and intrinsics)

PR target/61193
* config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
(__TM_simple_begin): Use it.
(__TM_begin): Likewise.

From-SVN: r210486

10 years agoDaily bump.
GCC Administrator [Fri, 16 May 2014 00:17:08 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r210484

10 years agoFix typo in my name.
Jonathan Wakely [Thu, 15 May 2014 19:12:04 +0000 (20:12 +0100)]
Fix typo in my name.

From-SVN: r210479

10 years agore PR ipa/61085 (wrong code with -O2 -fno-early-inlining (maybe wrong devirtualization))
Martin Jambor [Thu, 15 May 2014 15:04:18 +0000 (17:04 +0200)]
re PR ipa/61085 (wrong code with -O2 -fno-early-inlining (maybe wrong devirtualization))

2014-05-15  Martin Jambor  <mjambor@suse.cz>

PR ipa/61085
* ipa-prop.c (update_indirect_edges_after_inlining): Check
type_preserved flag when the indirect edge is polymorphic.

testsuite/
* g++.dg/ipa/pr61085.C: New test.

From-SVN: r210477

10 years agore PR tree-optimization/61090 (ICE in build_ref_for_offset)
Martin Jambor [Thu, 15 May 2014 14:54:29 +0000 (16:54 +0200)]
re PR tree-optimization/61090 (ICE in build_ref_for_offset)

2014-05-15  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/61090
* tree-sra.c (sra_modify_expr): Pass the current gsi to
build_ref_for_model.

testsuite/
* gcc.dg/tree-ssa/pr61090.c: New test.

From-SVN: r210476

10 years ago* call.c (print_conversion_rejection): Use loc consistently.
Jason Merrill [Thu, 15 May 2014 12:52:35 +0000 (08:52 -0400)]
* call.c (print_conversion_rejection): Use loc consistently.

From-SVN: r210475

10 years agore PR libstdc++/60326 (Incorrect type from std::make_unsigned<wchar_t>)
Jonathan Wakely [Thu, 15 May 2014 12:31:05 +0000 (13:31 +0100)]
re PR libstdc++/60326 (Incorrect type from std::make_unsigned<wchar_t>)

PR libstdc++/60326
* include/std/type_traits (__make_unsigned, __make_signed): Define
specializations for wchar_t, char16_t and char32_t.
* testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
test for make_unsigned<volatile wchar_t>.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.

From-SVN: r210473

10 years ago[ARM][cleanup] Use enum name instead of integer value for PARAM_SCHED_PRESSURE_ALGORITHM.
Kyrylo Tkachov [Thu, 15 May 2014 11:23:02 +0000 (11:23 +0000)]
[ARM][cleanup] Use enum name instead of integer value for PARAM_SCHED_PRESSURE_ALGORITHM.

* config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
enum name for PARAM_SCHED_PRESSURE_ALGORITHM.

From-SVN: r210471

10 years agotuple (tuple_size<cv _Tp>): Implement LWG 2313.
Jonathan Wakely [Thu, 15 May 2014 10:35:29 +0000 (11:35 +0100)]
tuple (tuple_size<cv _Tp>): Implement LWG 2313.

* include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
* include/std/array (tuple_size, tuple_element): Add Doxygen comments.
* include/std/utility (tuple_size, tuple_element): Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Adjust dg-error line number.

From-SVN: r210470

10 years agore PR middle-end/61158 (negative shift at fold-const.c:12095)
Jakub Jelinek [Thu, 15 May 2014 10:01:11 +0000 (12:01 +0200)]
re PR middle-end/61158 (negative shift at fold-const.c:12095)

PR tree-optimization/61158
* fold-const.c (fold_binary_loc): If X is zero-extended and
shiftc >= prec, make sure zerobits is all ones instead of
invoking undefined behavior.

* gcc.dg/pr61158.c: New test.

From-SVN: r210467

10 years agoCheck for -static-libgcc before use (PR lto/60981)
Rainer Orth [Thu, 15 May 2014 09:52:37 +0000 (09:52 +0000)]
Check for -static-libgcc before use (PR lto/60981)

PR lto/60981
* configure.ac: Check for -static-libgcc.
* configure: Regenerate.

From-SVN: r210465

10 years agoexceptions-3.mm: Remove check for message no longer emitted.
Andreas Schwab [Thu, 15 May 2014 09:34:27 +0000 (09:34 +0000)]
exceptions-3.mm: Remove check for message no longer emitted.

* obj-c++.dg/exceptions-3.mm: Remove check for message no longer
emitted.
* obj-c++.dg/exceptions-5.mm: Likewise.

From-SVN: r210464

10 years agoregcprop.h: New file.
Zhenqiang Chen [Thu, 15 May 2014 06:54:48 +0000 (06:54 +0000)]
regcprop.h: New file.

2014-05-15  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* regcprop.h: New file.
* regcprop.c (skip_debug_insn_p): New decl.
(replace_oldest_value_reg): Check skip_debug_insn_p.
(copyprop_hardreg_forward_bb_without_debug_insn.): New function.
* shrink-wrap.c: include regcprop.h
(prepare_shrink_wrap):
Call copyprop_hardreg_forward_bb_without_debug_insn.

testsuite/ChangeLog:
2014-05-15  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* shrink-wrap-loop.c: New test case.

From-SVN: r210458

10 years agoshrink-wrap.h: Update comment.
Zhenqiang Chen [Thu, 15 May 2014 06:30:58 +0000 (06:30 +0000)]
shrink-wrap.h: Update comment.

2014-05-15  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* shrink-wrap.h: Update comment.
* shrink-wrap.c: Update comment.
(next_block_for_reg): Rename to live_edge_for_reg.
(live_edge_for_reg): Allow live_edge->dest has two predecessors.
(move_insn_for_shrink_wrap): Split live_edge.
(prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.

From-SVN: r210457

10 years agoDaily bump.
GCC Administrator [Thu, 15 May 2014 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r210455

10 years agoconfigure.ac (target_makefile_frag): Set for nios2-*-elf*.
Sandra Loosemore [Wed, 14 May 2014 23:20:59 +0000 (19:20 -0400)]
configure.ac (target_makefile_frag): Set for nios2-*-elf*.

2014-05-14  Sandra Loosemore  <sandra@codesourcery.com>

* configure.ac (target_makefile_frag): Set for nios2-*-elf*.
* configure: Regenerated.

config/
* mt-nios2-elf: New file.

From-SVN: r210451