diff --git a/cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp b/cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp --- a/cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp +++ b/cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp @@ -1,4 +1,4 @@ -// REQUIRES: !asan, lldb +// REQUIRES: !asan, compiler-rt, lldb // UNSUPPORTED: system-windows // Zorg configures the ASAN stage2 bots to not build the asan // compiler-rt. Only run this test on non-asanified configurations. diff --git a/cross-project-tests/debuginfo-tests/dexter-tests/asan.c b/cross-project-tests/debuginfo-tests/dexter-tests/asan.c --- a/cross-project-tests/debuginfo-tests/dexter-tests/asan.c +++ b/cross-project-tests/debuginfo-tests/dexter-tests/asan.c @@ -1,4 +1,4 @@ -// REQUIRES: !asan, lldb +// REQUIRES: !asan, compiler-rt, lldb // UNSUPPORTED: system-windows // Zorg configures the ASAN stage2 bots to not build the asan // compiler-rt. Only run this test on non-asanified configurations. diff --git a/cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp b/cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp --- a/cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp +++ b/cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp @@ -2,7 +2,7 @@ // This ensures that DW_OP_deref is inserted when necessary, such as when // NRVO of a string object occurs in C++. // -// REQUIRES: !asan, lldb +// REQUIRES: !asan, compiler-rt, lldb // UNSUPPORTED: system-windows // Zorg configures the ASAN stage2 bots to not build the asan // compiler-rt. Only run this test on non-asanified configurations. diff --git a/cross-project-tests/debuginfo-tests/llgdb-tests/asan-blocks.c b/cross-project-tests/debuginfo-tests/llgdb-tests/asan-blocks.c --- a/cross-project-tests/debuginfo-tests/llgdb-tests/asan-blocks.c +++ b/cross-project-tests/debuginfo-tests/llgdb-tests/asan-blocks.c @@ -1,7 +1,7 @@ // RUN: %clang -fblocks %target_itanium_abi_host_triple -arch x86_64 %s -o %t.out -g -fsanitize=address // RUN: %test_debuginfo %s %t.out // FIXME: Remove system-darwin when we build BlocksRuntime everywhere. -// REQUIRES: !asan, system-darwin +// REQUIRES: !asan, compiler-rt, system-darwin // Zorg configures the ASAN stage2 bots to not build the asan // compiler-rt. Only run this test on non-asanified configurations. // XFAIL: !system-darwin && gdb-clang-incompatibility diff --git a/cross-project-tests/debuginfo-tests/llgdb-tests/asan-deque.cpp b/cross-project-tests/debuginfo-tests/llgdb-tests/asan-deque.cpp --- a/cross-project-tests/debuginfo-tests/llgdb-tests/asan-deque.cpp +++ b/cross-project-tests/debuginfo-tests/llgdb-tests/asan-deque.cpp @@ -1,10 +1,11 @@ // RUN: %clangxx -arch x86_64 %target_itanium_abi_host_triple -O1 -g %s -o %t.out -fsanitize=address // RUN: %test_debuginfo %s %t.out -// REQUIRES: !asan +// REQUIRES: !asan, compiler-rt // Zorg configures the ASAN stage2 bots to not build the asan // compiler-rt. Only run this test on non-asanified configurations. // UNSUPPORTED: apple-lldb-pre-1000 -// XFAIL: !system-darwin && gdb-clang-incompatibility +// gdb is used on non-darwin systems and it doesn't pretty-print std::deque. +// XFAIL: !system-darwin, (!system-darwin && gdb-clang-incompatibility) #include @@ -25,24 +26,24 @@ log.push_back(1234); log.push_back(56789); escape(log); - // DEBUGGER: break 27 + // DEBUGGER: break 28 while (!log.empty()) { auto record = log.front(); log.pop_front(); escape(log); - // DEBUGGER: break 32 + // DEBUGGER: break 33 } } // DEBUGGER: r -// (at line 27) +// (at line 28) // DEBUGGER: p log // CHECK: 1234 // CHECK: 56789 // DEBUGGER: c -// (at line 32) +// (at line 33) // DEBUGGER: p log // CHECK: 56789 diff --git a/cross-project-tests/debuginfo-tests/llgdb-tests/asan.c b/cross-project-tests/debuginfo-tests/llgdb-tests/asan.c --- a/cross-project-tests/debuginfo-tests/llgdb-tests/asan.c +++ b/cross-project-tests/debuginfo-tests/llgdb-tests/asan.c @@ -1,6 +1,6 @@ // RUN: %clang -fblocks %target_itanium_abi_host_triple -arch x86_64 %s -o %t.out -g -fsanitize=address // RUN: %test_debuginfo %s %t.out -// REQUIRES: !asan +// REQUIRES: !asan, compiler-rt // Zorg configures the ASAN stage2 bots to not build the asan // compiler-rt. Only run this test on non-asanified configurations. // XFAIL: !system-darwin && gdb-clang-incompatibility diff --git a/cross-project-tests/debuginfo-tests/llgdb-tests/safestack.c b/cross-project-tests/debuginfo-tests/llgdb-tests/safestack.c --- a/cross-project-tests/debuginfo-tests/llgdb-tests/safestack.c +++ b/cross-project-tests/debuginfo-tests/llgdb-tests/safestack.c @@ -1,7 +1,7 @@ // RUN: %clang %target_itanium_abi_host_triple -arch x86_64 %s -o %t.out -g -fsanitize=safe-stack // RUN: %test_debuginfo %s %t.out // UNSUPPORTED: system-darwin -// REQUIRES: !asan +// REQUIRES: !asan, compiler-rt // Zorg configures the ASAN stage2 bots to not build the // safestack compiler-rt. Only run this test on // non-asanified configurations. diff --git a/cross-project-tests/lit.cfg.py b/cross-project-tests/lit.cfg.py --- a/cross-project-tests/lit.cfg.py +++ b/cross-project-tests/lit.cfg.py @@ -78,6 +78,9 @@ config.lld_src_dir = "" llvm_config.use_lld(required=('lld' in config.llvm_enabled_projects)) +if 'compiler-rt' in config.llvm_enabled_projects: + config.available_features.add('compiler-rt') + if config.llvm_use_sanitizer: # Propagate path to symbolizer for ASan/MSan. llvm_config.with_system_environment(