[PATCH] libsupc++: Implement comparison algorithms for C++20

2019-11-13 Thread Jonathan Wakely
test. * testsuite/18_support/comparisons/algorithms/weak_order.cc: New test. Tested powerpc64le-linux, committed to trunk. commit e4dc0c07ed229d6efca300b42753fcd365db0085 Author: Jonathan Wakely Date: Thu Nov 7 21:58:46 2019 + libsupc++: Implement comparison algorithms for

Re: [PATCH] libsupc++: Implement comparison algorithms for C++20

2019-11-13 Thread Jonathan Wakely
On 13/11/19 18:52 +0100, Daniel Krügler wrote: Am Mi., 13. Nov. 2019 um 17:26 Uhr schrieb Jonathan Wakely : This is incomplete because std::strong_order doesn't support floating-point types. I'm wondering whether the local __cat lambda expression at the beginning of __fp_weak_o

Re: [patch] rename local _C2 identifiers in stl map header files

2020-01-09 Thread Jonathan Wakely
On 09/01/20 14:00 +0100, Olivier Hainque wrote: Hello, The attached patch is a proposal to simply rename a template type name in stl_map.h and stl_multimap.h in order to prevent clashes with a macro name exposed by a system header on VxWorks. The conflicting name is _C2, which in principle is "

Re: [C++ coroutines 5/7, v2] Standard library header.

2020-01-09 Thread Jonathan Wakely
On 09/01/20 12:39 +, Iain Sandoe wrote: Hi Jonathan The SVN commit IDs that relate to the amendments are noted in the revised patch header below. Jonathan Wakely wrote: On 17/11/19 10:27 +, Iain Sandoe wrote: * include/Makefile.in: Regnerated. "Regnerated" ty

[PATCH] libstdc++: Fix undefined behaviour in random dist serialization (PR93205)

2020-01-09 Thread Jonathan Wakely
ead to crashes or worse. commit 66851cd6d1fd84c963974b5142d9364ec4c018f6 Author: Jonathan Wakely Date: Thu Jan 9 16:17:36 2020 + libstdc++: Fix undefined behaviour in random dist serialization (PR93205) The deserialization functions for random number distributions fail to check

Re: [ PATCH ] [ C++ ] Implementing P0767 - deprecate POD

2020-01-09 Thread Jonathan Wakely
rking quite right, because for is_pod I don't get the message: pod.cc:6:21: warning: 'template struct std::is_pod' is deprecated [-Wdeprecated-declarations] 6 | static_assert( std::is_pod::value ); | ^~~~~~ In file included from pod.cc:1: /home/jwake

Re: [patch] rename local _C2 identifiers in stl map header files

2020-01-09 Thread Jonathan Wakely
On 09/01/20 20:09 +0100, Olivier Hainque wrote: Hi Jonathan, Yes, this is fine in principle. Please update the docs and change _Mt to _Cmp2 though. Sure, will adjust, test and follow up. Revised patch attached. Bootstrapped and regression tests fine on x86_64-linux. 2020-01-09 Olivier Hai

Re: [C++ coroutines 5/7, v3] Standard library header.

2020-01-09 Thread Jonathan Wakely
whitespace stuff. thanks Iain Jonathan Wakely wrote: On 09/01/20 12:39 +, Iain Sandoe wrote: +#ifndef _GLIBCXX_EXPERIMENTAL_COROUTINE +#define _GLIBCXX_EXPERIMENTAL_COROUTINE 1 Did you mean to leave EXPERIMENTAL in this macro? no, dropped. + template struct coroutine_traits _R isn'

Re: [ PATCH ] [ C++ ] Implementing P0767 - deprecate POD

2020-01-09 Thread Jonathan Wakely
On 09/01/20 19:57 +, Jonathan Wakely wrote: I'll commit the attached patch after more testing. And this follow-up to fix some fallout. commit 212e166cbeb4c7df38436563c3c51dbd4e0efc0d Author: Jonathan Wakely Date: Thu Jan 9 19:55:17 2020 + libstdc++: Fix testsuite failure

[PATCH] libstdc++: Fix incompatibilities with C++20

2020-01-09 Thread Jonathan Wakely
nter.h (readable_traits<_Pointer_adapter>): Add partial specialization to disambiguate the two constrained specializations. Tested powerpc64le-linux, committed to trunk. commit fa14bee2f1a8b608fe8279f82d8697473eda0259 Author: Jonathan Wakely Date: Thu Jan 9 20:58:18 2020 +

Re: [ PATCH ] [ C++ ] Implementing P0767 - deprecate POD

2020-01-10 Thread Jonathan Wakely
On 10/01/20 13:25 +0100, Christophe Lyon wrote: Hi, On Thu, 9 Jan 2020 at 22:21, Jonathan Wakely wrote: On 09/01/20 19:57 +, Jonathan Wakely wrote: >I'll commit the attached patch after more testing. And this follow-up to fix some fallout. I have noticed: FAIL: g++:g++.dg/c

Re: copy/copy_backward/fill/fill_n/equal rework

2020-01-10 Thread Jonathan Wakely
On 10/12/19 15:19 +, Jonathan Wakely wrote: On 09/12/19 10:32 +0100, François Dumont wrote: After completing this work and running more tests I realized that the declaration of algos was still not ideal. So here is another version where algos are not re-declare in stl_deque.h, I rather

[PATCH] libstdc++: Make istreambuf_iterator base class consistent (PR92285)

2020-01-10 Thread Jonathan Wakely
mit e4e3920f4e834b1a6c6b58bdb282947d3a08bc8c Author: Jonathan Wakely Date: Fri Jan 10 12:02:07 2020 + libstdc++: Make istreambuf_iterator base class consistent (PR92285) Since LWG 445 was implemented for GCC 4.7, the std::iterator base class of std::istreambuf_iterator changes t

Re: [PATCH] libstdcxx: Update ctype_base.h from NetBSD upstream

2020-01-10 Thread Jonathan Wakely
On 07/01/20 12:44 -0800, Jason Thorpe wrote: On Jan 7, 2020, at 7:43 AM, Jonathan Wakely wrote: For Jason and Krister's benefit, that last comment was referring to an earlier suggestion to not try to support old NetBSD releases, see https://gcc.gnu.org/ml/libstdc++/2020-01/msg00026.htm

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-10 Thread Jonathan Wakely
On 10/01/20 18:54 +0100, François Dumont wrote: Hi     Here is my attempt to improve == operator.     There is a small optimization for the std::unordered_mutiXXX containers but the main enhancement rely on some partial template specialization of the _Equality type. I limit it to usage of uno

[PATCH] libstdc++: Improve comment about testsuite utilities

2020-01-10 Thread Jonathan Wakely
This fixes a typo and also explains why test_container is not a range when used with output_iterator_wrapper or input_iterator_wrapper. * testsuite/util/testsuite_iterators.h: Improve comment. Committed to trunk. commit 6fe8c46fff330747f1a5995f99af898c0e582c01 Author: Jonathan Wakely

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-10 Thread Jonathan Wakely
On 10/01/20 22:01 +, Jonathan Wakely wrote: On 10/01/20 18:54 +0100, François Dumont wrote: Hi     Here is my attempt to improve == operator.     There is a small optimization for the std::unordered_mutiXXX containers but the main enhancement rely on some partial template specialization

[PATCH] libstdc++: Value-initialize std::atomic for C++20 (P0883R2)

2020-01-10 Thread Jonathan Wakely
lt_constructible. * testsuite/util/testsuite_common_types.h (has_trivial_dtor): Add new test generator. Tested powerpc64le-linux. I'll commit this to trunk after the new Git repo is up and accepting commits. commit 9928d854c91e2b1a7bdfd00d4b5715bdf7148eee Author: Jonathan Wakely Date: Sat

[PATCH] libstdc++/88812 C++20 LWG 2499/P0487R1 - Fixing operator>>(basic_istream&, CharT*)

2020-01-10 Thread Jonathan Wakely
Here's a patch to replace the unsafe, unbounded operator>> with the new one that only allows reading into a fixed-size array. I think I'll sit on this until stage1 though. The other options are to bump the libstdc++.so version and add it now, or not bump the version and also add the new symbol o

Re: [C++ PATCH RFC] PR c++/80265 - constexpr __builtin_mem*.

2020-01-13 Thread Jonathan Wakely
On 11/01/20 00:03 -0500, Jason Merrill wrote: The library has already worked around this issue, but I was curious about why it wasn't working. The answer: because we were passing &var to fold, which doesn't know about the constexpr values hash table. Fixed by passing &"str" instead. Tested x86

[PATCH] libstdc++: Ensure root-dir converted to forward slash (PR93244)

2020-01-13 Thread Jonathan Wakely
pathname. * testsuite/27_io/filesystem/path/generic/utf.cc: New test. * testsuite/27_io/filesystem/path/generic/wchar_t.cc: New test. Tested powerpc64le-linux, committed to master. commit fe7cc34fd5186cce3771e2bce2f4aacb81b9058c Author: Jonathan Wakely Date: Mon Jan 13 10:02:39 2020

Re: [PATCH] Clean up references to Subversion in documentation sources.

2020-01-13 Thread Jonathan Wakely
On 13/01/20 09:09 -0700, Sandra Loosemore wrote: On 1/13/20 7:02 AM, Eric S. Raymond wrote: Clean up references to SVN in in the GCC docs, redirecting to Git documentation as appropriate. This is OK, although the set of changes for the libstdc++ manual like this gave me pause: diff --git a

Re: [PATCH] Clean up references to Subversion in documentation sources.

2020-01-13 Thread Jonathan Wakely
On 13/01/20 16:21 +, Jonathan Wakely wrote: On 13/01/20 09:09 -0700, Sandra Loosemore wrote: On 1/13/20 7:02 AM, Eric S. Raymond wrote: Clean up references to SVN in in the GCC docs, redirecting to Git documentation as appropriate. This is OK, although the set of changes for the libstdc

Re: [PATCH] Clean up references to Subversion in documentation sources.

2020-01-13 Thread Jonathan Wakely
On 13/01/20 12:24 -0500, Eric S. Raymond wrote: Joseph Myers : I think you'll need to commit this for Eric (using --author= to set the git author, whenever you commit a patch for someone else). The libstdc++ maintainers can probably handle regenerating the HTML version of the libstdc++ document

Re: [C++ PATCH RFC] PR c++/80265 - constexpr __builtin_mem*.

2020-01-13 Thread Jonathan Wakely
On 13/01/20 12:53 -0500, Jason Merrill wrote: On Mon, Jan 13, 2020 at 6:11 AM Jonathan Wakely wrote: On 11/01/20 00:03 -0500, Jason Merrill wrote: >The library has already worked around this issue, but I was curious about >why it wasn't working. The answer: because we were pass

Re: [PATCH] doc: Note that some warnings depend on optimizations (PR 92757)

2020-01-13 Thread Jonathan Wakely
On 13/01/20 17:27 +, Martin Sebor wrote: On 12/2/19 9:35 PM, Jonathan Wakely wrote: PR driver/92757 * doc/invoke.texi (Warning Options): Add caveat about some warnings depending on optimization settings. The bug reporter wants this clarified. I'm not entirely convinced

Re: Replace update_web_docs_svn with update_web_docs_git

2020-01-13 Thread Jonathan Wakely
update_web_docs_libstdcxx_svn script. OK for trunk? Should I do a `git pull` in the gcc-checkout dir on sourceware after pushing this? commit 837a33b15533232bf8c86b794e824be32899c2c4 Author: Jonathan Wakely Date: Mon Jan 13 21:26:54 2020 + Replace update_web_docs_libstdcxx_svn with

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-13 Thread Jonathan Wakely
On 13/01/20 22:41 +0100, François Dumont wrote: On 1/10/20 11:01 PM, Jonathan Wakely wrote: On 10/01/20 18:54 +0100, François Dumont wrote: Hi     Here is my attempt to improve == operator.     There is a small optimization for the std::unordered_mutiXXX containers but the main enhancement

Re: Replace update_web_docs_svn with update_web_docs_git

2020-01-13 Thread Jonathan Wakely
On 13/01/20 21:42 +, Joseph Myers wrote: On Mon, 13 Jan 2020, Jonathan Wakely wrote: On 13/01/20 17:46 +, Joseph Myers wrote: > This patch replaces the update_web_docs_svn script, that updates > online documentation from its sources in the GCC repository, run once > a day

[wwwdocs] Fix indentation of .ssh/config snippet

2020-01-14 Thread Jonathan Wakely
OK for wwwdocs? commit a449e14116456cf66ea15d4aca203a50b55f6e20 Author: Jonathan Wakely Date: Tue Jan 14 13:16:12 2020 + Fix indentation of .ssh/config snippet diff --git a/htdocs/gitwrite.html b/htdocs/gitwrite.html index 12606201..85a0da2d 100644 --- a/htdocs/gitwrite.html +++ b

[wwwdocs] Recommend reviewing local changes before pushing them

2020-01-14 Thread Jonathan Wakely
I really think people should be reviewing what they're about to push before doing it. OK for wwwdocs? commit 2c54cb9e98fe67096b62718d8dbd3b2ca485ff89 Author: Jonathan Wakely Date: Tue Jan 14 13:34:02 2020 + Recommend reviewing local changes before pushing them diff --git a/h

Re: [wwwdocs] Recommend reviewing local changes before pushing them

2020-01-14 Thread Jonathan Wakely
On 14/01/20 15:08 +0100, Richard Biener wrote: On Tue, Jan 14, 2020 at 2:37 PM Jonathan Wakely wrote: I really think people should be reviewing what they're about to push before doing it. OK for wwwdocs? So I figure that first doing the git push with -n -v and then reviewing the p

Re: [wwwdocs] Recommend reviewing local changes before pushing them

2020-01-14 Thread Jonathan Wakely
On 14/01/20 13:39 +, Richard Earnshaw wrote: On 14/01/2020 13:37, Jonathan Wakely wrote: I really think people should be reviewing what they're about to push before doing it. OK for wwwdocs? I'd recommend git push origin HEAD: rather than just 'git push' Other

Re: [wwwdocs] Recommend reviewing local changes before pushing them

2020-01-14 Thread Jonathan Wakely
On 14/01/20 16:00 +0100, Andreas Schwab wrote: On Jan 14 2020, Jonathan Wakely wrote: You can also just do "git log" and check which commits are more recent than the one shown as the upstream: $ git log commit 9e502f6deae9f821bd7079aad5f98a4f3bae15cf (HEAD -> master) Author: Jo

[PATCH] libstdc++: Fix weakly_incrementable to allow __int128 (PR 93267)

2020-01-15 Thread Jonathan Wakely
d to trunk. commit 2a0f6c61b4db19535c632be68bddad74b6adb6cf Author: Jonathan Wakely Date: Wed Jan 15 14:09:35 2020 + libstdc++: Fix weakly_incrementable to allow __int128 (PR 93267) The __iota_diff_t alias can be the type __int128, but that does not satisfy the

Re: [PATCH] Clean up references to Subversion in documentation sources.

2020-01-15 Thread Jonathan Wakely
On 13/01/20 09:02 -0500, Eric S. Raymond wrote: diff --git a/libstdc++-v3/doc/xml/faq.xml b/libstdc++-v3/doc/xml/faq.xml index b4bf333e26a..21c312dce35 100644 --- a/libstdc++-v3/doc/xml/faq.xml +++ b/libstdc++-v3/doc/xml/faq.xml @@ -34,9 +34,8 @@ clauses 20 through 33 and annex D (prior to t

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-15 Thread Jonathan Wakely
On 14/01/20 22:25 +0100, François Dumont wrote: On 1/13/20 10:53 PM, Jonathan Wakely wrote: On 13/01/20 22:41 +0100, François Dumont wrote: For the multi-keys we could still avoid redundant comparisons when _Equal is just doing == on the key type. On unordered_multiset we could just avoids

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-15 Thread Jonathan Wakely
On 15/01/20 21:48 +, Jonathan Wakely wrote: On 14/01/20 22:25 +0100, François Dumont wrote: On 1/13/20 10:53 PM, Jonathan Wakely wrote: On 13/01/20 22:41 +0100, François Dumont wrote: For the multi-keys we could still avoid redundant comparisons when _Equal is just doing == on the key

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-16 Thread Jonathan Wakely
On 16/01/20 07:42 +0100, François Dumont wrote: On 1/15/20 10:52 PM, Jonathan Wakely wrote: On 15/01/20 21:48 +, Jonathan Wakely wrote: On 14/01/20 22:25 +0100, François Dumont wrote: On 1/13/20 10:53 PM, Jonathan Wakely wrote: On 13/01/20 22:41 +0100, François Dumont wrote: For the

Re: [PATCH] libstdc++/91223 Improve unordered containers == operator

2020-01-16 Thread Jonathan Wakely
On 16/01/20 13:25 +, Jonathan Wakely wrote: On 16/01/20 07:42 +0100, François Dumont wrote: On 1/15/20 10:52 PM, Jonathan Wakely wrote: On 15/01/20 21:48 +, Jonathan Wakely wrote: On 14/01/20 22:25 +0100, François Dumont wrote: On 1/13/20 10:53 PM, Jonathan Wakely wrote: On 13/01/20

Re: [PATCH] libstdcxx: Update ctype_base.h from NetBSD upstream

2020-01-16 Thread Jonathan Wakely
On 14/01/20 08:56 -0800, Jason Thorpe wrote: On Jan 14, 2020, at 8:49 AM, Kamil Rytarowski wrote: On 10.01.2020 17:11, Jonathan Wakely wrote: On 07/01/20 12:44 -0800, Jason Thorpe wrote: On Jan 7, 2020, at 7:43 AM, Jonathan Wakely wrote: For Jason and Krister's benefit, that

Re: Deque rotate on current node

2020-01-17 Thread Jonathan Wakely
On 20/05/19 07:39 +0200, François Dumont wrote: Hi   std::deque is supposed to be like a double-queue that you can attack from front and back. But currrently its implementation makes it behave differently when starting from a fresh deque. If push_back then all goes well, it is copy/move to th

[PATCH] libstdc++: Fix freestanding build PR 92376)

2020-01-17 Thread Jonathan Wakely
6fab93f9 Author: Jonathan Wakely Date: Fri Jan 17 15:49:02 2020 + libstdc++: Fix freestanding build PR 92376) In a freestanding library we don't install the header, so don't try to include it unless it exists. Explicitly declare aligned alloc functions

Re: [PATCH] Clean up references to Subversion in documentation sources.

2020-01-20 Thread Jonathan Wakely
bstdc++ documentation. I've pushed this patch to mainline and the gcc8 and gcc9 branches now. This fixes the broken grammar in the patch. Committed to trunk so far, I'll backport it too. commit c784f1620498f78cfb9075a4696f2813722eb547 Author: Jonathan Wakely Date: Mon Jan 20 20:3

Re: tolerate padding in mbstate_t

2020-01-21 Thread Jonathan Wakely
On 21/01/20 21:36 -0300, Alexandre Oliva wrote: Padding in mbstate_t objects may get the memcmp to fail. Attempt to avoid the failure with zero initialization. Regstrapped on x86_64-linux-gnu, and also tested on a platform that used to fail because of padding in std::mbstate_t. Ok to install?

Re: Define HAVE_ for math long double functions declared in vxworks headers

2020-01-22 Thread Jonathan Wakely
On 21/01/20 21:50 -0300, Alexandre Oliva wrote: On Jan 3, 2020, Jonathan Wakely wrote: +#include +#ifdef HAVE_IEEEFP_H +# include +#endif +], [ + void (*f)(void) = (void (*)(void))$1; I wondered whether using ($1) here instead of just $1 would give any benefit. It would mean that

Re: tolerate padding in mbstate_t

2020-01-22 Thread Jonathan Wakely
On 21/01/20 23:04 -0300, Alexandre Oliva wrote: On Jan 21, 2020, Jonathan Wakely wrote: On 21/01/20 21:36 -0300, Alexandre Oliva wrote: Padding in mbstate_t objects may get the memcmp to fail. Attempt to avoid the failure with zero initialization. Regstrapped on x86_64-linux-gnu, and also

Re: Define HAVE_ for math long double functions declared in vxworks headers

2020-01-23 Thread Jonathan Wakely
On 23/01/20 00:20 -0300, Alexandre Oliva wrote: On Jan 22, 2020, Jonathan Wakely wrote: Isn't allowing arithmetic on function pointers a GNU extension? Does that matter? This test is only supposed to be compiled by GCC. Maybe if somebody was crazy enough to build GCC with -ped

[PATCH] libstdc++: Fix conformance issues in (PR92895)

2020-01-23 Thread Jonathan Wakely
ok and give a review. As discussed, the binary_semaphore is temporary, until we have the real thing. commit 011476e4282eca13d19ca18f21bc010f40134ac5 Author: Jonathan Wakely Date: Thu Jan 23 16:46:17 2020 + libstdc++: Fix conformance issues in (PR92895) Fix synchronizatio

[COMMITTED] libstdc++: Simplify makefile rule for largefile-config.h (PR91947)

2020-01-23 Thread Jonathan Wakely
(${host_builddir}/largefile-config.h): Simplify rule. * include/Makefile.in: Regenerate. Tested x86_64-linux and powerpc64le-linux. Committed to trunk. I'll also backport this to the gcc-9 branch. commit 04681fca936b5bca1dd374dfb0fbca7ccb028994 Author: Jonathan Wakely Date: Thu Jan

Re: [PATCH] Suppress deprecation warnings in tbb effective target check

2020-01-24 Thread Jonathan Wakely
You didn't provide a ChangeLog entry. Please be sure to add one. OK for master and gcc-9 branch, with the ChangeLog entry. Thanks. On 23/01/20 21:59 -0800, Thomas Rodgers wrote: TBB 2020 added deprecation warnings which produced output not expected by check_effective_target_tbb-backend --- lib

Re: [PATCH] wwwdocs: document scripts to access personal and vendor spaces

2020-01-24 Thread Jonathan Wakely
ur personal space by running git fetch me Isn't that the right command even if you only have one clone? commit 182ab16b43b0b40b985e0678891b29debef2c9a2 Author: Jonathan Wakely Date: Fri Jan 24 10:59:14 2020 + Fix typos in gitwrite.html diff --git a/htdocs/gitwrite.html b/htdoc

Re: [PATCH] wwwdocs: document scripts to access personal and vendor spaces

2020-01-24 Thread Jonathan Wakely
On 24/01/20 11:48 +, Richard Earnshaw (lists) wrote: On 24/01/2020 11:04, Jonathan Wakely wrote: On 23/01/20 16:23 +, Richard Earnshaw (lists) wrote: On 21/01/2020 18:58, Richard Earnshaw (lists) wrote: This patch documents some of the scripts that I've published for managin

Re: [PATCH] wwwdocs: document scripts to access personal and vendor spaces

2020-01-24 Thread Jonathan Wakely
On 24/01/20 13:55 +, Richard Earnshaw (lists) wrote: On 24/01/2020 12:19, Jonathan Wakely wrote: On 24/01/20 11:48 +, Richard Earnshaw (lists) wrote: On 24/01/2020 11:04, Jonathan Wakely wrote: On 23/01/20 16:23 +, Richard Earnshaw (lists) wrote: On 21/01/2020 18:58, Richard

Re: [PATCH] wwwdocs: document scripts to access personal and vendor spaces

2020-01-24 Thread Jonathan Wakely
On 24/01/20 15:09 +, Jonathan Wakely wrote: On 24/01/20 13:55 +, Richard Earnshaw (lists) wrote: On 24/01/2020 12:19, Jonathan Wakely wrote: On 24/01/20 11:48 +, Richard Earnshaw (lists) wrote: On 24/01/2020 11:04, Jonathan Wakely wrote: On 23/01/20 16:23 +, Richard Earnshaw

[PATCH] wwwdocs: Two patches committed to gcc-10 release notes

2020-01-24 Thread Jonathan Wakely
I've pushed these to wwwdocs. commit b1bd21c81af3bc3098fca4293af164a6c6a4544a Author: Jonathan Wakely Date: Fri Jan 24 15:30:06 2020 + Make it clear C++2a support is experimental diff --git a/htdocs/gcc-10/changes.html b/htdocs/gcc-10/changes.html index ef27c9bb..dcce6b86 1

[COMMITTED] libstdc++: Simplify construction of comparison category types

2020-01-24 Thread Jonathan Wakely
ering, weak_ordering, strong_ordering): Remove constructors taking __cmp_cat::_Eq parameters. Use renamed enumerators. Tested powerpc64le-linux, committed to trunk. commit 482eeff5f114c7635c1a06edb2deee3e5433c3f3 Author: Jonathan Wakely Date: Fri Jan 24 17:07:01 2020 +

[PATCH] libstdc++: Fix deduction guide for std::span (PR93426)

2020-01-27 Thread Jonathan Wakely
with r279000. Tested powerpc64le-linux, committed to trunk. commit 389cd88ce797e2a4345eab8db478a3b8eba798e8 Author: Jonathan Wakely Date: Mon Jan 27 10:30:03 2020 + libstdc++: Fix deduction guide for std::span (PR93426) The deduction guide from an iterator and sentinel used the

[PATCH] libstdc++: Replace glibc-specific check for clock_gettime (PR 93325)

2020-01-28 Thread Jonathan Wakely
glibc version check. * configure: Regenerate. Tested powerpc64le-linux, built on centos7 and centos6 as well to check the results are correct for various versions of glibc. Committed to master. I plan to backport this later too. commit 759812fddc81c0c131d4633b2a7f56412ce8dbed Author: Jonathan Wakely

[COMMITTED] libstdc++: Avoid using sizeof with function types (PR 93470)

2020-01-28 Thread Jonathan Wakely
72a9fd209b6db3b5f81fbb008e22ea93c00465e5 Author: Jonathan Wakely Date: Tue Jan 28 13:24:09 2020 + libstdc++: Avoid using sizeof with function types (PR 93470) PR libstdc++/93470 * include/bits/refwrap.h (reference_wrapper::operator()): Restrict static assertion to object types

Re: [PATCH] gcc: Add new configure options to allow static libraries to be selected

2020-01-28 Thread Jonathan Wakely
On 22/01/20 15:39 +, Andrew Burgess wrote: The motivation behind this change is to make it easier for a user to link against static libraries on a target where dynamic libraries are the default library type (for example GNU/Linux). Further, my motivation is really for linking libraries into

Re: [PATCH] libstdc++: Always return a sentinel from __gnu_test::test_range::end()

2020-01-29 Thread Jonathan Wakely
i.e. support subtracting iterators and sentinels from each other. Tested powerpc64le-linux, committed to trunk. Please go ahead and commit your patch to test_range::end() after re-testing. Thanks, and congratulations on your first libstdc++ patch. commit 5cd2e126f5c5705fa1aa7fafef3d6b94a99593d

[COMMITTED] libstdc++: Make std::compare_three_way check if <=> is valid (PR 93479)

2020-01-29 Thread Jonathan Wakely
* testsuite/18_support/comparisons/object/93479.cc: New test. Tested powerpc64le-linux, committed to master. commit 83b0201035cfdc1d4d80153f4e19ec98cf059941 Author: Jonathan Wakely Date: Wed Jan 29 13:36:15 2020 + libstdc++: Make std::compare_three_way check if <=>

Re: [COMMITTED] libstdc++: Make std::compare_three_way check if <=> is valid (PR 93479)

2020-01-29 Thread Jonathan Wakely
On 29/01/20 13:47 +, Jonathan Wakely wrote: --- a/libstdc++-v3/libsupc++/compare +++ b/libstdc++-v3/libsupc++/compare @@ -525,7 +525,9 @@ namespace std // BUILTIN-PTR-THREE-WAY(T, U) template concept __3way_builtin_ptr_cmp - = convertible_to<_Tp, const volatile v

Re: [PATCH] libstdc++: Fix conformance issues in (PR92895)

2020-01-29 Thread Jonathan Wakely
On 29/01/20 09:57 -0800, Thomas Rodgers wrote: Looks good to me, ok for trunk. Committed.

Re: [PATCH] libstdc++: Always return a sentinel from __gnu_test::test_range::end()

2020-01-31 Thread Jonathan Wakely
On 29/01/20 11:24 -0500, Patrick Palka wrote: On Wed, 29 Jan 2020, Patrick Palka wrote: On Wed, 29 Jan 2020, Jonathan Wakely wrote: On 21/01/20 17:26 -0500, Patrick Palka wrote: It seems that in practice std::sentinel_for is always true, and so the Doh, good catch. test_range container

Re: [PATCH, v3] wwwdocs: e-mail subject lines for contributions

2020-02-03 Thread Jonathan Wakely
On Mon, 3 Feb 2020 at 14:00, Richard Earnshaw (lists) wrote: > Where does your '50 chars' limit come from? It's not in the glibc text, > and it's not in the linux kernel text either. AFAICT this is your > invention and you seem to be the only person proposing it. It's a fairly well established c

Re: [PATCH 1/3] libstdc++: Apply the move_iterator changes described in P1207R4

2020-02-04 Thread Jonathan Wakely
On 03/02/20 21:07 -0500, Patrick Palka wrote: These changes are needed for some of the tests in the constrained algorithm patch, because they use move_iterator with an uncopyable output_iterator. The other changes described in the paper are already applied, it seems. libstdc++-v3/ChangeLog:

[committed] libstdc++: Fix regressions in unique_ptr::swap (PR 93562)

2020-02-04 Thread Jonathan Wakely
/unique_ptr/modifiers/93562.cc: New test. Tested powerpc64le-linux, committed to master. Backports to follow. commit 9962493ca2f71d3f3dd06b0e9cd19fcf849e3e4b Author: Jonathan Wakely Date: Tue Feb 4 12:59:14 2020 + libstdc++: Fix regressions in unique_ptr::swap (PR 93562) The

[committed] libstdc++: Fix name of macro in #undef directive

2020-02-04 Thread Jonathan Wakely
. commit 9bc5bea1f3f0ce3927fd86ce728641d087f3d3b5 Author: Jonathan Wakely Date: Tue Feb 4 13:30:57 2020 + libstdc++: Fix name of macro in #undef directive The macro that is defined is _GLIBCXX_NOT_FN_CALL_OP but the macro that was named in the #undef directive was

Re: [PATCH 1/3] libstdc++: Apply the move_iterator changes described in P1207R4

2020-02-04 Thread Jonathan Wakely
On 04/02/20 16:23 -0500, Patrick Palka wrote: On Tue, 4 Feb 2020, Jonathan Wakely wrote: On 03/02/20 21:07 -0500, Patrick Palka wrote: > These changes are needed for some of the tests in the constrained algorithm > patch, because they use move_iterator with an uncopyable output_iterator.

[committed] libstdc++: Remove workarounds for constraints on alias templates

2020-02-05 Thread Jonathan Wakely
Author: Jonathan Wakely Date: Wed Feb 5 10:35:19 2020 + libstdc++: Remove workarounds for constraints on alias templates The G++ bug has been fixed for a couple of months so we can remove these workarounds that define alias templates in terms of constrained class templates

Re: [PATCH] Use a non-empty test program to test ability to link

2020-02-06 Thread Jonathan Wakely
On 05/02/20 11:52 -0700, Sandra Loosemore wrote: This patch is for PR 79193 and 88999, problems where libstdc++ is mis-configuring itself when building for a bare-metal target because it thinks it can link programs without pulling in the BSP that provides low-level I/O support. (Specifically,

Re: [PATCH 2/3] libstdc++: Implement C++20 constrained algorithms

2020-02-06 Thread Jonathan Wakely
On 05/02/20 14:24 -0500, Patrick Palka wrote: Also IIRC, the way __miter_base() is currently defined assumes that the underlying iterator is copyable which is not necessarily true anymore for non-forward iterators. So I would have to also fix __miter_base() which might be risky to do at this sta

[committed] libstdc++: Remove redundant macro that is always empty

2020-02-06 Thread Jonathan Wakely
. commit d1aa7705d59e56191c2ccc5594983d8fa0832718 Author: Jonathan Wakely Date: Thu Feb 6 10:45:38 2020 + libstdc++: Remove redundant macro that is always empty The __iter_swap class template and explicit specialization are only declared (and used) for C++03 so

Re: [PATCH 2/3] libstdc++: Implement C++20 constrained algorithms

2020-02-06 Thread Jonathan Wakely
On 05/02/20 19:39 +0100, François Dumont wrote: Hi     Is it me or the patch isn't an attachment ? It is far more convenient to provide something easy to extract and apply locally. On 2/4/20 3:07 AM, Patrick Palka wrote: This patch implements the C++20 ranges overloads for the algorithms in

[committed] libstdc++: decay in viewable_range should be remove_cvref (LWG 3375)

2020-02-06 Thread Jonathan Wakely
* include/bits/stl_algobase.h (__iter_swap, __iter_swap): Remove redundant _GLIBCXX20_CONSTEXPR. Tested powerpc64le-linux, committed to master. commit 26eae9ac2bf75a26a419dc1e47a067c66331fb74 Author: Jonathan Wakely Date: Thu Feb 6 11:30:30 2020 + libstdc++: decay in

[committed] libstdc++: Fix comment to refer to correct PR

2020-02-06 Thread Jonathan Wakely
* include/bits/stl_iterator.h (__detail::__common_iter_ptr): Fix PR number in comment. Fix indentation. Tested powerpc64le-linux, committed to master. commit bd630df033784c791c3ca49fc30821eaee35f7c2 Author: Jonathan Wakely Date: Thu Feb 6 11:33:12 2020 + libstdc++: Fix

[PATCH] libstdc++: Optimize C++20 comparison category types

2020-02-06 Thread Jonathan Wakely
widely used. I plan to commit this in the next 12 hours or so, unless there are (valid :-) objections. Thanks to Barry Revzin for pointing out there was room for these operators to be improved. commit 556a60b573cd599d44f7dae3dccafb9d0694f088 Author: Jonathan Wakely Date: Thu Feb 6 13:31:3

Re: [PATCH] libstdc++: Optimize C++20 comparison category types

2020-02-06 Thread Jonathan Wakely
On 06/02/20 13:40 +, Jonathan Wakely wrote: This reduces sizeof(std::partial_ordering) and optimizes conversion and comparison operators to avoid conditional branches where possible. * libsupc++/compare (__cmp_cat::_Ncmp::unordered): Change value to 2. (partial_ordering

Re: [PATCH] libstdc++: Optimize C++20 comparison category types

2020-02-06 Thread Jonathan Wakely
On 06/02/20 13:53 +, Jonathan Wakely wrote: On 06/02/20 13:40 +, Jonathan Wakely wrote: This reduces sizeof(std::partial_ordering) and optimizes conversion and comparison operators to avoid conditional branches where possible. * libsupc++/compare (__cmp_cat::_Ncmp::unordered

Re: [PATCH 2/3] libstdc++: Implement C++20 constrained algorithms

2020-02-06 Thread Jonathan Wakely
On 03/02/20 21:07 -0500, Patrick Palka wrote: +#ifndef _RANGES_ALGO_H +#define _RANGES_ALGO_H 1 + +#if __cplusplus > 201703L + +#include +#include +#include +// #include This line could be removed, or leave it as a reminder to me to refactor so that the small utility pieces are in a small

Re: [PATCH 3/3] libstdc++: Implement C++20 range adaptors

2020-02-06 Thread Jonathan Wakely
On 03/02/20 21:07 -0500, Patrick Palka wrote: This patch implements [range.adaptors]. It also includes the changes from P3280 and P3278 and P3323, without which many standard examples won't work. The implementation is mostly dictated by the spec and there was not much room for implementation di

Re: [PATCH 3/3] libstdc++: Implement C++20 range adaptors

2020-02-07 Thread Jonathan Wakely
On 06/02/20 18:53 -0500, Patrick Palka wrote: On Thu, 6 Feb 2020, Jonathan Wakely wrote: > +#ifdef __cpp_lib_threeway_comparison This macro is mispelled, should be three_way with an underscore. Oops! It looks like it's also mispelled in the definition of iota_view earlier in t

Re: [PATCH 4/3] Add [range.istream]

2020-02-07 Thread Jonathan Wakely
On 06/02/20 19:52 -0500, Patrick Palka wrote: This patch adds ranges::basic_istream_view and ranges::istream_view. This seems to be the last missing part of the ranges header. libstdc++-v3/ChangeLog: * include/std/ranges (ranges::__detail::__stream_extractable, ranges::basic_is

Re: [PATCH 2/3] libstdc++: Implement C++20 constrained algorithms

2020-02-07 Thread Jonathan Wakely
On 03/02/20 21:07 -0500, Patrick Palka wrote: + template +struct binary_transform_result +{ + [[no_unique_address]] _Iter1 in1; + [[no_unique_address]] _Iter2 in2; + [[no_unique_address]] _Out out; + + template + requires convertible_to && + && converti

Re: [PATCH] libstdc++: Optimize C++20 comparison category types

2020-02-07 Thread Jonathan Wakely
On 07/02/20 10:04 +0100, Daniel Krügler wrote: Am Do., 6. Feb. 2020 um 15:28 Uhr schrieb Jonathan Wakely : On 06/02/20 13:53 +, Jonathan Wakely wrote: >On 06/02/20 13:40 +0000, Jonathan Wakely wrote: >>This reduces sizeof(std::partial_ordering) and optimizes conversion and >

Re: [PATCH 4/3] Add [range.istream]

2020-02-07 Thread Jonathan Wakely
On 07/02/20 09:46 -0500, Patrick Palka wrote: Fixed and committed with that change. Thanks for the review! I've just tested and pushed this fix. commit 572992c8920d5339a3ac28d442c436d6daa0bfae Author: Jonathan Wakely Date: Fri Feb 7 16:06:43 2020 + libstdc++ Fix missing retu

[committed] libstdc++: Fix bug in iterator_traits>

2020-02-07 Thread Jonathan Wakely
ter): Adjust. Tested powerpc64le-linux, committed to master. commit d222d8ec3c100f5c0a6974e7dcee16903f6f0e3a Author: Jonathan Wakely Date: Fri Feb 7 16:46:42 2020 + libstdc++: Fix bug in iterator_traits> The wrong type was being used in the __common_iter_has_arrow cons

[PATCH] libstdc++: Implement P1878R1 "Constraining Readable Types"

2020-02-07 Thread Jonathan Wakely
commit c8dd2446f597e6d1581414a9c02ff329285181a9 Author: Jonathan Wakely Date: Thu Feb 6 11:21:25 2020 + libstdc++: Implement P1878R1 "Constraining Readable Types" * include/bits/iterator_concepts.h (iter_difference_t, iter_value_t): Use remove_cvref_t. (readable

[committed] libstdc++: Fix BUILTIN-PTR-CMP helpers

2020-02-09 Thread Jonathan Wakely
/range.cmp/equal_to.cc: Check type with ambiguous conversion to fundamental types. * testsuite/20_util/function_objects/range.cmp/less.cc: Likewise. Tested powerpc64le-linux, committed to master. commit dcda050e6c3c3726cb14109674053f83cae330be Author: Jonathan Wakely Date: Sun F

[committed] libstdc++: Fix non-ASCII characters in comment

2020-02-09 Thread Jonathan Wakely
* include/std/ranges: Fix non-ASCII characters in comment. Tested x86_64-linux, committed to master. commit 97a7c22955435c0466ea96c6d77d2a71b2ae1277 Author: Jonathan Wakely Date: Sun Feb 9 13:54:32 2020 + libstdc++: Fix non-ASCII characters in comment

Re: [committed] libstdc++: Fix BUILTIN-PTR-CMP helpers

2020-02-09 Thread Jonathan Wakely
On 09/02/20 13:56 +, Jonathan Wakely wrote: The helpers that implement BUILTIN-PTR-CMP do not currently check if the arguments are actually comparable, so the concept is true when it shouldn't be. Since we're trying to test for an unambiguous conversion to pointers, we can also re

Re: [PATCH] libstdc++: Make sure iterator_traits is populated

2020-02-10 Thread Jonathan Wakely
On 07/02/20 13:59 -0500, Patrick Palka wrote: Since basic_istream_view::iterator is neither a cpp17 iterator (because it's move-only) nor does it define all four of the types {difference_type, value_type, reference, iterator_category}, then by the rule in [iterator.traits], its iterator_traits ha

Re: [PATCH] Hashtable: Add missing std qualification on a forward call

2020-02-11 Thread Jonathan Wakely
On 11/02/20 19:15 +0100, François Dumont wrote: I just notice that in a recent patch I forgot a std:: on a call to forward. * include/bits/hashtable.h (_Hashtable<>(_Hashtable&&, std::allocator_type&)):     Add missing std namespace qualification to forward call. Ok to commit ? Yes please -

Re: [PATCH] libstdc++: Fix LWG issues 3389 and 3390

2020-02-11 Thread Jonathan Wakely
On 11/02/20 11:05 -0500, Patrick Palka wrote: On Tue, 11 Feb 2020, Patrick Palka wrote: libstdc++-v3/ChangeLog: DR 3389 and DR 3390 * include/bits/stl_iterator.h (move_move_iterator): Use std::move when constructing the move_iterator with __i. (counted_iterator:

Re: [PATCH] c++: Emit DFP typeinfos even when DFP is disabled [PR92906]

2020-02-12 Thread Jonathan Wakely
On 12/02/20 12:31 +0100, Jakub Jelinek wrote: Hi! Before Joseph's changes when compiling libstdc++-v3/libsupc++/fundamental_type_info.cc we were emitting _ZTIPDd, _ZTIPDe, _ZTIPDf, _ZTIPKDd, _ZTIPKDe, _ZTIPKDf, _ZTIDd, _ZTIDe, _ZTIDf symbols even when DFP wasn't usable, but now we don't and thus

Re: [PATCH 1/2] libstdc++: Move some ranges algos to a new header

2020-02-13 Thread Jonathan Wakely
On 12/02/20 15:41 -0500, Patrick Palka wrote: This roughly mirrors the existing split between and . The ranges [specialized.algorithms] will use this new header to avoid including all of of . libstdc++-v3/ChangeLog: * include/Makefile.am: Add bits/ranges_algobase.h * include/M

Re: [PATCH 2/2] libstdc++: Implement ranges [specialized.algorithms]

2020-02-13 Thread Jonathan Wakely
On 12/02/20 15:41 -0500, Patrick Palka wrote: This implements all the ranges members defined in [specialized.algorithms]: ranges::uninitialized_default_construct ranges::uninitialized_value_construct ranges::uninitialized_copy ranges::uninitialized_copy_n ranges::uninitialized_move ranges:

Re: [PATCH 2/3] libstdc++: Implement C++20 constrained algorithms

2020-02-13 Thread Jonathan Wakely
On 13/02/20 19:07 +0100, François Dumont wrote: On 2/4/20 3:07 AM, Patrick Palka wrote: This patch implements the C++20 ranges overloads for the algorithms in [algorithms]. Most of the algorithms were reimplemented, with each of their implementations very closely following the existing implemen

<    1   2   3   4   5   6   7   8   9   10   >