Re: [PATCH] libstdc++: Constrain formatters for chrono types [PR119517]

2025-04-17 Thread Jonathan Wakely
; before range and tuple formatter are implemented. > So maybe we should keep in on v15+ only? That works for me, thanks. > > On Thu, Apr 17, 2025 at 2:09 PM Jonathan Wakely wrote: >> >> On Thu, 17 Apr 2025 at 07:06, Tomasz Kaminski wrote: >> > >> > >>

Re: [PATCH] Add _GLIBCXX_DEBUG checks on unordered container local_iterator

2025-04-17 Thread Jonathan Wakely
On Thu, 17 Apr 2025 at 17:22, François Dumont wrote: > > Tests renamed as requested and I took the time to reduce code > duplications in unordered_checks.h. > > libstdc++: Add _GLIBCXX_DEBUG checks on unordered container > local_iterator > > Complete tests on _GLIBCXX_DEBUG checks in >

Re: [PATCH] libstdc++: Correct preprocessing checks for floatX_t and bfloat_16 formatting

2025-04-17 Thread Jonathan Wakely
On Thu, 17 Apr 2025 at 07:06, Tomasz Kaminski wrote: > > > > On Wed, Mar 12, 2025 at 1:00 PM Jonathan Wakely wrote: >> >> On Tue, 11 Mar 2025 at 12:22, Tomasz Kamiński wrote: >> > >> > Floating points types _Float16, _Float32, _Float64, and bfloat16, &

[gcc r15-9554] libstdc++: Update status tables to refer to GCC 15 not mainline

2025-04-17 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:7336054f9b012a0812cd0a260375cd987e4aadf9 commit r15-9554-g7336054f9b012a0812cd0a260375cd987e4aadf9 Author: Jonathan Wakely Date: Fri Apr 26 11:46:01 2024 +0100 libstdc++: Update status tables to refer to GCC 15 not mainline libstdc++-v3/ChangeLog

[committed, gcc-15] libstdc++: Update status tables to refer to GCC 15 not mainline

2025-04-17 Thread Jonathan Wakely
libstdc++-v3/ChangeLog: * doc/html/manual/status.html: Regenerate. * doc/xml/manual/status_cxx1998.xml: Replace references to mainline GCC. * doc/xml/manual/status_cxx2011.xml: Likewise. * doc/xml/manual/status_cxx2014.xml: Likewise. * doc/xml/manual

[committed, gcc-15] libstdc++: Update status tables to refer to GCC 15 not mainline

2025-04-17 Thread Jonathan Wakely
libstdc++-v3/ChangeLog: * doc/html/manual/status.html: Regenerate. * doc/xml/manual/status_cxx1998.xml: Replace references to mainline GCC. * doc/xml/manual/status_cxx2011.xml: Likewise. * doc/xml/manual/status_cxx2014.xml: Likewise. * doc/xml/manual

Re: [PATCH] libstdc++: Constrain formatters for chrono types [PR119517]

2025-04-17 Thread Jonathan Wakely
; before range and tuple formatter are implemented. > So maybe we should keep in on v15+ only? That works for me, thanks. > > On Thu, Apr 17, 2025 at 2:09 PM Jonathan Wakely wrote: >> >> On Thu, 17 Apr 2025 at 07:06, Tomasz Kaminski wrote: >> > >> > >>

Re: [PATCH] stdc++: Fixed signed comparision in _M_parse_fill_and_align [PR119840]

2025-04-17 Thread Jonathan Wakely
Subject line has "stdc++" instead of "libstdc++" On Thu, 17 Apr 2025 at 10:14, Tomasz Kamiński wrote: > > Explicitly cast elements of __not_fill to _CharT. Only '{' and ':' > are are used as `__not_fill`, so they are never negative. "are are" > > PR libstdc++/119840 > > libstdc++-v3/Cha

Re: [PATCH] libstdc++: Constrain formatters for chrono types [PR119517]

2025-04-17 Thread Jonathan Wakely
On Thu, 17 Apr 2025 at 07:06, Tomasz Kaminski wrote: > > > > On Fri, Mar 28, 2025 at 9:33 PM Jonathan Wakely wrote: >> >> On 28/03/25 16:31 +0100, Tomasz Kamiński wrote: >> >The formatters for chrono types defined the parse/format methods >> >as acceptin

Re: [PATCH] libstdc++: Constrain formatters for chrono types [PR119517]

2025-04-17 Thread Jonathan Wakely
On Thu, 17 Apr 2025 at 07:06, Tomasz Kaminski wrote: > > > > On Fri, Mar 28, 2025 at 9:33 PM Jonathan Wakely wrote: >> >> On 28/03/25 16:31 +0100, Tomasz Kamiński wrote: >> >The formatters for chrono types defined the parse/format methods >> >as acceptin

Re: [PATCH] libstdc++: Correct preprocessing checks for floatX_t and bfloat_16 formatting

2025-04-17 Thread Jonathan Wakely
On Thu, 17 Apr 2025 at 07:06, Tomasz Kaminski wrote: > > > > On Wed, Mar 12, 2025 at 1:00 PM Jonathan Wakely wrote: >> >> On Tue, 11 Mar 2025 at 12:22, Tomasz Kamiński wrote: >> > >> > Floating points types _Float16, _Float32, _Float64, and bfloat16, &

Re: [PATCH] stdc++: Fixed signed comparision in _M_parse_fill_and_align [PR119840]

2025-04-17 Thread Jonathan Wakely
Subject line has "stdc++" instead of "libstdc++" On Thu, 17 Apr 2025 at 10:14, Tomasz Kamiński wrote: > > Explicitly cast elements of __not_fill to _CharT. Only '{' and ':' > are are used as `__not_fill`, so they are never negative. "are are" > > PR libstdc++/119840 > > libstdc++-v3/Cha

[committed v2] libstdc++: Do not use 'not' alternative token in

2025-04-17 Thread Jonathan Wakely
This fixes: FAIL: 17_intro/headers/c++1998/operator_names.cc -std=gnu++23 (test for excess errors) FAIL: 17_intro/headers/c++1998/operator_names.cc -std=gnu++26 (test for excess errors) The purpose of 'not defined>' is to be ill-formed (as required by [format.range.fmtkind]) and to give an err

[committed v2] libstdc++: Do not use 'not' alternative token in

2025-04-17 Thread Jonathan Wakely
This fixes: FAIL: 17_intro/headers/c++1998/operator_names.cc -std=gnu++23 (test for excess errors) FAIL: 17_intro/headers/c++1998/operator_names.cc -std=gnu++26 (test for excess errors) The purpose of 'not defined>' is to be ill-formed (as required by [format.range.fmtkind]) and to give an err

[gcc r15-9549] libstdc++: Do not use 'not' alternative token in

2025-04-17 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:0be3dff1aadcc3e879f3d1ffd45d842ab0e0c0bf commit r15-9549-g0be3dff1aadcc3e879f3d1ffd45d842ab0e0c0bf Author: Jonathan Wakely Date: Wed Apr 16 11:44:46 2025 +0100 libstdc++: Do not use 'not' alternative token in This fixes: FAIL: 17_intro/heade

[gcc r12-11057] libstdc++: Qualify calls to debug mode helpers

2025-04-17 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:2ea39e7b58376b2fb57cd74098a374604b627266 commit r12-11057-g2ea39e7b58376b2fb57cd74098a374604b627266 Author: Jonathan Wakely Date: Fri Jun 23 13:50:01 2023 +0100 libstdc++: Qualify calls to debug mode helpers These functions should be qualified to disable

[gcc r12-11056] libstdc++: Fix infinite loop in std::istream::ignore(n, delim) [PR93672]

2025-04-17 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:d143630ff7242ebaf9667667ecc1deb6bb678023 commit r12-11056-gd143630ff7242ebaf9667667ecc1deb6bb678023 Author: Jonathan Wakely Date: Thu Apr 4 10:33:33 2024 +0100 libstdc++: Fix infinite loop in std::istream::ignore(n, delim) [PR93672] A negative delim value

[gcc r12-11055] libstdc++: Fix bogus -Wstringop-overflow in std::vector::insert [PR117983]

2025-04-17 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:1bfcb247ef2f2b7afb9f4b682740ceb332db86ce commit r12-11055-g1bfcb247ef2f2b7afb9f4b682740ceb332db86ce Author: Jonathan Wakely Date: Fri Mar 28 22:00:38 2025 + libstdc++: Fix bogus -Wstringop-overflow in std::vector::insert [PR117983] This was fixed on

[gcc r12-11054] libstdc++: Fix std::deque::insert(pos, first, last) undefined behaviour [PR118035]

2025-04-17 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:d14333852ebd77b898b3bf1030f9bf5152497345 commit r12-11054-gd14333852ebd77b898b3bf1030f9bf5152497345 Author: Jonathan Wakely Date: Mon Dec 16 17:42:24 2024 + libstdc++: Fix std::deque::insert(pos, first, last) undefined behaviour [PR118035] Inserting an

Re: [PATCH v2] libstdc++: Remove dead code in range_formatter::format [PR109162]

2025-04-17 Thread Jonathan Wakely
OK for trunk with two spelling fixes... On Thu, 17 Apr 2025, 07:31 Tomasz Kamiński, wrote: > Because the _M_format(__rg, __fc) were placed outside of if constexpr, > these method and it's childs where "its children" instantiated, even if _M_format > could be used. > > To simplify the if cons

Re: [PATCH v2] libstdc++: Remove dead code in range_formatter::format [PR109162]

2025-04-17 Thread Jonathan Wakely
OK for trunk with two spelling fixes... On Thu, 17 Apr 2025, 07:31 Tomasz Kamiński, wrote: > Because the _M_format(__rg, __fc) were placed outside of if constexpr, > these method and it's childs where "its children" instantiated, even if _M_format > could be used. > > To simplify the if cons

[gcc r12-11046] libstdc++: Add dg-options "-std=gnu++20" to backported tests

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:cab0305aea0ca591b032adf09e97acd5e34c9f10 commit r12-11046-gcab0305aea0ca591b032adf09e97acd5e34c9f10 Author: Jonathan Wakely Date: Wed Apr 16 18:38:03 2025 +0100 libstdc++: Add dg-options "-std=gnu++20" to backported tests These tests were backporte

[gcc r12-11044] libstdc++: Skip redundant assertions in std::array equality [PR106212]

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:c0d805192b0092235b2ef32a184b17a76ebac401 commit r12-11044-gc0d805192b0092235b2ef32a184b17a76ebac401 Author: Jonathan Wakely Date: Mon Dec 9 17:35:24 2024 + libstdc++: Skip redundant assertions in std::array equality [PR106212] As PR c++/106212 shows, the

[gcc r12-11045] libstdc++: Fix get<0> constraint for lvalue ranges::subrange (LWG 3589)

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:6d8ee74e424c9d42b8164296dda0ec604a971253 commit r12-11045-g6d8ee74e424c9d42b8164296dda0ec604a971253 Author: Jonathan Wakely Date: Thu Nov 14 17:31:43 2024 + libstdc++: Fix get<0> constraint for lvalue ranges::subrange (LWG 3589) Approved at Octobe

[gcc r12-11041] libstdc++: Specialize std::disable_sized_sentinel_for for std::move_iterator [PR116549]

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:4cb91df31d65c3bca5c6d4c2efcd51f454def884 commit r12-11041-g4cb91df31d65c3bca5c6d4c2efcd51f454def884 Author: Jonathan Wakely Date: Mon Sep 2 11:29:13 2024 +0100 libstdc++: Specialize std::disable_sized_sentinel_for for std::move_iterator [PR116549] LWG 3736

[gcc r12-11043] libstdc++: Skip redundant assertions in std::span construction [PR117966]

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:7b0f505650310c11455ee7d34f95008658d3e655 commit r12-11043-g7b0f505650310c11455ee7d34f95008658d3e655 Author: Jonathan Wakely Date: Mon Dec 9 17:35:24 2024 + libstdc++: Skip redundant assertions in std::span construction [PR117966] As PR c++/117966 shows

[gcc r12-11042] libstdc++: Constrain std::vector default constructor [PR113841]

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:9357f7e0fbfbf0d7d5adb2cd1588a765f40b6162 commit r12-11042-g9357f7e0fbfbf0d7d5adb2cd1588a765f40b6162 Author: Jonathan Wakely Date: Fri Feb 9 17:06:20 2024 + libstdc++: Constrain std::vector default constructor [PR113841] This is needed to avoid errors

[gcc r12-11040] libstdc++: Add missing parts of LWG 3480 for directory iterators [PR117560]

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:5f3811fd50113571127b849325ab8f6c674158af commit r12-11040-g5f3811fd50113571127b849325ab8f6c674158af Author: Jonathan Wakely Date: Thu Nov 14 01:14:44 2024 + libstdc++: Add missing parts of LWG 3480 for directory iterators [PR117560] It looks like I only

Re: [PATCH] Add _GLIBCXX_DEBUG checks on unordered container local_iterator

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 20:57, François Dumont wrote: > > libstdc++: Add _GLIBCXX_DEBUG checks on unordered container > local_iterator > > Some _GLIBCXX_DEBUG checks in include/debug/safe_local_iterator.h > were not properly > tested. > > Fix several tests not testing the contai

Re: [PATCH] Add _GLIBCXX_DEBUG checks on unordered container local_iterator

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 20:57, François Dumont wrote: > > libstdc++: Add _GLIBCXX_DEBUG checks on unordered container > local_iterator > > Some _GLIBCXX_DEBUG checks in include/debug/safe_local_iterator.h > were not properly > tested. > > Fix several tests not testing the contai

[committed, gcc-13] libstdc++: Add dg-options "-std=gnu++20" to backported tests

2025-04-16 Thread Jonathan Wakely
These tests were backported from gcc-14 where the testsuite automatically adds -std=gnu++20 as needed. That doesn't happen on the older release branches, so an explicit dg-options directive is needed to ensure the tests are run by default. Otherwise they'll only be run when somebody uses a custom -

[gcc r13-9541] libstdc++: Fix ranges::copy_backward for a single memcpyable element [PR117121]

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:892b26e44a569186b9546fd2387ca5f334098d86 commit r13-9541-g892b26e44a569186b9546fd2387ca5f334098d86 Author: Jonathan Wakely Date: Sun Oct 13 19:14:04 2024 +0100 libstdc++: Fix ranges::copy_backward for a single memcpyable element [PR117121] The result

[gcc r13-9536] libstdc++: Fix std::future::wait_until for subsecond negative times [PR118093]

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:1a8d20cd803b1818378e06b2a437debd3cc5176f commit r13-9536-g1a8d20cd803b1818378e06b2a437debd3cc5176f Author: Jonathan Wakely Date: Tue Dec 17 21:32:19 2024 + libstdc++: Fix std::future::wait_until for subsecond negative times [PR118093] The current check

[gcc r13-9535] libstdc++: Do not use C++11 alignof in C++98 mode [PR104395]

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:b48785e9aba68639ab6e16c37efdd82eaf974055 commit r13-9535-gb48785e9aba68639ab6e16c37efdd82eaf974055 Author: Jonathan Wakely Date: Wed Jun 26 14:09:07 2024 +0100 libstdc++: Do not use C++11 alignof in C++98 mode [PR104395] When -faligned-new (or Clang&#

[committed, gcc-13] libstdc++: Add dg-options "-std=gnu++20" to backported tests

2025-04-16 Thread Jonathan Wakely
These tests were backported from gcc-14 where the testsuite automatically adds -std=gnu++20 as needed. That doesn't happen on the older release branches, so an explicit dg-options directive is needed to ensure the tests are run by default. Otherwise they'll only be run when somebody uses a custom -

[gcc r13-9544] libstdc++: Fix std::ranges::iota is not included in numeric [PR108760]

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:997d51f3dc16607a8ddb27c3601cb033c92e43e1 commit r13-9544-g997d51f3dc16607a8ddb27c3601cb033c92e43e1 Author: Michael Levine Date: Fri Jun 7 09:54:38 2024 +0100 libstdc++: Fix std::ranges::iota is not included in numeric [PR108760] Before this patch, using std::

[gcc r13-9546] libstdc++: Add dg-options "-std=gnu++20" to backported tests

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:4182fa87758d5a94c1f6d71f471842207e56f933 commit r13-9546-g4182fa87758d5a94c1f6d71f471842207e56f933 Author: Jonathan Wakely Date: Wed Apr 16 18:38:03 2025 +0100 libstdc++: Add dg-options "-std=gnu++20" to backported tests These tests were backporte

[gcc r13-9545] libstdc++: Add test for not using reserved name 'ranges' before C++20

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:67a282023bab5b82687a698de12f5ba8309c3be8 commit r13-9545-g67a282023bab5b82687a698de12f5ba8309c3be8 Author: Jonathan Wakely Date: Tue Apr 15 14:01:55 2025 +0100 libstdc++: Add test for not using reserved name 'ranges' before C++20 This is a test

[gcc r13-9542] libstdc++: Reuse std::__assign_one in

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:46f2ed78d53893087165dc28238a8bc81101b599 commit r13-9542-g46f2ed78d53893087165dc28238a8bc81101b599 Author: Jonathan Wakely Date: Mon Oct 14 23:34:20 2024 +0100 libstdc++: Reuse std::__assign_one in Use std::__assign_one instead of ranges::__assign_one

[gcc r13-9540] libstdc++: Do not use use memmove for 1-element ranges [PR108846, PR116471]

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:84eb2ddc53344259c5b3980d1b5dad69b82bfe8b commit r13-9540-g84eb2ddc53344259c5b3980d1b5dad69b82bfe8b Author: Giuseppe D'Angelo Date: Fri Aug 23 15:05:54 2024 +0200 libstdc++: Do not use use memmove for 1-element ranges [PR108846,PR116471] This commit ports the

[gcc r13-9543] libstdc++: Fix ranges::move and ranges::move_backward to use iter_move [PR105609]

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:285f01004e902ece64714cb4fb1d527b25437f2e commit r13-9543-g285f01004e902ece64714cb4fb1d527b25437f2e Author: Jonathan Wakely Date: Thu Feb 27 13:27:17 2025 + libstdc++: Fix ranges::move and ranges::move_backward to use iter_move [PR105609] The ranges

[gcc r13-9537] libstdc++: add missing include in ranges_util.h

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:5d1ec58a3a17a78282b6e0fb2b8018d460b3 commit r13-9537-g5d1ec58a3a17a78282b6e0fb2b8018d460b3 Author: Arsen Arsenović Date: Sun Nov 5 13:54:54 2023 +0100 libstdc++: add missing include in ranges_util.h libstdc++-v3/ChangeLog: * include/b

[gcc r13-9539] libstdc++: Add missing header to for std::__memcmp

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:8c1b7854a4277549d3867c20c5d40c486383f2a0 commit r13-9539-g8c1b7854a4277549d3867c20c5d40c486383f2a0 Author: Jonathan Wakely Date: Fri Jun 7 09:49:06 2024 +0100 libstdc++: Add missing header to for std::__memcmp As noticed by Michael Levine. libstdc

[gcc r13-9538] libstdc++: Fix ranges::iter_move handling of rvalues [PR106612]

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:e2dcab17a3a4e60792a81987bb0ed1120ca4f474 commit r13-9538-ge2dcab17a3a4e60792a81987bb0ed1120ca4f474 Author: Jonathan Wakely Date: Fri Feb 28 21:44:41 2025 + libstdc++: Fix ranges::iter_move handling of rvalues [PR106612] The specification for std::ranges

[gcc r13-9534] libstdc++: Undeprecate std::pmr::polymorphic_allocator::destroy (P2875R4)

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:49c2411f9e27b5021cfee8110f0f2c54fe3e9733 commit r13-9534-g49c2411f9e27b5021cfee8110f0f2c54fe3e9733 Author: Jonathan Wakely Date: Tue Jun 18 16:09:08 2024 +0100 libstdc++: Undeprecate std::pmr::polymorphic_allocator::destroy (P2875R4) This member function was

Re: [PATCH] libstdc++: Do not use 'not' alternative token in

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 15:22, Jonathan Wakely wrote: > > On Wed, 16 Apr 2025 at 12:59, Tomasz Kaminski wrote: > > > > > > > > On Wed, Apr 16, 2025 at 1:32 PM Jonathan Wakely wrote: > >> > >> On Wed, 16 Apr 2025 at 12:18, Jonathan Wakely wrote:

Re: [PATCH] libstdc++: Fix constification in range_formatter::format v2 [PR109162]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 15:17, Tomasz Kaminski wrote: > > > > On Wed, Apr 16, 2025 at 3:47 PM Tomasz Kamiński wrote: >> >> Because the _M_format(__rg, __fc) were placed outside of if constexpr, >> these method and it's childs where instantiated, even if _M_format> _Range> >> could be used. Now we

Re: [PATCH] libstdc++: Fix constification in range_formatter::format v2 [PR109162]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 15:17, Tomasz Kaminski wrote: > > > > On Wed, Apr 16, 2025 at 3:47 PM Tomasz Kamiński wrote: >> >> Because the _M_format(__rg, __fc) were placed outside of if constexpr, >> these method and it's childs where instantiated, even if _M_format> _Range> >> could be used. Now we

Re: [PATCH] libstdc++: Do not use 'not' alternative token in

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 15:22, Jonathan Wakely wrote: > > On Wed, 16 Apr 2025 at 12:59, Tomasz Kaminski wrote: > > > > > > > > On Wed, Apr 16, 2025 at 1:32 PM Jonathan Wakely wrote: > >> > >> On Wed, 16 Apr 2025 at 12:18, Jonathan Wakely wrote:

Re: [PATCH] libstdc++: Do not use 'not' alternative token in

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 12:59, Tomasz Kaminski wrote: > > > > On Wed, Apr 16, 2025 at 1:32 PM Jonathan Wakely wrote: >> >> On Wed, 16 Apr 2025 at 12:18, Jonathan Wakely wrote: >> > >> > This fixes: >> > FAIL: 17_intro/headers/c++1998/operator_n

Re: [PATCH] libstdc++: Do not use 'not' alternative token in

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 12:59, Tomasz Kaminski wrote: > > > > On Wed, Apr 16, 2025 at 1:32 PM Jonathan Wakely wrote: >> >> On Wed, 16 Apr 2025 at 12:18, Jonathan Wakely wrote: >> > >> > This fixes: >> > FAIL: 17_intro/headers/c++1998/operator_n

Re: [PATCH] libstdc++: Fix constification in range_formatter::format [PR109162]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 12:54, Tomasz Kamiński wrote: > > The _Rg is deduced to lvalue reference for the lvalue arguments, > and in such case __format::__maybe_const_range<_Rg, _CharT> is always _Rg > (adding const to reference does not change behavior). > > Now we correctly check if _Range = const

Re: [PATCH] libstdc++: Fix constification in range_formatter::format [PR109162]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 12:54, Tomasz Kamiński wrote: > > The _Rg is deduced to lvalue reference for the lvalue arguments, > and in such case __format::__maybe_const_range<_Rg, _CharT> is always _Rg > (adding const to reference does not change behavior). > > Now we correctly check if _Range = const

[PATCH] libstdc++: Adjust comment in

2025-04-16 Thread Jonathan Wakely
We don't need to mention ranges::out_value_result in this comment, because doesn't care about that name. libstdc++-v3/ChangeLog: * include/std/numeric: Only mention ranges::iota in comment. --- Pushed to gcc-14 as obvious. libstdc++-v3/include/std/numeric | 2 +- 1 file changed, 1 ins

[PATCH] libstdc++: Adjust comment in

2025-04-16 Thread Jonathan Wakely
We don't need to mention ranges::out_value_result in this comment, because doesn't care about that name. libstdc++-v3/ChangeLog: * include/std/numeric: Only mention ranges::iota in comment. --- Pushed to gcc-14 as obvious. libstdc++-v3/include/std/numeric | 2 +- 1 file changed, 1 ins

[gcc r14-11629] libstdc++: Adjust comment in

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:6f897be2044e4f91bdd324b5f68230fffb868af8 commit r14-11629-g6f897be2044e4f91bdd324b5f68230fffb868af8 Author: Jonathan Wakely Date: Wed Apr 16 12:37:15 2025 +0100 libstdc++: Adjust comment in We don't need to mention ranges::out_value_result in this co

Re: [PATCH] libstdc++: Do not use 'not' alternative token in

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 12:18, Jonathan Wakely wrote: > > This fixes: > FAIL: 17_intro/headers/c++1998/operator_names.cc -std=gnu++23 (test for > excess errors) > FAIL: 17_intro/headers/c++1998/operator_names.cc -std=gnu++26 (test for > excess errors) > > The purpose of

Re: [PATCH] libstdc++: Do not use 'not' alternative token in

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 12:18, Jonathan Wakely wrote: > > This fixes: > FAIL: 17_intro/headers/c++1998/operator_names.cc -std=gnu++23 (test for > excess errors) > FAIL: 17_intro/headers/c++1998/operator_names.cc -std=gnu++26 (test for > excess errors) > > The purpose of

[PATCH] libstdc++: Do not use 'not' alternative token in

2025-04-16 Thread Jonathan Wakely
This fixes: FAIL: 17_intro/headers/c++1998/operator_names.cc -std=gnu++23 (test for excess errors) FAIL: 17_intro/headers/c++1998/operator_names.cc -std=gnu++26 (test for excess errors) The purpose of 'not defined>' is to be ill-formed (as required by [format.range.fmtkind]) and to give an err

[PATCH] libstdc++: Do not use 'not' alternative token in

2025-04-16 Thread Jonathan Wakely
This fixes: FAIL: 17_intro/headers/c++1998/operator_names.cc -std=gnu++23 (test for excess errors) FAIL: 17_intro/headers/c++1998/operator_names.cc -std=gnu++26 (test for excess errors) The purpose of 'not defined>' is to be ill-formed (as required by [format.range.fmtkind]) and to give an err

Re: [committed] libstdc++: Do not define __cpp_lib_ranges_iota in

2025-04-16 Thread Jonathan Wakely
On Tue, 15 Apr 2025 at 17:38, Jonathan Wakely wrote: > > In r14-7153-gadbc46942aee75 we removed a duplicate definition of > __glibcxx_want_range_iota from , but __cpp_lib_ranges_iota > should be defined in at all. Oops, that was meant to say "should not be defined" >

Re: [committed] libstdc++: Do not define __cpp_lib_ranges_iota in

2025-04-16 Thread Jonathan Wakely
On Tue, 15 Apr 2025 at 17:38, Jonathan Wakely wrote: > > In r14-7153-gadbc46942aee75 we removed a duplicate definition of > __glibcxx_want_range_iota from , but __cpp_lib_ranges_iota > should be defined in at all. Oops, that was meant to say "should not be defined" >

Re: [PATCH v2] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 11:10, Jonathan Wakely wrote: > > On 16/04/25 11:45 +0200, Tomasz Kamiński wrote: > >This patch implements formatter specializations for pair and tuple form > >P2286R8. In addition using 'm` and range_format::map (from P2585R1) for > >ranges

Re: [PATCH v2] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 11:10, Jonathan Wakely wrote: > > On 16/04/25 11:45 +0200, Tomasz Kamiński wrote: > >This patch implements formatter specializations for pair and tuple form > >P2286R8. In addition using 'm` and range_format::map (from P2585R1) for > >ranges

Re: [PATCH v2] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On 16/04/25 11:45 +0200, Tomasz Kamiński wrote: This patch implements formatter specializations for pair and tuple form P2286R8. In addition using 'm` and range_format::map (from P2585R1) for ranges are now supported. The formatters for pairs and tuples whose corresponding elements are the same

Re: [PATCH v2] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On 16/04/25 11:45 +0200, Tomasz Kamiński wrote: This patch implements formatter specializations for pair and tuple form P2286R8. In addition using 'm` and range_format::map (from P2585R1) for ranges are now supported. The formatters for pairs and tuples whose corresponding elements are the same

Re: [PATCH] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 10:38, Tomasz Kaminski wrote: > > > > On Wed, Apr 16, 2025 at 11:17 AM Jonathan Wakely wrote: >> >> On 16/04/25 09:13 +0200, Tomasz Kamiński wrote: >> >This patch implements formatter specializations for pair and tuple form >&

Re: [PATCH] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 10:38, Tomasz Kaminski wrote: > > > > On Wed, Apr 16, 2025 at 11:17 AM Jonathan Wakely wrote: >> >> On 16/04/25 09:13 +0200, Tomasz Kamiński wrote: >> >This patch implements formatter specializations for pair and tuple form >&

Re: [PATCH] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On 16/04/25 09:13 +0200, Tomasz Kamiński wrote: This patch implements formatter specializations for pair and tuple form P2286R8. In addition using 'm` and range_format::map (from P2585R1) for ranges are now supported. The formatters for pairs and tuples whose corresponding elements are the same

Re: [PATCH] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On 16/04/25 09:13 +0200, Tomasz Kamiński wrote: This patch implements formatter specializations for pair and tuple form P2286R8. In addition using 'm` and range_format::map (from P2585R1) for ranges are now supported. The formatters for pairs and tuples whose corresponding elements are the same

Re: [PATCH] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 09:55, Tomasz Kaminski wrote: > > > > On Wed, Apr 16, 2025 at 10:47 AM Jonathan Wakely wrote: >> >> On 16/04/25 10:37 +0200, Tomasz Kaminski wrote: >> >Just to clarify, we still will be missing the formatter for adaptors >> >(stac

Re: [PATCH] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 09:55, Tomasz Kaminski wrote: > > > > On Wed, Apr 16, 2025 at 10:47 AM Jonathan Wakely wrote: >> >> On 16/04/25 10:37 +0200, Tomasz Kaminski wrote: >> >Just to clarify, we still will be missing the formatter for adaptors >> >(stac

[gcc r14-11627] libstdc++: Do not define __cpp_lib_ranges_iota in

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:0a9f20ed39167782dd2d75f8739d994cc5d05b80 commit r14-11627-g0a9f20ed39167782dd2d75f8739d994cc5d05b80 Author: Jonathan Wakely Date: Tue Apr 15 14:00:23 2025 +0100 libstdc++: Do not define __cpp_lib_ranges_iota in In r14-7153-gadbc46942aee75 we removed a

[gcc r14-11628] libstdc++: Add test for not using reserved name 'ranges' before C++20

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:3d03428400552156abd0d639dfc8fe9bb00158cb commit r14-11628-g3d03428400552156abd0d639dfc8fe9bb00158cb Author: Jonathan Wakely Date: Tue Apr 15 14:01:55 2025 +0100 libstdc++: Add test for not using reserved name 'ranges' before C++20 This is a test

[gcc r14-11626] libstdc++: Fix std::ranges::iota is not included in numeric [PR108760]

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:399ca300412970bcc11104d431d32770d0fc6c65 commit r14-11626-g399ca300412970bcc11104d431d32770d0fc6c65 Author: Michael Levine Date: Fri Jun 7 09:54:38 2024 +0100 libstdc++: Fix std::ranges::iota is not included in numeric [PR108760] Before this patch, using std:

[gcc r14-11625] libstdc++: Fix ranges::move and ranges::move_backward to use iter_move [PR105609]

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:c29c3f713a9d166eb18c68645b9675d01421ccf6 commit r14-11625-gc29c3f713a9d166eb18c68645b9675d01421ccf6 Author: Jonathan Wakely Date: Thu Feb 27 13:27:17 2025 + libstdc++: Fix ranges::move and ranges::move_backward to use iter_move [PR105609] The ranges

[gcc r14-11624] libstdc++: Reuse std::__assign_one in

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:542c7e9b3f4a118cbe2f9fa59aeafb23aab31e0b commit r14-11624-g542c7e9b3f4a118cbe2f9fa59aeafb23aab31e0b Author: Jonathan Wakely Date: Mon Oct 14 23:34:20 2024 +0100 libstdc++: Reuse std::__assign_one in Use std::__assign_one instead of ranges::__assign_one

[gcc r14-11623] libstdc++: Fix ranges::copy_backward for a single memcpyable element [PR117121]

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:27f7de3b80d9a3020713d6defa4943830bcb565f commit r14-11623-g27f7de3b80d9a3020713d6defa4943830bcb565f Author: Jonathan Wakely Date: Sun Oct 13 19:14:04 2024 +0100 libstdc++: Fix ranges::copy_backward for a single memcpyable element [PR117121] The result

[gcc r14-11622] libstdc++: Do not use use memmove for 1-element ranges [PR108846, PR116471]

2025-04-16 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:acd6031f5cbf7621307060bae23dab5757e5e51e commit r14-11622-gacd6031f5cbf7621307060bae23dab5757e5e51e Author: Giuseppe D'Angelo Date: Fri Aug 23 15:05:54 2024 +0200 libstdc++: Do not use use memmove for 1-element ranges [PR108846,PR116471] This commit ports the

[gcc r14-11621] libstdc++: Add missing header to for std::__memcmp

2025-04-16 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:fb00f4e4f16704fd310eeef91c4521d4871b79eb commit r14-11621-gfb00f4e4f16704fd310eeef91c4521d4871b79eb Author: Jonathan Wakely Date: Fri Jun 7 09:49:06 2024 +0100 libstdc++: Add missing header to for std::__memcmp As noticed by Michael Levine. libstdc

Re: [PATCH] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On 16/04/25 10:37 +0200, Tomasz Kaminski wrote: Just to clarify, we still will be missing the formatter for adaptors (stack, queue, piority_queue). Yes, but I doubt most people want to use those :-)

Re: [PATCH] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On 16/04/25 10:37 +0200, Tomasz Kaminski wrote: Just to clarify, we still will be missing the formatter for adaptors (stack, queue, piority_queue). Yes, but I doubt most people want to use those :-)

Re: [PATCH] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 08:15, Tomasz Kamiński wrote: > > This patch implements formatter specializations for pair and tuple form > P2286R8. In addition using 'm` and range_format::map (from P2585R1) for > ranges are now supported. > > The formatters for pairs and tuples whose corresponding element

Re: [PATCH] libstdc++: Implement formatters for pair and tuple [PR109162]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025 at 08:15, Tomasz Kamiński wrote: > > This patch implements formatter specializations for pair and tuple form > P2286R8. In addition using 'm` and range_format::map (from P2585R1) for > ranges are now supported. > > The formatters for pairs and tuples whose corresponding element

Re: [PATCH] libstdc++: Fix constraint recursion in basic_const_iterator operator- [PR115046]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025, 03:17 Hans-Peter Nilsson, wrote: > On Tue, 8 Apr 2025, Patrick Palka wrote: > > > Tested on x86_64-pc-linux-gnu, does this look OK for trunk/14? > > It's not mentioned very often, but is a general rule: > > Pretty please, add new files for new tests, don't just edit > existin

Re: [PATCH] libstdc++: Fix constraint recursion in basic_const_iterator operator- [PR115046]

2025-04-16 Thread Jonathan Wakely
On Wed, 16 Apr 2025, 03:17 Hans-Peter Nilsson, wrote: > On Tue, 8 Apr 2025, Patrick Palka wrote: > > > Tested on x86_64-pc-linux-gnu, does this look OK for trunk/14? > > It's not mentioned very often, but is a general rule: > > Pretty please, add new files for new tests, don't just edit > existin

Re: [PATCH v2] libstdc++: Implement formatter for ranges and range_formatter [PR109162]

2025-04-15 Thread Jonathan Wakely
On 15/04/25 15:05 +0100, Jonathan Wakely wrote: A few spelling and grammar fixes, and whitespace tweaks, but the only significant thing is to qualify some calls to prevent ADL ... Doh, as pointed out in chat the ADL thing is irrelevant because that's not std::format. So I think every

[committed] libstdc++: Do not declare namespace ranges in unconditionally

2025-04-15 Thread Jonathan Wakely
Move namespace ranges inside the feature test macro guard, because 'ranges' is not a reserved name before C++20. libstdc++-v3/ChangeLog: * include/std/numeric (ranges): Only declare namespace for C++23 and later. (ranges::iota_result): Fix indentation. * testsuite/

[committed] libstdc++: Do not declare namespace ranges in unconditionally

2025-04-15 Thread Jonathan Wakely
Move namespace ranges inside the feature test macro guard, because 'ranges' is not a reserved name before C++20. libstdc++-v3/ChangeLog: * include/std/numeric (ranges): Only declare namespace for C++23 and later. (ranges::iota_result): Fix indentation. * testsuite/

[committed] libstdc++: Do not define __cpp_lib_ranges_iota in

2025-04-15 Thread Jonathan Wakely
In r14-7153-gadbc46942aee75 we removed a duplicate definition of __glibcxx_want_range_iota from , but __cpp_lib_ranges_iota should be defined in at all. libstdc++-v3/ChangeLog: * include/std/ranges (__glibcxx_want_ranges_iota): Do not define. --- Tested x86_64-linux. Pushed to t

[committed] libstdc++: Do not define __cpp_lib_ranges_iota in

2025-04-15 Thread Jonathan Wakely
In r14-7153-gadbc46942aee75 we removed a duplicate definition of __glibcxx_want_range_iota from , but __cpp_lib_ranges_iota should be defined in at all. libstdc++-v3/ChangeLog: * include/std/ranges (__glibcxx_want_ranges_iota): Do not define. --- Tested x86_64-linux. Pushed to t

[gcc r15-9494] libstdc++: Do not define __cpp_lib_ranges_iota in

2025-04-15 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:25775e73ea4d40a55a26b71c42cc6509caf4845f commit r15-9494-g25775e73ea4d40a55a26b71c42cc6509caf4845f Author: Jonathan Wakely Date: Tue Apr 15 14:00:23 2025 +0100 libstdc++: Do not define __cpp_lib_ranges_iota in In r14-7153-gadbc46942aee75 we removed a

[gcc r15-9493] libstdc++: Do not declare namespace ranges in unconditionally

2025-04-15 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:df59bf20d85384f56395f573f294ddd45327347a commit r15-9493-gdf59bf20d85384f56395f573f294ddd45327347a Author: Jonathan Wakely Date: Tue Apr 15 14:01:55 2025 +0100 libstdc++: Do not declare namespace ranges in unconditionally Move namespace ranges inside the

Re: [PATCH v2] libstdc++: Fix std::string construction from volatile char* [PR119748]

2025-04-15 Thread Jonathan Wakely
On Mon, 14 Apr 2025 at 16:25, Tomasz Kaminski wrote: > > > > On Mon, Apr 14, 2025 at 5:06 PM Jonathan Wakely wrote: >> >> My recent r15-9381-g648d5c26e25497 change assumes that a contiguous >> iterator with the correct value_type can be converted to a const cha

Re: [PATCH v2] libstdc++: Implement formatter for ranges and range_formatter [PR109162]

2025-04-15 Thread Jonathan Wakely
A few spelling and grammar fixes, and whitespace tweaks, but the only significant thing is to qualify some calls to prevent ADL ... On 14/04/25 16:13 +0200, Tomasz Kamiński wrote: This patch implements formatter specialization for input_ranges and range_formatter class form P2286R8, as adjusted

Re: [PATCH v2] libstdc++: Implement formatter for ranges and range_formatter [PR109162]

2025-04-15 Thread Jonathan Wakely
A few spelling and grammar fixes, and whitespace tweaks, but the only significant thing is to qualify some calls to prevent ADL ... On 14/04/25 16:13 +0200, Tomasz Kamiński wrote: This patch implements formatter specialization for input_ranges and range_formatter class form P2286R8, as adjusted

Re: [PATCH v2] libstdc++: Implement formatter for ranges and range_formatter [PR109162]

2025-04-15 Thread Jonathan Wakely
On 15/04/25 15:05 +0100, Jonathan Wakely wrote: A few spelling and grammar fixes, and whitespace tweaks, but the only significant thing is to qualify some calls to prevent ADL ... Doh, as pointed out in chat the ADL thing is irrelevant because that's not std::format. So I think every

[committed] libstdc++: Enable __gnu_test::test_container constructor for C++98

2025-04-15 Thread Jonathan Wakely
The only reason this constructor wasn't defined for C++98 is that it uses constructor delegation, but that isn't necessary. libstdc++-v3/ChangeLog: * testsuite/util/testsuite_iterators.h (test_container): Define array constructor for C++98 as well. --- I don't remember why I defi

[gcc r12-11038] libstdc++: Document thread-safety for COW std::string [PR21334]

2025-04-15 Thread Jonathan Wakely via Gcc-cvs
https://gcc.gnu.org/g:31d7e0751e58ce006038fa5100a79da6ec6ddb7e commit r12-11038-g31d7e0751e58ce006038fa5100a79da6ec6ddb7e Author: Jonathan Wakely Date: Fri Apr 11 11:08:34 2025 +0100 libstdc++: Document thread-safety for COW std::string [PR21334] The gcc4-compatible copy-on-write

[gcc r15-9477] libstdc++: Enable __gnu_test::test_container constructor for C++98

2025-04-15 Thread Jonathan Wakely via Libstdc++-cvs
https://gcc.gnu.org/g:8a208899e92e25f5d80b5a15548d39ea5551f492 commit r15-9477-g8a208899e92e25f5d80b5a15548d39ea5551f492 Author: Jonathan Wakely Date: Mon Apr 14 17:16:46 2025 +0100 libstdc++: Enable __gnu_test::test_container constructor for C++98 The only reason this

  1   2   3   4   5   6   7   8   9   10   >