[libcxx-commits] [PATCH] D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX
Xing Xue via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Sep 27 12:08:07 PDT 2023
xingxue added a comment.
In D124555#4651438 <https://reviews.llvm.org/D124555#4651438>, @hubert.reinterpretcast wrote:
> In D124555#3571553 <https://reviews.llvm.org/D124555#3571553>, @hubert.reinterpretcast wrote:
>
>> From the AIX and z/OS perspective, the replacement of the two members with a member having two fields is not 100% binary compatible for all usage. At least if the `basic_ios` specialization is used as a non-virtual base class, any derived class members that could be allocated in the padding following the `bool` would now move. This could be preemptively avoided if the new class type is given a user-provided copy constructor or destructor and the new member made `[[no_unique_address]]`. I don't know if `[[no_unique_address]]` is usable is some form under C++98/03 though.
>
> We may be able to use some form of `packed` too.
Thanks for the suggestion, I will look into it.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124555/new/
https://reviews.llvm.org/D124555
More information about the libcxx-commits
mailing list