aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
diff options
context:
space:
mode:
authorMark de Wever <koraq@xs4all.nl>2023-04-21 08:09:06 +0200
committerMark de Wever <koraq@xs4all.nl>2023-07-11 20:28:19 +0200
commit20341c3ad6f64a2a61d0e38d0cdafd356a5b6cbb (patch)
tree1fb5f0abeb9f2a3ff3dee08060122a6162b21431 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
parent2cb4731902d1f05af11154afe19f6fb2331c1920 (diff)
downloadllvm-20341c3ad6f64a2a61d0e38d0cdafd356a5b6cbb.zip
llvm-20341c3ad6f64a2a61d0e38d0cdafd356a5b6cbb.tar.gz
llvm-20341c3ad6f64a2a61d0e38d0cdafd356a5b6cbb.tar.bz2
[libc++][format] Adds a UTF transcoder.
This is a preparation for P2093R14 Formatted output When the output of print is to the terminal it needs to use the native API. This means transcoding UTF-8 to UTF-16 on Windows. The encoder's interface is modeled after P2728 Unicode in the Library, Part 1: UTF Transcoding But only the required part for P2093R14 is implemented. On Windows wchar_t is 16 bits, in order to test on platforms where wchar_t is 32 bits the transcoder has support for char16_t. It also adds and UTF-8 to UTF-32 encoder which is useful for other tests. Note it is possible to use <codecvt> for transcoding, but that header is deprecated. So rather write new code that is not deprecated; the hard part, decoding, has already been done. The <codecvt> header also requires locale support while the new code works without including <locale>. Note the current transcoder implementation can be optimized since it basically does UTF-8 -> UTF-32 -> UTF-16. The first goal is to have a working implementation. Since it's not part of the ABI it's possible to do the optimization later. Depends on D149672 Reviewed By: ldionne, tahonermann, #libc Differential Revision: https://reviews.llvm.org/D150031
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
0 files changed, 0 insertions, 0 deletions