]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
8 years agoDaily bump.
gccadmin [Wed, 17 May 2017 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248135 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[gcc]
wschmidt [Tue, 16 May 2017 20:18:05 +0000 (20:18 +0000)] 
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248130 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-16 Paul Thomas <pault@gcc.gnu.org>
pault [Tue, 16 May 2017 20:09:02 +0000 (20:09 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248129 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoC++: fix-it hints suggesting accessors for private fields
dmalcolm [Tue, 16 May 2017 19:52:26 +0000 (19:52 +0000)] 
C++: fix-it hints suggesting accessors for private fields

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248128 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/ChangeLog:
carll [Tue, 16 May 2017 19:32:54 +0000 (19:32 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248125 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR sanitizer/80536
mpolacek [Tue, 16 May 2017 19:25:04 +0000 (19:25 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248124 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * name-lookup.c (check_local_shadow): New, broke out of ...
nathan [Tue, 16 May 2017 19:20:25 +0000 (19:20 +0000)] 
* name-lookup.c (check_local_shadow): New, broke out of ...
(pushdecl_maybe_friend_1): ... here.  Call it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248123 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * ChangeLog: Fix whitespace.
uros [Tue, 16 May 2017 19:11:11 +0000 (19:11 +0000)] 
* ChangeLog: Fix whitespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248122 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * cp-tree.h (OVL_NESTED_P, OVL_LOOKUP_P): New.
nathan [Tue, 16 May 2017 18:29:36 +0000 (18:29 +0000)] 
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248121 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * call.c (build_user_type_conversion_1): Use OVL_FIRST.
nathan [Tue, 16 May 2017 17:36:03 +0000 (17:36 +0000)] 
* 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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248120 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * typeck2.c (cxx_incomplete_type_diagnostic): Revert change and
nathan [Tue, 16 May 2017 16:15:47 +0000 (16:15 +0000)] 
* typeck2.c (cxx_incomplete_type_diagnostic): Revert change and
check is_overloaded_fn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248119 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-16 Tamar Christina <tamar.christina@arm.com>
tnfchris [Tue, 16 May 2017 15:57:28 +0000 (15:57 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248117 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386.i386.md (*movsi_internal): Split (?rm,*y) alternative
uros [Tue, 16 May 2017 14:55:17 +0000 (14:55 +0000)] 
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248114 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd default value for last argument of dump functions.
marxin [Tue, 16 May 2017 14:51:02 +0000 (14:51 +0000)] 
Add default value for last argument of dump functions.

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248113 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * cp-tree.h (class ovl_iterator, class lkp_iterator): New OVERLOAD
nathan [Tue, 16 May 2017 14:46:30 +0000 (14:46 +0000)] 
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248112 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoTest source_location::current() in default member initializer
redi [Tue, 16 May 2017 14:26:14 +0000 (14:26 +0000)] 
Test source_location::current() in default member initializer

* testsuite/experimental/source_location/1.cc: Change expected result
for source_location::current() used in default member initializer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248111 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoImplement std::experimental::source_location (N4519)
redi [Tue, 16 May 2017 13:37:52 +0000 (13:37 +0000)] 
Implement std::experimental::source_location (N4519)

* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248110 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix forward declaration of std::type_info for versioned-namespace
redi [Tue, 16 May 2017 13:16:34 +0000 (13:16 +0000)] 
Fix forward declaration of std::type_info for versioned-namespace

PR libstdc++/80285
* include/bits/shared_ptr_base.h [!__cpp_rtti] (type_info): Declare
outside versioned namespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248109 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * cp-tree.h (OVL_FIRST, OVL_NAME): New.
nathan [Tue, 16 May 2017 13:15:53 +0000 (13:15 +0000)] 
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248108 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRegenerate libstdc++-v3/configure for versioned-namespace soname
redi [Tue, 16 May 2017 13:12:16 +0000 (13:12 +0000)] 
Regenerate libstdc++-v3/configure for versioned-namespace soname

* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248107 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * pt.c (tsubst_copy_and_build): Remove unnecessary COMPONENT_REF
nathan [Tue, 16 May 2017 13:12:01 +0000 (13:12 +0000)] 
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248106 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-16 Marc Glisse <marc.glisse@inria.fr>
glisse [Tue, 16 May 2017 12:54:16 +0000 (12:54 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248099 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * cp-tree.h (SCOPE_DEPTH): New.
nathan [Tue, 16 May 2017 11:32:40 +0000 (11:32 +0000)] 
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248095 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-16 Richard Biener <rguenther@suse.de>
rguenth [Tue, 16 May 2017 11:00:59 +0000 (11:00 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248094 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-16 Richard Biener <rguenther@suse.de>
rguenth [Tue, 16 May 2017 10:58:54 +0000 (10:58 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248093 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd cross-reference for test permutations in libstdc++ manual
redi [Tue, 16 May 2017 10:37:22 +0000 (10:37 +0000)] 
Add cross-reference for test permutations in libstdc++ manual

* doc/xml/manual/appendix_contributing.xml: Link to test docs and
note higher DejaGnu version requirement.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248092 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd cross-reference for BADNAMES in libstdc++ manual
redi [Tue, 16 May 2017 09:46:21 +0000 (09:46 +0000)] 
Add cross-reference for BADNAMES in libstdc++ manual

* doc/xml/manual/appendix_contributing.xml: Link to the list of bad
identifiers.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248091 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoCommitted on behalf of Matthew Wahab
tnfchris [Tue, 16 May 2017 09:23:42 +0000 (09:23 +0000)] 
Committed on behalf of Matthew Wahab

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248090 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix 2 typos in ipa-devirt.c.
marxin [Tue, 16 May 2017 08:57:05 +0000 (08:57 +0000)] 
Fix 2 typos in ipa-devirt.c.

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248089 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoplugin.c (try_init_one_plugin): Fix ressource leaks (CID 726637)
sylvestre [Tue, 16 May 2017 07:44:33 +0000 (07:44 +0000)] 
plugin.c (try_init_one_plugin): Fix ressource leaks (CID 726637)

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248088 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-16 Sylvestre Ledru <sylvestre@debian.org>
sylvestre [Tue, 16 May 2017 07:31:15 +0000 (07:31 +0000)] 
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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248087 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Tue, 16 May 2017 00:16:23 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248086 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago compiler: better error messages for slicing invalid types
ian [Tue, 16 May 2017 00:05:05 +0000 (00:05 +0000)] 
compiler: better error messages for slicing invalid types

    Reviewed-on: https://go-review.googlesource.com/43457

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248082 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago compiler: report correct errors for sink methods
ian [Tue, 16 May 2017 00:02:03 +0000 (00:02 +0000)] 
compiler: report correct errors for sink methods

    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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248081 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Mon, 15 May 2017 23:48:39 +0000 (23:48 +0000)] 
2017-05-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/80727
* transfer.c (read_sf_internal): Remove bogus code to detect EOR.
(read_block_form): For internal units, generate EOR if no more
bytes left in unit and we are trying to read with ADVANCE='NO'.

* gfortran.dg/read_3.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248080 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Mon, 15 May 2017 23:46:23 +0000 (23:46 +0000)] 
2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/80674
* trans-stmt.c (gfc_trans_integer_select): Remove redundant condition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248079 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/79369
nathan [Mon, 15 May 2017 20:26:19 +0000 (20:26 +0000)] 
PR c++/79369
* g++.dg/cpp1z/nested-namespace-def1.C: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248075 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-15 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Mon, 15 May 2017 20:06:06 +0000 (20:06 +0000)] 
2017-05-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/80765
        * m4/matmul_internal.m4: Set bystride to correct value in
vector-matrix multiplicatin for later calculation of buffer
size.
        * generated/matmul_c10.c: Regenerated.
        * generated/matmul_c16.c: Regenerated.
        * generated/matmul_c4.c: Regenerated.
        * generated/matmul_c8.c: Regenerated.
        * generated/matmul_i1.c: Regenerated.
        * generated/matmul_i16.c: Regenerated.
        * generated/matmul_i2.c: Regenerated.
        * generated/matmul_i4.c: Regenerated.
        * generated/matmul_i8.c: Regenerated.
        * generated/matmul_r10.c: Regenerated.
        * generated/matmul_r16.c: Regenerated.
        * generated/matmul_r4.c: Regenerated.
        * generated/matmul_r8.c: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248074 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago gcc/cp/
nathan [Mon, 15 May 2017 19:35:52 +0000 (19:35 +0000)] 
gcc/cp/
PR c++/79369
* cp-tree.h (DECL_NAMESPACE_INLINE_P): New.
* name-lookup.h (push_namespace): Return int, add make_inline arg.
* name-lookup.c (push_namespace): Deal with inline directly.
Return pushed count.
* parser.c (cp_parser_namespace_definition): Adjust for
push_namespace change.

gcc/testsuite/
* g++.dg/cpp0x/pr65558.C: Adjust diagnostic location.
* g++.dg/cpp0x/pr79369.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248073 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Mon, 15 May 2017 19:34:52 +0000 (19:34 +0000)] 
2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/80752
* expr.c (gfc_generate_initializer):  If type conversion fails,
check for error and return NULL.

2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/80752
gfortran.dg/pr80752.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248072 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * ChangeLog: Add missing PR number.
uros [Mon, 15 May 2017 19:20:50 +0000 (19:20 +0000)] 
* ChangeLog: Add missing PR number.
* testsuite/ChangeLog: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248071 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386.i386.md (*zero_extendsidi2): Do not penalize
uros [Mon, 15 May 2017 19:04:35 +0000 (19:04 +0000)] 
* config/i386.i386.md (*zero_extendsidi2): Do not penalize
non-interunit SSE move alternatives with '?'.
(zero-extendsidi peephole2): New peephole to skip intermediate
general register in SSE zero-extend sequence.

testsuite/ChangeLog:

* gcc.target/i386/pr80425-1.c: New test.
* gcc.target/i386/pr80425-2.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248070 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * reorg.c (relax_delay_slots): Create a new variable to hold
law [Mon, 15 May 2017 17:21:31 +0000 (17:21 +0000)] 
* reorg.c (relax_delay_slots): Create a new variable to hold
the temporary target rather than clobbering TARGET_LABEL.

* gcc.target/mips/reorgbug-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248067 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Add
law [Mon, 15 May 2017 16:27:07 +0000 (16:27 +0000)] 
* config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Add
missing argument to extract_bit_field call.
* config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248066 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * sv.po: Update.
jsm28 [Mon, 15 May 2017 14:20:15 +0000 (14:20 +0000)] 
* sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248064 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix order and types of members in C++17 insert_return_type structs
redi [Mon, 15 May 2017 13:47:40 +0000 (13:47 +0000)] 
Fix order and types of members in C++17 insert_return_type structs

PR libstdc++/80761
* include/bits/node_handle.h (_Node_insert_return): Reorder members.
(tuple_size, tuple_element): Remove partial specializations.
* include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use
const_iterator for std::set.
* testsuite/23_containers/map/modifiers/extract.cc: New.
* testsuite/23_containers/set/modifiers/extract.cc: New.
* testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
* testsuite/23_containers/unordered_set/modifiers/extract.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248062 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDo not allow empty argument of -o option (PR driver/31468).
marxin [Mon, 15 May 2017 12:48:35 +0000 (12:48 +0000)] 
Do not allow empty argument of -o option (PR driver/31468).

2017-05-15  Martin Liska  <mliska@suse.cz>

PR driver/31468
* gcc.c (process_command): Do not allow empty argument of -o option.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248060 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH][AARCH64]Simplify call, call_value, sibcall, sibcall_value patterns.
renlin [Mon, 15 May 2017 11:24:56 +0000 (11:24 +0000)] 
[PATCH][AARCH64]Simplify call, call_value, sibcall, sibcall_value patterns.

gcc/ChangeLog

2017-05-15  Renlin Li  <renlin.li@arm.com>

* config/aarch64/aarch64-protos.h (aarch64_expand_call): Declare.
* config/aarch64/aarch64.c (aarch64_expand_call): Define.
* config/aarch64/constraints.md (Usf): Add long call check.
* config/aarch64/aarch64.md (call): Use aarch64_expand_call.
(call_value): Likewise.
(sibcall): Likewise.
(sibcall_value): Likewise.
(call_insn): New.
(call_value_insn): New.
(sibcall_insn): Update rtx pattern.
(sibcall_value_insn): Likewise.
(call_internal): Remove.
(call_value_internal): Likewise.
(sibcall_internal): Likewise.
(sibcall_value_internal): Likewise.
(call_reg): Likewise.
(call_symbol): Likewise.
(call_value_reg): Likewise.
(call_value_symbol): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248056 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/gigi.h (get_elaboration_procedure): Delete.
ebotcazou [Mon, 15 May 2017 09:07:18 +0000 (09:07 +0000)] 
* gcc-interface/gigi.h (get_elaboration_procedure): Delete.
* gcc-interface/trans.c (get_elaboration_procedure): Make static.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248055 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/utils.c (can_materialize_object_renaming_p):
ebotcazou [Mon, 15 May 2017 08:58:56 +0000 (08:58 +0000)] 
* gcc-interface/utils.c (can_materialize_object_renaming_p):
Synchronize with GNAT's Exp_Dbug.Debug_Renaming_Declaration:
process Original_Node instead of expanded names.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248054 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/trans.c (return_value_ok_for_nrv_p): Only apply the
ebotcazou [Mon, 15 May 2017 08:43:25 +0000 (08:43 +0000)] 
* gcc-interface/trans.c (return_value_ok_for_nrv_p): Only apply the
addressability check in the constrained case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248053 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/trans.c (Identifier_to_gnu): Also accept incomplete
ebotcazou [Mon, 15 May 2017 08:38:37 +0000 (08:38 +0000)] 
* gcc-interface/trans.c (Identifier_to_gnu): Also accept incomplete
types not coming from a limited context.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248052 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/trans.c (Compilation_Unit_to_gnu): Skip subprograms on
ebotcazou [Mon, 15 May 2017 08:27:44 +0000 (08:27 +0000)] 
* gcc-interface/trans.c (Compilation_Unit_to_gnu): Skip subprograms on
the inlined list that are not public.
* gcc-interface/utils.c (create_subprog_decl): Clear TREE_PUBLIC if
there is a pragma Inline_Always on the subprogram.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248051 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Fix formatting.
ebotcazou [Mon, 15 May 2017 08:14:32 +0000 (08:14 +0000)] 
* gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Fix formatting.
<N_Allocator>: Use properly typed constants.
(extract_values): Move around.
(pos_to_constructor): Minor tweaks.
(Sloc_to_locus): Fix formatting.
* gcc-interface/utils.c (process_deferred_decl_context): Minor tweaks.
* gcc-interface/gigi.h (MARK_VISITED): Remove blank line.
(Gigi_Equivalent_Type): Adjust head comment.
* gcc-interface/decl.c (Gigi_Equivalent_Type): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248050 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When there
ebotcazou [Mon, 15 May 2017 08:00:41 +0000 (08:00 +0000)] 
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When there
is a representation clause on an extension, propagate the alignment of
the parent type only if the platform requires strict alignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248049 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/sparc/lb1spc.S [__ELF__ && __linux__]: Emit .note.GNU-stack
ebotcazou [Mon, 15 May 2017 07:36:18 +0000 (07:36 +0000)] 
* config/sparc/lb1spc.S [__ELF__ && __linux__]: Emit .note.GNU-stack
section for a non-executable stack.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248043 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Mon, 15 May 2017 00:16:33 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248041 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR target/80600 - hidden symbol '__cpu_model' is referenced by DSO
kristerw [Sun, 14 May 2017 22:49:03 +0000 (22:49 +0000)] 
PR target/80600 - hidden symbol '__cpu_model' is referenced by DSO

gcc/ChangeLog:

        PR target/80600
        * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.

libgcc/ChangeLog:

        PR target/80600
        * config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248037 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386.i386.c (ix86_cc_modes_compatible): CCNOmode is
uros [Sun, 14 May 2017 18:00:48 +0000 (18:00 +0000)] 
* config/i386.i386.c (ix86_cc_modes_compatible): CCNOmode is
compatible with CCGOCmode and with CCZmode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248036 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR middle-end/77671 - missing -Wformat-overflow warning on sprintf overflow with %s
msebor [Sun, 14 May 2017 17:50:28 +0000 (17:50 +0000)] 
PR middle-end/77671 - missing -Wformat-overflow warning on sprintf overflow with %s

gcc/ChangeLog:

PR middle-end/77671
* gimple-fold.c (gimple_fold_builtin_sprintf): Make extern.
(gimple_fold_builtin_snprintf): Same.
* gimple-fold.h (gimple_fold_builtin_sprintf): Declare.
(gimple_fold_builtin_snprintf): Same.
* gimple-ssa-sprintf.c (get_format_string): Correct the detection
of character types.
(is_call_safe): New function.
(try_substitute_return_value): Call it.
(try_simplify_call): New function.
(pass_sprintf_length::handle_gimple_call): Call it.

gcc/testsuite/ChangeLog:

PR middle-end/77671
* gcc.dg/tree-ssa/builtin-sprintf-7.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-8.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248035 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR middle-end/80669 - Bad -Wstringop-overflow warnings for stpncpy
msebor [Sun, 14 May 2017 16:06:41 +0000 (16:06 +0000)] 
PR middle-end/80669 - Bad -Wstringop-overflow warnings for stpncpy

gcc/ChangeLog:

PR middle-end/80669
* builtins.c (expand_builtin_stpncpy): Simplify.

gcc/testsuite/ChangeLog:

PR middle-end/80669
* gcc.dg/builtin-stpncpy.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248034 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/ChangeLog:
uros [Sun, 14 May 2017 10:22:08 +0000 (10:22 +0000)] 
gcc/ChangeLog:

* config/i386/i386.opt: Add option -mcall-ms2sysv-xlogues.
* config/i386/i386.h
(x86_64_ms_sysv_extra_clobbered_registers): Change type to unsigned.
(NUM_X86_64_MS_CLOBBERED_REGS): New macro.
(struct machine_function): Add new members call_ms2sysv,
call_ms2sysv_pad_in, call_ms2sysv_pad_out and call_ms2sysv_extra_regs.
(struct machine_frame_state): New fields sp_realigned and
sp_realigned_offset.
* config/i386/i386.c
(enum xlogue_stub): New enum.
(enum xlogue_stub_sets): New enum.
(class xlogue_layout): New class.
(struct ix86_frame): New fields stack_realign_allocate_offset,
stack_realign_offset and outlined_save_offset.  Modify comments to
detail stack layout when using out-of-line stubs.
(ix86_target_string): Add -mcall-ms2sysv-xlogues option.
(ix86_option_override_internal): Add sorry() for TARGET_SEH and
-mcall-ms2sysv-xlogues.
(stub_managed_regs): New static variable.
(ix86_save_reg): Add new parameter ignore_outlined to optionally omit
registers managed by out-of-line stub.
(disable_call_ms2sysv_xlogues): New function.
(ix86_compute_frame_layout): Modify re-alignment calculations, disable
m->call_ms2sysv when appropriate and compute frame layout for
out-of-line stubs.
(sp_valid_at, fp_valid_at): New inline functions.
(choose_basereg): New function.
(choose_baseaddr): Add align parameter, use choose_basereg and modify
all callers.
(ix86_emit_save_reg_using_mov, ix86_emit_restore_sse_regs_using_mov):
Use align parameter of choose_baseaddr to generated aligned SSE movs
when possible.
(pro_epilogue_adjust_stack): Modify to track
machine_frame_state::sp_realigned.
(ix86_nsaved_regs): Modify to accommodate changes to ix86_save_reg.
(ix86_nsaved_sseregs): Likewise.
(ix86_emit_save_regs): Likewise.
(ix86_emit_save_regs_using_mov): Likewise.
(ix86_emit_save_sse_regs_using_mov): Likewise.
(get_scratch_register_on_entry): Likewise.
(gen_frame_set): New function.
(gen_frame_load): Likewise.
(gen_frame_store): Likewise.
(emit_outlined_ms2sysv_save): Likewise.
(emit_outlined_ms2sysv_restore): Likewise.
(ix86_expand_prologue): Modify stack re-alignment code and call
emit_outlined_ms2sysv_save when appropriate.
(ix86_emit_leave): Clear machine_frame_state::sp_realigned.  Add
parameter rtx_insn *insn, which allows the function to be used to only
generate the notes.
(ix86_expand_epilogue): Modify validity checks of frame and stack
pointers, and call emit_outlined_ms2sysv_restore when appropriate.
(ix86_expand_call): Modify to enable m->call_ms2sysv when appropriate.
* config/i386/predicates.md
(save_multiple): New predicate.
(restore_multiple): Likewise.
* config/i386/sse.md
(save_multiple<mode>): New pattern.
(save_multiple_realign<mode>): Likewise.
(restore_multiple<mode>): Likewise.
(restore_multiple_and_return<mode>): Likewise.
(restore_multiple_leave_return<mode>): Likewise.
* Makefile.in: Export HOSTCXX and HOSTCXXFLAGS to site.exp

gcc/testsuite/ChangeLog:

* gcc.target/x86_64/abi/ms-sysv/do-test.S: New file.
* gcc.target/x86_64/abi/ms-sysv/gen.cc: Likewise.
* gcc.target/x86_64/abi/ms-sysv/ms-sysv.c: Likewise.
* gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: Likewise.

libgcc/ChangeLog:

* config.host: Add i386/t-msabi to i386/t-linux file list.
* config/i386/i386-asm.h: New file.
* config/i386/resms64.S: New file.
* config/i386/resms64f.S: New file.
* config/i386/resms64fx.S: New file.
* config/i386/resms64x.S: New file.
* config/i386/savms64.S: New file.
* config/i386/savms64f.S: New file.
* config/i386/t-msabi: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248029 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
uros [Sun, 14 May 2017 07:18:38 +0000 (07:18 +0000)] 
* config/i386/i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
* config/i386/i386-builtin.def (__builtin_ia32_xgetbv)
(__builtin_ia32_xsetbv): New builtins.
* config/i386/i386.c (ix86_expand_special_args_builtin):
Process new types.
(ix86_expand_builtin): Special expand for new intrinsics.
* config/i386/i386.md (UNSPECV_XGETBV, UNSPECV_XSETBV): New.
(xsetbv, xsetbv_rex64, xgetbv, xgetbv_rex64): New insn patterns.
* config/i386/xsaveintrin.h (_xsetbv, _getbv): New intrinsics.

testsuite/ChangeLog:

* gcc.target/i386/xgetsetbv.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248028 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agomake inverted_post_order_compute() operate on a vec
tbsaunde [Sun, 14 May 2017 00:39:23 +0000 (00:39 +0000)] 
make inverted_post_order_compute() operate on a vec

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cfganal.c (inverted_post_order_compute): Change argument type
to vec *.
* cfganal.h (inverted_post_order_compute): Adjust prototype.
* df-core.c (rest_of_handle_df_initialize): Adjust.
(rest_of_handle_df_finish): Likewise.
(df_analyze_1): Likewise.
(df_analyze): Likewise.
(loop_inverted_post_order_compute): Change argument to be a vec *.
(df_analyze_loop): Adjust.
(df_get_n_blocks): Likewise.
(df_get_postorder): Likewise.
* df.h (struct df_d): Change field to be a vec.
* lcm.c (compute_laterin): Adjust.
(compute_available): Likewise.
* lra-lives.c (lra_create_live_ranges_1): Likewise.
* tree-ssa-dce.c (remove_dead_stmt): Likewise.
* tree-ssa-pre.c (compute_antic): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248027 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agomake depth_first_search_ds a class
tbsaunde [Sun, 14 May 2017 00:39:13 +0000 (00:39 +0000)] 
make depth_first_search_ds a class

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cfganal.c (connect_infinite_loops_to_exit): Adjust.
(depth_first_search::depth_first_search): Change structure init
function to this constructor.
(depth_first_search::add_bb): Rename function to this member.
(depth_first_search::execute): Likewise.
(flow_dfs_compute_reverse_finish): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248026 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agomake more vars auto_sbitmaps
tbsaunde [Sun, 14 May 2017 00:39:08 +0000 (00:39 +0000)] 
make more vars auto_sbitmaps

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* ddg.c (find_nodes_on_paths): Use auto_sbitmap.
(longest_simple_path): Likewise.
* shrink-wrap.c (spread_components): Likewise.
(disqualify_problematic_components): Likewise.
(emit_common_heads_for_components): Likewise.
(emit_common_tails_for_components): Likewise.
(insert_prologue_epilogue_for_components): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248025 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agomake a member an auto_sbitmap
tbsaunde [Sun, 14 May 2017 00:39:04 +0000 (00:39 +0000)] 
make a member an auto_sbitmap

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-ssa-dse.c (dse_dom_walker): Make m_live_byes a
auto_sbitmap.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248024 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agouse auto_bitmap more with alternate obstacks
tbsaunde [Sun, 14 May 2017 00:38:59 +0000 (00:38 +0000)] 
use auto_bitmap more with alternate obstacks

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* df-core.c (df_set_blocks): Start using auto_bitmap.
(df_compact_blocks): Likewise.
* df-problems.c (df_rd_confluence_n): Likewise.
* df-scan.c (df_insn_rescan_all): Likewise.
(df_process_deferred_rescans): Likewise.
(df_update_entry_block_defs): Likewise.
(df_update_exit_block_uses): Likewise.
(df_entry_block_bitmap_verify): Likewise.
(df_exit_block_bitmap_verify): Likewise.
(df_scan_verify): Likewise.
* lra-constraints.c (lra_constraints): Likewise.
(undo_optional_reloads): Likewise.
(lra_undo_inheritance): Likewise.
* lra-remat.c (calculate_gen_cands): Likewise.
(do_remat): Likewise.
* lra-spills.c (assign_spill_hard_regs): Likewise.
(spill_pseudos): Likewise.
* tree-ssa-pre.c (bitmap_set_and): Likewise.
(bitmap_set_subtract_values): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248023 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agomove several bitmaps from gc memory to the default obstack and use auto_bitmap
tbsaunde [Sun, 14 May 2017 00:38:53 +0000 (00:38 +0000)] 
move several bitmaps from gc memory to the default obstack and use auto_bitmap

These places where probably trying to use the default bitmap obstack,
but passing 0 to bitmap_initialize actually uses gc allocation.  In any
case they are all cleaned up before going out of scope so using
auto_bitmap should be fine.

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* haifa-sched.c (estimate_shadow_tick): Replace manual bitmap
management with auto_bitmap.
(fix_inter_tick): Likewise.
(fix_recovery_deps): Likewise.
* ira.c (add_store_equivs): Likewise.
(find_moveable_pseudos): Likewise.
(split_live_ranges_for_shrink_wrap): Likewise.
* print-rtl.c (rtx_reuse_manager::rtx_reuse_manager): Likewise.
(rtx_reuse_manager::seen_def_p): Likewise.
(rtx_reuse_manager::set_seen_def): Likewise.
* print-rtl.h (class rtx_reuse_manager): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248022 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agouse auto_bitmap more
tbsaunde [Sun, 14 May 2017 00:38:48 +0000 (00:38 +0000)] 
use auto_bitmap more

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* bt-load.c (combine_btr_defs): Use auto_bitmap to manage bitmap
lifetime.
(migrate_btr_def): Likewise.
* cfgloop.c (get_loop_body_in_bfs_order): Likewise.
* df-core.c (loop_post_order_compute): Likewise.
(loop_inverted_post_order_compute): Likewise.
* hsa-common.h: Likewise.
* hsa-gen.c (hsa_bb::~hsa_bb): Likewise.
* init-regs.c (initialize_uninitialized_regs): Likewise.
* ipa-inline.c (resolve_noninline_speculation): Likewise.
(inline_small_functions): Likewise.
* ipa-reference.c (ipa_reference_write_optimization_summary): Likewise.
* ira.c (combine_and_move_insns): Likewise.
(build_insn_chain): Likewise.
* loop-invariant.c (find_invariants): Likewise.
* lower-subreg.c (propagate_pseudo_copies): Likewise.
* predict.c (tree_predict_by_opcode): Likewise.
(predict_paths_leading_to): Likewise.
(predict_paths_leading_to_edge): Likewise.
(estimate_loops_at_level): Likewise.
(estimate_loops): Likewise.
* shrink-wrap.c (try_shrink_wrapping): Likewise.
(spread_components): Likewise.
* tree-cfg.c (remove_edge_and_dominated_blocks): Likewise.
* tree-loop-distribution.c (rdg_build_partitions): Likewise.
* tree-predcom.c (tree_predictive_commoning_loop): Likewise.
* tree-ssa-coalesce.c (coalesce_ssa_name): Likewise.
* tree-ssa-phionlycprop.c (pass_phi_only_cprop::execute): Likewise.
* tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
* tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
* tree-ssa-threadupdate.c (compute_path_counts): Likewise.
(mark_threaded_blocks): Likewise.
(thread_through_all_blocks): Likewise.
* tree-ssa.c (verify_ssa): Likewise.
(execute_update_addresses_taken): Likewise.
* tree-ssanames.c (verify_ssaname_freelists): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248021 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoreplace some manual stacks with auto_vec
tbsaunde [Sun, 14 May 2017 00:38:40 +0000 (00:38 +0000)] 
replace some manual stacks with auto_vec

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cfganal.c (mark_dfs_back_edges): Replace manual stack with
auto_vec.
(post_order_compute): Likewise.
(inverted_post_order_compute): Likewise.
(pre_and_rev_post_order_compute_fn): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248020 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoallow constructing a auto_vec with a preallocation, and a possibly larger actual...
tbsaunde [Sun, 14 May 2017 00:38:35 +0000 (00:38 +0000)] 
allow constructing a auto_vec with a preallocation, and a possibly larger actual allocation size

This allows us to set the capacity of the vector when we construct it,
and still use a stack buffer when the size is small enough.

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* genrecog.c (int_set::int_set): Explicitly construct our
auto_vec base class.
* vec.h (auto_vec::auto_vec): New constructor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248019 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoallow auto_bitmap to use other bitmap obstacks
tbsaunde [Sun, 14 May 2017 00:38:29 +0000 (00:38 +0000)] 
allow auto_bitmap to use other bitmap obstacks

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* bitmap.h (class auto_bitmap): New constructor taking
bitmap_obstack * argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248018 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agostore the bitmap_head within the auto_bitmap
tbsaunde [Sun, 14 May 2017 00:38:24 +0000 (00:38 +0000)] 
store the bitmap_head within the auto_bitmap

This gets rid of one allocation per bitmap.  Often the bitmap_head is
now on the stack, when it isn't its part of some other struct on the
heap instead of being refered to by that struct.  On 64 bit platforms
this will increase the size of such structs by 24 bytes, but its an over
all win since we don't need an 8 byte pointer pointing at the
bitmap_head.  Given that the auto_bitmap owns the bitmap_head anyway we
know there would never be a place where two auto_bitmaps would refer to
the same bitmap_head object.

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* bitmap.h (class auto_bitmap): Change type of m_bits to
bitmap_head, and adjust ctor / dtor and member operators.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248017 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sun, 14 May 2017 00:16:26 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248016 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-09 Nicolas Koenig <koenigni@student.ethz.ch>
koenigni [Sat, 13 May 2017 23:38:36 +0000 (23:38 +0000)] 
2017-05-09  Nicolas Koenig  <koenigni@student.ethz.ch>

PR fortran/80442
* array.c (gfc_ref_dimen_size): Simplify stride
expression
* data.c (gfc_advance_section): Simplify start,
end and stride expressions
(gfc_advance_section): Simplify start and end
expressions
(gfc_get_section_index): Simplify start expression

2017-05-09  Nicolas Koenig  <koenigni@student.ethz.ch>

PR fortran/80442
* gfortran.dg/impl_do_var_data.f90: New Test

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248012 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * compare-elim.c (equivalent_reg_at_start): Return NULL_RTX
uros [Sat, 13 May 2017 21:07:49 +0000 (21:07 +0000)] 
* compare-elim.c (equivalent_reg_at_start): Return NULL_RTX
when returned register mode doesn't match original mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248009 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sat, 13 May 2017 15:33:34 +0000 (15:33 +0000)] 
2017-05-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* io.c (gfc_resolve_dt): Fix returns to bool type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248008 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-12 Jeff Law <law@redhat.com>
law [Sat, 13 May 2017 14:40:53 +0000 (14:40 +0000)] 
2017-05-12  Jeff Law  <law@redhat.com>
    Jakub Jelinek  <jakub@redhat.com>

* config/mn10300/mn10300.c (mn10300_match_ccmode): Fix where
we look for cc setter after the compare-elim changes.
* config/mn10300/mn10300.md (addsi3_flags): Fix order of patterns
within the vector to match what compare-elim now expects.
(subsi3_flags, andsi3_flags, iorsi3_flags): Likewise.
(xorsi3_flags, one_cmplsi2_flags): Likewise.

* config/rx/rx.c (rx_match_ccmode): Fix where we look cc setter
after the compare-elim changes.
* config/rx/rx.md (abssi2_flags): Fix order of patterns within
the vector to match what compare-elim now expects.
(addsi3_flags, adc_flags, addsi3_flags peepholes): Likewise.
(andsi3_flags, negsi2_flags, one_cmplsi2_flags): Likewise.
(iorsi3_flags, rotlsi3_flags, rotrsi3_flags): Likewise.
(ashrsi3_flags, lshrsi3_flags, ashlsi3_flags): Likewise.
(ssaddsi3, subsi3_flags, sbb_flags, xorsi3_flags): Likewise.

* config/visium/visium.c (single_set_and_flags): Fix where
we look for cc setter after the compare-elim changes.
* config/visium/visium.md (flags_subst_logic): Fix order of patterns
with the vector to match what compare-elim now expects.
(flags_subst_arith, add<mode>3_insn_set_carry): Likewise.
(add<mode>3_insn_set_overflow, addsi3_insn_set_carry): Likewise.
(addsi3_insn_set_overflow, sub<mode>3_insn_set_carry): Likewise.
(sub<mode>3_insn_set_overflow, subsi3_insn_set_carry): Likewise.
(subsi3_insn_set_overflow, negsi2_insn_set_carry): Likewise.
(neg<mode>2_insn_set_overflow): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248007 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoBRIG FE: Fix an assertion when doing an 'lda' of
visit0r [Sat, 13 May 2017 11:57:16 +0000 (11:57 +0000)] 
BRIG FE: Fix an assertion when doing an 'lda' of
a private array offset.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248006 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPatch for RTL expand bug affecting aarch64 vector code.
wilson [Sat, 13 May 2017 01:32:40 +0000 (01:32 +0000)] 
Patch for RTL expand bug affecting aarch64 vector code.

gcc/
PR middle-end/79794
     * expmed.c (extract_bit_field_1): Add alt_rtl argument.  Before
maybe_expand_insn call, set ops[0].target.  If still set after call,
set alt_rtl.  Add extra arg to recursive calls.
(extract_bit_field): Add alt_rtl argument.  Pass to
extract_bit_field.
* expmed.h (extract_bit_field): Fix prototype.
* expr.c (emit_group_load_1, copy_blkmode_from_reg)
(copy_blkmode_to_reg, read_complex_part, store_field): Pass extra NULL
to extract_bit_field_calls.
(expand_expr_real_1): Pass alt_rtl to expand_expr_real instead of 0.
Pass alt_rtl to extract_bit_field calls.
* calls.c (store_unaligned_arguments_into_psuedos)
load_register_parameters): Pass extra NULL to extract_bit_field calls.
* optabs.c (maybe_legitimize_operand): Clear op->target when call
gen_reg_rtx.
* optabs.h (struct expand_operand): Add target bitfield.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248004 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sat, 13 May 2017 00:16:33 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248003 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRevert revision 247926.
fdumont [Fri, 12 May 2017 21:19:39 +0000 (21:19 +0000)] 
Revert revision 247926.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247998 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * sv.po: Update.
jsm28 [Fri, 12 May 2017 20:29:43 +0000 (20:29 +0000)] 
* sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247996 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/testsuite/ChangeLog:
msebor [Fri, 12 May 2017 19:23:00 +0000 (19:23 +0000)] 
gcc/testsuite/ChangeLog:

PR testsuite/80643
* gfortran.dg/mvbits_7.f90: Prune diagnostic output incidental
to the purpose of the test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247993 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * compare-elim.c (try_eliminate_compare): Canonicalize
uros [Fri, 12 May 2017 19:04:05 +0000 (19:04 +0000)] 
* compare-elim.c (try_eliminate_compare): Canonicalize
operation with embedded compare to
[(set (reg:CCM) (compare:CCM (operation) (immediate)))
 (set (reg) (operation)].

* config/i386/i386.c (TARGET_FLAGS_REGNUM): New define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247992 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/80723
uros [Fri, 12 May 2017 18:52:51 +0000 (18:52 +0000)] 
PR target/80723
* config/i386/i386.c (ix86_rtx_cost) [case PLUS]: Ignore the
cost of adding a carry flag for ADC instruction.
[case MINUS]: Ignore the cost of subtracting a carry flag
for SBB instruction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247991 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[gcc]
munroesj [Fri, 12 May 2017 18:34:44 +0000 (18:34 +0000)] 
[gcc]

2017-05-12  Steven Munroe  <munroesj@gcc.gnu.org>

* config.gcc (powerpc*-*-*): Add bmi2intrin.h, bmiintrin.h,
and x86intrin.h
* config/rs6000/bmiintrin.h: New file.
* config/rs6000/bmi2intrin.h: New file.
* config/rs6000/x86intrin.h: New file.

[gcc/testsuite]

2017-05-12  Steven Munroe  <munroesj@gcc.gnu.org>

* gcc.target/powerpc/bmi-andn-1.c: New file
* gcc.target/powerpc/bmi-andn-2.c: New file.
* gcc.target/powerpc/bmi-bextr-1.c: New file.
* gcc.target/powerpc/bmi-bextr-2.c: New file.
* gcc.target/powerpc/bmi-bextr-4.c: New file.
* gcc.target/powerpc/bmi-bextr-5.c: New file.
* gcc.target/powerpc/bmi-blsi-1.c: New file.
* gcc.target/powerpc/bmi-blsi-2.c: New file.
* gcc.target/powerpc/bmi-blsmsk-1.c: new file.
* gcc.target/powerpc/bmi-blsmsk-2.c: New file.
* gcc.target/powerpc/bmi-blsr-1.c: New file.
* gcc.target/powerpc/bmi-blsr-2.c: New File.
* gcc.target/powerpc/bmi-check.h: New File.
* gcc.target/powerpc/bmi-tzcnt-1.c: new file.
* gcc.target/powerpc/bmi-tzcnt-2.c: New file.
* gcc.target/powerpc/bmi2-bzhi32-1.c: New file.
* gcc.target/powerpc/bmi2-bzhi64-1.c: New file.
* gcc.target/powerpc/bmi2-bzhi64-1a.c: New file.
* gcc.target/powerpc/bmi2-check.h: New file.
* gcc.target/powerpc/bmi2-mulx32-1.c: New file.
* gcc.target/powerpc/bmi2-mulx32-2.c: New file.
* gcc.target/powerpc/bmi2-mulx64-1.c: New file.
* gcc.target/powerpc/bmi2-mulx64-2.c: New file.
* gcc.target/powerpc/bmi2-pdep32-1.c: New file.
* gcc.target/powerpc/bmi2-pdep64-1.c: New file.
* gcc.target/powerpc/bmi2-pext32-1.c: New File.
* gcc.target/powerpc/bmi2-pext64-1.c: New file.
* gcc.target/powerpc/bmi2-pext64-1a.c: New File.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247988 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-12 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 12 May 2017 17:53:54 +0000 (17:53 +0000)] 
2017-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60430
* g++.dg/cpp0x/pr60430.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247986 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * tree-vrp.c (vrp_dom_walker::before_dom_childern): Push unwinding
law [Fri, 12 May 2017 17:36:01 +0000 (17:36 +0000)] 
* tree-vrp.c (vrp_dom_walker::before_dom_childern): Push unwinding
markers.

* g++.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247985 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
bergner [Fri, 12 May 2017 17:13:07 +0000 (17:13 +0000)] 
gcc/
PR middle-end/80707
* tree-cfg.c: Remove cfg edges of unreachable case statements.

gcc/testsuite/
PR middle-end/80707
* g++.dg/pr80707.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247984 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago compiler: add calling Bfunction Backend::call_expression
ian [Fri, 12 May 2017 16:36:50 +0000 (16:36 +0000)] 
compiler: add calling Bfunction Backend::call_expression

    Pass in the calling (containing) Bfunction when invoking the Backend
    method call_expression(), so as to handle the case where generation of
    the call forces the creation of a temp var within the calling
    function.

    Reviewed-on: https://go-review.googlesource.com/43270

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247981 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * system-linux-arm.ads (Memory_Size): Use Long_Integer'Size
ebotcazou [Fri, 12 May 2017 15:55:46 +0000 (15:55 +0000)] 
* system-linux-arm.ads (Memory_Size): Use Long_Integer'Size
instead of Word_Size.

Revert
2017-03-28  Andreas Schwab  <schwab@suse.de>

PR ada/80117
* system-linux-aarch64-ilp32.ads: New file.
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
from LIBGNAT_TARGET_PAIRS.
(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
or -mabi=ilp32, resp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247979 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[gcc]
willschm [Fri, 12 May 2017 15:40:04 +0000 (15:40 +0000)] 
[gcc]

2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
early expansion of vector divide builtins.
(builtin_function_type): Add VSX_BUILTIN_UDIV_V2DI to the list of
builtins identified as having unsigned arguments.

[gcc/testsuite]

2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

* gcc.target/powerpc/fold-vec-div-float.c: New.
* gcc.target/powerpc/fold-vec-div-floatdouble.c: New.
* gcc.target/powerpc/fold-vec-div-longlong.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247977 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[gcc]
willschm [Fri, 12 May 2017 15:35:17 +0000 (15:35 +0000)] 
[gcc]

2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

* config/rs6000/rs6000.c (gimple-fold.h): New #include.
(rs6000_gimple_fold_builtin): Add handling for early GIMPLE
expansion of vector logical operations (and, andc, or, xor,
nor, orc, nand)

[gcc/testsuite]

2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

* gcc.target/powerpc/fold-vec-logical-ands-char.c: New.
* gcc.target/powerpc/fold-vec-logical-ands-int.c: New.
* gcc.target/powerpc/fold-vec-logical-ands-longlong.c: New.
* gcc.target/powerpc/fold-vec-logical-ands-short.c: New.
* gcc.target/powerpc/fold-vec-logical-ors-char.c: New.
* gcc.target/powerpc/fold-vec-logical-ors-int.c: New.
* gcc.target/powerpc/fold-vec-logical-ors-longlong.c: New.
* gcc.target/powerpc/fold-vec-logical-ors-short.c: New.
* gcc.target/powerpc/fold-vec-logical-other-char.c: New.
* gcc.target/powerpc/fold-vec-logical-other-int.c: New.
* gcc.target/powerpc/fold-vec-logical-other-longlong.c: New.
* gcc.target/powerpc/fold-vec-logical-other-short.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247976 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-05-12 Will Schmidt <will_schmidt@vnet.ibm.com>
willschm [Fri, 12 May 2017 15:22:58 +0000 (15:22 +0000)] 
2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>

[gcc]
        * gimple-fold.c (create_tmp_reg_or_ssa_name): Remove static declaration.
        * gimple-fold.h (create_tmp_reg_or_ssa_name): New prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247975 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[gcc]
willschm [Fri, 12 May 2017 15:17:27 +0000 (15:17 +0000)] 
[gcc]

2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>

        * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
        early GIMPLE expansion of vector multiplies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247974 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR libstdc++/78939 make tuple_size<cv T> depend on tuple_size<T>
redi [Fri, 12 May 2017 14:43:11 +0000 (14:43 +0000)] 
PR libstdc++/78939 make tuple_size<cv T> depend on tuple_size<T>

PR libstdc++/78939
* include/std/utility (tuple_size<cv T>): Only define partial
specializations when tuple_size<T>::value is valid.
* testsuite/20_util/tuple/78939.cc: New.
* testsuite/20_util/tuple/cv_tuple_size_neg.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247973 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.target/i386/pr22152.c: Remove unneeded dg-additional-options.
uros [Fri, 12 May 2017 14:35:13 +0000 (14:35 +0000)] 
* gcc.target/i386/pr22152.c: Remove unneeded dg-additional-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247972 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[ARM] Add missing TARGET_32BIT conditional to movsi
thopre01 [Fri, 12 May 2017 14:16:52 +0000 (14:16 +0000)] 
[ARM] Add missing TARGET_32BIT conditional to movsi

2017-05-12  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>

    gcc/
    * config/arm/arm.md (movsi): Add TARGET_32BIT in addition to the
    TARGET_HAVE_MOVT conditional.
    (movt splitter): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247971 138bc75d-0d04-0410-961f-82ee72b054a4