[PATCH] Complete __gnu_debug::basic_string

François Dumont frs.dumont@gmail.com
Tue Mar 16 20:55:15 GMT 2021


Following:

https://gcc.gnu.org/pipermail/libstdc++/2021-March/052158.html

Here is the patch to complete __gnu_debug::basic_string support. 
Contrarily to what I thought code in std::basic_string to generate a 
basic_string_view works just fine for __gnu_debug::basic_string.

     libstdc++: [_GLIBCXX_DEBUG] Add __gnu_debug 
u8string/u16string/u32string

     Complete __gnu_debug::basic_string support so that it can be used as a
     transparent replacement of std::basic_string.

     libstdc++-v3/ChangeLog:

             * include/debug/string
             (basic_string(const _CharT*, const _Allocator&)): Remove 
assign call.
             (basic_string<>::insert(const_iterator, _InputIte, 
_InputIte)): Try to
             remove iterator debug layer even if !_GLIBCXX_USE_CXX11_ABI.
             [_GLIBCXX_USE_CHAR8_T] (__gnu_debug::u8string): New.
             (__gnu_debug::u16string, __gnu_debug::u32string): New.
[!_GLIBCXX_COMPATIBILITY_CXX0X](std::hash<__gnu_debug::string>): New.
[!_GLIBCXX_COMPATIBILITY_CXX0X][_GLIBCXX_USE_WCHAR_T](std::hash<__gnu_debug::wstring>): 
New.
[_GLIBCXX_USE_CHAR8_T](std::hash<__gnu_debug::u8string>): New.
             (std::hash<__gnu_debug::u16string>): New.
             (std::hash<__gnu_debug::u32string>): New.
             * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: 
Adapt for
             __gnu_debug basic_string.

Tested under Linux x86_64.

Ok to commit ?

François

-------------- next part --------------
A non-text attachment was scrubbed...
Name: debug_string.patch
Type: text/x-patch
Size: 6946 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/libstdc++/attachments/20210316/a44aaf0b/attachment.bin>


More information about the Libstdc++ mailing list