1. 17 May, 2017 7 commits
    • Fix comment for cmse_nonsecure_call_clear_caller_saved · 26092cc7
      2017-05-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/arm.c (cmse_nonsecure_call_clear_caller_saved): Refer
          readers to __gnu_cmse_nonsecure_call libcall for saving, clearing and
          restoring of callee-saved registers.
      
      From-SVN: r248142
      Thomas Preud'homme committed
    • compare-elim.c (equivalent_reg_at_start): Adjust outdated comment. · d2d61a74
      	* compare-elim.c (equivalent_reg_at_start): Adjust outdated comment.
      	* config/visium/visium.c (single_set_and_flags): Likewise.
      	* config/visium/visium.md (Substitutions): Likewise.
      
      From-SVN: r248141
      Eric Botcazou committed
    • Introduce dump_flags_t type and use it instead of int type. · 1a817418
      2017-05-17  Martin Liska  <mliska@suse.cz>
      
      	* class.c (dump_class_hierarchy): Introduce dump_flags_t type and
      	use it instead of int type.
      	(dump_vtable): Likewise.
      	(dump_vtt): Likewise.
      	* decl2.c (dump_tu): Likewise.
      2017-05-17  Martin Liska  <mliska@suse.cz>
      
      	* c-common.h: Introduce dump_flags_t type and
      	use it instead of int type.
      	* c-gimplify.c (c_genericize): Likewise.
      	* c-opts.c: Likewise.
      2017-05-17  Martin Liska  <mliska@suse.cz>
      
      	* c-decl.c (c_parse_final_cleanups): Introduce dump_flags_t type and
      	use it instead of int type.
      2017-05-17  Martin Liska  <mliska@suse.cz>
      
      	* cfg.c: Introduce dump_flags_t type and
      	use it instead of int type.
      	* cfg.h: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h (struct cfg_hooks): Likewise.
      	* cfgrtl.c: Likewise.
      	* cfgrtl.h: Likewise.
      	* cgraph.c (cgraph_node::get_body): Likewise.
      	* coretypes.h: Likewise.
      	* domwalk.c: Likewise.
      	* domwalk.h: Likewise.
      	* dumpfile.c (struct dump_option_value_info): Likewise.
      	(dump_enable_all): Likewise.
      	(dump_switch_p_1): Likewise.
      	(opt_info_switch_p): Likewise.
      	* dumpfile.h (enum tree_dump_index): Likewise.
      	(struct dump_file_info): Likewise.
      	* genemit.c: Likewise.
      	* generic-match-head.c: Likewise.
      	* gengtype.c (open_base_files): Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple-pretty-print.h: Likewise.
      	* graph.c (print_graph_cfg): Likewise.
      	* graphite-scop-detection.c (dot_all_sese): Likewise.
      	* ipa-devirt.c (build_type_inheritance_graph): Likewise.
      	* loop-unroll.c (report_unroll): Likewise.
      	* passes.c (pass_manager::register_one_dump_file): Likewise.
      	* print-tree.c: Likewise.
      	* statistics.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfg.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-dfa.h: Likewise.
      	* tree-dump.c (dump_function): Likewise.
      	* tree-dump.h (struct dump_info): Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-pretty-print.h: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      
      From-SVN: r248140
      Martin Liska committed
    • Bye bye, c_save_expr. · b2fa0a8b
      From-SVN: r248139
      Marek Polacek committed
    • Fix bogus pr78886.c failure for avr · 8508a5b5
      The test fails for avr because malloc has been declared to take
      an unsigned long, whereas size_t for avr is only unsigned int.
      
      Fixed by typedef'ing __SIZE_TYPE__ to size_t and using it in the
      malloc function declaration.
      
      gcc/testsuite/
      
      2017-05-17  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
      
      	* gcc.dg/tree-ssa/pr78886.c: Use __SIZE_TYPE__ instead of
      	unsigned long.
      
      From-SVN: r248138
      Senthil Kumar Selvaraj committed
    • reorgbug-1.c: Don't specify -O2. · bc36d2b7
      2017-05-17  Chenghua Xu  <paul.hua.gm@gmail.com>
      
      gcc/testsuite/
          * gcc.target/mips/reorgbug-1.c: Don't specify -O2.
      
      From-SVN: r248137
      Chenghua Xu committed
    • Daily bump. · 3fbab4ea
      From-SVN: r248135
      GCC Administrator committed
  2. 16 May, 2017 33 commits
    • re PR tree-optimization/80457 (vectorizable_condition does not update the vectorizer cost model) · 4fc5ebf1
      [gcc]
      
      2017-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
      	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/80457
      	* tree-vect-stmts.c (vect_model_simple_cost): Model the cost
      	of all arguments to a statement as scalar_to_vec operations.
      	(vectorizable_call): Adjust call to vect_model_simple_cost for
      	new parameter.
      	(vectorizable_conversion): Likewise.
      	(vectorizable_assignment): Likewise.
      	(vectorizable_shift): Likewise.
      	(vectorizable_operation): Likewise.
      	(vectorizable_comparison): Likewise.
      	(vect_is_simple_cond): Record the def types for operands.
      	(vectorizable_condition): Likewise, call vect_model_simple_cost.
      	* tree-vectorizer.h (vect_model_simple_cost): Add new parameter
      	for statement argument count.
      
      [gcc/testsuite]
      
      2017-05-16  James Greenhalgh  <james.greenhalgh@arm.com>
      	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/80457
      	* gcc.target/powerpc/pr78604.c: Verify that vectorized COND_EXPRs
      	call vect_model_simple_cost.
      
      
      Co-Authored-By: Bill Schmidt <wschmidt@linux.vnet.ibm.com>
      
      From-SVN: r248130
      James Greenhalgh committed
    • re PR fortran/80554 ([f08] variable redefinition in submodule) · bedee914
      2017-05-16  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/80554
      	* decl.c (build_sym): In a submodule allow overriding of host
      	associated symbols from the ancestor module with a new
      	declaration.
      
      2017-05-16  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/80554
      	* gfortran.dg/submodule_29.f08: New test.
      
      From-SVN: r248129
      Paul Thomas committed
    • C++: fix-it hints suggesting accessors for private fields · 10791753
      gcc/cp/ChangeLog:
      	* call.c (enforce_access): Add access_failure_info * param and use
      	it to record access failures.
      	* cp-tree.h (class access_failure_info): New class.
      	(enforce_access): Add access_failure_info * param, defaulting to
      	NULL.
      	(lookup_member): Likewise.
      	(locate_field_accessor): New function decl.
      	(perform_or_defer_access_check): Add access_failure_info * param,
      	defaulting to NULL.
      	* search.c (lookup_member): Add access_failure_info * param and
      	pass it on to call to perform_or_defer_access_check.
      	(matches_code_and_type_p): New function.
      	(field_access_p): New function.
      	(direct_accessor_p): New function.
      	(reference_accessor_p): New function.
      	(field_accessor_p): New function.
      	(struct locate_field_data): New struct.
      	(dfs_locate_field_accessor_pre): New function.
      	(locate_field_accessor): New function.
      	* semantics.c (perform_or_defer_access_check): Add
      	access_failure_info * param, and pass it on to call to
      	enforce_access.
      	* typeck.c (access_failure_info::record_access_failure): New method.
      	(access_failure_info::maybe_suggest_accessor): New method.
      	(finish_class_member_access_expr): Pass an access_failure_info
      	instance to the lookup_member call, and call its
      	maybe_suggest_accessor method afterwards.
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/other/accessor-fixits-1.C: New test case.
      	* g++.dg/other/accessor-fixits-2.C: New test case.
      	* g++.dg/other/accessor-fixits-3.C: New test case.
      	* g++.dg/other/accessor-fixits-4.C: New test case.
      
      From-SVN: r248128
      David Malcolm committed
    • rs6000-c: Add support for built-in functions vector unsigned long long vec_bperm (vector... · 727577c2
      gcc/ChangeLog:
      
      2017-05-16  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000-c: Add support for built-in functions
      	vector unsigned long long vec_bperm (vector unsigned long long,
      	                                     vector unsigned char)
      	vector signed long long vec_mule (vector signed int,
      	                                  vector signed int)
      	vector unsigned long long vec_mule (vector unsigned int,
      	                                    vector unsigned int)
      	vector signed long long vec_mulo (vector signed int,
      	                                  vector signed int)
      	vector unsigned long long vec_mulo (vector unsigned int,
      	                                    vector unsigned int)
      	vector signed char vec_sldw (vector signed char,
      	                             vector signed char,
      	                             const int)
      	vector unsigned char vec_sldw (vector unsigned char,
      	                               vector unsigned char,
      	                               const int)
      	vector signed short vec_sldw (vector signed short,
      	                              vector signed short,
      	                              const int)
      	vector unsigned short vec_sldw (vector unsigned short,
      	                                vector unsigned short,
      	                                const int)
      	vector signed int vec_sldw (vector signed int,
      	                            vector signed int,
      	                            const int)
      	vector unsigned int vec_sldw (vector unsigned int,
      	                              vector unsigned int,
      	                              const int)
      	vector signed long long vec_sldw (vector signed long long,
      	                                  vector signed long long,
      	                                  const int)
      	vector unsigned long long vec_sldw (vector unsigned long long,
      	                                    vector unsigned long long,
      	                                    const int)
      	* config/rs6000/rs6000-c: Add support for built-in functions
      	* config/rs6000/rs6000-builtin.def: Add definition for SLDW.
      	* config/rs6000/altivec.h: Add defintion for vec_sldw.
      	* doc/extend.texi: Update the built-in documentation for the
      	new built-in functions.
      
      gcc/testsuite/ChangeLog:
      
      2017-05-16  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/builtins-3.c: New vec_mule, vec_mulo test cases.
      	* gcc.target/powerpc/builtins-3-p8.c: Add tests for the new Power 8
      	built-ins to the test suite file.  Note, support for mradds exists
      	but no test case exists.
      	* gcc.target/powerpc/builtins-3-p9.c: Add tests for the new Power 9
      	built-ins to the test suite file.
      
      From-SVN: r248125
      Carl Love committed
    • re PR sanitizer/80536 (UBSAN: compile time segfault) · 6b6ae9eb
      	PR sanitizer/80536
      	PR sanitizer/80386
      	* cp-gimplify.c (cp_fold): Handle SAVE_EXPR.
      
      	* tree.c (save_expr): Don't fold the expression.
      
      	* c-c++-common/ubsan/pr80536.c: New test.
      	* g++.dg/ubsan/pr80386.C: New test.
      
      From-SVN: r248124
      Marek Polacek committed
    • name-lookup.c (check_local_shadow): New, broke out of ... · c0c24822
      	* name-lookup.c (check_local_shadow): New, broke out of ...
      	(pushdecl_maybe_friend_1): ... here.  Call it.
      
      From-SVN: r248123
      Nathan Sidwell committed
    • * ChangeLog: Fix whitespace. · b3d762eb
      From-SVN: r248122
      Uros Bizjak committed
    • cp-tree.h (OVL_NESTED_P, [...]): New. · e09ae857
      	* cp-tree.h (OVL_NESTED_P, OVL_LOOKUP_P): New.
      	(ovl_first): Move inline definition to end of file.
      	(ovl_make, lookup_add): Declare.
      	(get_fns, get_first_fn): Make pure.
      	* tree.c (ovl_cache): New.
      	(ovl_make, lookup_add): New.
      	* pt.c (do_class_deduction): Don't add candidates that will be
      	elided.
      
      From-SVN: r248121
      Nathan Sidwell committed
    • call.c (build_user_type_conversion_1): Use OVL_FIRST. · a736411a
      	* call.c (build_user_type_conversion_1): Use OVL_FIRST.
      	(print_error_for_call_faulure): Use OVL_NAME.
      	(build_op_call_1): Use ovl_iterator.
      	(add_candidates): Use OVL_FIRST & lkp_iterator.
      	(build_op_delete_call): Use MAYBE_BASELINK_FUNCTIONS &
      	lkp_iterator.
      	* class.c (deduce_noexcept_on_destructors): Use ovl_iterator.
      	(type_has_user_nondefault_constructor)
      	in_class_defaulted_default_constructor,
      	type_has_user_provided_constructor,
      	type_has_user_provided_or_explicit_constructor,
      	type_has_non_user_provided_default_constructor,
      	vbase_has_user_provided_move_assign,
      	type_has_move_constructor, type_has_move_assign,
      	type_has_user_declared_move_constructor,
      	type_has_user_declared_move_assign,
      	type_build_ctor_call, type_build_dtor_call,
      	type_requires_array_cookie, explain_non_literal_class): Likewise.
      	(finish_struct): Use lkp_iterator.
      	(resolve_address_of_overloaded_function): Use OVL_NAME,
      	lkp_iterator.
      	(note_name_declared_in_class): Use OVL_NAME.
      	* cxx-pretty-print.c (pp_cxx_unqualified_id): Use OVL_FIRST.
      	(pp_cxx_qualified_id, cxx_pretty_printer::id_expression)
      	cxx_pretty_printer::expression): Likewise.
      	* decl2.c (check_classfn): Use ovl_iterator.
      	* pt.c (retrieve_specialization): Use ovl_iterator.
      	* tree.c (cp_tree_equal): Use lkp_iterator.
      	(type_has_nontrivial_copy_init): Use ovl_iterator.
      ((--This line, and those below, will be ignored--
      
      M    cp/ChangeLog
      M    cp/call.c
      M    cp/class.c
      M    cp/pt.c
      M    cp/decl2.c
      M    cp/tree.c
      M    cp/cxx-pretty-print.c
      
      From-SVN: r248120
      Nathan Sidwell committed
    • typeck2.c (cxx_incomplete_type_diagnostic): Revert change and check is_overloaded_fn. · c20c3b42
      	* typeck2.c (cxx_incomplete_type_diagnostic): Revert change and
      	check is_overloaded_fn.
      
      From-SVN: r248119
      Nathan Sidwell committed
    • armv8_2-fp16-neon-1.c (vceqz): Fix regex. · 678d7e19
      2017-05-16  Tamar Christina  <tamar.christina@arm.com>
      
      	* gcc.target/arm/armv8_2-fp16-neon-1.c (vceqz): Fix regex.
      	* gcc.target/arm/armv8_2-fp16-neon-2.c (vceqz): Fix regex.
      
      From-SVN: r248117
      Tamar Christina committed
    • i386.i386.md (*movsi_internal): Split (?rm,*y) alternative to (?r,*Yn) and (?m,*y) alternatives... · 05cf39ad
      	* config/i386.i386.md (*movsi_internal): Split (?rm,*y) alternative
      	to (?r,*Yn) and (?m,*y) alternatives, and (?*y,rm) to (?*Ym,r)
      	and (?*y,m).  Update insn attributes.
      
      From-SVN: r248114
      Uros Bizjak committed
    • Add default value for last argument of dump functions. · ef6cb4c7
      2017-05-16  Martin Liska  <mliska@suse.cz>
      
      	* parser.c (cp_lexer_print_token): Add default value for flags
      	argument of print_gimple_stmt, print_gimple_expr,
      	print_generic_stmt and print_generic_expr.
      2017-05-16  Martin Liska  <mliska@suse.cz>
      
      	* cgraph.c (cgraph_edge::resolve_speculation): Add default value for flags
      	argument of print_gimple_stmt, print_gimple_expr,
      	print_generic_stmt and print_generic_expr.
      	* cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
      	* coretypes.h: Likewise.
      	* except.c (dump_eh_tree): Likewise.
      	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
      	* gimple-pretty-print.h: Likewise.
      	* gimple-ssa-backprop.c (dump_usage_prefix): Likewise.
      	(backprop::push_to_worklist): Likewise.
      	(backprop::pop_from_worklist): Likewise.
      	(backprop::process_use): Likewise.
      	(backprop::intersect_uses): Likewise.
      	(note_replacement): Likewise.
      	* gimple-ssa-store-merging.c (pass_store_merging::terminate_all_aliasing_chains): Likewise.
      	(imm_store_chain_info::coalesce_immediate_stores): Likewise.
      	(pass_store_merging::execute): Likewise.
      	* gimple-ssa-strength-reduction.c (dump_candidate): Likewise.
      	(ssa_base_cand_dump_callback): Likewise.
      	(dump_incr_vec): Likewise.
      	(replace_refs): Likewise.
      	(replace_mult_candidate): Likewise.
      	(create_add_on_incoming_edge): Likewise.
      	(create_phi_basis): Likewise.
      	(insert_initializers): Likewise.
      	(all_phi_incrs_profitable): Likewise.
      	(introduce_cast_before_cand): Likewise.
      	(replace_one_candidate): Likewise.
      	* gimplify.c (gimplify_expr): Likewise.
      	* graphite-isl-ast-to-gimple.c (is_valid_rename): Likewise.
      	(set_rename): Likewise.
      	(rename_uses): Likewise.
      	(copy_loop_phi_nodes): Likewise.
      	(add_close_phis_to_merge_points): Likewise.
      	(copy_loop_close_phi_args): Likewise.
      	(copy_cond_phi_args): Likewise.
      	(graphite_copy_stmts_from_block): Likewise.
      	(translate_pending_phi_nodes): Likewise.
      	* graphite-poly.c (print_pdr): Likewise.
      	(dump_gbb_cases): Likewise.
      	(dump_gbb_conditions): Likewise.
      	(print_scop_params): Likewise.
      	* graphite-scop-detection.c (build_cross_bb_scalars_def): Likewise.
      	(build_cross_bb_scalars_use): Likewise.
      	(gather_bbs::before_dom_children): Likewise.
      	* hsa-dump.c (dump_hsa_immed): Likewise.
      	* ipa-cp.c (print_ipcp_constant_value): Likewise.
      	(get_replacement_map): Likewise.
      	* ipa-inline-analysis.c (dump_condition): Likewise.
      	(estimate_function_body_sizes): Likewise.
      	* ipa-polymorphic-call.c (check_stmt_for_type_change): Likewise.
      	(ipa_polymorphic_call_context::get_dynamic_type): Likewise.
      	* ipa-prop.c (ipa_dump_param): Likewise.
      	(ipa_print_node_jump_functions_for_edge): Likewise.
      	(ipa_modify_call_arguments): Likewise.
      	(ipa_modify_expr): Likewise.
      	(ipa_dump_param_adjustments): Likewise.
      	(ipa_dump_agg_replacement_values): Likewise.
      	(ipcp_modif_dom_walker::before_dom_children): Likewise.
      	* ipa-pure-const.c (check_stmt): Likewise.
      	(pass_nothrow::execute): Likewise.
      	* ipa-split.c (execute_split_functions): Likewise.
      	* omp-offload.c (dump_oacc_loop_part): Likewise.
      	(dump_oacc_loop): Likewise.
      	* trans-mem.c (tm_log_emit): Likewise.
      	(tm_memopt_accumulate_memops): Likewise.
      	(dump_tm_memopt_set): Likewise.
      	(dump_tm_memopt_transform): Likewise.
      	* tree-cfg.c (gimple_verify_flow_info): Likewise.
      	(print_loop): Likewise.
      	* tree-chkp-opt.c (chkp_print_addr): Likewise.
      	(chkp_gather_checks_info): Likewise.
      	(chkp_get_check_result): Likewise.
      	(chkp_remove_check_if_pass): Likewise.
      	(chkp_use_outer_bounds_if_possible): Likewise.
      	(chkp_reduce_bounds_lifetime): Likewise.
      	* tree-chkp.c (chkp_register_addr_bounds): Likewise.
      	(chkp_mark_completed_bounds): Likewise.
      	(chkp_register_incomplete_bounds): Likewise.
      	(chkp_mark_invalid_bounds): Likewise.
      	(chkp_maybe_copy_and_register_bounds): Likewise.
      	(chkp_build_returned_bound): Likewise.
      	(chkp_get_bound_for_parm): Likewise.
      	(chkp_build_bndldx): Likewise.
      	(chkp_get_bounds_by_definition): Likewise.
      	(chkp_generate_extern_var_bounds): Likewise.
      	(chkp_get_bounds_for_decl_addr): Likewise.
      	* tree-chrec.c (chrec_apply): Likewise.
      	* tree-data-ref.c (dump_data_reference): Likewise.
      	(dump_subscript): Likewise.
      	(dump_data_dependence_relation): Likewise.
      	(analyze_overlapping_iterations): Likewise.
      	* tree-inline.c (expand_call_inline): Likewise.
      	(tree_function_versioning): Likewise.
      	* tree-into-ssa.c (dump_defs_stack): Likewise.
      	(dump_currdefs): Likewise.
      	(dump_names_replaced_by): Likewise.
      	(dump_update_ssa): Likewise.
      	(update_ssa): Likewise.
      	* tree-object-size.c (pass_object_sizes::execute): Likewise.
      	* tree-parloops.c (build_new_reduction): Likewise.
      	(try_create_reduction_list): Likewise.
      	(ref_conflicts_with_region): Likewise.
      	(oacc_entry_exit_ok_1): Likewise.
      	(oacc_entry_exit_single_gang): Likewise.
      	* tree-pretty-print.h: Likewise.
      	* tree-scalar-evolution.c (set_scalar_evolution): Likewise.
      	(get_scalar_evolution): Likewise.
      	(add_to_evolution): Likewise.
      	(get_loop_exit_condition): Likewise.
      	(analyze_evolution_in_loop): Likewise.
      	(analyze_initial_condition): Likewise.
      	(analyze_scalar_evolution): Likewise.
      	(instantiate_scev): Likewise.
      	(number_of_latch_executions): Likewise.
      	(gather_chrec_stats): Likewise.
      	(final_value_replacement_loop): Likewise.
      	(scev_const_prop): Likewise.
      	* tree-sra.c (dump_access): Likewise.
      	(disqualify_candidate): Likewise.
      	(create_access): Likewise.
      	(reject): Likewise.
      	(maybe_add_sra_candidate): Likewise.
      	(create_access_replacement): Likewise.
      	(analyze_access_subtree): Likewise.
      	(analyze_all_variable_accesses): Likewise.
      	(sra_modify_assign): Likewise.
      	(initialize_constant_pool_replacements): Likewise.
      	(find_param_candidates): Likewise.
      	(decide_one_param_reduction): Likewise.
      	(replace_removed_params_ssa_names): Likewise.
      	* tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
      	* tree-ssa-copy.c (dump_copy_of): Likewise.
      	(copy_prop_visit_cond_stmt): Likewise.
      	* tree-ssa-dce.c (mark_operand_necessary): Likewise.
      	* tree-ssa-dom.c (pass_dominator::execute): Likewise.
      	(record_equivalences_from_stmt): Likewise.
      	* tree-ssa-dse.c (compute_trims): Likewise.
      	(delete_dead_call): Likewise.
      	(delete_dead_assignment): Likewise.
      	* tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): Likewise.
      	(forward_propagate_into_cond): Likewise.
      	(pass_forwprop::execute): Likewise.
      	* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
      	* tree-ssa-loop-im.c (invariantness_dom_walker::before_dom_children): Likewise.
      	(move_computations_worker): Likewise.
      	(execute_sm): Likewise.
      	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise.
      	(remove_exits_and_undefined_stmts): Likewise.
      	(remove_redundant_iv_tests): Likewise.
      	* tree-ssa-loop-ivopts.c (dump_use): Likewise.
      	(adjust_iv_update_pos): Likewise.
      	* tree-ssa-math-opts.c (bswap_replace): Likewise.
      	* tree-ssa-phiopt.c (factor_out_conditional_conversion): Likewise.
      	(value_replacement): Likewise.
      	* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
      	* tree-ssa-pre.c (print_pre_expr): Likewise.
      	(get_representative_for): Likewise.
      	(create_expression_by_pieces): Likewise.
      	(insert_into_preds_of_block): Likewise.
      	(eliminate_insert): Likewise.
      	(eliminate_dom_walker::before_dom_children): Likewise.
      	(eliminate): Likewise.
      	(remove_dead_inserted_code): Likewise.
      	* tree-ssa-propagate.c (substitute_and_fold): Likewise.
      	* tree-ssa-reassoc.c (get_rank): Likewise.
      	(eliminate_duplicate_pair): Likewise.
      	(eliminate_plus_minus_pair): Likewise.
      	(eliminate_not_pairs): Likewise.
      	(undistribute_ops_list): Likewise.
      	(eliminate_redundant_comparison): Likewise.
      	(update_range_test): Likewise.
      	(optimize_range_tests_var_bound): Likewise.
      	(optimize_vec_cond_expr): Likewise.
      	(rewrite_expr_tree): Likewise.
      	(rewrite_expr_tree_parallel): Likewise.
      	(linearize_expr): Likewise.
      	(break_up_subtract): Likewise.
      	(linearize_expr_tree): Likewise.
      	(attempt_builtin_powi): Likewise.
      	(attempt_builtin_copysign): Likewise.
      	(transform_stmt_to_copy): Likewise.
      	(transform_stmt_to_multiply): Likewise.
      	(dump_ops_vector): Likewise.
      	* tree-ssa-sccvn.c (vn_nary_build_or_lookup_1): Likewise.
      	(print_scc): Likewise.
      	(set_ssa_val_to): Likewise.
      	(visit_reference_op_store): Likewise.
      	(visit_use): Likewise.
      	(sccvn_dom_walker::before_dom_children): Likewise.
      	(run_scc_vn): Likewise.
      	* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): Likewise.
      	(expr_hash_elt::print): Likewise.
      	(const_and_copies::pop_to_marker): Likewise.
      	(const_and_copies::record_const_or_copy_raw): Likewise.
      	* tree-ssa-structalias.c (compute_dependence_clique): Likewise.
      	* tree-ssa-uninit.c (collect_phi_def_edges): Likewise.
      	(dump_predicates): Likewise.
      	(find_uninit_use): Likewise.
      	(warn_uninitialized_phi): Likewise.
      	(pass_late_warn_uninitialized::execute): Likewise.
      	* tree-ssa.c (verify_vssa): Likewise.
      	(verify_ssa): Likewise.
      	(maybe_optimize_var): Likewise.
      	* tree-vrp.c (dump_value_range): Likewise.
      	(dump_all_value_ranges): Likewise.
      	(dump_asserts_for): Likewise.
      	(register_edge_assert_for_2): Likewise.
      	(vrp_visit_cond_stmt): Likewise.
      	(vrp_visit_switch_stmt): Likewise.
      	(vrp_visit_stmt): Likewise.
      	(vrp_visit_phi_node): Likewise.
      	(simplify_cond_using_ranges_1): Likewise.
      	(fold_predicate_in): Likewise.
      	(evrp_dom_walker::before_dom_children): Likewise.
      	(evrp_dom_walker::push_value_range): Likewise.
      	(evrp_dom_walker::pop_value_range): Likewise.
      	(execute_early_vrp): Likewise.
      
      From-SVN: r248113
      Martin Liska committed
    • cp-tree.h (class ovl_iterator, [...]): New OVERLOAD iterators. · 3f267553
      	* cp-tree.h (class ovl_iterator, class lkp_iterator): New OVERLOAD
      	iterators.
      	(MAYBE_BASELINK_FUNCTIONS): New.
      	* constraint.cc	(resolve_constraint_check): Use lkp_iterator.
      	* decl2.c (maybe_warn_sized_delete): Use ovl_iterator.
      	* lambda.c (maybe_generic_this_capture): Use lkp_iterator.
      	* method.c (inherited_ctor_binfo): Use ovl_iterator.
      	(binfo_inherited_from): Likewise.
      	* parser.c (lookup_literal_operator): Use lkp_iterator.
      	* pt.c (iterative_hash_template_arg): Use lkp_iterator.
      	(print_candidates_1): Likewise.
      	(determine_specialization): Likewise.
      	(resolve_overloaded_unification): Likewise.
      	(resolve_nondeduced_context): Likewise.
      	(type_dependent_expression_p): Likewise.
      	(dependent_template_p): Likewise.
      	* ptree.c (cxx_print_xnode): Likewise.
      	* semantics.c (omp_reduction_lookup): Use lkp_iterator.
      	(classtype_has_nothrow_assign_or_copy_p): Use ovl_iterator.
      	* typeck.c (check_template_keyword): Use lkp_iterator.
      
      From-SVN: r248112
      Nathan Sidwell committed
    • Test source_location::current() in default member initializer · 058c7854
      	* testsuite/experimental/source_location/1.cc: Change expected result
      	for source_location::current() used in default member initializer.
      
      From-SVN: r248111
      Jonathan Wakely committed
    • Implement std::experimental::source_location (N4519) · 2673bae9
      	* configure: Regenerate.
      	* doc/xml/manual/status_cxx2017.xml: Update status table.
      	* doc/html/*: Regenerate.
      	* include/Makefile.am: Add new header.
      	* include/Makefile.in: Regenerate.
      	* include/experimental/source_location: New header implementing N4519.
      	* testsuite/experimental/source_location/1.cc: New test.
      
      From-SVN: r248110
      Jonathan Wakely committed
    • Fix forward declaration of std::type_info for versioned-namespace · 42362497
      	PR libstdc++/80285
      	* include/bits/shared_ptr_base.h [!__cpp_rtti] (type_info): Declare
      	outside versioned namespace.
      
      From-SVN: r248109
      Jonathan Wakely committed
    • cp-tree.h (OVL_FIRST, OVL_NAME): New. · 848bf88d
      	* cp-tree.h (OVL_FIRST, OVL_NAME): New.
      	(ovl_first): New.
      	* constexpr.c (function_concept_check): Use OVL_FIRST.
      	* cvt.c (build_expr_type_conversion): Likewise.
      	* decl.c (poplevel, grokdeclarator): Use OVL_NAME.
      	* decl2.c (mark_used): Use OVL_FIRST.
      	* error.c (dump_decl): Use OVL_FIRST, OVL_NAME.
      	(dump_expr, location_of): Use OVL_FIRST.
      	* friend.c (do_friend): Use OVL_NAME.
      	* init.c (build_offset_ref): Use OVL_FIRST.
      	* mangle.c (write_member_name): Likewise.
      	(write_expression): Use OVL_NAME.
      	* method.c (strip_inheriting_ctors): Use OVL_FIRST.
      	* name-lookup.c (pushdecl_class_level): Use OVL_NAME.
      	* pt.c (check_explicit_specialization): Use OVL_FIRST.
      	(check_template_shadow): Likewise.
      	(tsubst_template_args): Use OVL_NAME.
      	(tsubst_baselink): Use OVL_FIRST.
      	* semantics.c (perform_koenig_lookup): Use OVL_NAME.
      	* tree.c (get_first_fn): Use OVL_FIRST.
      	* typeck.c (finish_class_member_access_expr): Use OVL_NAME.
      	(cp_build_addr_expr_1): Use OVL_FIRST.
      
      From-SVN: r248108
      Nathan Sidwell committed
    • Regenerate libstdc++-v3/configure for versioned-namespace soname · ba1a6907
      	* configure: Regenerate.
      
      From-SVN: r248107
      Jonathan Wakely committed
    • pt.c (tsubst_copy_and_build): Remove unnecessary COMPONENT_REF peeking. · 1f0ed17c
      	* pt.c (tsubst_copy_and_build): Remove unnecessary COMPONENT_REF
      	peeking.
      	* semantics.c (finish_id_expression): Directly init local var.
      	(finish_omp_reduction_clause): Use really_overloaded_fn.
      	* tree.c (get_fns): Document.  Assert we got an overload.
      	(get_first_fn) Document.
      	* typeck.c (cp_build_addr_expr_1): Pass arg directly to
      	really_overloaded_fn.
      	* typeck2.c (cxx_inomplete_type_diagnostic): Use get_first_fn directly.
      
      From-SVN: r248106
      Nathan Sidwell committed
    • optional (_Optional_base::_M_get): Check precondition. · 2c27a627
      2017-05-16  Marc Glisse  <marc.glisse@inria.fr>
      
      	* include/std/optional (_Optional_base::_M_get): Check precondition.
      	* testsuite/20_util/optional/cons/value_neg.cc: Update line numbers.
      
      From-SVN: r248099
      Marc Glisse committed
    • cp-tree.h (SCOPE_DEPTH): New. · 322763f5
      	* cp-tree.h (SCOPE_DEPTH): New.
      	* name-lookup.h (is_nested_namespace): Declare.
      	* name-lookup.c (is_nested_namespace): New.
      	(is_ancestor): Use it.
      	(set_decl_namespace): Likewise.
      	(push_namespace): Set SCOPE_DEPTH.
      	* pt.c (check_specialization_namespace): Use is_nested_namespace.
      	(check_unqualigied_spec_or_inst): Likewise.
      
      From-SVN: r248095
      Nathan Sidwell committed
    • dwarf2out.c (loc_list_from_tree_1): Do not create DW_OP_GNU_variable_value for… · 51f01fc3
      dwarf2out.c (loc_list_from_tree_1): Do not create DW_OP_GNU_variable_value for DECL_IGNORED_P decls.
      
      2017-05-16  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (loc_list_from_tree_1): Do not create
      	DW_OP_GNU_variable_value for DECL_IGNORED_P decls.
      
      From-SVN: r248094
      Richard Biener committed
    • dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE just generated. · 3a06a610
      2017-05-16  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE
      	just generated.
      	(note_variable_value_in_expr): If we resolved the decl ref
      	do not push to the stack.
      
      From-SVN: r248093
      Richard Biener committed
    • Add cross-reference for test permutations in libstdc++ manual · 5f54ae00
      	* doc/xml/manual/appendix_contributing.xml: Link to test docs and
      	note higher DejaGnu version requirement.
      	* doc/html/*: Regenerate.
      
      From-SVN: r248092
      Jonathan Wakely committed
    • Add cross-reference for BADNAMES in libstdc++ manual · ad2b8b37
      	* doc/xml/manual/appendix_contributing.xml: Link to the list of bad
      	identifiers.
      	* doc/html/*: Regenerate.
      
      From-SVN: r248091
      Jonathan Wakely committed
    • Committed on behalf of Matthew Wahab · 6da37857
      gcc/
      2017-05-16  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config/arm/arm_neon.h (vadd_f16): Use standard arithmetic
      	operations in fast-math mode.
      	(vaddq_f16): Likewise.
      	(vmul_f16): Likewise.
      	(vmulq_f16): Likewise.
      	(vsub_f16): Likewise.
      	(vsubq_f16): Likewise.
      	* config/arm/neon.md (add<mode>3): New.
      	(sub<mode>3): New.
      	(fma:<VH:mode>3): New.  Also remove outdated comment.
      	(mul<mode>3): New.
      
      testsuite/
      2017-05-16  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* gcc.target/arm/armv8_2-fp16-arith-1.c: Expand comment.  Update
      	expected output of vadd, vsub and vmul instructions.
      	* gcc.target/arm/armv8_2-fp16-arith-2.c: New.
      	* gcc.target/arm/armv8_2-fp16-neon-2.c: New.
      	* gcc.target/arm/armv8_2-fp16-neon-3.c: New.
      
      From-SVN: r248090
      Matthew Wahab committed
    • Fix 2 typos in ipa-devirt.c. · d8c9bc36
      2017-05-16  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/79849.
      	PR ipa/79850.
      	* ipa-devirt.c (warn_types_mismatch): Fix typo.
      	(odr_types_equivalent_p): Likewise.
      
      From-SVN: r248089
      Martin Liska committed
    • objc-runtime-shared-support.c (build_module_descriptor): Remove unnecessary… · be742f1e
      objc-runtime-shared-support.c (build_module_descriptor): Remove unnecessary conditional when building instance of objc_module.
      
      2017-05-16  Sylvestre Ledru  <sylvestre@debian.org>
      
              * objc-runtime-shared-support.c (build_module_descriptor):
              Remove unnecessary conditional when building instance of
              objc_module. CID 1406758
      
      From-SVN: r248087
      Sylvestre Ledru committed
    • Daily bump. · 4bd7b795
      From-SVN: r248086
      GCC Administrator committed
    • compiler: report correct errors for sink methods · d73b8f84
          
          If somebody writes
          
          func (s []int) _() {}
          
          we should report an error.  Before this patch we were silently
          accepting this code, because we didn't report any errors about the
          receiver if the method was a sink.
          
          This patch is unfortunately slightly complex to handle the case of
          
          func (x int) _() {}
          
          which we can only detect after define_global_names.
          
          This fixes blank1.go in the current gc testsuite.
          
          Reviewed-on: https://go-review.googlesource.com/43456
      
      From-SVN: r248081
      Ian Lance Taylor committed