mirror-llvm-project/libcxxabi/test
Marco Elver fb6f1bde00
[ItaniumDemangle] Strip __alloc_token_ to transparently demangle allocation functions (#191048)
Update the Itanium demangler to recognize and strip `__alloc_token_`
prefixes introduced by AllocToken instrumentation [1]. This ensures that
instrumented allocation functions (e.g., `__alloc_token__Znwm`) demangle
back to their original source-level names (e.g., `operator new(unsigned
long)`) with a suffix `(.alloc_token)` indicating their non-standard
origin.

Since AllocToken is intended to be transparent to users who continue to
use `operator new` as before, the demangled name should reflect this
reality instead of confusing users with internal instrumentation names
in stack traces or symbolization output.

Synchronize changes across llvm and libcxxabi copies.

[1] https://clang.llvm.org/docs/AllocToken.html

Original RFC: https://discourse.llvm.org/t/rfc-a-framework-for-allocator-partitioning-hints/87434
2026-04-22 17:57:30 +02:00
..
configs [libcxx] Use %{temp} instead of %T (#162323) 2025-10-09 16:52:42 -07:00
native [libc++abi][libunwind] Enable AT&T syntax explicitly (#166818) 2025-11-08 10:20:13 -10:00
support
vendor [NFC][libc++][libc++abi][libunwind][test] Fix/unify AIX triples used in LIT tests (#101196) 2024-08-01 07:25:01 -04:00
backtrace_test.pass.cpp
catch_array_01.pass.cpp
catch_array_02.pass.cpp
catch_class_01.pass.cpp
catch_class_02.pass.cpp
catch_class_03.pass.cpp
catch_class_04.pass.cpp
catch_const_pointer_nullptr.pass.cpp [libc++abi] Fix test failures with GCC 14 (#95759) 2024-06-30 12:09:20 +02:00
catch_function_01.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
catch_function_02.pass.cpp
catch_function_03.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
catch_in_noexcept.pass.cpp
catch_member_data_pointer_01.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
catch_member_function_pointer_01.pass.cpp
catch_member_function_pointer_02.pass.cpp [libc++] Upgrade to GCC 15 (#138293) 2025-06-11 20:19:26 +02:00
catch_member_pointer_nullptr.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
catch_multi_level_pointer.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
catch_null_pointer_to_object_pr64953.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
catch_pointer_nullptr.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
catch_pointer_reference.pass.cpp
catch_ptr.pass.cpp
catch_ptr_02.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
catch_reference_nullptr.pass.cpp
CMakeLists.txt [runtimes] Remove dependencies on cxx_experimental for test-suite installs (#171678) 2025-12-12 12:09:11 -05:00
cxa_bad_cast.pass.cpp
cxa_bad_typeid.pass.cpp
cxa_call_terminate.pass.cpp [libc++abi] Fix test failures with GCC 14 (#95759) 2024-06-30 12:09:20 +02:00
cxa_thread_atexit_test.pass.cpp
cxa_vec_new_overflow_PR41395.pass.cpp [libc++] Granularize the <new> header (#119270) 2024-12-13 14:17:56 -05:00
DemangleTestCases.inc [ItaniumDemangle] Strip __alloc_token_ to transparently demangle allocation functions (#191048) 2026-04-22 17:57:30 +02:00
dynamic_cast.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
dynamic_cast3.pass.cpp
dynamic_cast5.pass.cpp
dynamic_cast14.pass.cpp
exception_object_alignment.2.pass.cpp
exception_object_alignment.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
forced_unwind1.pass.cpp
forced_unwind2.pass.cpp [libc++abi] Don't leak in test (#119505) 2024-12-10 22:02:32 -08:00
forced_unwind3.pass.cpp
forced_unwind4.pass.cpp [runtimes][NFC] Consistently declare main() functions in tests (#162548) 2025-10-09 09:00:20 -04:00
guard_test_basic.pass.cpp [libc++] Remove _LIBCPP_CONSTINIT (#171802) 2026-01-20 12:51:43 +01:00
guard_threaded_test.pass.cpp [libc++] Remove _LIBCPP_CONSTINIT (#171802) 2026-01-20 12:51:43 +01:00
incomplete_type.sh.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
inherited_exception.pass.cpp
itanium_demangle_matches_llvm.sh.test [libcxxabi][test] Check that all copied files are synced between llvm and libcxxabi (#142262) 2025-05-31 21:18:54 +01:00
lit.cfg.py [runtimes][NFC] Improve error message when running Lit incorrectly 2024-06-26 15:44:28 -05:00
namespace.compile.pass.cpp [libc++abi] Add a test to ensure the abi namespace alias is declared correctly (#167485) 2025-11-12 10:12:13 +01:00
noexception1.pass.cpp
noexception2.pass.cpp
noexception3.pass.cpp
noexception4.pass.cpp
test_aux_runtime.pass.cpp [libc++] Granularize <cstddef> includes (#108696) 2024-10-31 02:20:10 +01:00
test_aux_runtime_op_array_new.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
test_demangle.pass.cpp [libc++] Add availability markup for LLVM 19 and LLVM 20 (#140072) 2025-11-02 15:24:30 -10:00
test_exception_address_alignment.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
test_exception_storage.pass.cpp
test_exception_storage.threads.pass.cpp
test_fallback_malloc.pass.cpp [libc++] Remove _LIBCPP_CONSTINIT (#171802) 2026-01-20 12:51:43 +01:00
test_guard.pass.cpp
test_vector1.pass.cpp
test_vector2.pass.cpp
test_vector3.pass.cpp
thread_local_destruction_order.pass.cpp
uncaught_exception.pass.cpp [libc++] Add availability markup for LLVM 19 and LLVM 20 (#140072) 2025-11-02 15:24:30 -10:00
uncaught_exceptions.pass.cpp [libc++] Clean up and update deployment target features (#96312) 2024-06-28 10:40:35 -05:00
unittest_demangle.pass.cpp
unwind_01.pass.cpp
unwind_02.pass.cpp
unwind_03.pass.cpp
unwind_04.pass.cpp
unwind_05.pass.cpp
unwind_06.pass.cpp