llvm-project/libcxxabi
Tomasz Miąsko c8c2b4629f [Demangle][Rust] Parse non-ASCII identifiers
Rust allows use of non-ASCII identifiers, which in Rust mangling scheme
are encoded using Punycode.

The encoding deviates from the standard by using an underscore as the
separator between ASCII part and a base-36 encoding of non-ASCII
characters (avoiding hypen-minus in the symbol name). Other than that,
the encoding follows the standard, and the decoder implemented here in
turn follows the one given in RFC 3492.

To avoid an extra intermediate memory allocation while decoding
Punycode, the interface of OutputStream is extended with an insert
method.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D104366
2021-10-01 22:08:32 +02:00
..
cmake [libcxx][libcxxabi] CMAKE_REQUIRED_FLAGS is a string, not a list 2021-09-16 18:26:29 +02:00
fuzz
include [libc++abi] Avoid the warning: "__EXCEPTIONS" is not defined, evaluates to 0 [-Werror=undef] 2021-08-30 13:34:28 -04:00
lib [libc++/abi] Revert "[libc++] Move the weak symbols list to libc++abi" 2020-10-05 11:42:13 -04:00
src [Demangle][Rust] Parse non-ASCII identifiers 2021-10-01 22:08:32 +02:00
test Revert "[libc++][libc++abi] Add tests for vendor-specific properties" 2021-09-30 11:03:59 -07:00
www [Branch-Rename] Fix some links 2021-02-01 16:43:21 +05:30
.clang-format [NFC][libcxxabi] Run clang-format on libcxxabi/src/cxa_guard_impl.h 2021-08-18 19:09:16 -04:00
.gitignore
CMakeLists.txt [runtimes] Allow overriding where CMake installs RUNTIME type libraries (DLLs) 2021-09-09 00:01:38 +03:00
CREDITS.TXT
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00