[libcxx-commits] [PATCH] D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX
Chris Bowler via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Jun 22 14:04:28 PDT 2022
cebowleratibm updated this revision to Diff 439148.
cebowleratibm added a comment.
Herald added a subscriber: krytarowski.
1. The selection of the fill set member is moved to the __config.
2. This patch retains ABI compatibility for any of the libc++ CI that reported failures on this issue.
3. Always inject the fill set member for AIX to retain compatibility for AIX.
4. This only fixes basic_ios<wchar_t>. It is not compliant to instantiate basic_ios with a char type where char_traits::eof is not a sentinel value. #wchar_t is an exception because C++ shouldn't be adding constraints beyond what C guarantees.
I haven't received significant feedback since I overhauled the patch in response to @ldionne 's initial feedback. The new design implements the fix as needed for new targets, which I think was the primary reason for the revision.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124555/new/
https://reviews.llvm.org/D124555
Files:
libcxx/include/__config
libcxx/include/ios
libcxx/test/std/input.output/iostream.format/std.manip/setfill_wcharmax.pass.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D124555.439148.patch
Type: text/x-patch
Size: 5074 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220622/242a8b9c/attachment.bin>
More information about the libcxx-commits
mailing list