From 95b20f885c34272bd6a895996b5877c0f36e64ba Mon Sep 17 00:00:00 2001 From: Petr Hosek Date: Mon, 8 Jan 2018 23:36:53 +0000 Subject: [PATCH] [libcxx] Support the use of compiler-rt in lit tests Don't link tests against libgcc when compiler-rt is being used. Differential Revision: https://reviews.llvm.org/D40513 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322044 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CMakeLists.txt | 1 + test/lit.site.cfg.in | 1 + utils/libcxx/test/target_info.py | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 53c6416cc..6219e1857 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -30,6 +30,7 @@ pythonize_bool(LIBCXX_BUILD_32_BITS) pythonize_bool(LIBCXX_GENERATE_COVERAGE) pythonize_bool(LIBCXXABI_ENABLE_SHARED) pythonize_bool(LIBCXXABI_USE_LLVM_UNWINDER) +pythonize_bool(LIBCXX_USE_COMPILER_RT) pythonize_bool(LIBCXX_HAS_ATOMIC_LIB) pythonize_bool(LIBCXX_HAVE_CXX_ATOMICS_WITH_LIB) pythonize_bool(LIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY) diff --git a/test/lit.site.cfg.in b/test/lit.site.cfg.in index 72dcc3aef..4b746a135 100644 --- a/test/lit.site.cfg.in +++ b/test/lit.site.cfg.in @@ -24,6 +24,7 @@ config.generate_coverage = "@LIBCXX_GENERATE_COVERAGE@" config.target_info = "@LIBCXX_TARGET_INFO@" config.executor = "@LIBCXX_EXECUTOR@" config.llvm_unwinder = "@LIBCXXABI_USE_LLVM_UNWINDER@" +config.compiler_rt = "@LIBCXX_USE_COMPILER_RT@" config.has_libatomic = "@LIBCXX_HAS_ATOMIC_LIB@" config.use_libatomic = "@LIBCXX_HAVE_CXX_ATOMICS_WITH_LIB@" config.debug_build = "@LIBCXX_DEBUG_BUILD@" diff --git a/utils/libcxx/test/target_info.py b/utils/libcxx/test/target_info.py index 670aea7ae..0e93e1144 100644 --- a/utils/libcxx/test/target_info.py +++ b/utils/libcxx/test/target_info.py @@ -234,7 +234,9 @@ class LinuxLocalTI(DefaultTargetInfo): flags += ['-lunwind', '-ldl'] else: flags += ['-lgcc_s'] - flags += ['-lgcc'] + compiler_rt = self.full_config.get_lit_bool('compiler_rt', False) + if not compiler_rt: + flags += ['-lgcc'] use_libatomic = self.full_config.get_lit_bool('use_libatomic', False) if use_libatomic: flags += ['-latomic']