1. 24 May, 2020 3 commits
  2. 23 May, 2020 3 commits
    • libstdc++: Remove incorrect static specifiers · 415d3cd7
      These functions were originally static members of the path class, but
      the 'static' specifiers were not removed when they were moved to
      namespace scope. This causes ODR violations when the functions are
      called from functions defined in the header. Change them to 'inline'
      instead.
      
      Backport from mainline
      2020-05-23  Jonathan Wakely  <jwakely@redhat.com>
      
      	* include/bits/fs_path.h (__detail::_S_range_begin)
      	(__detail::_S_range_end): Remove unintentional static specifiers.
      	* include/experimental/bits/fs_path.h (__detail::_S_range_begin)
      	(__detail::_S_range_end): Likewise.
      Jonathan Wakely committed
    • libstdc++: Fix function that can't be constexpr in C++11 (PR 95289) · 3ba39107
      The body of this function isn't just a return statement, so it can't be
      constexpr until C++14.
      
      Backport from mainline
      2020-05-23  Jonathan Wakely  <jwakely@redhat.com>
      
      	PR libstdc++/95289
      	* include/debug/helper_functions.h (__get_distance): Only declare
      	as a constexpr function for C++14 and up.
      	* testsuite/25_algorithms/copy/debug/95289.cc: New test.
      Jonathan Wakely committed
    • Daily bump. · a3e3e25e
      GCC Administrator committed
  3. 22 May, 2020 3 commits
  4. 21 May, 2020 7 commits
    • i386: Avoid reversing a non-trapping comparison to a trapping one [PR95169] · ddfb80ad
      2020-05-21  Uroš Bizjak  <ubizjak@gmail.com>
      
      gcc/ChangeLog:
      	PR target/95169
      	* config/i386/i386-expand.c (ix86_expand_int_movcc):
      	 Avoid reversing a non-trapping comparison to a trapping one.
      
      gcc/testsuite/ChangeLog:
      	PR target/95169
      	* gcc.target/i386/pr95169.c: New test.
      Uros Bizjak committed
    • Add outline-atomics to target attribute. · a321683b
      	* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
      	Handle OPT_moutline_atomics.
      	* config/aarch64/aarch64.c: Add outline-atomics to
      	aarch64_attributes.
      
      	* doc/extend.texi: Document the newly added target attribute.
      
      	* gcc.target/aarch64/target_attr_20.c: New test.
      	* gcc.target/aarch64/target_attr_21.c: New test.
      
      (cherry picked from commit 9e02b45ffc60e0078bde3c56a14f00c54b7f8039)
      Martin Liska committed
    • libgcc: Move FEATURE_AVX512VP2INTERSECT after FEATURE_AVX512BF16 · 9b7d71fd
      Move FEATURE_AVX512VP2INTERSECT after FEATURE_AVX512BF16 to avoid
      changing libgcc ABI.
      
      gcc/
      
      	PR target/95212
      	* config/i386/i386-builtins.c (processor_features): Move
      	F_AVX512VP2INTERSECT after F_AVX512BF16.
      	(isa_names_table): Likewise.
      
      libgcc/
      
      	PR target/95212
      	* config/i386/cpuinfo.h (processor_features): Move
      	FEATURE_AVX512VP2INTERSECT after FEATURE_AVX512BF16.
      
      (cherry picked from commit 5855bdfa06fb25c0880af89cb2bfdcdf342beac2)
      H.J. Lu committed
    • libstdc++: Fix net::basic_socket::close(error_code&) · e3eec8a1
      Also add some missing member functions, nodiscard attributes, and
      noexcept-specifiers.
      
      Backport from mainline
      2020-05-21  Jonathan Wakely  <jwakely@redhat.com>
      
      	* include/experimental/executor (use_future_t::use_future_t()): Fix
      	incorrect noexcept-specifier.
      	* include/experimental/internet (basic_resolver_results): Adjust
      	whitespace.
      	* include/experimental/socket (__basic_socket_impl::release): Add
      	member function.
      	(basic_socket(io_context&, const endpoint_type&)): Fix argument to
      	target constructor.
      	(basic_socket::release(), basic_socket::release(error_code&)): Add
      	missing member functions.
      	(basic_socket::is_open()): Add nodiscard attribute.
      	(basic_socket::close(error_code&)): Pass argument to base function.
      	(basic_socket_acceptor::release())
      	(basic_socket_acceptor::release(error_code&)): Add missing member
      	functions.
      	(basic_socket_acceptor::is_open()): Add nodiscard attribute.
      	(basic_socket_streambuf::error()): Add noexcept.
      	(basic_socket_iostream::error()): Likewise.
      	* testsuite/experimental/net/socket/basic_socket.cc: New test.
      Jonathan Wakely committed
    • libstdc++: Avoid constraint recursion with iterator_traits (PR 93983) · 566ba721
      Checking whether a filesystem::path constructor argument is an iterator
      requires instantiating std::iterator_traits. In C++20 that checks for
      satisfaction of std::iterator_traits constraints, which checks if the
      type is copyable, which can end up recursing back to the path
      constructor. The fix in LWG 3420 is to reorder the cpp17-iterator
      concept's constraints to check if the type looks vaguely like an
      iterator before checking copyable. That avoids the recursion for types
      which definitely aren't iterators, but isn't foolproof.
      
      Backport from mainline
      2020-05-21  Jonathan Wakely  <jwakely@redhat.com>
      
      	PR libstdc++/93983
      	* include/bits/iterator_concepts.h (__detail::__cpp17_iterator):
      	Reorder constraints to avoid recursion when constructors use
      	iterator_traits (LWG 3420).
      	* testsuite/24_iterators/customization_points/lwg3420.cc: New test.
      Jonathan Wakely committed
    • x86: Update VPCLMULQDQ check · efcf41fc
      Update VPCLMULQDQ check to support processors with AVX version of
      VPCLMULQDQ.
      
      	Backport from master
      	PR target/91695
      	* config/i386/cpuinfo.c (get_available_features): Fix VPCLMULQDQ
      	check.
      
      (cherry picked from commit 1e46a443f25d26816536c0c480211714b123a1d5)
      H.J. Lu committed
    • Daily bump. · b5379031
      GCC Administrator committed
  5. 20 May, 2020 2 commits
    • Fortran : ProcPtr function results: 'ppr@' in error message PR39695 · 8358ac9b
      The value 'ppr@' is set in the name of result symbol, the actual
      name of the symbol is in the procedure name symbol pointed
      to by the result symbol's namespace (ns). When reporting errors for
      symbols that have the proc_pointer attribute check whether the
      result attribute is set and set the name accordingly.
      
      Backported from master.
      
      2020-05-20  Mark Eggleston  <markeggleston@gcc.gnu.org>
      
      gcc/fortran/
      
      	PR fortran/39695
      	* resolve.c (resolve_fl_procedure): Set name depending on
      	whether the result attribute is set.  For PROCEDURE/RESULT
      	conflict use the name in sym->ns->proc_name->name.
      	* symbol.c (gfc_add_type): Add check for function and result
      	attributes use sym->ns->proc_name->name if both are set.
      	Where the symbol cannot have a type use the name in
      	sym->ns->proc_name->name.
      
      2020-05-20  Mark Eggleston  <markeggleston@gcc.gnu.org>
      
      gcc/testsuite/
      
      	PR fortran/39695
      	* gfortran.dg/pr39695_1.f90: New test.
      	* gfortran.dg/pr39695_2.f90: New test.
      	* gfortran.dg/pr39695_3.f90: New test.
      	* gfortran.dg/pr39695_4.f90: New test.
      
      	(cherry picked from commit eb069ae8819c3a84d7f78becc5501e21ee3a9554)
      Mark Eggleston committed
    • Daily bump. · 09d89f2b
      GCC Administrator committed
  6. 19 May, 2020 4 commits
  7. 18 May, 2020 4 commits
    • PR middle-end/94940 - spurious -Warray-bounds for a zero length array member of union · ff61c5bd
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/94940
      	* gcc.dg/Warray-bounds-61.c: New test.
      
      gcc/ChangeLog:
      
      	PR middle-end/94940
      	* tree-vrp.c (vrp_prop::check_mem_ref): Remove unreachable code.
      	* tree.c (component_ref_size): Correct the handling or array members
      	of unions.
      	Drop a pointless test.
      	Rename a local variable.
      Martin Sebor committed
    • Update gcc sv.po. · e9bfb06b
      	* sv.po: Update.
      Joseph Myers committed
    • Require powerpc_vsx_ok in gcc.target/powerpc/pr71763.c · b761035f
      We're getting an error when running this test on PowerPC VxWorks 7,
      due to an unexpected warning:
      
          | Excess errors:
          | cc1: warning: '-mvsx' and '-mno-altivec' are incompatible
      
      The warning comes from a combination of factors:
        - The test itself uses -mvsx explicitly via the following directive:
             // { dg-options "-O1 -mvsx" }
        - Our toolchain was configured so as to make -mno-altivec
          the default;
        - These two options are mutually exclusive.
      
      This commit adds a powerpc_vsx_ok dg-require-effective-target directive
      to that test, and thus making it UNSUPPORTED instead.
      
      Tested on PowerPC VxWorks 7. Also tested on PowerPC ELF as well,
      a platform where we do not make -mno-altivec the default, to verify
      that the test continues to run as usual in that case.
      
      gcc/testsuite/
      
              * gcc.target/powerpc/pr71763.c: Require powerpc_vsx_ok.
      
      (cherry picked from commit c917584aa9ec32934acf0082ed383b04f49fd174)
      Douglas Rupp committed
    • Daily bump. · c70e1174
      GCC Administrator committed
  8. 17 May, 2020 3 commits
    • libphobos: Backport library fixes from mainline · 999c80ac
      - core.cpuid has been fixed to not use i7 detection on AMD processors.
      - std.net.curl has been fixed to correctly handle HTTP/2 status lines.
      - std.zip has had a test fixed to not rely on unzip being installed.
      
      libphobos/ChangeLog:
      
      	PR d/95166
      	* libdruntime/core/cpuid.d (cpuidX86): Do not use i7 detection on AMD
      	processors.
      	(hasCPUID): Fix deprecated asm syntax.
      
      	PR d/95167
      	* src/std/zip.d (unittest): Skip test if unzip is not installed.
      
      	PR d/95168
      	* src/std/net/curl.d (HTTP.onReceiveHeader): Move status line parsing
      	to ...
      	(HTTP.parseStatusLine): ... here.  New function.  Add support for
      	parsing HTTP/2 status lines.
      Iain Buclaw committed
    • d: Fix ICE in verify_gimple_stmt, at tree-cfg.c:4959 · 79f2ae6e
      Both array concat and array new expressions wrapped any temporaries
      created into a BIND_EXPR.  This does not work if an expression used to
      construct the result requires scope destruction, which is represented by
      a TARGET_EXPR with a clean-up, and a CLEANUP_POINT_EXPR at the
      location where the temporaries logically go out of scope.  The reason
      for this not working is because the lowering of cleanup point
      expressions does not traverse inside BIND_EXPRs to expand any gimple
      cleanup expressions within.
      
      The use of creating BIND_EXPR has been removed at both locations, and
      replaced with a normal temporary variable that has initialization
      delayed until its address is taken.
      
      gcc/d/ChangeLog:
      
      	PR d/94970
      	* d-codegen.cc (force_target_expr): Move create_temporary_var
      	implementation inline here.
      	(create_temporary_var): Remove.
      	(maybe_temporary_var): Remove.
      	(bind_expr): Remove.
      	* d-convert.cc (d_array_convert): Use build_local_temp to generate
      	temporaries, and generate its assignment.
      	* d-tree.h (create_temporary_var): Remove.
      	(maybe_temporary_var): Remove.
      	(d_array_convert): Remove vars argument.
      	* expr.cc (ExprVisitor::visit (CatExp *)): Use build_local_temp to
      	generate temporaries, don't wrap them in a BIND_EXPR.
      	(ExprVisitor::visit (NewExp *)): Likewise.
      
      gcc/testsuite/ChangeLog:
      
      	PR d/94970
      	* gdc.dg/pr94970.d: New test.
      Iain Buclaw committed
    • Daily bump. · bc709bc9
      GCC Administrator committed
  9. 16 May, 2020 1 commit
  10. 15 May, 2020 2 commits
  11. 14 May, 2020 1 commit
  12. 13 May, 2020 5 commits
    • Fortran : ICE in gfc_conv_array_constructor_expr PR93497 · f2b77b92
      Invalid expressions, such as those involving array constructors,
      used for the length of character types will cause an ICE.
      
      2020-05-11  Mark Eggleston  <markeggleston@gcc.gnu.org>
      
      Backported from master
      2020-05-13  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      gcc/fortran/
      
      	PR fortran/93497
      	* decl.c (char_len_param_value): Check whether character
      	length expression is of type EXPR_OP and if so simplify it.
      	* resolve.c (resolve_charlen): Reject length if it has a
      	rank.
      
      2020-05-11  Mark Eggleston  <markeggleston@gcc.gnu.org>
      
      Backported from master
      2020-05-13  Mark Eggleston  <markeggleston@gcc.gnu.org>
      
      gcc/testsuite/
      
      	PR fortran/93497
      	* gfortran.dg/pr88025.f90: Change in wording of error.
      	* gfortran.dg/pr93497.f90: New test.
      	* gfortran.dg/pr93714_1.f90: Change in wording of errors.
      	* gfortran.dg/pr93714_2.f90: Change in wording of errors.
      Mark Eggleston committed
    • ipa/94947 - avoid using externally_visible_p () · a68d4b47
      externally_visible_p wasn't the correct predicate to use (even if it
      worked), instead we should use DECL_EXTERNAL || TREE_PUBLIC.
      
      2020-05-07  Richard Biener  <rguenther@suse.de>
      
      	PR ipa/94947
      	* tree-ssa-structalias.c (refered_from_nonlocal_fn): Use
      	DECL_EXTERNAL || TREE_PUBLIC instead of externally_visible.
      	(refered_from_nonlocal_var): Likewise.
      	(ipa_pta_execute): Likewise.
      Richard Biener committed
    • ipa/94947 - fix test for externally visible variables for IPA PTA · 67d00c43
      This fixes lack of an escape point of externally declared variables.
      
      2020-05-05  Richard Biener  <rguenther@suse.de>
      
      	PR ipa/94947
      	* tree-ssa-structalias.c (ipa_pta_execute): Use
      	varpool_node::externally_visible_p ().
      	(refered_from_nonlocal_var): Likewise.
      
      	* gcc.dg/torture/pr94947-1.c: New testcase.
      	* gcc.dg/torture/pr94947-2.c: Likewise.
      Richard Biener committed
    • testsuite/92177 - adjust expected patterns for gcc.dg/vect/bb-slp-22.c · ff9d4e09
      We now always vectorize two BBs, adjust the selector to also scan
      for integer multiplication vectorization explicitely.
      
      2020-05-05  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/92177
      	* gcc.dg/vect/bb-slp-22.c: Adjust.
      Richard Biener committed
    • Daily bump. · d7ff81e0
      GCC Administrator committed
  13. 12 May, 2020 2 commits
    • rs6000: AIX long double builtins for 64 bit long double. · 0d2cd7aa
      When long doubles are 64 bit, the AIX C library overrides the definitions
      but GCC builtins point to 128 bit names.  This patch overrides the
      builtins for fmodl, frexpl, ldexpl and modfl to refer to the 64 bit symbols.
      
      Backport from mainline
      2020-05-04  Clement Chigot  <clement.chigot@atos.net>
      	    David Edelsohn  <dje.gcc@gmail.com>
      
      	* config/rs6000/rs6000-call.c (rs6000_init_builtins): Override explicit
      	for fmodl, frexpl, ldexpl and modfl builtins.
      David Edelsohn committed
    • [Fortran] Fix/modify present() handling for assumed-shape optional (PR 94672) · 8aeffc4c
      gcc/fortran/
      2020-05-12  Tobias Burnus  <tobias@codesourcery.com>
      
      	Backported from mainline
      	2020-05-11  Tobias Burnus  <tobias@codesourcery.com>
      
      	PR fortran/94672
      	* trans.h (gfc_conv_expr_present): Add use_saved_decl=false argument.
      	* trans-expr.c (gfc_conv_expr_present): Likewise; use DECL directly
      	and only if use_saved_decl is true, use the actual PARAM_DECL arg (saved
      	descriptor).
      	* trans-array.c (gfc_trans_dummy_array_bias): Set local 'arg.0'
      	variable to NULL if 'arg' is not present.
      	* trans-openmp.c (gfc_omp_check_optional_argument): Simplify by checking
      	'arg.0' instead of the true PARM_DECL.
      	(gfc_omp_finish_clause): Remove setting 'arg.0' to NULL.
      
      gcc/testsuite/
      2020-05-12  Tobias Burnus  <tobias@codesourcery.com>
      
      	Backported from mainline
      	2020-05-11  Jakub Jelinek  <jakub@redhat.com>
      		    Tobias Burnus  <tobias@codesourcery.com>
      
      	PR fortran/94672
      	* gfortran.dg/gomp/pr94672.f90: New.
      	* gfortran.dg/missing_optional_dummy_6a.f90: Update scan-tree.
      Tobias Burnus committed