[all-commits] [llvm/llvm-project] 7e7013: [libc++][cuchar] Declare std::c8rtomb and std::mbr...
Tom Honermann via All-commits
all-commits at lists.llvm.org
Sat Sep 10 18:11:21 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7e7013c5d4b1b3996c8dba668c5a94bb33b2999b
https://github.com/llvm/llvm-project/commit/7e7013c5d4b1b3996c8dba668c5a94bb33b2999b
Author: Tom Honermann <tom at honermann.net>
Date: 2022-09-10 (Sat, 10 Sep 2022)
Changed paths:
M libcxx/docs/ReleaseNotes.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/include/__config
M libcxx/include/cuchar
M libcxx/include/uchar.h
M libcxx/test/std/depr/depr.c.headers/uchar_h.compile.pass.cpp
M libcxx/test/std/strings/c.strings/cuchar.compile.pass.cpp
A libcxx/test/std/strings/c.strings/no_c8rtomb_mbrtoc8.verify.cpp
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++][cuchar] Declare std::c8rtomb and std::mbrtoc8 in <cuchar> if available.
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
More information about the All-commits
mailing list