1. 30 Sep, 2019 3 commits
  2. 29 Sep, 2019 9 commits
  3. 28 Sep, 2019 13 commits
    • stl_algo.h (merge): Fix documentation. · 97d57665
      2019-09-28  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/stl_algo.h (merge): Fix documentation.
      	* include/debug/functions.h (__check_sorted_aux): Add C++20 constexpr.
      	(__check_sorted): Likewise and remove nested irreflexive check.
      	(__check_sorted_set_aux, __check_sorted_set): Add C++20 constexpr.
      	(__check_partitioned_lower, __check_partitioned_upper): Likewise.
      	(_Irreflexive_checker::_S_is_valid): Likewise.
      	(__is_irreflexive, __is_irreflexive_pred): Likewise.
      	* include/debug/helper_functions.h (__get_distance): Add constexpr.
      	(__valid_range_aux): Add C++20 constexpr.
      	(__valid_range(_Iter, _Iter, _Distance_traits<_Iter>::__type&)):
      	Likewise and add std::is_constant_evaluated check.
      	(__valid_range_aux(_Iter, _Iter, std::input_iterator_tag)): New.
      	(__valid_range_aux(_Iter, _Iter, std::random_accss_iterator_tag)): New.
      	(__valid_range_aux(_Integral, _Integral, std::__true_type)): New,
      	use latter.
      	(__valid_range(_Iter, _Iter)): Adapt to use latter, add constexpr and
      	__builtin_is_contant_evaludated check..
      	(__can_advance, __base): Add constexpr.
      	* include/debug/macros.h [_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED]
      	(_GLIBCXX_DEBUG_VERIFY_COND_AT): New.
      	(__glibcxx_check_sorted): Use __glibcxx_check_irreflexive.
      	(__glibcxx_check_sorted_pred): Use __glibcxx_check_irreflexive_pred.
      	* testsuite/25_algorithms/binary_search/constexpr.cc: Use irreflexive
      	std::less.
      	* testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise.
      	* testsuite/25_algorithms/merge/constexpr.cc: Fix order in camm. Fix
      	lambda to be irreflexive.
      
      From-SVN: r276260
      François Dumont committed
    • [Darwin, PPC, Mode Iterators 4/n] Update macho_high. · 23cb6f8e
      Drop the expander and use a mode iterator on the define_insn
      for @macho_high_<mode> instead.
      
      gcc/ChangeLog:
      
      2019-09-28  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.c (gen_macho_high): Amend to include the mode
      	argument.
      	(machopic_indirect_data_reference): Amend gen_macho_high call
      	to include mode argument.
      	(machopic_legitimize_pic_address): Likewise.
      	* config/rs6000/rs6000.c (rs6000_legitimize_address):
      	* config/rs6000/darwin.md (@macho_high_<mode>): New, replaces
      	the macho_high expander and two define_insn entries.
      
      From-SVN: r276256
      Iain Sandoe committed
    • re PR libfortran/91593 (Implicit enum conversions in libgfortran/io/transfer.c) · 60674b3f
      2019-09-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/91593
      	* io/io.h: Add gcc_unreachable().
      	* io/transfer.c (file_mode, current_mode,
      	formatted_transfer_scalar_read, formatted_transfer_scalar_write,
      	pre_position, next_record_r, next_record_w): Add and use
      	FORMATTED_UNSPECIFIED to enumeration.
      
      From-SVN: r276255
      Jerry DeLisle committed
    • re PR fortran/91802 (ICE in mio_name_expr_t, at fortran/module.c:2141) · 4c597101
      2019-09-28  Steven G. Kargl  <kargl@gcc.ngu.org>
      
      	PR fortran/91802
      	* decl.c (attr_decl1): Check if rank+corank > 15.
      
      2019-09-28  Steven G. Kargl  <kargl@gcc.ngu.org>
      
      	PR fortran/91802
      	* gfortran.dg/pr91802.f90: New test.
      
      From-SVN: r276254
      Steven G. Kargl committed
    • re PR fortran/91864 (ICE in gfc_check_do_variable, at fortran/parse.c:4405) · 036aa592
      2019-09-28  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91864
      	* gcc/fortran/io.c (match_io_element): An inquiry parameter cannot be
      	read into.
      	* gcc/fortran/match.c (gfc_match_allocate): An inquiry parameter 
      	can be neither an allocate-object nor stat variable.
      	(gfc_match_deallocate): An inquiry parameter cannot be deallocated.
      
      2019-09-28  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91864
      	* gcc/testsuite/gfortran.dg/pr91864.f90
      
      From-SVN: r276253
      Steven G. Kargl committed
    • PR c++/91889 - follow-up fix for DR 2352. · 406c9a11
      	* call.c (involves_qualification_conversion_p): New function.
      	(direct_reference_binding): Build a ck_qual if the conversion
      	would involve a qualification conversion.
      	(convert_like_real): Strip the conversion created by the ck_qual
      	in direct_reference_binding.
      
      	* g++.dg/cpp0x/ref-bind3.C: Add dg-error.
      	* g++.dg/cpp0x/ref-bind4.C: New test.
      	* g++.dg/cpp0x/ref-bind5.C: New test.
      	* g++.dg/cpp0x/ref-bind6.C: New test.
      	* g++.old-deja/g++.pt/spec35.C: Revert earlier change.
      
      From-SVN: r276251
      Marek Polacek committed
    • PR c++/91921 - stray warning with -Woverloaded-virtual. · 7cf66a2d
      	* class.c (warn_hidden): Only emit the second part of
      	-Woverloaded-virtual if the first part was issued.  Use inform instead
      	warning_at.
      
      	* g++.dg/warn/Woverloaded-2.C: New.
      	* g++.dg/warn/Woverloaded-2.h: New.
      	* g++.dg/warn/pr61945.C: Turn dg-warning into dg-message.
      	* g++.old-deja/g++.mike/warn6.C: Likewise.
      	* g++.old-deja/g++.warn/virt1.C: Likewise.
      
      From-SVN: r276249
      Marek Polacek committed
    • PR c++/91923 - failure-to-SFINAE with class type NTTP in C++17. · 028c9b3b
      	* pt.c (invalid_nontype_parm_type_p): Only emit errors when
      	tf_error.
      
      	* g++.dg/cpp0x/nontype5.C: New test.
      
      From-SVN: r276248
      Marek Polacek committed
    • re PR target/86805 (sh port needs updating for CVE-2017-5753) · c57a3850
      gcc/
      2019-09-28  Oleg Endo  <olegendo@gcc.gnu.org>
      
      	PR target/86805
      	* config/sh/sh.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define.
      
      From-SVN: r276244
      Oleg Endo committed
    • re PR target/80672 (gcc/config/sh/sh.c:716: prefer compare to find.) · 2664bcb8
      gcc/
      2019-09-28  Oleg Endo  <olegendo@gcc.gnu.org>
      
      	PR target/80672
      	* config/sh/sh.c (parse_validate_atomic_model_option): Use
      	std::string::compare instead of std::string::find.
      
      From-SVN: r276240
      Oleg Endo committed
    • Fix endian issue in pr91656 testcases · b1649990
      	PR testsuite/91676
      	PR rtl-optimization/91656
      	* gcc.dg/torture/pr91656-1.c: Correct for big and pdp endian.
      	* gcc.dg/torture/pr91656-2.c: Likewise.
      	* gcc.dg/torture/pr91656-3.c: Likewise.
      
      From-SVN: r276236
      Alan Modra committed
    • compiler: resolve importing ambiguity for more complex function calls · 6e81d34e
          
          Tweak the exporter for inlinable function bodies to work around a
          problem with importing of function calls whose function expressions
          are not simple function names. In the bug in question, the function
          body exporter was writing out a function call of the form
          
                 (*(*FuncTyp)(var))(arg)
          
          which produced an export data representation of
          
                 *$convert(<type 5>, var)(x)
          
          which is hard to parse unambiguously. Fix: change the export data
          emitter to introduce parens around the function expression for more
          complex calls.
          
          Testcase for this bug is in CL 197217.
          
          Fixes golang/go#34503.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/197122
      
      From-SVN: r276228
      Ian Lance Taylor committed
    • Daily bump. · 222e8cb6
      From-SVN: r276227
      GCC Administrator committed
  4. 27 Sep, 2019 15 commits
    • Regenerate `configure' scripts for `uclinuxfdpiceabi' libtool.m4 update · e9085da5
      A change made with r275564 ("[ARM/FDPIC v6 02/24] [ARM] FDPIC: Handle 
      arm*-*-uclinuxfdpiceabi in configure scripts") to libtool.m4 has not 
      regenerated all the `configure' scripts affected.  Fix it.
      
      	gcc/
      	* configure: Regenerate.
      
      	libatomic/
      	* configure: Regenerate.
      
      	libbacktrace/
      	* configure: Regenerate.
      
      	libcc1/
      	* configure: Regenerate.
      
      	libffi/
      	* configure: Regenerate.
      
      	libgfortran/
      	* configure: Regenerate.
      
      	libgomp/
      	* configure: Regenerate.
      
      	libhsail-rt/
      	* configure: Regenerate.
      
      	libitm/
      	* configure: Regenerate.
      
      	libobjc/
      	* configure: Regenerate.
      
      	liboffloadmic/
      	* configure: Regenerate.
      
      	libphobos/
      	* configure: Regenerate.
      
      	libquadmath/
      	* configure: Regenerate.
      
      	libsanitizer/
      	* configure: Regenerate.
      
      	libssp/
      	* configure: Regenerate.
      
      	libstdc++-v3/
      	* configure: Regenerate.
      
      	libvtv/
      	* configure: Regenerate.
      
      	lto-plugin/
      	* configure: Regenerate.
      
      	zlib/
      	* configure: Regenerate.
      
      From-SVN: r276213
      Maciej W. Rozycki committed
    • re PR c++/88203 (assert does not compile with OpenMP's pragma omp parallel for default(none)) · 59bc434a
      	PR c++/88203
      c-family/
      	* c-common.h (c_omp_predefined_variable): Declare.
      	* c-omp.c (c_omp_predefined_variable): New function.
      	(c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
      	for predefined variables.
      c/
      	* c-parser.c (c_parser_predefined_identifier): New function.
      	(c_parser_postfix_expression): Use it.
      	(c_parser_omp_variable_list): Parse predefined identifiers.
      	* c-typeck.c (c_finish_omp_clauses): Allow predefined variables
      	in shared and firstprivate clauses, even when they are predetermined
      	shared.
      cp/
      	* parser.c (cp_parser_omp_var_list_no_open): Parse predefined
      	variables.
      	* semantics.c (finish_omp_clauses): Allow predefined variables in
      	shared and firstprivate clauses, even when they are predetermined
      	shared.
      	* cp-gimplify.c (cxx_omp_predetermined_sharing_1): Return
      	OMP_CLAUSE_DEFAULT_SHARED for predefined variables.
      testsuite/
      	* c-c++-common/gomp/pr88203-1.c: New test.
      	* c-c++-common/gomp/pr88203-2.c: New test.
      	* c-c++-common/gomp/pr88203-3.c: New test.
      
      From-SVN: r276212
      Jakub Jelinek committed
    • re PR middle-end/91920 (ggc 9.2.0 failing openmp compile on ppc64le) · 00798c58
      	PR middle-end/91920
      	* gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL
      	variables as shared.
      
      	* c-c++-common/gomp/pr91920.c: New test.
      
      From-SVN: r276211
      Jakub Jelinek committed
    • [Darwin, PPC, Mode Iterators 3/n] Update macho_correct_pic. · 576113ab
      Drop the expander and use a mode expander on the define_insn
      for macho_correct_pic instead.
      
      gcc/ChangeLog:
      
      2019-09-27  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/rs6000/darwin.md (@macho_correct_pic_<mode>): New,
      	replaces the expander and two define_insn entries.
      	(@reload_macho_picbase_<mode>): Update gen_macho_correct_pic
      	call.
      	* config/rs6000/rs6000.md (builtin_setjmp_receiver): Likewise.
      
      From-SVN: r276196
      Iain Sandoe committed
    • Const-correctness fixes for fibonacci_heap.h · 26a23d11
      gcc/ChangeLog:
      	* fibonacci_heap.h (fibonacci_heap::empty): Make const.
      	(fibonacci_heap::nodes): Likewise.
      	(fibonacci_heap::min_key): Likewise.
      	(fibonacci_heap::min): Likewise.
      
      From-SVN: r276193
      David Malcolm committed
    • constexpr.c (cxx_fold_indirect_ref): Use similar_type_p. · 1a120ec1
      	* constexpr.c (cxx_fold_indirect_ref): Use similar_type_p.
      
      Merging the similar_type_p change to the concepts branch broke a cmcstl2
      testcase; investigating led me to this small testcase which has always
      failed on trunk.
      
      	(cxx_eval_indirect_ref): Likewise.  Improve error location.
      
      From-SVN: r276192
      Jason Merrill committed
    • cp-tree.h (class iloc_sentinel): New. · c872f150
      	* cp-tree.h (class iloc_sentinel): New.
      
      We didn't already have a sentinel for input_location, and while
      temp_override would work, it would also happily set input_location to 0,
      which breaks things that try to look up the associated filename.
      
      	* decl.c (grokdeclarator, finish_enum_value_list): Use it.
      	* mangle.c (mangle_decl_string): Use it.
      	* pt.c (perform_typedefs_access_check): Use it.
      
      From-SVN: r276191
      Jason Merrill committed
    • Make cgraph_node::get_fun const · 975d043f
      gcc/ChangeLog:
      	* cgraph.c (cgraph_node::get_fun): Make const.
      	* cgraph.h (cgraph_node::get_fun): Likewise.
      
      From-SVN: r276190
      David Malcolm committed
    • compiler: don't read known type, simplify Import::finalize_methods · 37ed4c32
          
          With the current export format, if we already know the type, we don't
          have to read and parse the definition.
          
          We only use the finalizer in Import::finalize_methods, so make it a
          local variable.  To match Finalize_methods::type, only put struct
          types into real_for_named.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/197700
      
      From-SVN: r276188
      Ian Lance Taylor committed
    • compiler: only check whether struct or array types are big · 51c3b7c6
          
          Fetching the size of a type typically involves a hash table lookup,
          and is generally non-trivial.  The escape analysis code calls is_big
          more than one might expect.  So only fetch the size if we need it.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/197699
      
      From-SVN: r276187
      Ian Lance Taylor committed
    • compiler: fix brace formatting · df435456
          
          Just happened to notice this one.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/197698
      
      From-SVN: r276186
      Ian Lance Taylor committed
    • PR libstdc++/91910 fix data race in Debug Mode destructors · f7a3a382
      Fix data race when _Safe_iterator_base::_M_detach() runs concurrently with
      the _Safe_container_base destructor.
      
      	PR libstdc++/91910
      	* src/c++11/debug.cc (_Safe_iterator_base::_M_detach()): Load pointer
      	atomically and lock the mutex before accessing the sequence.
      	(_Safe_local_iterator_base::_M_detach()): Likewise.
      	(_Safe_iterator_base::_M_reset()): Clear _M_sequence atomically.
      
      From-SVN: r276184
      Jonathan Wakely committed
    • re PR target/91919 (arm-linux-eabi ICE with building kernel) · 88e032f1
      	PR target/91919
      	* config/arm/arm.md (<US>mlal): Remove SE wrappers around operands
      	of SImode MULT.
      
      	* gcc.c-torture/compile/pr91919.c: New.test
      
      From-SVN: r276183
      Jakub Jelinek committed
    • tree-vectorizer.h (_stmt_vec_info::reduc_fn): New. · 29f26978
      2019-09-27  Richard Biener  <rguenther@suse.de>
      
      	* tree-vectorizer.h (_stmt_vec_info::reduc_fn): New.
      	(STMT_VINFO_REDUC_FN): Likewise.
      	* tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize
      	STMT_VINFO_REDUC_FN.
      	* tree-vect-loop.c (vect_is_simple_reduction): Fix STMT_VINFO_REDUC_IDX
      	for condition reductions.
      	(vect_create_epilog_for_reduction): Compute all required state
      	from the stmt to be vectorized.
      	(vectorizable_reduction): Simplify vect_create_epilog_for_reduction
      	invocation and remove then dead code.  For single def-use chains
      	record only a single vector stmt.
      
      From-SVN: r276180
      Richard Biener committed
    • associate_48.f90: Fix a dg directive. · 67cb34ef
      2019-09-27  Manfred Schwarb  <manfred99@gmx.ch>
      
              * gfortran.dg/associate_48.f90: Fix a dg directive.
              * gfortran.dg/auto_in_equiv_1.f90: Ditto.
              * gfortran.dg/auto_in_equiv_2.f90: Ditto.
              * gfortran.dg/lto/pr87689_0.f: Ditto.
      
      From-SVN: r276179
      Manfred Schwarb committed