- 24 May, 2020 3 commits
-
-
Add -mavx512vpopcntdq for -march=native if AVX512VPOPCNTDQ is available. PR target/95258 * config/i386/driver-i386.c (host_detect_local_cpu): Detect AVX512VPOPCNTDQ. (cherry picked from commit 808b611bfb4b05703ea174e50874c711dca44c98)
H.J. Lu committed -
This is a case where the standard contains conflicting information. after discussion between implementators, the accepted intent is of [class.copy.elision]. This amends the handling of co_return statements to follow that. Backport 5ef067eb14d40337507077a8a1265a04daa8ebc1 and f898793b4545483adaf62c5efbc78cee518884e6 gcc/cp/ChangeLog: * coroutines.cc (finish_co_return_stmt): Implement rules from [class.copy.elision] /3. gcc/testsuite/ChangeLog: * g++.dg/coroutines/co-return-syntax-10-movable.C: New test.
Iain Sandoe committed -
GCC Administrator committed
-
- 23 May, 2020 3 commits
-
-
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 -
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 -
GCC Administrator committed
-
- 22 May, 2020 3 commits
-
-
2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/95119 * io/close.c (close_status): Add CLOSE_INVALID. (st_close): Return early on invalid STATUS parameter. 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/95119 * testsuite/libgomp.fortran/close_errors_1.f90: New test. (cherry picked from commit cdc34b505796327b3eee9e97bc5f27ba71fd9e7a) (cherry picked from commit d975519ad1066ed0397714c91aafadadb52a63dd)
Thomas Koenig committed -
This documents new GCC 10 behavior on diagnostic options and -flto. 2020-05-22 Richard Biener <rguenther@suse.de> PR lto/95190 * doc/invoke.texi (flto): Document behavior of diagnostic options. (cherry picked from commit ab7eca92926fdc1da880120c116a1832fce56a29)
Richard Biener committed -
GCC Administrator committed
-
- 21 May, 2020 7 commits
-
-
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 -
* 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 -
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 -
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 -
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 -
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 -
GCC Administrator committed
-
- 20 May, 2020 2 commits
-
-
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 -
GCC Administrator committed
-
- 19 May, 2020 4 commits
-
-
Add FEATURE_AVX512VP2INTERSECT to libgcc so that enum processor_features in libgcc matches enum processor_features in i386-builtins.c. Update GFNI check to support processors with SSE and AVX versions of GFNI. Backport from master PR target/95212 PR target/95220 * config/i386/cpuinfo.c (get_available_features): Fix FEATURE_GFNI check. Also check FEATURE_AVX512VP2INTERSECT. * config/i386/cpuinfo.h (processor_features): Add FEATURE_AVX512VP2INTERSECT.
H.J. Lu committed -
* config/i386/i386-c.c (ix86_target_macros): Define _ILP32 and __ILP32__ for 32-bit targets.
Gerald Pfeifer committed -
Backport from mainline 2020-05-15 Tobias Burnus <tobias@codesourcery.com> gcc/ PR middle-end/94635 * gimplify.c (gimplify_scan_omp_clauses): For MAP_TO_PSET with OMP_TARGET_EXIT_DATA, use 'release:' unless the associated item is 'delete:'. gcc/testsuite PR middle-end/94635 * gfortran.dg/gomp/target-exit-data.f90: New.
Tobias Burnus committed -
GCC Administrator committed
-
- 18 May, 2020 4 commits
-
-
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 -
* sv.po: Update.
Joseph Myers committed -
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 -
GCC Administrator committed
-
- 17 May, 2020 3 commits
-
-
- 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 -
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 -
GCC Administrator committed
-
- 16 May, 2020 1 commit
-
-
GCC Administrator committed
-
- 15 May, 2020 2 commits
-
-
* sv.po: Update.
Joseph Myers committed -
GCC Administrator committed
-
- 14 May, 2020 1 commit
-
-
GCC Administrator committed
-
- 13 May, 2020 5 commits
-
-
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 -
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 -
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 -
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 -
GCC Administrator committed
-
- 12 May, 2020 2 commits
-
-
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 -
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
-