mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-02 18:58:15 +00:00
bad1a69432
unittest_demangle.pass.cpp uses the preprocessor to #include cxa_demangle.cpp. D148566 will make more use of std::string_view in libcxxabi rather than the home-grown StringView, but as a result of D149092, a definition of abort_message needs to be provided. Otherwise builds of check-cxxabi with -DLLVM_ENABLE_ASSERTIONS=ON will fail to link with the errors: /usr/bin/ld: /tmp/lit-tmp-0akcq37p/cc6DLdvw.o: in function `(anonymous namespace)::itanium_demangle::starts_with(std::__1::basic_string_view<char, std::__1::char_traits<char> >, char)': unittest_demangle.pass.cpp:(.text+0x81): undefined reference to `abort_message' /usr/bin/ld: /tmp/lit-tmp-0akcq37p/cc6DLdvw.o: in function `(anonymous namespace)::itanium_demangle::starts_with(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)': unittest_demangle.pass.cpp:(.text+0x2aa): undefined reference to `abort_message' /usr/bin/ld: unittest_demangle.pass.cpp:(.text+0x312): undefined reference to `abort_message' /usr/bin/ld: /tmp/lit-tmp-0akcq37p/cc6DLdvw.o: in function `(anonymous namespace)::itanium_demangle::OutputBuffer::writeUnsigned(unsigned long, bool)': unittest_demangle.pass.cpp:(.text+0x54f): undefined reference to `abort_message' /usr/bin/ld: unittest_demangle.pass.cpp:(.text+0x5b7): undefined reference to `abort_message' /usr/bin/ld: /tmp/lit-tmp-0akcq37p/cc6DLdvw.o:unittest_demangle.pass.cpp:(.text+0xe6e): more undefined references to `abort_message' follow /usr/bin/ld: /home/libcxx-builder/.buildkite-agent/builds/google-libcxx-builder-f0560ea595b1-1/llvm-project/libcxx-ci/build/generic-gcc/test/Output/unittest_demangle.pass.cpp.dir/t.tmp.exe: hidden symbol `abort_message' isn't defined Use the preprocessor further to provide the definition of abort_message for this unittest. Reviewed By: #libc_abi, phosek Differential Revision: https://reviews.llvm.org/D151160 |
||
---|---|---|
.. | ||
configs | ||
native | ||
support | ||
vendor | ||
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 | ||
catch_function_01.pass.cpp | ||
catch_function_02.pass.cpp | ||
catch_function_03.pass.cpp | ||
catch_in_noexcept.pass.cpp | ||
catch_member_data_pointer_01.pass.cpp | ||
catch_member_function_pointer_01.pass.cpp | ||
catch_member_function_pointer_02.pass.cpp | ||
catch_member_pointer_nullptr.pass.cpp | ||
catch_multi_level_pointer.pass.cpp | ||
catch_pointer_nullptr.pass.cpp | ||
catch_pointer_reference.pass.cpp | ||
catch_ptr_02.pass.cpp | ||
catch_ptr.pass.cpp | ||
catch_reference_nullptr.pass.cpp | ||
CMakeLists.txt | ||
cxa_bad_cast.pass.cpp | ||
cxa_bad_typeid.pass.cpp | ||
cxa_thread_atexit_test.pass.cpp | ||
cxa_vec_new_overflow_PR41395.pass.cpp | ||
dynamic_cast3.pass.cpp | ||
dynamic_cast5.pass.cpp | ||
dynamic_cast14.pass.cpp | ||
dynamic_cast_stress.pass.cpp | ||
dynamic_cast.pass.cpp | ||
exception_object_alignment.2.pass.cpp | ||
exception_object_alignment.pass.cpp | ||
forced_unwind1.pass.cpp | ||
forced_unwind2.pass.cpp | ||
forced_unwind3.pass.cpp | ||
forced_unwind4.pass.cpp | ||
guard_test_basic.pass.cpp | ||
guard_threaded_test.pass.cpp | ||
incomplete_type.sh.cpp | ||
inherited_exception.pass.cpp | ||
lit.cfg.py | ||
noexception1.pass.cpp | ||
noexception2.pass.cpp | ||
noexception3.pass.cpp | ||
noexception4.pass.cpp | ||
test_aux_runtime_op_array_new.pass.cpp | ||
test_aux_runtime.pass.cpp | ||
test_demangle.pass.cpp | ||
test_exception_address_alignment.pass.cpp | ||
test_exception_storage.pass.cpp | ||
test_fallback_malloc.pass.cpp | ||
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 | ||
uncaught_exceptions.pass.cpp | ||
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 |