[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
Sat Jun 25 10:31:32 PDT 2022
cebowleratibm updated this revision to Diff 439997.
cebowleratibm added a comment.
Herald added a subscriber: fedor.sergeev.
Any basic_ios where `sizeof(char_type) >= sizeof(int_type)` has at least some char value that overlaps with the eof character. I've modified the proposed test to demonstrate signed char types are affected at -1.
I've proposed a __has_fill_ member directly in basic_ios to retain layout compatibility of derived classes on what IBM has done (downstream) with prior libc++ on AIX.
The patch as proposed also works for zOS. There's no need for explicit change in the config as the sizeof check get the desired layout in both 32 and 64 bit.
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.439997.patch
Type: text/x-patch
Size: 4592 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220625/f61187cc/attachment.bin>
More information about the libcxx-commits
mailing list