1. 30 Mar, 2013 9 commits
    • In dse.c, remove alias hash tables that are never set. · 4b943a49
      Remove conditions that are then never true.
      Remove functions that are then never called.
      Remove variables that are then never read.
      
      
      Index: gcc/ChangeLog
      
      2013-03-29  Lawrence Crowl  <crowl@google.com>
      
      	* dse.c (clear_alias_sets): Remove never set.
      	(disqualified_clear_alias_sets): Remove never set.
      	(clear_alias_mode_pool): Remove never set.
      	(dse_step0): Remove condition that is never true.
      	(canon_address): Remove condition that is never true.
      	(dse_step7): Remove condition that is never true.
      	(rest_of_handle_dse): Remove condition that is never true.
      	(rest_of_handle_dse::did_global): Remove never read from above.
      	(dse_step2_spill): Remove never called from above.
      	(dse_step5_spill): Remove never called from above.
      
      From-SVN: r197272
      Lawrence Crowl committed
    • * vi.po: Update. · 624e9b1f
      From-SVN: r197270
      Joseph Myers committed
    • md.texi (Standard Names): Update documentation for JUMP_TABLE_DATA changes. · da5c6bde
      
      	* doc/md.texi (Standard Names) <casesi>: Update documentation for
      	JUMP_TABLE_DATA changes.
      	* doc/tm.texi.in (Dispatch Tables) <ASM_OUTPUT_CASE_LABEL>: Likewise.
      	* doc/rtl.texi (Flags) <INSN_DELETED_P, SCHED_GROUP_P>: Likewise.
      	(Insns) <jump_table_data>: New entry.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r197267
      Steven Bosscher committed
    • cfgrtl.c (fixup_reorder_chain): Do not emit barriers to BB_FOOTER. · 39718607
      
      	* cfgrtl.c (fixup_reorder_chain): Do not emit barriers to BB_FOOTER.
      
      	* postreload-gcse.c (bb_has_well_behaved_predecessors): Correct test
      	for table jump at the end of a basic block using tablejump_p.
      	* targhooks.c (default_invalid_within_doloop): Likewise.
      	* config/rs6000/rs6000.c (TARGET_INVALID_WITHIN_DOLOOP): Remove
      	target hook implementation that is identical to the default hook.
      	(rs6000_invalid_within_doloop): Remove.
      
      	* bb-reorder.c (fix_crossing_unconditional_branches): Remove set but
      	unused variable from tablejump_p call.
      
      	* rtl.def (JUMP_TABLE_DATA): New RTX_INSN object.
      	* rtl.h (RTX_PREV, RTX_NEXT): Adjust for new JUMP_TABLE_DATA.
      	(INSN_DELETED_P): Likewise.
      	(emit_jump_table_data): New prototype.
      	* gengtype.c (adjust_field_rtx_def): Handle JUMP_TABLE_DATA fields
      	after 4th as unused.
      	* print-rtl.c (print_rtl): Handle JUMP_TABLE_DATA.
      	* sched-vis.c (print_insn): Likewise.
      	* emit-rtl.c (active_insn_p): Consider JUMP_TABLE_DATA an active
      	insn for compatibility with back ends that use next_active_insn to
      	identify jump table data.
      	(set_insn_deleted): Remove no longer useful JUMP_TABLE_DATA_P check.
      	(remove_insn): Likewise.
      	(emit_insn): Do not accept JUMP_TABLE_DATA objects in insn chains
      	to be emitted.
      	(emit_debug_insn, emit_jump_insn, emit_call_insn, emit_label): Idem.
      	(emit_jump_table_data): New function.
      
      	* cfgbuild.c (inside_basic_block_p): A JUMP_INSN is always inside a
      	basic block, a JUMP_TABLE_DATA never is.
      	(control_flow_insn_p): JUMP_TABLE_DATA is not a control flow insn.
      	* cfgrtl.c (duplicate_insn_chain): Split handling of JUMP_TABLE_DATA
      	off from code handling real insns.
      	* final.c (get_attr_length_1): Simplify for JUMP_INSNs.
      	* function.c (instantiate_virtual_regs): Remove JUMP_TABLE_DATA_P
      	test, now redundant because JUMP_TABLE_DATA is not an INSN_P insn.
      	* gcse.c (insert_insn_end_basic_block): Likewise, JUMP_TABLE_DATA_P
      	is not a NONDEBUG_INSN_P.
      	* ira-costs.c (scan_one_insn): Likewise.
      	* jump.c (mark_all_labels): Likewise.
      	(mark_jump_label_1): Likewise.
      	* lra-eliminations.c (eliminate_regs_in_insn): Likewise.
      	* lra.c (get_insn_freq): Expect all insns reaching here to be in
      	a basic block.
      	(check_rtl): Remove JUMP_TABLE_DATA_P test, not a NONDEBUG_INSN_P insn.
      	* predict.c (expensive_function_p): Use FOR_BB_INSNS.
      	* reload1.c (calculate_needs_all_insns): Call set_label_offsets for
      	JUMP_TABLE_DATA_P insns.
      	(calculate_elim_costs_all_insns): Likewise.
      	(set_label_offsets): Recurse on the PATTERN of JUMP_TABLE_DATA insns.
      	(elimination_costs_in_insn): Remove redundant JUMP_TABLE_DATA_P test.
      	(delete_output_reload): Code style fixups.
      	* reorg.c (dbr_schedule): Move JUMP_TABLE_DATA_P up to avoid setting
      	insn flags on this non-insn.
      	* sched-rgn.c (add_branch_dependences): Treat JUMP_TABLE_DATA insns
      	as scheduling barriers, for pre-change compatibility.
      	* stmt.c (emit_case_dispatch_table): Emit jump table data not as
      	JUMP_INSN objects but instead as JUMP_TABLE_DATA objects.
      
      	* config/alpha/alpha.c (alpha_does_function_need_gp): Remove
      	redundant JUMP_TABLE_DATA_P test.
      	* config/arm/arm.c (thumb_far_jump_used_p): Likewise.
      	* config/frv/frv.c (frv_function_contains_far_jump): Likewise.
      	(frv_for_each_packet): Likewise.
      	* config/i386/i386.c (min_insn_size): Likewise.
      	(ix86_avoid_jump_mispredicts): Likewise.
      	* config/m32r/m32r.c (m32r_is_insn): Likewise.
      	* config/mep/mep.c (mep_reorg_erepeat): Likewise.
      	* config/mips/mips.c (USEFUL_INSN_P): Likewise.
      	(mips16_insn_length): Robustify.
      	(mips_has_long_branch_p): Remove redundant JUMP_TABLE_DATA_P test.
      	(mips16_split_long_branches): Likewise.
      	* config/pa/pa.c (pa_combine_instructions): Likewise.
      	* config/rs6000/rs6000.c (get_next_active_insn): Treat
      	JUMP_TABLE_DATA objects as active insns, like in active_insn_p.
      	* config/s390/s390.c (s390_chunkify_start): Treat JUMP_TABLE_DATA
      	as contributing to pool range lengths.
      	* config/sh/sh.c (find_barrier): Restore check for ADDR_DIFF_VEC.
      	Remove redundant JUMP_TABLE_DATA_P test.
      	(sh_loop_align): Likewise.
      	(split_branches): Likewise.
      	(sh_insn_length_adjustment): Likewise.
      	* config/spu/spu.c (get_branch_target): Likewise.
      
      From-SVN: r197266
      Steven Bosscher committed
    • Makefile.def (target_modules): Don't install libffi. · 6ab7e76a
      2013-03-30  Matthias Klose  <doko@ubuntu.com>
      
              * Makefile.def (target_modules): Don't install libffi.
              * Makefile.in: Regenerate.
      
      From-SVN: r197264
      Matthias Klose committed
    • ChangeLog: Add commit message from rev. · 244fdda0
      2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* fortran/ChangeLog:  Add commit message from rev. 197261
      	* testsuite/ChangeLog:  Likewise.
      
      From-SVN: r197262
      Thomas Koenig committed
    • trans-expr.c (build_memcmp_call): New function. · 01446eb8
      2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* trans-expr.c (build_memcmp_call):  New function.
      	(gfc_build_compare_string):  If the strings
      	compared have constant and equal lengths and
      	the strings are kind=1, or, for kind=4 strings,
      	the test is for (in)equality, use memcmp().
      
      2013-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* gfortran.dg/character_comparison_3.f90:  Adjust for use of memcmp
      	for constant and equal string lengths.
      	* gfortran.dg/character_comparison_5.f90:  Likewise.
      	* gfortran.dg/character_comparison_9.f90:  New test.
      
      From-SVN: r197261
      Thomas Koenig committed
    • pt.c (template_parms_to_args): Fix typo in comment. · 03295121
      	* pt.c (template_parms_to_args): Fix typo in comment.
      
      From-SVN: r197259
      Gabriel Dos Reis committed
    • Daily bump. · 33c22f4a
      From-SVN: r197257
      GCC Administrator committed
  2. 29 Mar, 2013 17 commits
    • call.c (build_op_call_1): Use TYPE_PTRFN_P and TYPE_REFFN_P. · 5950480c
      2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* call.c (build_op_call_1): Use TYPE_PTRFN_P and TYPE_REFFN_P.
      
      From-SVN: r197253
      Paolo Carlini committed
    • re PR fortran/35203 (OPTIONAL, VALUE actual argument cannot be an INTEGER 0) · 60f97ac8
      2013-03-29  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/35203
              * trans-decl.c (create_function_arglist): Pass hidden argument
              for passed-by-value optional+value dummies.
              * trans-expr.c (gfc_conv_expr_present,
              gfc_conv_procedure_call): Handle those.
      
      2013-03-29  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/35203
              * gfortran.dg/optional_absent_3.f90: New.
      
      From-SVN: r197252
      Tobias Burnus committed
    • call.c (add_builtin_candidate): Use TYPE_PTR_P and VOID_TYPE_P. · 50e10fa8
      2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* call.c (add_builtin_candidate): Use TYPE_PTR_P and VOID_TYPE_P.
      	(build_op_call_1): Likewise.
      	(build_over_call): Likewise.
      	(compare_ics): Likewise.
      	* class.c (build_base_path): Likewise.
      	(resolve_address_of_overloaded_function): Likewise.
      	* cp-tree.h: Likewise.
      	* cvt.c (cp_convert_to_pointer): Likewise.
      	(convert_to_reference): Likewise.
      	(ocp_convert): Likewise.
      	(convert_force): Likewise, tidy.
      	* cxx-pretty-print.c (pp_cxx_postfix_expression): Likewise.
      	(pp_cxx_ptr_operator): Likewise.
      	* decl.c (duplicate_decls): Likewise.
      	(start_decl): Likewise.
      	(grok_op_properties): Likewise.
      	(start_preparsed_function): Likewise.
      	(store_parm_decls): Likewise.
      	(finish_function): Likewise.
      	* decl2.c (delete_sanity): Likewise.
      	(acceptable_java_type): Likewise.
      	(grokbitfield): Likewise.
      	(cp_reconstruct_complex_type): Likewise.
      	* error.c (dump_type_prefix): Likewise.
      	(dump_expr): Likewise.
      	* except.c (push_eh_cleanup): Likewise.
      	(complete_ptr_ref_or_void_ptr_p): Likewise.
      	(can_convert_eh): Likewise.
      	* init.c (build_new_1): Likewise.
      	(build_delete): Likewise.
      	(build_vec_delete): Likewise.
      	* mangle.c (write_type): Likewise.
      	* parser.c (lookup_literal_operator): Likewise.
      	* pt.c (convert_nontype_argument_function): Likewise.
      	(convert_nontype_argument): Likewise.
      	(tsubst): Likewise.
      	(unify): Likewise.
      	(dependent_type_p_r): Likewise.
      	* rtti.c (build_headof): Likewise.
      	(build_typeid): Likewise.
      	(build_dynamic_cast_1): Likewise.
      	(target_incomplete_p): Likewise.
      	(typeinfo_in_lib_p): Likewise.
      	* semantics.c (finish_omp_for): Likewise.
      	(cxx_eval_call_expression): Likewise.
      	(maybe_resolve_dummy): Likewise.
      	* tree.c (build_target_expr): Likewise.
      	(cp_build_qualified_type_real): Likewise.
      	* typeck.c (composite_pointer_type_r): Likewise.
      	(composite_pointer_type): Likewise.
      	(comp_except_types): Likewise.
      	(cxx_sizeof_nowarn): Likewise.
      	(string_conv_p): Likewise.
      	(cp_build_array_ref): Likewise.
      	(cp_build_function_call_vec): Likewise, also use TYPE_PTRFN_P.
      	(pointer_diff): Likewise.
      	(cp_build_addr_expr_1): Likewise.
      	(cp_build_unary_op): Likewise.
      	(build_static_cast_1): Likewise.
      	(cp_build_c_cast): Likewise.
      	(comp_ptr_ttypes_real): Likewise.
      	(ptr_reasonably_similar): Likewise.
      	(comp_ptr_ttypes_const): Likewise.
      	(casts_away_constness): Likewise.
      	(check_literal_operator_args): Likewise.
      	* typeck2.c (build_x_arrow): Likewise.
      	(add_exception_specifier): Likewise.
      
      From-SVN: r197249
      Paolo Carlini committed
    • cp-tree.h (AUTO_IS_DECLTYPE): New. · 10c6dc8e
      	N3582
      	* cp-tree.h (AUTO_IS_DECLTYPE): New.
      	* parser.c (cp_parser_decltype): Handle decltype(auto).
      	(cp_parser_type_id_1): Allow auto without a late-specified
      	return in C++1y.
      	(cp_parser_primary_expression): Use the return value of
      	finish_parenthesized_expr.
      	(cp_parser_transaction_expression): Likewise.
      	* semantics.c (force_paren_expr): New.
      	(finish_parenthesized_expr): Use it.
      	* call.c (build_conditional_expr_1): Likewise.
      	* pt.c (do_auto_deduction): Handle decltype(auto).
      	(tsubst_copy): Handle PAREN_EXPR.
      	(tsubst_copy_and_build): Likewise.
      	* error.c (dump_expr): Handle PAREN_EXPR.
      	* cxx-pretty-print.c (pp_cxx_expression): Likewise.
      	* mangle.c (write_expression): Ignore PAREN_EXPR.
      
      	* parser.c (cp_parser_decltype_expr): Split out...
      	(cp_parser_decltype): ...from here.
      
      From-SVN: r197248
      Jason Merrill committed
    • parser.c (cp_parser_decltype_expr): Split out... · 15914ac8
      	* parser.c (cp_parser_decltype_expr): Split out...
      	(cp_parser_decltype): ...from here.
      
      From-SVN: r197247
      Jason Merrill committed
    • re PR c++/56774 (G++ 4.8 reverses variadic template types during unpacking) · 4185fb73
      	PR c++/56774
      	PR c++/35722
      	* pt.c (unify_pack_expansion): Fix indexing.
      
      From-SVN: r197244
      Jason Merrill committed
    • lto-cgraph.c (output_profile_summary, [...]): Use gcov streaming; stream hot bb… · 0208f7da
      lto-cgraph.c (output_profile_summary, [...]): Use gcov streaming; stream hot bb threshold to ltrans.
      
      
      	* lto-cgraph.c (output_profile_summary, input_profile_summary): Use
      	gcov streaming; stream hot bb threshold to ltrans.
      	* predict.c (get_hot_bb_threshold): Break out from ....
      	(maybe_hot_count_p): ... here.
      	(set_hot_bb_threshold): New function.
      	* lto-section-in.c (lto_section_name): Add profile.
      	* profile.h (get_hot_bb_threshold, set_hot_bb_threshold): Declare.
      	* ipa.c: Include hash-table.h, tree-inline.h, profile.h, lto-streamer.h
      	and data-streamer.h
      	(histogram_entry): New structure.
      	(histogram, histogram_pool): New global vars.
      	(histogram_hash): New structure.
      	(histogram_hash::hash): New method.
      	(histogram_hash::equal): Likewise.
      	(account_time_size): New function.
      	(cmp_counts): New function.
      	(dump_histogram): New function.
      	(ipa_profile_generate_summary): New function.
      	(ipa_profile_write_summary): New function.
      	(ipa_profile_read_summary): New function.
      	(ipa_profile): Decide on threshold.
      	(pass_ipa_profile): Add ipa_profile_write_summary and ipa_profile_read_summary.
      	* Makefile.in (ipa.o): Update dependencies.
      	* lto-streamer.h (LTO_section_ipa_profile): New section.
      
      From-SVN: r197243
      Jan Hubicka committed
    • tree.h (VAR_P): New. · 5a6ccc94
      	* tree.h (VAR_P): New.
      cp/
      	* call.c (build_java_interface_fn_ref): Likewise.
      	(make_temporary_var_for_ref_to_temp): Likewise.
      	* class.c (check_field_decls): Likewise.
      	(layout_class_type): Likewise.
      	(finish_struct_1): Likewise.
      	(fixed_type_or_null): Likewise.
      	(get_vtbl_decl_for_binfo): Likewise.
      	* cp-gimplify.c (omp_var_to_track): Likewise.
      	(cp_genericize_r): Likewise.
      	* cp-objcp-common.c (cxx_warn_unused_global_decl): Likewise.
      	* cp-tree.h (LANG_DECL_HAS_MIN): Likewise.
      	(DECL_DISCRIMINATOR_P): Likewise.
      	* decl.c (poplevel): Likewise.
      	(decls_match): Likewise.
      	(duplicate_decls): Likewise.
      	(decl_jump_unsafe): Likewise.
      	(start_decl): Likewise.
      	(check_for_uninitialized_const_var): Likewise.
      	(make_rtl_for_nonlocal_decl): Likewise.
      	(cp_finish_decl): Likewise.
      	(expand_static_init): Likewise.
      	(local_variable_p): Likewise.
      	(maybe_register_incomplete_var): Likewise.
      	* decl2.c (grokfield): Likewise.
      	(comdat_linkage): Likewise.
      	(determine_visibility): Likewise.
      	(import_export_decl): Likewise.
      	(prune_vars_needing_no_initialization): Likewise.
      	(decl_maybe_constant_var_p): Likewise.
      	* error.c (dump_simple_decl): Likewise.
      	(dump_template_decl): Likewise.
      	(cp_printer): Likewise.
      	* except.c (build_throw): Likewise.
      	* init.c (build_vtbl_address): Likewise.
      	(member_init_ok_or_else): Likewise.
      	(build_aggr_init): Likewise.
      	(expand_aggr_init_1): Likewise.
      	(build_offset_ref): Likewise.
      	(constant_value_1): Likewise.
      	* mangle.c (write_mangled_name): Likewise.
      	(write_prefix): Likewise.
      	* name-lookup.c (supplement_binding_1): Likewise.
      	(add_decl_to_level): Likewise.
      	(pushdecl_maybe_friend_1): Likewise.
      	(check_for_out_of_scope_variable): Likewise.
      	(validate_nonmember_using_decl): Likewise.
      	(lookup_name_innermost_nonclass_level_1): Likewise.
      	(lookup_arg_dependent_1): Likewise.
      	* parser.c (cp_parser_lambda_introducer): Likewise.
      	(cp_parser_template_argument): Likewise.
      	(cp_parser_single_declaration): Likewise.
      	* pt.c (convert_nontype_argument): Likewise.
      	(instantiate_class_template_1): Likewise.
      	(tsubst_decl): Likewise.
      	(tsubst_expr): Likewise.
      	(do_decl_instantiation): Likewise.
      	(do_type_instantiation): Likewise.
      	(regenerate_decl_from_template): Likewise.
      	(always_instantiate_p): Likewise.
      	(instantiate_decl): Likewise.
      	(type_dependent_expression_p): Likewise.
      	(build_non_dependent_expr): Likewise.
      	* repo.c (repo_emit_p): Likewise.
      	* rtti.c (build_dynamic_cast_1): Likewise.
      	* search.c (shared_member_p): Likewise.
      	* semantics.c (outer_var_p): Likewise.
      	(finish_id_expression): Likewise.
      	(finish_omp_clauses): Likewise.
      	(finish_decltype_type): Likewise.
      	(ensure_literal_type_for_constexpr_object): Likewise.
      	* tree.c (lvalue_kind): Likewise.
      	(bot_replace): Likewise.
      	(cp_tree_equal): Likewise.
      	(handle_init_priority_attribute): Likewise.
      	(decl_storage_duration): Likewise.
      	* typeck.c (cxx_sizeof_expr): Likewise.
      	(cxx_alignof_expr): Likewise.
      	(decay_conversion): Likewise.
      	(build_class_member_access_expr): Likewise.
      	(cp_build_array_ref): Likewise.
      	(cxx_mark_addressable): Likewise.
      	(maybe_warn_about_returning_address_of_local): Likewise.
      	(check_return_expr): Likewise.
      	* typeck2.c (cxx_readonly_error): Likewise.
      	(abstract_virtuals_error_sfinae): Likewise.
      	(cxx_incomplete_type_diagnostic): Likewise.
      
      From-SVN: r197240
      Gabriel Dos Reis committed
    • re PR lto/56777 (bad grammar in fwhole-program documentation) · 39385fa6
      2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR lto/56777
      	* doc/invoke.texi ([-fwhole-program]): Fix typo.
      
      From-SVN: r197237
      Paolo Carlini committed
    • cfgbuild.c (inside_basic_block_p): Use JUMP_TABLE_DATA_P in lieu of tests for… · 34f0d87a
      cfgbuild.c (inside_basic_block_p): Use JUMP_TABLE_DATA_P in lieu of tests for JUMP_P and a ADDR_DIFF_VEC or...
      
      
      	* cfgbuild.c (inside_basic_block_p): Use JUMP_TABLE_DATA_P in lieu
      	of tests for JUMP_P and a ADDR_DIFF_VEC or ADDR_VEC pattern.
      	(control_flow_insn_p): Likewise.
      	* cfgrtl.c (duplicate_insn_chain): Likewise.
      	* final.c (get_attr_length_1): Likewise.
      	(shorten_branches): Likewise.
      	(final_scan_insn): Likewise.
      	* function.c (instantiate_virtual_regs): Likewise.
      	* gcse.c (insert_insn_end_basic_block): Likewise.
      	* ira-costs.c (scan_one_insn): Likewise.
      	* lra-eliminations.c (eliminate_regs_in_insn): Likewise.
      	* lra.c (check_rtl): Likewise.
      	* reload1.c (elimination_costs_in_insn): Likewise.
      	* reorg.c (follow_jumps): Likewise.
      
      	* config/arm/arm.c (is_jump_table): Use JUMP_TABLE_DATA_P in lieu
      	of tests for JUMP_P and a ADDR_DIFF_VEC or ADDR_VEC pattern.
      	(thumb_far_jump_used_p): Likewise.
      	* config/bfin/bfin.c (workaround_rts_anomaly): Likewise.
      	(workaround_speculation): Likewise.
      	(add_sched_insns_for_speculation): Likewise.
      	* config/c6x/c6x.c (reorg_emit_nops): Likewise.
      	* config/frv/frv.c (frv_function_contains_far_jump): Likewise.
      	(frv_for_each_packet): Likewise.
      	* config/i386/i386.c (ix86_avoid_jump_mispredicts): Likewise.
      	* config/ia64/ia64.c (emit_all_insn_group_barriers): Likewise.
      	(final_emit_insn_group_barriers): Likewise.
      	* config/m32r/m32r.c (m32r_is_insn): Likewise.
      	* config/mips/mips.c (USEFUL_INSN_P): Likewise.
      	(mips16_insn_length): Likewise.
      	* config/pa/pa.c (pa_reorg): Likewise.
      	(pa_combine_instructions): Likewise.
      	* config/rs6000/rs6000.c (rs6000_invalid_within_doloop): Likewise.
      	* config/sh/sh.c (fixup_addr_diff_vecs): Likewise.
      	(sh_reorg): Likewise.
      	(split_branches): Likewise.
      	* config/spu/spu.c (get_branch_target): Likewise.
      
      	* config/s390/s390.c (s390_chunkify_start): Simplify logic using
      	JUMP_TABLE_DATA_P.
      
      From-SVN: r197234
      Steven Bosscher committed
    • avx2intrin.h (_mm256_broadcastsi128_si256): Fix declaration name. · 4ac761b0
      ChangeLog:
      	* gcc/config/i386/avx2intrin.h (_mm256_broadcastsi128_si256):
      	Fix declaration name.
      
      testsuite/ChangeLog:
      	* gcc.target/i386/avx2-vbroadcastsi128-1.c: Fix intrinsic name.
      	* gcc.target/i386/avx2-vbroadcastsi128-1.c: Ditto.
      
      From-SVN: r197231
      Kirill Yukhin committed
    • re PR libfortran/56737 (Wrong I/O result with format cache for Hollerith strings) · 357aee92
      2012-03-29  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/56737
              * io/format.c (parse_format_list): Also cache FMT_STRING.
              (parse_format): Update call.
      
      From-SVN: r197230
      Tobias Burnus committed
    • re PR libfortran/56737 (Wrong I/O result with format cache for Hollerith strings) · d80b9b47
      2013-03-29  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/56737
              * io/format.c (parse_format): With caching, copy
              dtp->format string.
              (save_parsed_format): Use dtp->format directy without
              copying.
      
      2013-03-29  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/56737
              * testsuite/gfortran.dg/fmt_cache_3.f90: New.
      
      (Plus: Move fortran/ChangeLog item to libgfortran/ChangeLog)
      
      From-SVN: r197229
      Tobias Burnus committed
    • re PR fortran/56735 (Namelist Read Error with question marks) · a0b012be
      2013-03-29  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/56735
              * io/list_read.c (nml_query): Only abort when
              an error occured.
              (namelist_read): Add goto instead of falling through.
      
      2013-03-29  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/56735
              * gfortran.dg/namelist_80.f90: New.
      
      From-SVN: r197228
      Tobias Burnus committed
    • Remove various unused items. · 58a49189
      
      2013-03-28  Lawrence Crowl  <crowl@google.com>
      
      Index: gcc/ChangeLog
      
      	* graphds.h (struct graph.indicies): Remove unused.
      	* graphite-poly.h (struct graph.original_pddrs): Remove unused.
      	(SCOP_ORIGINAL_PDDRS): Remove unused.
      	* sese.h (extern insert_loop_close_phis): Removed unused.
      	(extern insert_guard_phis): Removed unused.
      	(extern ivtype_map_elt_info): Removed unused.
      	(new_ivtype_map_elt): Removed unused.
      	* sese.c (ivtype_map_elt_info): Removed unused.
      
      From-SVN: r197226
      Lawrence Crowl committed
    • Add uniform debug dump function names. · 7b3b6ae4
      
      Add some overloaded functions that provide uniform debug dump
      function names.  These names are:
      
        debug: the general debug dumper
        debug_verbose: for more details
        debug_raw: for the gory details
        debug_head: for the heads of declarations, e.g. function heads
        debug_body: for the bodies of declarations, e.g. function bodies
      
      Not all types have the last four versions.
      
      The debug functions come in two flavors, those that take pointers
      to the type, and those that take references to the type.  The first
      handles printing of '<nil>' for null pointers.  The second assumes
      a valid reference, and prints the content.
      
      
      Example uses are as follows:
      
        cp_token t, *p;
        debug (t);
        debug (p);
      
      From the debugger, use
      
        call debug (t)
      
      
      The functions sets implemented are:
      
      debug (only)
      
          basic_block_def, const bitmap_head_def, cp_binding_level,
          cp_parser, cp_token, data_reference, die_struct, edge_def,
          gimple_statement_d, ira_allocno, ira_allocno_copy, live_range,
          lra_live_range, omega_pb_d, pt_solution, const rtx_def, sreal,
          tree_live_info_d, _var_map,
      
          vec<cp_token, va_gc>, vec<data_reference_p>, vec<ddr_p>,
          vec<rtx>, vec<tree, va_gc>,
      
      debug and debug_raw
      
          simple_bitmap_def
      
      debug and debug_verbose
      
          expr_def, struct loop, vinsn_def
      
      debug, debug_raw, debug_verbose, debug_head, debug_body
      
          const tree_node
      
      
      This patch is somewhat different from the original plan at
      gcc.gnu.org/wiki/cxx-conversion/debugging-dumps.  The reason
      is that gdb has an incomplete implementation of C++ call syntax;
      requiring explicit specification of template arguments and explicit
      specification of function arguments even when they have default
      values.  So, the original plan would have required typing
      
        call dump <cp_token> (t, 0, 0, stderr)
      
      which is undesireable.  Instead instead of templates, we overload
      plain functions.  This adds a small burden of manually adding
      the pointer version of dump for each type.  Instead of default
      function arguments, we simply assume the default values.  Most of
      the underlying dump functions did not use the options and indent
      parameters anyway.  Several provide FILE* parameters, but we expect
      debugging to use stderr anyway.  So, the explicit specification of
      arguments was not as valuable as we thought initially.  Finally,
      a change of name from dump to debug reflect the implicit output
      to stderr.
      
      
      Index: gcc/ChangeLog
      
      2013-03-28  Lawrence Crowl  <crowl@google.com>
      
      	* Makefile.in: Add several missing include dependences.
      	(DUMPFILE_H): New.
      	(test-dump.o): New.  This object is not added to any executable,
      	but is present for ad-hoc testing.
      	* bitmap.c
      	(debug (const bitmap_head_def &)): New.
      	(debug (const bitmap_head_def *)): New.
      	* bitmap.h
      	(extern debug (const bitmap_head_def &)): New.
      	(extern debug (const bitmap_head_def *)): New.
      	* cfg.c
      	(debug (edge_def &)): New.
      	(debug (edge_def *)): New.
      	* cfghooks.c
      	(debug (basic_block_def &)): New.
      	(debug (basic_block_def *)): New.
      	* dumpfile.h
      	(dump_node (const_tree, int, FILE *)): Correct source file.
      	* dwarf2out.c
      	(debug (die_struct &)): New.
      	(debug (die_struct *)): New.
      	* dwarf2out.h
      	(extern debug (die_struct &)): New.
      	(extern debug (die_struct *)): New.
      	* gimple-pretty-print.c
      	(debug (gimple_statement_d &)): New.
      	(debug (gimple_statement_d *)): New.
      	* gimple-pretty-print.h
      	(extern debug (gimple_statement_d &)): New.
      	(extern debug (gimple_statement_d *)): New.
      	* ira-build.c
      	(debug (ira_allocno_copy &)): New.
      	(debug (ira_allocno_copy *)): New.
      	(debug (ira_allocno &)): New.
      	(debug (ira_allocno *)): New.
      	* ira-int.h
      	(extern debug (ira_allocno_copy &)): New.
      	(extern debug (ira_allocno_copy *)): New.
      	(extern debug (ira_allocno &)): New.
      	(extern debug (ira_allocno *)): New.
      	* ira-lives.c
      	(debug (live_range &)): New.
      	(debug (live_range *)): New.
      	* lra-int.h
      	(debug (lra_live_range &)): New.
      	(debug (lra_live_range *)): New.
      	* lra-lives.c
      	(debug (lra_live_range &)): New.
      	(debug (lra_live_range *)): New.
      	* omega.c
      	(debug (omega_pb_d &)): New.
      	(debug (omega_pb_d *)): New.
      	* omega.h
      	(extern debug (omega_pb_d &)): New.
      	(extern debug (omega_pb_d *)): New.
      	* print-rtl.c
      	(debug (const rtx_def &)): New.
      	(debug (const rtx_def *)): New.
      	* print-tree.c
      	(debug_tree (tree): Move within file.
      	(debug_raw (const tree_node &)): New.
      	(debug_raw (const tree_node *)): New.
      	(dump_tree_via_hooks (const tree_node *, int)): New.
      	(debug (const tree_node &)): New.
      	(debug (const tree_node *)): New.
      	(debug_verbose (const tree_node &)): New.
      	(debug_verbose (const tree_node *)): New.
      	(debug_head (const tree_node &)): New.
      	(debug_head (const tree_node *)): New.
      	(debug_body (const tree_node &)): New.
      	(debug_body (const tree_node *)): New.
      	(debug_vec_tree (tree): Move and reimplement in terms of dump.
      	(debug (vec<tree, va_gc> &)): New.
      	(debug (vec<tree, va_gc> *)): New.
      	* rtl.h
      	(extern debug (const rtx_def &)): New.
      	(extern debug (const rtx_def *)): New.
      	* sbitmap.c
      	(debug_raw (simple_bitmap_def &)): New.
      	(debug_raw (simple_bitmap_def *)): New.
      	(debug (simple_bitmap_def &)): New.
      	(debug (simple_bitmap_def *)): New.
      	* sbitmap.h
      	(extern debug (simple_bitmap_def &)): New.
      	(extern debug (simple_bitmap_def *)): New.
      	(extern debug_raw (simple_bitmap_def &)): New.
      	(extern debug_raw (simple_bitmap_def *)): New.
      	* sel-sched-dump.c
      	(debug (vinsn_def &)): New.
      	(debug (vinsn_def *)): New.
      	(debug_verbose (vinsn_def &)): New.
      	(debug_verbose (vinsn_def *)): New.
      	(debug (expr_def &)): New.
      	(debug (expr_def *)): New.
      	(debug_verbose (expr_def &)): New.
      	(debug_verbose (expr_def *)): New.
      	(debug (vec<rtx> &)): New.
      	(debug (vec<rtx> *)): New.
      	* sel-sched-dump.h
      	(extern debug (vinsn_def &)): New.
      	(extern debug (vinsn_def *)): New.
      	(extern debug_verbose (vinsn_def &)): New.
      	(extern debug_verbose (vinsn_def *)): New.
      	(extern debug (expr_def &)): New.
      	(extern debug (expr_def *)): New.
      	(extern debug_verbose (expr_def &)): New.
      	(extern debug_verbose (expr_def *)): New.
      	(extern debug (vec<rtx> &)): New.
      	(extern debug (vec<rtx> *)): New.
      	* sel-sched-ir.h
      	(_list_iter_cond_expr): Make inline instead of static.
      	* sreal.c
      	(debug (sreal &)): New.
      	(debug (sreal *)): New.
      	* sreal.h
      	(extern debug (sreal &)): New.
      	(extern debug (sreal *)): New.
      	* tree.h
      	(extern debug_raw (const tree_node &)): New.
      	(extern debug_raw (const tree_node *)): New.
      	(extern debug (const tree_node &)): New.
      	(extern debug (const tree_node *)): New.
      	(extern debug_verbose (const tree_node &)): New.
      	(extern debug_verbose (const tree_node *)): New.
      	(extern debug_head (const tree_node &)): New.
      	(extern debug_head (const tree_node *)): New.
      	(extern debug_body (const tree_node &)): New.
      	(extern debug_body (const tree_node *)): New.
      	(extern debug (vec<tree, va_gc> &)): New.
      	(extern debug (vec<tree, va_gc> *)): New.
      	* tree-cfg.c
      	(debug (struct loop &)): New.
      	(debug (struct loop *)): New.
      	(debug_verbose (struct loop &)): New.
      	(debug_verbose (struct loop *)): New.
      	* tree-dump.c: Add header dependence.
      	* tree-flow.h
      	(extern debug (struct loop &)): New.
      	(extern debug (struct loop *)): New.
      	(extern debug_verbose (struct loop &)): New.
      	(extern debug_verbose (struct loop *)): New.
      	* tree-data-ref.c
      	(debug (data_reference &)): New.
      	(debug (data_reference *)): New.
      	(debug (vec<data_reference_p> &)): New.
      	(debug (vec<data_reference_p> *)): New.
      	(debug (vec<ddr_p> &)): New.
      	(debug (vec<ddr_p> *)): New.
      	* tree-data-ref.h
      	(extern debug (data_reference &)): New.
      	(extern debug (data_reference *)): New.
      	(extern debug (vec<data_reference_p> &)): New.
      	(extern debug (vec<data_reference_p> *)): New.
      	(extern debug (vec<ddr_p> &)): New.
      	(extern debug (vec<ddr_p> *)): New.
      	* tree-ssa-alias.c
      	(debug (pt_solution &)): New.
      	(debug (pt_solution *)): New.
      	* tree-ssa-alias.h
      	(extern debug (pt_solution &)): New.
      	(extern debug (pt_solution *)): New.
      	* tree-ssa-alias.c
      	(debug (_var_map &)): New.
      	(debug (_var_map *)): New.
      	(debug (tree_live_info_d &)): New.
      	(debug (tree_live_info_d *)): New.
      	* tree-ssa-alias.h
      	(extern debug (_var_map &)): New.
      	(extern debug (_var_map *)): New.
      	(extern debug (tree_live_info_d &)): New.
      	(extern debug (tree_live_info_d *)): New.
      
      Index: gcc/cp/ChangeLog
      
      2013-03-28  Lawrence Crowl  <crowl@google.com>
      
      	* Make-lang.in
      	(CXX_PARSER_H): Add header dependence.
      	* cp-tree.h
      	(extern debug (cp_binding_level &)): New.
      	(extern debug (cp_binding_level *)): New.
      	* name-lookup.h
      	(debug (cp_binding_level &)): New.
      	(debug (cp_binding_level *)): New.
      	* parser.c
      	(debug (cp_parser &)): New.
      	(debug (cp_parser *)): New.
      	(debug (cp_token &)): New.
      	(debug (cp_token *)): New.
      	(debug (vec<cp_token, va_gc> &)): New.
      	(debug (vec<cp_token, va_gc> *)): New.
      	* parser.c: Add header dependence.
      	(extern debug (cp_parser &)): New.
      	(extern debug (cp_parser *)): New.
      	(extern debug (cp_token &)): New.
      	(extern debug (cp_token *)): New.
      	(extern debug (vec<cp_token, va_gc> &)): New.
      	(extern debug (vec<cp_token, va_gc> *)): New.
      
      From-SVN: r197224
      Lawrence Crowl committed
    • Daily bump. · 0ffa6c37
      From-SVN: r197223
      GCC Administrator committed
  3. 28 Mar, 2013 14 commits
    • * lto-cgraph.c (merge_profile_summaries): Fix overflows. · be77e1e5
      From-SVN: r197218
      Jan Hubicka committed
    • re PR fortran/45159 (Unnecessary temporaries) · eab19a1a
      2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/45159
      	* gfortran.h (gfc_dep_difference):  Add prototype.
      	* dependency.c (discard_nops):  New function.
      	(gfc_dep_difference):  New function.
      	(check_section_vs_section):  Use gfc_dep_difference
      	to calculate the difference of starting indices.
      	* trans-expr.c (gfc_conv_substring):  Use
      	gfc_dep_difference to calculate the length of
      	substrings where possible.
      
      2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/45159
      	* gfortran.dg/string_length_2.f90:  New test.
      	* gfortran.dg/dependency_41.f90:  New test.
      
      From-SVN: r197217
      Thomas Koenig committed
    • re PR fortran/55806 (Missed optimization with ANY or ALL) · 4099436d
      2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/55806
      	* frontend-passes.c (optimize_code):  Keep track of
      	current code to make code insertion possible.
      	(combine_array_constructor):  New function.
      	(optimize_op):  Call it.
      
      2013-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/55806
      	* gfortran.dg/array_constructor_43.f90:  New test.
      	* gfortran.dg/random_seed_3.f90:  New test.
      
      From-SVN: r197216
      Thomas Koenig committed
    • [AArch64] Only maintain frame record when required or desired · 777e6976
      From-SVN: r197215
      Ian Bolton committed
    • re PR c++/17232 ([DR 1640] classes and class template specializations treated… · 2b24855e
      re PR c++/17232 ([DR 1640] classes and class template specializations treated differently w.r.t. core issue #337)
      
      	PR c++/17232
      	PR c++/52748
      	* typeck2.c (abstract_virtuals_error_sfinae): Don't complete
      	the type if tf_decltype is set.
      	* pt.c (fn_type_unification): Add decltype_p parm.
      	(get_bindings): Adjust.
      	* cp-tree.h: Adjust.
      	* class.c (resolve_address_of_overloaded_function): Adjust.
      	* call.c (add_template_candidate_real, print_z_candidate): Adjust.
      
      From-SVN: r197214
      Jason Merrill committed
    • re PR c++/56679 ([C++11] Cannot take sizeof... a template template parameter pack) · f5e44182
      	PR c++/56679
      	* parser.c (cp_parser_sizeof_pack): Split out from...
      	(cp_parser_sizeof_operand): ...here.  Require (id).
      
      From-SVN: r197213
      Jason Merrill committed
    • re PR c++/56701 ([C++11] The *this* pointer fails to bind to rvalue reference to pointer type) · 374b2837
      	PR c++/56701
      	* semantics.c (finish_this_expr): 'this' is an rvalue.
      	* typeck.c (cp_build_indirect_ref): Handle NOP_EXPR of 'this'.
      
      From-SVN: r197212
      Jason Merrill committed
    • re PR c++/56710 (Using reserved double underscore variable name in a lambda… · fad882c6
      re PR c++/56710 (Using reserved double underscore variable name in a lambda causes internal compiler error)
      
      	PR c++/56710
      	* semantics.c (finish_member_declaration): Don't push closure
      	members.
      
      From-SVN: r197211
      Jason Merrill committed
    • name-lookup.c (pushdecl_maybe_friend_1): Use nonlambda_method_basetype and… · c561e952
      name-lookup.c (pushdecl_maybe_friend_1): Use nonlambda_method_basetype and current_nonlambda_class_type.
      
      	* name-lookup.c (pushdecl_maybe_friend_1): Use
      	nonlambda_method_basetype and current_nonlambda_class_type.
      
      From-SVN: r197210
      Jason Merrill committed
    • re PR c++/56728 (ICE using constexpr initialization and arrays) · 477e1843
      	PR c++/56728
      	* semantics.c (potential_constant_expression_1) [NOP_EXPR]: Reject
      	conversion from integer to pointer.
      	(cxx_eval_constant_expression): Likewise.
      	(cxx_eval_indirect_ref): Use the folded operand if we still think
      	this might be constant.
      
      From-SVN: r197209
      Jason Merrill committed
    • i386.md (*vec_extract2vdi_1): Merge with *vec_extractv2di_1_rex64. · 9cd347ae
      	* config/i386/i386.md (*vec_extract2vdi_1): Merge with
      	*vec_extractv2di_1_rex64.  Use x64 isa attribute.
      
      From-SVN: r197208
      Uros Bizjak committed
    • aarch64.md (*and<mode>3_compare0): New pattern. · 2a1d1991
      2013-03-28   Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
      
      	* config/aarch64/aarch64.md (*and<mode>3_compare0): New pattern.
      	(*andsi3_compare0_uxtw): New pattern.
      	(*and_<SHIFT:optab><mode>3_compare0): New pattern.
      	(*and_<SHIFT:optab>si3_compare0_uxtw): New pattern.
      
      From-SVN: r197207
      Naveen H.S committed
    • re PR c++/56725 (extra spaces in error message) · 7abebba7
      /cp
      2013-03-28  Paolo Carlini  <paolo.carlini@oracle.com>
      	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR c++/56725
      	* call.c (convert_like_real): Change series of two permerrors
      	to permerror + inform (and likewise for two errors).
      	(build_new_method_call_1): Likewise.
      	* typeck.c (convert_for_initialization): Change additional
      	warning or error to inform.
      
      /testsuite
      2013-03-28  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/56725
      	* g++.dg/conversion/op4.C: Adjust.
      	* g++.dg/cpp0x/rv1n.C: Likewise.
      	* g++.dg/cpp0x/rv2n.C: Likewise.
      	* g++.dg/cpp0x/template_deduction.C: Likewise.
      	* g++.dg/expr/cond8.C: Likewise.
      	* g++.dg/other/error4.C: Likewise.
      	* g++.old-deja/g++.bugs/900514_03.C: Likewise.
      	* g++.old-deja/g++.bugs/900519_02.C: Likewise.
      	* g++.old-deja/g++.bugs/900519_03.C: Likewise.
      	* g++.old-deja/g++.bugs/900520_02.C: Likewise.
      	* g++.old-deja/g++.jason/conversion2.C: Likewise.
      	* g++.old-deja/g++.law/cvt20.C: Likewise.
      	* g++.old-deja/g++.law/cvt8.C: Likewise.
      	* g++.old-deja/g++.law/init8.C: Likewise.
      	* g++.old-deja/g++.mike/net12.C: Likewise.
      	* g++.old-deja/g++.mike/net8.C: Likewise.
      	* g++.old-deja/g++.mike/p2793.C: Likewise.
      	* g++.old-deja/g++.mike/p3836.C: Likewise.
      	* g++.old-deja/g++.mike/p418.C: Likewise.
      	* g++.old-deja/g++.mike/p701.C: Likewise.
      	* g++.old-deja/g++.mike/p807.C: Likewise.
      
      From-SVN: r197206
      Paolo Carlini committed
    • data-streamer-in.c (streamer_read_gcov_count): New function. · 89ab31c1
      
      	* data-streamer-in.c (streamer_read_gcov_count): New function.
      	* gimple-streamer-out.c: Include value-prof.h.
      	(output_gimple_stmt): Output histogram.
      	(output_bb): Use streamer_write_gcov_count.
      	* value-prof.c: Include data-streamer.h
      	(dump_histogram_value): Add HIST_TYPE_MAX.
      	(stream_out_histogram_value): New function.
      	(stream_in_histogram_value): New function.
      	* value-prof.h (enum hist_type): Add HIST_TYPE_MAX.
      	(stream_out_histogram_value, stream_in_histogram_value): Declare.
      	* data-streamer-out.c (streamer_write_gcov_count): New function.
      	(streamer_write_gcov_count_stream): New function.
      	* lto-cgraph.c (lto_output_edge): Update counter streaming.
      	(lto_output_node): Likewise.
      	(input_node, input_edge): Likewise.
      	* lto-streamer-out.c (output_cfg): Update streaming.
      	* lto-streamer-in.c (input_cfg): Likewise.
      	* data-streamer.h (streamer_write_gcov_count,
      	streamer_write_gcov_count_stream, streamer_read_gcov_count): Declare.
      	* gimple-streamer-in.c: Include value-prof.h
      	(input_gimple_stmt): Input histograms.
      	(input_bb): Update profile streaming.
      
      From-SVN: r197205
      Jan Hubicka committed