![]() This change implements the C library dependent portions of P0482R6 (char8_t: A type for UTF-8 characters and strings (Revision 6)) by declaring std::c8rtomb() and std::mbrtoc8() in the <cuchar> header when implementations are provided by the C library as specified by WG14 N2653 (char8_t: A type for UTF-8 characters and strings (Revision 1)) as adopted for C23. A _LIBCPP_HAS_NO_C8RTOMB_MBRTOC8 macro is defined by the libc++ __config header unless it is known that the C library provides these functions in the current compilation mode. This macro is used for testing purposes and may be of use to libc++ users. At present, the only C library known to implement these functions is GNU libc as of its 2.36 release. Reviewed By: ldionne Differential Revision: https://reviews.llvm.org/D130946 |
||
---|---|---|
.. | ||
assert_h.pass.cpp | ||
ciso646.pass.cpp | ||
complex.h.pass.cpp | ||
ctype_h.pass.cpp | ||
errno_h.pass.cpp | ||
fenv_h.pass.cpp | ||
float_h.pass.cpp | ||
inttypes_h.pass.cpp | ||
iso646_h.pass.cpp | ||
limits_h.pass.cpp | ||
locale_h.pass.cpp | ||
math_h.pass.cpp | ||
setjmp_h.pass.cpp | ||
signal_h.pass.cpp | ||
stdarg_h.pass.cpp | ||
stdbool_h.pass.cpp | ||
stddef_h.pass.cpp | ||
stdint_h.pass.cpp | ||
stdio_h.pass.cpp | ||
stdlib_h.aligned_alloc.compile.pass.cpp | ||
stdlib_h.pass.cpp | ||
string_h.pass.cpp | ||
tgmath_h.pass.cpp | ||
time_h.pass.cpp | ||
uchar_h.compile.pass.cpp | ||
wchar_h.pass.cpp | ||
wctype_h.pass.cpp |