1. 29 May, 2017 12 commits
    • PR c++/80891 (#1,#5) · 3d7ff728
      	PR c++/80891 (#1,#5)
      	* cp-tree.h (lookup_maybe_add): Add DEDUPING argument.
      	* name-lookup.c (name_lookup): Add deduping field.
      	(name_lookup::preserve_state, name_lookup::restore_state): Deal
      	with deduping.
      	(name_lookup::add_overload): New.
      	(name_lookup::add_value, name_lookup::add_fns): Call add_overload.
      	(name_lookup::search_adl): Set deduping.  Don't unmark here.
      	* pt.c (most_specialized_instantiation): Revert previous change,
      	Assert not given duplicates.
      	* tree.c (lookup_mark): Just mark the underlying decls.
      	(lookup_maybe_add): Dedup using marked decls.
      
      	PR c++/80891 (#5)
      	* g++.dg/lookup/pr80891-5.C: New.
      
      From-SVN: r248578
      Nathan Sidwell committed
    • re PR fortran/53029 (missed optimization in internal read (without implied-do-loop)) · fd262197
      2017-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/53029
      	* list_read.c (list_formatted_read_scala): Set the err return
      	value to the common.flags error values.
      
      	* gfortran.dg/read_5.f90: New test.
      
      From-SVN: r248577
      Jerry DeLisle committed
    • PR c++/80891 (#4) · a5cfa13a
      	PR c++/80891 (#4)
      	* ptree.c (cxx_print_xnode): Show internal OVERLOAD structure.
      	* tree.c (ovl_insert, ovl_iterator_remove_node): Fix copying
      	assert.
      
      	PR c++/80891 (#4)
      	* g++.dg/lookup/pr80891-4.C: New.
      
      From-SVN: r248576
      Nathan Sidwell committed
    • Stat hack representation · 3c9cca88
      	Stat hack representation
      	* name-lookup.c (STAT_HACK_P, STAT_TYPE, STAT_DECL)
      	MAYBE_STAT_DECL, MAYBE_STAT_TYPE): New.
      	(stat_hack): New.
      	(find_namespace_binding): Replace with ...
      	(find_namespace_slot): ... this.
      	(find_namespace_value): New.
      	(name_lookup::search_namespace_only,
      	name_lookup::adl_namespace_only): Adjust.
      	(update_binding): Add SLOT parameter, adjust.
      	(check_local_shadow): Use find_namespace_value.
      	(set_local_extern_decl_linkage): Likewise.
      	(do_pushdecl): Adjust for namespace slot.
      	(push_local_binding): Assert not a namespace binding.
      	(check_for_out_of_scope_variable): Use find_namespace_value.
      	(set_identifier_type_value_with_scope): Likewise.
      	(get_namespace_binding): Likewise.
      	(set_namespace_binding): Delete.
      	(set_global_binding): Directly update the binding.
      	(finish_namespace_using_decl): Likewise.
      	(lookup_type_scope_1): Use find_namespace_slot and update.
      	(do_push_nested_namespace): Use find_namespace_value.
      
      From-SVN: r248574
      Nathan Sidwell committed
    • PR c++/80891 (#1) · e514ab0c
      	PR c++/80891 (#1)
      	* pt.c (most_specialized_instantiation): Cope with duplicate
      	instantiations.
      
      	PR c++/80891 (#1)
      	* g++.dg/lookup/pr80891-1.C: New.
      
      From-SVN: r248573
      Nathan Sidwell committed
    • PR c++/80891 (#3) · 58dec010
      	PR c++/80891 (#3)
      	* cp-tree.h (build_min_nt_call_vec): Declare.
      	* decl.c (build_offset_ref_call_from_tree): Call it.
      	* parser.c (cp_parser_postfix_expression): Likewise.
      	* pt.c (tsubst_copy_and_build): Likewise.
      	* semantics.c (finish_call_expr): Likewise.
      	* tree.c (build_min_nt_loc): Keep unresolved lookups.
      	(build_min): Likewise.
      	(build_min_non_dep): Likewise.
      	(build_min_non_dep_call_vec): Likewise.
      	(build_min_nt_call_vec): New.
      
      	PR c++/80891 (#3)
      	* g++.dg/lookup/pr80891-3.C: New.
      
      From-SVN: r248571
      Nathan Sidwell committed
    • PR c++/80891 (#2) · 724e517a
      	PR c++/80891 (#2)
      	* tree.c (ovl_copy): Adjust assert, copy OVL_LOOKUP.
      	(ovl_used): New.
      	(lookup_keep): Call it.
      
      	PR c++/80891 (#2)
      	* g++.dg/lookup/pr80891-2.C: New.
      
      From-SVN: r248570
      Nathan Sidwell committed
    • check_GNU_style_lib.py: Fix trailing whitespace check · 0a71c876
      2017-05-29  Tom de Vries  <tom@codesourcery.com>
      
      	* check_GNU_style_lib.py (TrailingWhitespaceCheck.check): Assert no
      	trailing eol.
      	(TrailingWhitespaceTest): New unit test.
      	(check_GNU_style_file): Remove eol before checking.
      
      From-SVN: r248556
      Tom de Vries committed
    • check_GNU_style.py: Read stdin if file argument is '-' · 75017bb9
      2017-05-29  Tom de Vries  <tom@codesourcery.com>
      
      	* check_GNU_style_lib.py (check_GNU_style_file): Treat file argument as
      	file handle.  Add and handle file_encoding argument.
      	* check_GNU_style.py (main): Handle '-' file argument.  Call
      	check_GNU_style_file with file handle as argument.
      
      From-SVN: r248555
      Tom de Vries committed
    • check_GNU_style_lib.py: Suggest to install all missing pip3 packages at once · 76baf5ca
      Instead of:
      ...
      $ ./contrib/check_GNU_style.py
      termcolor module is missing (run: pip3 install termcolor)
      $ pip3 install termcolor
      $ ./contrib/check_GNU_style.py
      unidiff module is missing (run: pip3 install unidiff)
      $ pip3 install unidiff
      $
      ...
      
      Do:
      ...
      $ ./contrib/check_GNU_style.py
      termcolor and unidiff modules are missing (run: pip3 install termcolor unidiff)
      $ pip3 install termcolor unidiff
      $
      ...
      
      2017-05-29  Tom de Vries  <tom@codesourcery.com>
      
      	* check_GNU_style_lib.py: Use import_pip3 to import pip3 packages.
      	(import_pip3): New function.
      
      From-SVN: r248554
      Tom de Vries committed
    • re PR fortran/37131 (inline matmul for small matrix sizes) · bbe3927b
      2017-05-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/37131
      	* frontend-passes.c (check_conjg_transpose_variable):
      	Add prototype.
      	(has_dimen_vector_ref):  Likewise
      	(matmul_temp_args):  New function. Add prototype.
      	(optimize_namespace):  Call matmul_temp_args.
      
      2017-05-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/37131
      	* gfortran.dg/promotion_2.f90: Add -finline-matmul-limit=0 to
      	flags.
      	* gfortran.dg/transpose_optimization_1.f90: Likewise.
      	* gfortran.dg/inline_matmul_17.f90:  New test.
      
      From-SVN: r248553
      Thomas Koenig committed
    • Daily bump. · 3779a0f8
      From-SVN: r248552
      GCC Administrator committed
  2. 28 May, 2017 4 commits
  3. 27 May, 2017 9 commits
  4. 26 May, 2017 15 commits
    • compiler: identify array index expressions in lvalue context · 56efdb45
          
          Update the Mark_lvalue_varexprs visitor class (used in
          Assignment_statement::do_get_backend) to identify
          Array_index_expression's that appear on the left hand side of
          assignments, then pass this context info on when invoking
          Array_type::get_value_pointer.
          
          Reviewed-on: https://go-review.googlesource.com/44170
      
      From-SVN: r248528
      Ian Lance Taylor committed
    • re PR libgcc/80037 (Bad .eh_frame data in crtend.o) · 7d66e265
      PR libgcc/80037
      
       * config/alpha/t-alpha (CRTSTUFF_T_CFLAGS): New.
      
      From-SVN: r248522
      Richard Henderson committed
    • Implement DR2061 · 945bf9e1
      	gcc/
      	Implement DR2061
      	* name-lookup.c (push_inline_namespaces): New.
      	(push_namespace): Look inside inline namespaces.
      
      	testsuite/
      	* g++.dg/cpp0x/dr2061.C: New.
      	* g++.dg/parse/namespace-alias-1.C: Add more test.
      
      From-SVN: r248521
      Nathan Sidwell committed
    • Inline and using namespace representation change. · 3c9feefc
      	gcc/cp/
      	Inline and using namespace representation change.
      	* cp-tree.h (struct lang_decl_ns): Delete ns_using.  Add usings,
      	inlinees as vector.
      	(DECL_NAMESPACE_USING): Adjust.
      	(DECL_NAMESPACE_INLINEES): New.
      	* name-lookup.h (struct cp_binding_level): Change usings
      	representation.
      	* name-lookup.c (name_lookup::do_queue_usings)
      	name_lookup::queue_usings): Adjust.
      	(name_lookup::search_namespace, name_lookup::search_usings)
      	name_lookup::queue_namespace): Adjust.
      	(name_lookup::adl_namespace_only): Adjust.
      	(add_using_namespace, push_namespace): Push onto vector.
      	(pop_namespace): Add timing logic.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_make_namespace_inline): Push onto linees.
      ((--This line, and those below, will be ignored--
      
      M    gcc/cp/ChangeLog
      M    gcc/cp/cp-tree.h
      M    gcc/cp/name-lookup.c
      M    gcc/cp/name-lookup.h
      M    libcc1/libcp1plugin.cc
      M    libcc1/ChangeLog
      
      From-SVN: r248520
      Nathan Sidwell committed
    • re PR fortran/80889 (Bootstrap broken on all targets due to rev 248472) · 5596d26a
      2017-05-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR boostrap/80889
      	* acinclude.m4: Also set HAVE_AVX128 on the false
      	branch of LIBGFOR_CHECK_AVX128.
      	* configure:  Regenerated.
      
      From-SVN: r248519
      Thomas Koenig committed
    • call.c (build_operator_new_call): Do namelookup and ADL here. · e1cad930
      	gcc/cp/
      	* call.c (build_operator_new_call): Do namelookup and ADL here.
      	(build_new_op_1): Likewise.
      	* name-lookup.h (lookup_function_nonclass): Delete declaration.
      	(do_using_directive): Likewise.
      	* name-lookup.c (set_namespace_binding, push_local_binding): Don't
      	declare early.
      	(struct scope_binding): Delete.
      	(EMPTY_SCOPE_BINDING): Delete.
      	(set_decl_namespace): Use OVL_P.
      	(finish_local_using_decl): Lose unnecesary checks.
      	(lookup_function_nonclass): Delete.
      	(cp_emit_debug_info_for_using): Use MAYBE_BASELINK_P.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_add_using_namespace): Call
      	finish_namespace_using_directive.
      
      From-SVN: r248518
      Nathan Sidwell committed
    • cp-tree.h (OVL_CHAIN): Check looking at OVERLOAD. · 32196b87
      	* cp-tree.h (OVL_CHAIN): Check looking at OVERLOAD.
      	(ovl_iterator): Add allow_inner field.  Adjust ctor.  Make
      	unduplicatable.
      	(ovl_iterator::maybe_push, ovl_iterator::pop): New.
      	(lkp_iterator): Add outer field.  Adjust ctor.
      	(lkp_iterator::operator++): New.
      	(lookup_mark, lookup_maybe_add): Declare.
      	* name-lookup.c (name_lookup): Delete fn_set member.
      	(name_lookup::preserve_state, name_lookup::restore_state): Unmark
      	and mark lookup.
      	(name_lookup::add_value): Use lookup_add directly.
      	(name_lookup::add_fns: Use lookup_maybe_add.
      	(name_lookup::search_adl): Mark and unmark fns.
      	(pushdecl): Adjust.
      	* pt.c (check_explicit_specialization): Use lookup_add directly.
      	* ptree.c (cxx_print_xnode): Show complete overload structure.
      	* tree.c (lookup_mark, lookup_maybe_add): New.
      
      From-SVN: r248517
      Nathan Sidwell committed
    • Renumber TDF_* flags to be contiguous. · 262149f5
      2017-05-26  Martin Liska  <mliska@suse.cz>
      
      	* dumpfile.h (enum dump_kind): Renumber TDF_* flags to be contiguous.
      
      From-SVN: r248515
      Martin Liska committed
    • Simplify usage of some TDF_* flags. · 9d9573d5
      2017-05-26  Martin Liska  <mliska@suse.cz>
      
      	* cfg.c (check_bb_profile): Do not use TDF_COMMENT and print
      	always leading ';; '.
      	(dump_bb_info): Likewise.
      	(brief_dump_cfg): Likewise.
      	* cfgrtl.c (print_rtl_with_bb): Do not use TDF_COMMENT.
      	* dumpfile.c: Remove usage of TDF_VERBOSE.
      	* dumpfile.h (enum dump_kind): Likewise.
      	(dump_gimple_bb_header): Do not use TDF_COMMENT.
      	* print-tree.c (debug_verbose): Remove.
      	* tree-cfg.c (gimple_dump_cfg): Do not use TDF_COMMENT.
      	(dump_function_to_file): Remove dumps guarded with TDF_VERBOSE.
      	* tree-diagnostic.c (default_tree_printer): Replace
      	TDF_DIAGNOSTIC with TDF_SLIM.
      
      From-SVN: r248514
      Martin Liska committed
    • tree-vect-loop-manip.c (create_intersect_range_checks_index): Pass in parameter… · f8d0706b
      tree-vect-loop-manip.c (create_intersect_range_checks_index): Pass in parameter loop, rather than loop_vinfo.
      
      	* tree-vect-loop-manip.c (create_intersect_range_checks_index): Pass
      	in parameter loop, rather than loop_vinfo.
      	(create_intersect_range_checks): Ditto.
      	(vect_create_cond_for_alias_checks): Update call to above functions.
      
      From-SVN: r248513
      Bin Cheng committed
    • re PR middle-end/80815 (wrong code because of broken runtime alias check in vectorizer) · cb4fe401
      	PR tree-optimization/80815
      	* tree-data-ref.c (prune_runtime_alias_test_list): Simplify condition
      	for merging runtime alias checks.  Handle negative DR_STEPs.
      	gcc/testsuite
      	* gcc.dg/vect/pr80815-1.c: New test.
      	* gcc.dg/vect/pr80815-2.c: New test.
      
      From-SVN: r248512
      Bin Cheng committed
    • tree-vect-data-refs.c (Operator==, [...]): Move from ... · 8d44cf72
      	* tree-vect-data-refs.c (Operator==, comp_dr_with_seg_len_pair):
      	Move from ...
      	* tree-data-ref.c (Operator==, comp_dr_with_seg_len_pair): To here.
      	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Factor
      	out code pruning runtime alias checks.
      	* tree-data-ref.c (prune_runtime_alias_test_list): New function
      	factored out from above.
      	* tree-vectorizer.h (struct dr_with_seg_len, dr_with_seg_len_pair_t):
      	Move from ...
      	* tree-data-ref.h (struct dr_with_seg_len, dr_with_seg_len_pair_t):
      	... to here.
      	(prune_runtime_alias_test_list): New decalaration.
      
      From-SVN: r248511
      Bin Cheng committed
    • tree-vect-data-refs.c (compare_tree): Rename and move ... · 2c8f03ad
      	* tree-vect-data-refs.c (compare_tree): Rename and move ...
      	* tree-data-ref.c (data_ref_compare_tree): ... to here.
      	* tree-data-ref.h (data_ref_compare_tree): New decalaration.
      	* tree-vect-data-refs.c (dr_group_sort_cmp): Update uses.
      	(operator==, comp_dr_with_seg_len_pair): Ditto.
      	(vect_prune_runtime_alias_test_list): Ditto.
      
      From-SVN: r248510
      Bin Cheng committed
    • Bound partial-inlining-entry-probability param (PR ipa/80663). · e929e611
      2017-05-26  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/80663
      	* params.def: Bound partial-inlining-entry-probability param.
      2017-05-26  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/80663
      	* g++.dg/ipa/pr80212.C: Remove the test as it does not longer
      	split at the problematic spot.
      	* gcc.dg/ipa/pr48195.c: Change 101 to 100 as 101 is no longer
      	a valid value of the param.
      
      From-SVN: r248489
      Martin Liska committed