[PATCH v2] libstdc++: C++23, implement WG21 P1679R3

Jonathan Wakely jwakely@redhat.com
Wed Jan 27 12:44:31 GMT 2021

On 27/01/21 12:40 +0000, Jonathan Wakely wrote:
>On 15/01/21 01:23 +0000, Paul Fee via Libstdc++ wrote:
>>Add contains member function to basic_string_view and basic_string.
>>The new method is enabled for -std=gnu++20, gnu++2b and c++2b.  This allows
>>users to access the method as a GNU extension to C++20.  The conditional
>>test may be reduced to "__cplusplus > 202011L" once GCC has a c++2b switch.
>>Changes since v1 (13th Jan 2021)
>>* New:
>> Test __cplusplus >= 202011L, rather than __cplusplus > 202011L.
>>* As suggested by Jonathan Wakely:
>> Adjust formatting.
>> Test feature-test macro is defined by <string_view> and <version>.
>> Correct copyright dates on new files.
>> Fix comment typo.
>>   Add contains member function to basic_string_view.
>>   Likewise to basic_string_view, both with and without _GLIBCXX_USE_CXX11_ABI.
>>   Enabled with -std=gnu++20, gnu++2b and c++2b.
>>   * include/bits/basic_string.h (basic_string::contains): New.
>>   * libstdc++-v3/include/std/string_view (basic_string_view::contains): New.
>>   * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
>>   * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc:
>>New test.
>>   * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc:
>>New test.
>>   * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc:
>>New test.
>I've committed this to master now.
>Now that -std=gnu++23 is supported I changed the preprocessor
>condition to just check __cplusplus > 201102L (and not enable it for
>-std=gnu++20) and changed the tests to use 23 not 2b. I've attached
>what I committed.
>Thanks for your patch!

And here's the patch for the release notes, pushed to wwwdocs.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.txt
Type: text/x-patch
Size: 1135 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/libstdc++/attachments/20210127/9b5c132a/attachment.bin>

More information about the Libstdc++ mailing list