mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-10 10:01:42 +00:00
Fix PR25874 - Detect features required for cxa_thread_atexit_test.pass.cpp
llvm-svn: 296940
This commit is contained in:
parent
b406baaeef
commit
afa6f9793a
@ -18,6 +18,7 @@ pythonize_bool(LIBCXXABI_ENABLE_THREADS)
|
||||
pythonize_bool(LIBCXXABI_ENABLE_EXCEPTIONS)
|
||||
pythonize_bool(LIBCXXABI_USE_LLVM_UNWINDER)
|
||||
pythonize_bool(LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY)
|
||||
pythonize_bool(LIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL)
|
||||
set(LIBCXXABI_TARGET_INFO "libcxx.test.target_info.LocalTI" CACHE STRING
|
||||
"TargetInfo to use when setting up test environment.")
|
||||
set(LIBCXXABI_EXECUTOR "None" CACHE STRING
|
||||
|
@ -10,6 +10,11 @@
|
||||
// UNSUPPORTED: libcxxabi-no-threads
|
||||
// REQUIRES: linux
|
||||
|
||||
// this test will only work if CMake detects a real __cxa_thread_atexit_impl
|
||||
// at configure time. This function, however, was added only in glibc 2.18,
|
||||
// and there are still plenty of systems only using 2.17 (Ex RHEL 7).
|
||||
// XFAIL: libcxxabi-no-cxa-thread-atexit-impl
|
||||
|
||||
#include <assert.h>
|
||||
#include <cxxabi.h>
|
||||
|
||||
|
@ -45,6 +45,9 @@ class Configuration(LibcxxConfiguration):
|
||||
# test_exception_storage_nodynmem.pass.cpp fails under this specific configuration
|
||||
if self.get_lit_bool('cxx_ext_threads', False) and self.get_lit_bool('libcxxabi_shared', False):
|
||||
self.config.available_features.add('libcxxabi-shared-externally-threaded')
|
||||
if not self.get_lit_bool('has_cxa_thread_atexit_impl', True):
|
||||
self.config.available_features.add(
|
||||
'libcxxabi-no-cxa-thread-atexit-impl')
|
||||
|
||||
def configure_compile_flags(self):
|
||||
self.cxx.compile_flags += ['-DLIBCXXABI_NO_TIMER']
|
||||
|
@ -20,6 +20,7 @@ config.host_triple = "@LLVM_HOST_TRIPLE@"
|
||||
config.target_triple = "@TARGET_TRIPLE@"
|
||||
config.use_target = len("@LIBCXXABI_TARGET_TRIPLE@") > 0
|
||||
config.cxx_ext_threads = "@LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY@"
|
||||
config.has_cxa_thread_atexit_impl = "@LIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL@"
|
||||
|
||||
# Let the main config do the real work.
|
||||
lit_config.load_config(config, "@LIBCXXABI_SOURCE_DIR@/test/lit.cfg")
|
||||
|
Loading…
Reference in New Issue
Block a user