[Openmp-commits] [libcxx] [openmp] [libc++] basic_ios<wchar_t> cannot store fill character WCHAR_MAX (PR #89305)
Xing Xue via Openmp-commits
openmp-commits at lists.llvm.org
Tue Jun 11 09:19:48 PDT 2024
================
@@ -146,6 +146,12 @@ ABI Affecting Changes
``random_device`` could throw a ``system_error`` with this value. It now
throws ``ENOMSG``.
+- libcxx ``std::basic_ios`` uses ``WEOF`` to indicate that the fill value is uninitialized. However, on platforms
+ where the size of ``char_type`` is equal to or greater than the size of ``int_type`` and ``char_type`` is unsigned,
+ ``std::char_traits<char_type>::eq_int_type()`` cannot distinguish between ``WEOF`` and ``WCHAR_MAX``. New helper
+ class ``_FillHelper`` uses a boolean variable to indicate whether the fill value has been initialized so that a fill
+ value ``WEOF`` set by the user won't be treated as indicating the fill value is uninitialized.
+ Undefining macro ``_LIBCXX_IOS_USE_FILL_HELPER`` to keep the ABI verson 1 behavior if needed.
----------------
xingxue-ibm wrote:
Removed the sentence as suggested, thanks!
https://github.com/llvm/llvm-project/pull/89305
More information about the Openmp-commits
mailing list