[PATCH 2/4]: C++ P1423R3 char8_t remediation: Update feature test macro, add deleted operators, update u8path

Tom Honermann tom@honermann.net
Mon Sep 16 02:33:00 GMT 2019


A revised patch is attached that adds proper preprocessor conditionals 
around the deleted ostream inserters.  Apparently I had previously 
implemented a quick hack for testing purposes, neglected to add a FIXME 
comment, and then forgot about the hack.  Shame on me.

Tom.

On 9/15/19 3:39 PM, Tom Honermann wrote:
> This patch increments the __cpp_lib_char8_t feature test macro, adds 
> deleted operator<< overloads for basic_ostream, and modifies u8path to 
> accept sequences of char8_t for both the C++17 implementation of 
> std::filesystem, and the filesystem TS implementation.
> 
> The implementation mechanism used for u8path differs between the C++17 
> and filesystem TS implementations.  The changes to the former take 
> advantage of C++17 'if constexpr'.  The changes to the latter retain 
> C++11 compatibility and rely on tag dispatching.
> 
> libstdc++-v3/ChangeLog:
> 
> 2019-09-15  Tom Honermann  <tom@honermann.net>
> 
>       * libstdc++-v3/include/bits/c++config: Bumped the value of the
>         __cpp_lib_char8_t feature test macro.
>       * libstdc++-v3/include/bits/fs_path.h (u8path): Modified u8path to
>         accept sequences of char8_t.
>       * libstdc++-v3/include/experimental/bits/fs_path.h (u8path):
>         Modified u8path to accept sequences of char8_t.
>       * libstdc++-v3/include/std/ostream: Added deleted overloads of
>         wchar_t, char8_t, char16_t, and char32_t for ordinary and wide
>         formatted character and string inserters.
> 
> Tom.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: p1423r3-2-2.patch
Type: text/x-patch
Size: 12557 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20190916/cd6fce18/attachment.bin>


More information about the Libstdc++ mailing list