summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/test/lit.cfg.py4
-rw-r--r--lldb/lit/Breakpoint/case-insensitive.test2
-rw-r--r--lldb/lit/Breakpoint/case-sensitive.test2
-rw-r--r--lldb/lit/ExecControl/StopHook/stop-hook-threads.test2
-rw-r--r--lldb/lit/ExecControl/StopHook/stop-hook.test2
-rw-r--r--lldb/lit/Expr/TestIRMemoryMap.test2
-rw-r--r--lldb/lit/Expr/TestIRMemoryMapWindows.test2
-rw-r--r--lldb/lit/Quit/TestQuitExitCode-30.test2
-rw-r--r--lldb/lit/Quit/TestQuitExitCode30.test2
-rw-r--r--lldb/lit/Quit/TestQuitExitCodeHexA.test2
-rw-r--r--lldb/lit/SymbolFile/DWARF/apple-index-is-used.cpp2
-rw-r--r--lldb/lit/SymbolFile/DWARF/debug-names-compressed.cpp2
-rw-r--r--lldb/lit/SymbolFile/DWARF/dwarf5-index-is-used.cpp2
-rw-r--r--lldb/lit/SymbolFile/DWARF/dwarf5-partial-index.cpp4
-rw-r--r--lldb/lit/SymbolFile/DWARF/find-basic-function.cpp6
-rw-r--r--lldb/lit/SymbolFile/DWARF/find-basic-namespace.cpp6
-rw-r--r--lldb/lit/SymbolFile/DWARF/find-basic-type.cpp6
-rw-r--r--lldb/lit/SymbolFile/DWARF/find-basic-variable.cpp6
-rw-r--r--lldb/lit/SymbolFile/DWARF/find-function-regex.cpp6
-rw-r--r--lldb/lit/SymbolFile/DWARF/find-method-local-struct.cpp2
-rw-r--r--lldb/lit/SymbolFile/DWARF/find-method.cpp4
-rw-r--r--lldb/lit/SymbolFile/DWARF/find-qualified-variable.cpp2
-rw-r--r--lldb/lit/SymbolFile/DWARF/find-type-in-function.cpp2
-rw-r--r--lldb/lit/SymbolFile/DWARF/find-variable-dwo.cpp4
-rw-r--r--lldb/lit/SymbolFile/DWARF/find-variable-file.cpp8
-rw-r--r--lldb/lit/SymbolFile/NativePDB/ast-reconstruction.cpp4
-rw-r--r--lldb/lit/SymbolFile/NativePDB/bitfields.cpp4
-rw-r--r--lldb/lit/SymbolFile/NativePDB/disassembly.cpp4
-rw-r--r--lldb/lit/SymbolFile/NativePDB/function-types-builtins.cpp4
-rw-r--r--lldb/lit/SymbolFile/NativePDB/function-types-calling-conv.cpp4
-rw-r--r--lldb/lit/SymbolFile/NativePDB/function-types-classes.cpp4
-rw-r--r--lldb/lit/SymbolFile/NativePDB/global-classes.cpp4
-rw-r--r--lldb/lit/SymbolFile/NativePDB/globals-bss.cpp4
-rw-r--r--lldb/lit/SymbolFile/NativePDB/globals-fundamental.cpp4
-rw-r--r--lldb/lit/SymbolFile/NativePDB/nested-types.cpp4
-rw-r--r--lldb/lit/SymbolFile/NativePDB/s_constant.cpp2
-rw-r--r--lldb/lit/SymbolFile/NativePDB/simple-breakpoints.cpp4
-rw-r--r--lldb/lit/SymbolFile/NativePDB/source-list.cpp4
-rw-r--r--lldb/lit/SymbolFile/NativePDB/tag-types.cpp4
-rw-r--r--lldb/lit/SymbolFile/PDB/ast-restore.test4
-rw-r--r--lldb/lit/SymbolFile/PDB/calling-conventions.test2
-rw-r--r--lldb/lit/SymbolFile/PDB/class-layout.test6
-rw-r--r--lldb/lit/SymbolFile/PDB/compilands.test5
-rw-r--r--lldb/lit/SymbolFile/PDB/enums-layout.test6
-rw-r--r--lldb/lit/SymbolFile/PDB/func-symbols.test8
-rw-r--r--lldb/lit/SymbolFile/PDB/function-level-linking.test2
-rw-r--r--lldb/lit/SymbolFile/PDB/function-nested-block.test2
-rw-r--r--lldb/lit/SymbolFile/PDB/pointers.test6
-rw-r--r--lldb/lit/SymbolFile/PDB/type-quals.test6
-rw-r--r--lldb/lit/SymbolFile/PDB/typedefs.test6
-rw-r--r--lldb/lit/SymbolFile/PDB/udt-layout.test5
-rw-r--r--lldb/lit/SymbolFile/PDB/variables-locations.test5
-rw-r--r--lldb/lit/SymbolFile/PDB/variables.test6
-rw-r--r--lldb/lit/SymbolFile/PDB/vbases.test5
-rw-r--r--lldb/lit/helper/__init__.py0
-rw-r--r--lldb/lit/helper/toolchain.py104
-rw-r--r--lldb/lit/lit.cfg.py77
-rw-r--r--lldb/lit/lit.site.cfg.py.in13
-rw-r--r--lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test2
-rw-r--r--lldb/lit/tools/lldb-mi/breakpoint/break-insert.test2
-rw-r--r--lldb/lit/tools/lldb-mi/data/data-info-line.test2
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-continue.test2
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-finish.test2
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-interrupt.test2
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test2
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-next.test2
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test2
-rw-r--r--lldb/lit/tools/lldb-mi/exec/exec-step.test2
-rw-r--r--lldb/lit/tools/lldb-mi/symbol/symbol-list-lines.test2
-rw-r--r--lldb/lit/tools/lldb-mi/target/target-select-so-path.test2
-rw-r--r--lldb/test/CMakeLists.txt6
-rw-r--r--llvm/utils/lit/lit/TestingConfig.py4
-rw-r--r--llvm/utils/lit/lit/llvm/config.py100
-rw-r--r--llvm/utils/lit/lit/llvm/subst.py4
74 files changed, 314 insertions, 230 deletions
diff --git a/clang/test/lit.cfg.py b/clang/test/lit.cfg.py
index 39b5586612c..d105f8d7e13 100644
--- a/clang/test/lit.cfg.py
+++ b/clang/test/lit.cfg.py
@@ -43,6 +43,10 @@ llvm_config.use_default_substitutions()
llvm_config.use_clang()
+config.substitutions.append(
+ ('%src_include_dir', config.clang_src_dir + '/include'))
+
+
# Propagate path to symbolizer for ASan/MSan.
llvm_config.with_system_environment(
['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH'])
diff --git a/lldb/lit/Breakpoint/case-insensitive.test b/lldb/lit/Breakpoint/case-insensitive.test
index 3e7cfceaa50..f0184a937ce 100644
--- a/lldb/lit/Breakpoint/case-insensitive.test
+++ b/lldb/lit/Breakpoint/case-insensitive.test
@@ -2,7 +2,7 @@
# XFAIL: system-windows
# -> llvm.org/pr24528
#
-# RUN: %cc %p/Inputs/case-sensitive.c -g -o %t
+# RUN: %clang %p/Inputs/case-sensitive.c -g -o %t
# RUN: lldb-test breakpoints %t %s | FileCheck %s
breakpoint set -f case-sensitive.c -l 3
diff --git a/lldb/lit/Breakpoint/case-sensitive.test b/lldb/lit/Breakpoint/case-sensitive.test
index dd5635b952d..107aa33fa25 100644
--- a/lldb/lit/Breakpoint/case-sensitive.test
+++ b/lldb/lit/Breakpoint/case-sensitive.test
@@ -1,6 +1,6 @@
# REQUIRES: nowindows
#
-# RUN: %cc %p/Inputs/case-sensitive.c -g -o %t
+# RUN: %clang %p/Inputs/case-sensitive.c -g -o %t
# RUN: lldb-test breakpoints %t %s | FileCheck %s
breakpoint set -f case-sensitive.c -l 3
diff --git a/lldb/lit/ExecControl/StopHook/stop-hook-threads.test b/lldb/lit/ExecControl/StopHook/stop-hook-threads.test
index f2f1267d567..53ccde04bc5 100644
--- a/lldb/lit/ExecControl/StopHook/stop-hook-threads.test
+++ b/lldb/lit/ExecControl/StopHook/stop-hook-threads.test
@@ -1,4 +1,4 @@
-# RUN: %cxx %p/Inputs/stop-hook-threads.cpp -g -o %t
+# RUN: %clangxx %p/Inputs/stop-hook-threads.cpp -g -o %t
# RUN: %lldb -b -s %p/Inputs/stop-hook-threads-1.lldbinit -s %s -f %t \
# RUN: | FileCheck --check-prefix=CHECK --check-prefix=CHECK-NO-FILTER %s
# RUN: %lldb -b -s %p/Inputs/stop-hook-threads-2.lldbinit -s %s -f %t \
diff --git a/lldb/lit/ExecControl/StopHook/stop-hook.test b/lldb/lit/ExecControl/StopHook/stop-hook.test
index e50b0c63685..7cb16814465 100644
--- a/lldb/lit/ExecControl/StopHook/stop-hook.test
+++ b/lldb/lit/ExecControl/StopHook/stop-hook.test
@@ -1,4 +1,4 @@
-# RUN: %cc %p/Inputs/stop-hook.c -g -o %t
+# RUN: %clang %p/Inputs/stop-hook.c -g -o %t
# Test setting stop-hook per-function
# RUN: %lldb -b -s %p/Inputs/stop-hook-1.lldbinit -s %s -f %t \
# RUN: | FileCheck --check-prefix=CHECK --check-prefix=CHECK-FUNC %s
diff --git a/lldb/lit/Expr/TestIRMemoryMap.test b/lldb/lit/Expr/TestIRMemoryMap.test
index 9170a913c04..0741c31af38 100644
--- a/lldb/lit/Expr/TestIRMemoryMap.test
+++ b/lldb/lit/Expr/TestIRMemoryMap.test
@@ -1,6 +1,6 @@
# UNSUPPORTED: windows
-# RUN: %cxx %p/Inputs/call-function.cpp -g -o %t
+# RUN: %clangxx %p/Inputs/call-function.cpp -g -o %t
# RUN: lldb-test ir-memory-map %t %S/Inputs/ir-memory-map-basic
# RUN: lldb-test ir-memory-map -host-only %t %S/Inputs/ir-memory-map-basic
diff --git a/lldb/lit/Expr/TestIRMemoryMapWindows.test b/lldb/lit/Expr/TestIRMemoryMapWindows.test
index 96483092c61..738ca6b2e26 100644
--- a/lldb/lit/Expr/TestIRMemoryMapWindows.test
+++ b/lldb/lit/Expr/TestIRMemoryMapWindows.test
@@ -1,6 +1,6 @@
# REQUIRES: system-windows
-# RUN: clang-cl /Zi %p/Inputs/call-function.cpp -o %t
+# RUN: %clang_cl /Zi %p/Inputs/call-function.cpp -o %t
# RUN: lldb-test ir-memory-map %t %S/Inputs/ir-memory-map-basic
# RUN: lldb-test ir-memory-map -host-only %t %S/Inputs/ir-memory-map-basic
diff --git a/lldb/lit/Quit/TestQuitExitCode-30.test b/lldb/lit/Quit/TestQuitExitCode-30.test
index 0f6eff927f0..5e74c9db79c 100644
--- a/lldb/lit/Quit/TestQuitExitCode-30.test
+++ b/lldb/lit/Quit/TestQuitExitCode-30.test
@@ -1,3 +1,3 @@
# UNSUPPORTED: windows
-# RUN: python %S/expect_exit_code.py 226 %lldb -b -s %s
+# RUN: %python %S/expect_exit_code.py 226 %lldb -b -s %s
q -30
diff --git a/lldb/lit/Quit/TestQuitExitCode30.test b/lldb/lit/Quit/TestQuitExitCode30.test
index b5249400ec2..687d048c480 100644
--- a/lldb/lit/Quit/TestQuitExitCode30.test
+++ b/lldb/lit/Quit/TestQuitExitCode30.test
@@ -1,3 +1,3 @@
# UNSUPPORTED: windows
-# RUN: python %S/expect_exit_code.py 30 %lldb -b -s %s
+# RUN: %python %S/expect_exit_code.py 30 %lldb -b -s %s
q 30
diff --git a/lldb/lit/Quit/TestQuitExitCodeHexA.test b/lldb/lit/Quit/TestQuitExitCodeHexA.test
index e06c25b0619..43cfd591961 100644
--- a/lldb/lit/Quit/TestQuitExitCodeHexA.test
+++ b/lldb/lit/Quit/TestQuitExitCodeHexA.test
@@ -1,3 +1,3 @@
# UNSUPPORTED: windows
-# RUN: python %S/expect_exit_code.py 10 %lldb -b -s %s
+# RUN: %python %S/expect_exit_code.py 10 %lldb -b -s %s
q 0xA
diff --git a/lldb/lit/SymbolFile/DWARF/apple-index-is-used.cpp b/lldb/lit/SymbolFile/DWARF/apple-index-is-used.cpp
index 104d86756e4..00440531e99 100644
--- a/lldb/lit/SymbolFile/DWARF/apple-index-is-used.cpp
+++ b/lldb/lit/SymbolFile/DWARF/apple-index-is-used.cpp
@@ -1,5 +1,5 @@
// Test that we use the apple indexes.
-// RUN: clang %s -g -c -o %t --target=x86_64-apple-macosx
+// RUN: %clang %s -g -c -o %t --target=x86_64-apple-macosx
// RUN: lldb-test symbols %t | FileCheck %s
// CHECK: .apple_names index present
diff --git a/lldb/lit/SymbolFile/DWARF/debug-names-compressed.cpp b/lldb/lit/SymbolFile/DWARF/debug-names-compressed.cpp
index 076cac19252..aeb0ff1d01b 100644
--- a/lldb/lit/SymbolFile/DWARF/debug-names-compressed.cpp
+++ b/lldb/lit/SymbolFile/DWARF/debug-names-compressed.cpp
@@ -3,7 +3,7 @@
// REQUIRES: lld, zlib
-// RUN: clang -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf %s
+// RUN: %clang -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf %s
// RUN: ld.lld %t.o -o %t --compress-debug-sections=zlib
// RUN: lldb-test symbols --find=variable --name=foo %t | FileCheck %s
diff --git a/lldb/lit/SymbolFile/DWARF/dwarf5-index-is-used.cpp b/lldb/lit/SymbolFile/DWARF/dwarf5-index-is-used.cpp
index a9de057e6c9..f5122ebadae 100644
--- a/lldb/lit/SymbolFile/DWARF/dwarf5-index-is-used.cpp
+++ b/lldb/lit/SymbolFile/DWARF/dwarf5-index-is-used.cpp
@@ -2,7 +2,7 @@
// REQUIRES: lld
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf -gpubnames
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf -gpubnames
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols %t | FileCheck %s
diff --git a/lldb/lit/SymbolFile/DWARF/dwarf5-partial-index.cpp b/lldb/lit/SymbolFile/DWARF/dwarf5-partial-index.cpp
index 3a2cf012295..84e3b62e17b 100644
--- a/lldb/lit/SymbolFile/DWARF/dwarf5-partial-index.cpp
+++ b/lldb/lit/SymbolFile/DWARF/dwarf5-partial-index.cpp
@@ -3,8 +3,8 @@
// REQUIRES: lld
-// RUN: clang %s -g -c -o %t-1.o --target=x86_64-pc-linux -DONE -mllvm -accel-tables=Dwarf
-// RUN: clang %s -g -c -o %t-2.o --target=x86_64-pc-linux -DTWO -mllvm -accel-tables=Dwarf
+// RUN: %clang %s -g -c -o %t-1.o --target=x86_64-pc-linux -DONE -mllvm -accel-tables=Dwarf
+// RUN: %clang %s -g -c -o %t-2.o --target=x86_64-pc-linux -DTWO -mllvm -accel-tables=Dwarf
// RUN: ld.lld %t-1.o %t-2.o -o %t
// RUN: lldb-test symbols --find=variable --name=foo %t | FileCheck %s
diff --git a/lldb/lit/SymbolFile/DWARF/find-basic-function.cpp b/lldb/lit/SymbolFile/DWARF/find-basic-function.cpp
index d04c94b3854..3d175f63e04 100644
--- a/lldb/lit/SymbolFile/DWARF/find-basic-function.cpp
+++ b/lldb/lit/SymbolFile/DWARF/find-basic-function.cpp
@@ -1,6 +1,6 @@
// REQUIRES: lld
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols --name=foo --find=function --function-flags=base %t | \
// RUN: FileCheck --check-prefix=BASE %s
@@ -15,7 +15,7 @@
// RUN: lldb-test symbols --name=not_there --find=function %t | \
// RUN: FileCheck --check-prefix=EMPTY %s
//
-// RUN: clang %s -g -c -o %t --target=x86_64-apple-macosx
+// RUN: %clang %s -g -c -o %t --target=x86_64-apple-macosx
// RUN: lldb-test symbols --name=foo --find=function --function-flags=base %t | \
// RUN: FileCheck --check-prefix=BASE %s
// RUN: lldb-test symbols --name=foo --find=function --function-flags=method %t | \
@@ -29,7 +29,7 @@
// RUN: lldb-test symbols --name=not_there --find=function %t | \
// RUN: FileCheck --check-prefix=EMPTY %s
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols --name=foo --find=function --function-flags=base %t | \
// RUN: FileCheck --check-prefix=BASE %s
diff --git a/lldb/lit/SymbolFile/DWARF/find-basic-namespace.cpp b/lldb/lit/SymbolFile/DWARF/find-basic-namespace.cpp
index 11a660bfba9..e7655a37053 100644
--- a/lldb/lit/SymbolFile/DWARF/find-basic-namespace.cpp
+++ b/lldb/lit/SymbolFile/DWARF/find-basic-namespace.cpp
@@ -1,6 +1,6 @@
// REQUIRES: lld
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols --name=foo --find=namespace %t | \
// RUN: FileCheck --check-prefix=FOO %s
@@ -9,7 +9,7 @@
// RUN: lldb-test symbols --name=not_there --find=namespace %t | \
// RUN: FileCheck --check-prefix=EMPTY %s
//
-// RUN: clang %s -g -c -o %t --target=x86_64-apple-macosx
+// RUN: %clang %s -g -c -o %t --target=x86_64-apple-macosx
// RUN: lldb-test symbols --name=foo --find=namespace %t | \
// RUN: FileCheck --check-prefix=FOO %s
// RUN: lldb-test symbols --name=foo --find=namespace --context=context %t | \
@@ -17,7 +17,7 @@
// RUN: lldb-test symbols --name=not_there --find=namespace %t | \
// RUN: FileCheck --check-prefix=EMPTY %s
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols --name=foo --find=namespace %t | \
// RUN: FileCheck --check-prefix=FOO %s
diff --git a/lldb/lit/SymbolFile/DWARF/find-basic-type.cpp b/lldb/lit/SymbolFile/DWARF/find-basic-type.cpp
index a470ef762e6..060a5b41eeb 100644
--- a/lldb/lit/SymbolFile/DWARF/find-basic-type.cpp
+++ b/lldb/lit/SymbolFile/DWARF/find-basic-type.cpp
@@ -1,6 +1,6 @@
// REQUIRES: lld
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols --name=foo --find=type %t | \
// RUN: FileCheck --check-prefix=NAME %s
@@ -9,7 +9,7 @@
// RUN: lldb-test symbols --name=not_there --find=type %t | \
// RUN: FileCheck --check-prefix=EMPTY %s
//
-// RUN: clang %s -g -c -o %t --target=x86_64-apple-macosx
+// RUN: %clang %s -g -c -o %t --target=x86_64-apple-macosx
// RUN: lldb-test symbols --name=foo --find=type %t | \
// RUN: FileCheck --check-prefix=NAME %s
// RUN: lldb-test symbols --name=foo --context=context --find=type %t | \
@@ -17,7 +17,7 @@
// RUN: lldb-test symbols --name=not_there --find=type %t | \
// RUN: FileCheck --check-prefix=EMPTY %s
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols --name=foo --find=type %t | \
// RUN: FileCheck --check-prefix=NAME %s
diff --git a/lldb/lit/SymbolFile/DWARF/find-basic-variable.cpp b/lldb/lit/SymbolFile/DWARF/find-basic-variable.cpp
index 222ad420d40..bca8f27e1d4 100644
--- a/lldb/lit/SymbolFile/DWARF/find-basic-variable.cpp
+++ b/lldb/lit/SymbolFile/DWARF/find-basic-variable.cpp
@@ -1,6 +1,6 @@
// REQUIRES: lld
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols --name=foo --find=variable --context=context %t | \
// RUN: FileCheck --check-prefix=CONTEXT %s
@@ -11,7 +11,7 @@
// RUN: lldb-test symbols --name=not_there --find=variable %t | \
// RUN: FileCheck --check-prefix=EMPTY %s
//
-// RUN: clang %s -g -c -o %t --target=x86_64-apple-macosx
+// RUN: %clang %s -g -c -o %t --target=x86_64-apple-macosx
// RUN: lldb-test symbols --name=foo --find=variable --context=context %t | \
// RUN: FileCheck --check-prefix=CONTEXT %s
// RUN: lldb-test symbols --name=foo --find=variable %t | \
@@ -21,7 +21,7 @@
// RUN: lldb-test symbols --name=not_there --find=variable %t | \
// RUN: FileCheck --check-prefix=EMPTY %s
//
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols --name=foo --find=variable --context=context %t | \
// RUN: FileCheck --check-prefix=CONTEXT %s
diff --git a/lldb/lit/SymbolFile/DWARF/find-function-regex.cpp b/lldb/lit/SymbolFile/DWARF/find-function-regex.cpp
index 2e099eb4fd7..b1e9d10e82a 100644
--- a/lldb/lit/SymbolFile/DWARF/find-function-regex.cpp
+++ b/lldb/lit/SymbolFile/DWARF/find-function-regex.cpp
@@ -1,13 +1,13 @@
// REQUIRES: lld
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols --name=f.o --regex --find=function %t | FileCheck %s
//
-// RUN: clang %s -g -c -o %t --target=x86_64-apple-macosx
+// RUN: %clang %s -g -c -o %t --target=x86_64-apple-macosx
// RUN: lldb-test symbols --name=f.o --regex --find=function %t | FileCheck %s
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols --name=f.o --regex --find=function %t | FileCheck %s
diff --git a/lldb/lit/SymbolFile/DWARF/find-method-local-struct.cpp b/lldb/lit/SymbolFile/DWARF/find-method-local-struct.cpp
index 19b41e77c17..3da4a4a23f8 100644
--- a/lldb/lit/SymbolFile/DWARF/find-method-local-struct.cpp
+++ b/lldb/lit/SymbolFile/DWARF/find-method-local-struct.cpp
@@ -1,4 +1,4 @@
-// RUN: clang %s -g -c -o %t --target=x86_64-apple-macosx
+// RUN: %clang %s -g -c -o %t --target=x86_64-apple-macosx
// RUN: lldb-test symbols --name=foo --find=function --function-flags=method %t | \
// RUN: FileCheck %s
diff --git a/lldb/lit/SymbolFile/DWARF/find-method.cpp b/lldb/lit/SymbolFile/DWARF/find-method.cpp
index 013e13435b9..7e7710fd472 100644
--- a/lldb/lit/SymbolFile/DWARF/find-method.cpp
+++ b/lldb/lit/SymbolFile/DWARF/find-method.cpp
@@ -1,11 +1,11 @@
// REQUIRES: lld
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols --name=foo --find=function --function-flags=method %t | \
// RUN: FileCheck %s
//
-// RUN: clang %s -g -c -o %t --target=x86_64-apple-macosx
+// RUN: %clang %s -g -c -o %t --target=x86_64-apple-macosx
// RUN: lldb-test symbols --name=foo --find=function --function-flags=method %t | \
// RUN: FileCheck %s
diff --git a/lldb/lit/SymbolFile/DWARF/find-qualified-variable.cpp b/lldb/lit/SymbolFile/DWARF/find-qualified-variable.cpp
index ca1b3184fbe..1ad3e7fbadf 100644
--- a/lldb/lit/SymbolFile/DWARF/find-qualified-variable.cpp
+++ b/lldb/lit/SymbolFile/DWARF/find-qualified-variable.cpp
@@ -1,4 +1,4 @@
-// RUN: clang %s -g -c -o %t --target=x86_64-apple-macosx
+// RUN: %clang %s -g -c -o %t --target=x86_64-apple-macosx
// RUN: lldb-test symbols --name=A::foo --find=variable %t | FileCheck %s
// CHECK: Found 1 variables:
diff --git a/lldb/lit/SymbolFile/DWARF/find-type-in-function.cpp b/lldb/lit/SymbolFile/DWARF/find-type-in-function.cpp
index a0894284fa2..5c1b4b44523 100644
--- a/lldb/lit/SymbolFile/DWARF/find-type-in-function.cpp
+++ b/lldb/lit/SymbolFile/DWARF/find-type-in-function.cpp
@@ -2,7 +2,7 @@
// XFAIL: *
-// RUN: clang %s -g -c -o %t.o --target=x86_64-pc-linux
+// RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux
// RUN: ld.lld %t.o -o %t
// RUN: lldb-test symbols --name=foo --find=type %t | \
// RUN: FileCheck --check-prefix=NAME %s
diff --git a/lldb/lit/SymbolFile/DWARF/find-variable-dwo.cpp b/lldb/lit/SymbolFile/DWARF/find-variable-dwo.cpp
index 142ddc82cda..b2fb1a375cf 100644
--- a/lldb/lit/SymbolFile/DWARF/find-variable-dwo.cpp
+++ b/lldb/lit/SymbolFile/DWARF/find-variable-dwo.cpp
@@ -1,9 +1,9 @@
// REQUIRES: lld
-// RUN: clang %s -g -gsplit-dwarf -c -emit-llvm -o - --target=x86_64-pc-linux -DONE | \
+// RUN: %clang %s -g -gsplit-dwarf -c -emit-llvm -o - --target=x86_64-pc-linux -DONE | \
// RUN: llc -accel-tables=Dwarf -filetype=obj -split-dwarf-file=%t-1.dwo -o %t-1.o
// RUN: llvm-objcopy --split-dwo=%t-1.dwo %t-1.o
-// RUN: clang %s -g -gsplit-dwarf -c -emit-llvm -o - --target=x86_64-pc-linux -DTWO | \
+// RUN: %clang %s -g -gsplit-dwarf -c -emit-llvm -o - --target=x86_64-pc-linux -DTWO | \
// RUN: llc -accel-tables=Dwarf -filetype=obj -split-dwarf-file=%t-2.dwo -o %t-2.o
// RUN: llvm-objcopy --split-dwo=%t-2.dwo %t-2.o
// RUN: ld.lld %t-1.o %t-2.o -o %t
diff --git a/lldb/lit/SymbolFile/DWARF/find-variable-file.cpp b/lldb/lit/SymbolFile/DWARF/find-variable-file.cpp
index f71d4a2b09b..5a95c5338f8 100644
--- a/lldb/lit/SymbolFile/DWARF/find-variable-file.cpp
+++ b/lldb/lit/SymbolFile/DWARF/find-variable-file.cpp
@@ -1,15 +1,15 @@
// REQUIRES: lld
-// RUN: clang -g -c -o %t-1.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable %s
-// RUN: clang -g -c -o %t-2.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable %S/Inputs/find-variable-file-2.cpp
+// RUN: %clang -g -c -o %t-1.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable %s
+// RUN: %clang -g -c -o %t-2.o --target=x86_64-pc-linux -mllvm -accel-tables=Disable %S/Inputs/find-variable-file-2.cpp
// RUN: ld.lld %t-1.o %t-2.o -o %t
// RUN: lldb-test symbols --file=find-variable-file.cpp --find=variable %t | \
// RUN: FileCheck --check-prefix=ONE %s
// RUN: lldb-test symbols --file=find-variable-file-2.cpp --find=variable %t | \
// RUN: FileCheck --check-prefix=TWO %s
-// RUN: clang -g -c -o %t-1.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf %s
-// RUN: clang -g -c -o %t-2.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf %S/Inputs/find-variable-file-2.cpp
+// RUN: %clang -g -c -o %t-1.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf %s
+// RUN: %clang -g -c -o %t-2.o --target=x86_64-pc-linux -mllvm -accel-tables=Dwarf %S/Inputs/find-variable-file-2.cpp
// RUN: ld.lld %t-1.o %t-2.o -o %t
// RUN: lldb-test symbols --file=find-variable-file.cpp --find=variable %t | \
// RUN: FileCheck --check-prefix=ONE %s
diff --git a/lldb/lit/SymbolFile/NativePDB/ast-reconstruction.cpp b/lldb/lit/SymbolFile/NativePDB/ast-reconstruction.cpp
index d339e0c562b..f27b15cb4b4 100644
--- a/lldb/lit/SymbolFile/NativePDB/ast-reconstruction.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/ast-reconstruction.cpp
@@ -2,9 +2,9 @@
// REQUIRES: lld
// Test various interesting cases for AST reconstruction.
-// RUN: clang-cl /Z7 /GS- /GR- /c /Fo%t.obj -- %s
+// RUN: %clang_cl /Z7 /GS- /GR- /c /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/ast-reconstruction.lldbinit 2>&1 | FileCheck %s
// Test trivial versions of each tag type.
diff --git a/lldb/lit/SymbolFile/NativePDB/bitfields.cpp b/lldb/lit/SymbolFile/NativePDB/bitfields.cpp
index 7f896ba8fbf..0f477b19d6e 100644
--- a/lldb/lit/SymbolFile/NativePDB/bitfields.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/bitfields.cpp
@@ -2,9 +2,9 @@
// REQUIRES: lld
// Test various interesting cases for AST reconstruction.
-// RUN: clang-cl /Z7 /GS- /GR- /std:c++latest -Xclang -fkeep-static-consts /c /Fo%t.obj -- %s
+// RUN: %clang_cl /Z7 /GS- /GR- /std:c++latest -Xclang -fkeep-static-consts /c /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/bitfields.lldbinit 2>&1 | FileCheck %s
// Test trivial versions of each tag type.
diff --git a/lldb/lit/SymbolFile/NativePDB/disassembly.cpp b/lldb/lit/SymbolFile/NativePDB/disassembly.cpp
index ef5ae9d1499..e9d5eacb6ce 100644
--- a/lldb/lit/SymbolFile/NativePDB/disassembly.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/disassembly.cpp
@@ -2,9 +2,9 @@
// REQUIRES: lld
// Test that we can show disassembly and source.
-// RUN: clang-cl -m64 /Z7 /GS- /GR- /c /Fo%t.obj -- %s
+// RUN: %clang_cl -m64 /Z7 /GS- /GR- /c /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/disassembly.lldbinit | FileCheck %s
// Some context lines before
diff --git a/lldb/lit/SymbolFile/NativePDB/function-types-builtins.cpp b/lldb/lit/SymbolFile/NativePDB/function-types-builtins.cpp
index 5cf5321569d..467e7d1d137 100644
--- a/lldb/lit/SymbolFile/NativePDB/function-types-builtins.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/function-types-builtins.cpp
@@ -1,9 +1,9 @@
// clang-format off
// REQUIRES: lld
-// RUN: clang-cl /Z7 /GS- /GR- /c -Xclang -fkeep-static-consts /Fo%t.obj -- %s
+// RUN: %clang_cl /Z7 /GS- /GR- /c -Xclang -fkeep-static-consts /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/function-types-builtins.lldbinit | FileCheck %s
// Test that we can display function signatures with simple builtin
diff --git a/lldb/lit/SymbolFile/NativePDB/function-types-calling-conv.cpp b/lldb/lit/SymbolFile/NativePDB/function-types-calling-conv.cpp
index 121fa017958..60ab86fd04d 100644
--- a/lldb/lit/SymbolFile/NativePDB/function-types-calling-conv.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/function-types-calling-conv.cpp
@@ -1,9 +1,9 @@
// clang-format off
// REQUIRES: lld
-// RUN: clang-cl -m32 /Z7 /GS- /GR- /c -Xclang -fkeep-static-consts /Fo%t.obj -- %s
+// RUN: %clang_cl -m32 /Z7 /GS- /GR- /c -Xclang -fkeep-static-consts /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/function-types-calling-conv.lldbinit | FileCheck %s
diff --git a/lldb/lit/SymbolFile/NativePDB/function-types-classes.cpp b/lldb/lit/SymbolFile/NativePDB/function-types-classes.cpp
index 7ce2c43010e..e398a1d1abc 100644
--- a/lldb/lit/SymbolFile/NativePDB/function-types-classes.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/function-types-classes.cpp
@@ -2,9 +2,9 @@
// REQUIRES: lld
// Test that we can display function signatures with class types.
-// RUN: clang-cl /Z7 /GS- /GR- /c -fstandalone-debug -Xclang -fkeep-static-consts /Fo%t.obj -- %s
+// RUN: %clang_cl /Z7 /GS- /GR- /c -fstandalone-debug -Xclang -fkeep-static-consts /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/function-types-classes.lldbinit | FileCheck %s
// This is just some unimportant helpers needed so that we can get reference and
diff --git a/lldb/lit/SymbolFile/NativePDB/global-classes.cpp b/lldb/lit/SymbolFile/NativePDB/global-classes.cpp
index f0fdb566e42..38cd8eb52ca 100644
--- a/lldb/lit/SymbolFile/NativePDB/global-classes.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/global-classes.cpp
@@ -2,9 +2,9 @@
// REQUIRES: lld
// Test that we can display tag types.
-// RUN: clang-cl /Z7 /GS- /GR- /c -Xclang -fkeep-static-consts /Fo%t.obj -- %s
+// RUN: %clang_cl /Z7 /GS- /GR- /c -Xclang -fkeep-static-consts /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/globals-classes.lldbinit | FileCheck %s
enum class EnumType : unsigned {
diff --git a/lldb/lit/SymbolFile/NativePDB/globals-bss.cpp b/lldb/lit/SymbolFile/NativePDB/globals-bss.cpp
index 57149b96681..15d5b1279e1 100644
--- a/lldb/lit/SymbolFile/NativePDB/globals-bss.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/globals-bss.cpp
@@ -2,10 +2,10 @@
// REQUIRES: lld
// Make sure we can read variables from BSS
-// RUN: clang-cl /Z7 /GS- /GR- /c /Fo%t.obj -- %s
+// RUN: %clang_cl /Z7 /GS- /GR- /c /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
// RUN: llvm-readobj -s %t.exe | FileCheck --check-prefix=BSS %s
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/globals-bss.lldbinit 2>&1 | FileCheck %s
int GlobalVariable = 0;
diff --git a/lldb/lit/SymbolFile/NativePDB/globals-fundamental.cpp b/lldb/lit/SymbolFile/NativePDB/globals-fundamental.cpp
index f4700c4e1ff..31a191c87a7 100644
--- a/lldb/lit/SymbolFile/NativePDB/globals-fundamental.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/globals-fundamental.cpp
@@ -2,9 +2,9 @@
// REQUIRES: lld
// Test that we can display tag types.
-// RUN: clang-cl /Z7 /GS- /GR- /c -Xclang -fkeep-static-consts /Fo%t.obj -- %s
+// RUN: %clang_cl /Z7 /GS- /GR- /c -Xclang -fkeep-static-consts /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/globals-fundamental.lldbinit | FileCheck %s
diff --git a/lldb/lit/SymbolFile/NativePDB/nested-types.cpp b/lldb/lit/SymbolFile/NativePDB/nested-types.cpp
index 7d08871c74e..0c20315cf22 100644
--- a/lldb/lit/SymbolFile/NativePDB/nested-types.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/nested-types.cpp
@@ -2,9 +2,9 @@
// REQUIRES: lld
// Test various interesting cases for AST reconstruction.
-// RUN: clang-cl /Z7 /GS- /GR- -Xclang -fkeep-static-consts /c /Fo%t.obj -- %s
+// RUN: %clang_cl /Z7 /GS- /GR- -Xclang -fkeep-static-consts /c /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/nested-types.lldbinit 2>&1 | FileCheck %s
struct S {
diff --git a/lldb/lit/SymbolFile/NativePDB/s_constant.cpp b/lldb/lit/SymbolFile/NativePDB/s_constant.cpp
index cd8e3d169f4..28e0d8d1788 100644
--- a/lldb/lit/SymbolFile/NativePDB/s_constant.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/s_constant.cpp
@@ -5,7 +5,7 @@
// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-win32 %p/Inputs/s_constant.s > %t.obj
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/s_constant.lldbinit | FileCheck %s
// clang-cl cannot generate S_CONSTANT records, but we need to test that we can
diff --git a/lldb/lit/SymbolFile/NativePDB/simple-breakpoints.cpp b/lldb/lit/SymbolFile/NativePDB/simple-breakpoints.cpp
index 9a97def07b5..ceafd816e3c 100644
--- a/lldb/lit/SymbolFile/NativePDB/simple-breakpoints.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/simple-breakpoints.cpp
@@ -2,9 +2,9 @@
// REQUIRES: lld
// Test that we can set simple breakpoints using PDB on any platform.
-// RUN: clang-cl /Z7 /GS- /GR- /c /Fo%t.obj -- %s
+// RUN: %clang_cl /Z7 /GS- /GR- /c /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/breakpoints.lldbinit | FileCheck %s
// Use different indentation style for each overload so that the starting
diff --git a/lldb/lit/SymbolFile/NativePDB/source-list.cpp b/lldb/lit/SymbolFile/NativePDB/source-list.cpp
index c5f320a33f0..36cf5f75ebe 100644
--- a/lldb/lit/SymbolFile/NativePDB/source-list.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/source-list.cpp
@@ -2,9 +2,9 @@
// REQUIRES: lld
// Test that we can set display source of functions.
-// RUN: clang-cl /Z7 /GS- /GR- /c /Fo%t.obj -- %s
+// RUN: %clang_cl /Z7 /GS- /GR- /c /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/source-list.lldbinit | FileCheck %s
diff --git a/lldb/lit/SymbolFile/NativePDB/tag-types.cpp b/lldb/lit/SymbolFile/NativePDB/tag-types.cpp
index 5f332465b32..d0165c1506e 100644
--- a/lldb/lit/SymbolFile/NativePDB/tag-types.cpp
+++ b/lldb/lit/SymbolFile/NativePDB/tag-types.cpp
@@ -2,9 +2,9 @@
// REQUIRES: lld
// Test that we can display tag types.
-// RUN: clang-cl /Z7 /GS- /GR- /c /Fo%t.obj -- %s
+// RUN: %clang_cl /Z7 /GS- /GR- /c /Fo%t.obj -- %s
// RUN: lld-link /DEBUG /nodefaultlib /entry:main /OUT:%t.exe /PDB:%t.pdb -- %t.obj
-// RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb -f %t.exe -s \
+// RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \
// RUN: %p/Inputs/tag-types.lldbinit | FileCheck %s
// Test struct
diff --git a/lldb/lit/SymbolFile/PDB/ast-restore.test b/lldb/lit/SymbolFile/PDB/ast-restore.test
index 77cdd283f38..68e202ecb56 100644
--- a/lldb/lit/SymbolFile/PDB/ast-restore.test
+++ b/lldb/lit/SymbolFile/PDB/ast-restore.test
@@ -1,6 +1,6 @@
REQUIRES: system-windows
-RUN: cl /Zi /GS- /c %S/Inputs/AstRestoreTest.cpp /Fo%t.obj
-RUN: link /debug:full /nodefaultlib /entry:main %t.obj /out:%t.exe
+RUN: %msvc_cl /Zi /GS- /c %S/Inputs/AstRestoreTest.cpp /Fo%t.obj
+RUN: %msvc_link /debug:full /nodefaultlib /entry:main %t.obj /out:%t.exe
RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=ENUM %s
RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=GLOBAL %s
RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=BASE %s
diff --git a/lldb/lit/SymbolFile/PDB/calling-conventions.test b/lldb/lit/SymbolFile/PDB/calling-conventions.test
index b22d652df9a..1653494967c 100644
--- a/lldb/lit/SymbolFile/PDB/calling-conventions.test
+++ b/lldb/lit/SymbolFile/PDB/calling-conventions.test
@@ -1,5 +1,5 @@
REQUIRES: system-windows, lld
-RUN: clang-cl -m32 /Zi /GS- /c %S/Inputs/CallingConventionsTest.cpp /o %t.obj
+RUN: %clang_cl -m32 /Zi /GS- /c %S/Inputs/CallingConventionsTest.cpp /o %t.obj
RUN: lld-link /debug:full /nodefaultlib /entry:main %t.obj /out:%t.exe
RUN: lldb-test symbols -dump-ast %t.exe | FileCheck %s
diff --git a/lldb/lit/SymbolFile/PDB/class-layout.test b/lldb/lit/SymbolFile/PDB/class-layout.test
index 942433b7b55..63de5b2ec84 100644
--- a/lldb/lit/SymbolFile/PDB/class-layout.test
+++ b/lldb/lit/SymbolFile/PDB/class-layout.test
@@ -1,6 +1,6 @@
-REQUIRES: system-windows
-RUN: clang-cl -m32 /Z7 /c /GS- %S/Inputs/ClassLayoutTest.cpp /o %T/ClassLayoutTest.cpp.obj
-RUN: link %T/ClassLayoutTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/ClassLayoutTest.cpp.exe
+REQUIRES: msvc
+RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/ClassLayoutTest.cpp /o %T/ClassLayoutTest.cpp.obj
+RUN: %msvc_link %T/ClassLayoutTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/ClassLayoutTest.cpp.exe
RUN: lldb-test symbols %T/ClassLayoutTest.cpp.exe | FileCheck %s
RUN: lldb-test symbols %T/ClassLayoutTest.cpp.exe | FileCheck --check-prefix=ENUM %s
RUN: lldb-test symbols %T/ClassLayoutTest.cpp.exe | FileCheck --check-prefix=UNION %s
diff --git a/lldb/lit/SymbolFile/PDB/compilands.test b/lldb/lit/SymbolFile/PDB/compilands.test
index b0c9572f7be..020b7996c26 100644
--- a/lldb/lit/SymbolFile/PDB/compilands.test
+++ b/lldb/lit/SymbolFile/PDB/compilands.test
@@ -1,5 +1,6 @@
-REQUIRES: system-windows
-RUN: clang-cl /Z7 %S/Inputs/CompilandsTest.cpp /o %T/CompilandsTest.cpp.exe
+REQUIRES: system-windows, msvc
+RUN: %clang_cl /Z7 /c %S/Inputs/CompilandsTest.cpp /o %T/CompilandsTest.cpp.obj
+RUN: %msvc_link /debug:full /nodefaultlib /entry:main %T/CompilandsTest.cpp.obj /out:%T/CompilandsTest.cpp.exe
RUN: lldb-test symbols %T/CompilandsTest.cpp.exe | FileCheck %s
; Link default libraries
diff --git a/lldb/lit/SymbolFile/PDB/enums-layout.test b/lldb/lit/SymbolFile/PDB/enums-layout.test
index 3a3d9b2dbe1..c23f4e8b052 100644
--- a/lldb/lit/SymbolFile/PDB/enums-layout.test
+++ b/lldb/lit/SymbolFile/PDB/enums-layout.test
@@ -1,6 +1,6 @@
-REQUIRES: system-windows
-RUN: clang-cl -m32 /Z7 /c /GS- %S/Inputs/SimpleTypesTest.cpp /o %T/SimpleTypesTest.cpp.enums.obj
-RUN: link %T/SimpleTypesTest.cpp.enums.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/SimpleTypesTest.cpp.enums.exe
+REQUIRES: system-windows, msvc
+RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/SimpleTypesTest.cpp /o %T/SimpleTypesTest.cpp.enums.obj
+RUN: %msvc_link %T/SimpleTypesTest.cpp.enums.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/SimpleTypesTest.cpp.enums.exe
RUN: lldb-test symbols %T/SimpleTypesTest.cpp.enums.exe | FileCheck %s
; FIXME: PDB does not have information about scoped enumeration (Enum class) so the
diff --git a/lldb/lit/SymbolFile/PDB/func-symbols.test b/lldb/lit/SymbolFile/PDB/func-symbols.test
index 20eabd3dd24..205c0da7178 100644
--- a/lldb/lit/SymbolFile/PDB/func-symbols.test
+++ b/lldb/lit/SymbolFile/PDB/func-symbols.test
@@ -1,7 +1,7 @@
-REQUIRES: system-windows
-RUN: clang-cl -m32 /Z7 /c /GS- %S/Inputs/FuncSymbolsTestMain.cpp /o %T/FuncSymbolsTestMain.cpp.obj
-RUN: clang-cl -m32 /Z7 /c /GS- %S/Inputs/FuncSymbols.cpp /o %T/FuncSymbols.cpp.obj
-RUN: link %T/FuncSymbolsTestMain.cpp.obj %T/FuncSymbols.cpp.obj /DEBUG /nodefaultlib /Entry:main /OUT:%T/FuncSymbolsTest.exe
+REQUIRES: system-windows, msvc
+RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/FuncSymbolsTestMain.cpp /o %T/FuncSymbolsTestMain.cpp.obj
+RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/FuncSymbols.cpp /o %T/FuncSymbols.cpp.obj
+RUN: %msvc_link %T/FuncSymbolsTestMain.cpp.obj %T/FuncSymbols.cpp.obj /DEBUG /nodefaultlib /Entry:main /OUT:%T/FuncSymbolsTest.exe
RUN: lldb-test symbols %T/FuncSymbolsTest.exe | FileCheck --check-prefix=CHECK-ONE %s
RUN: lldb-test symbols %T/FuncSymbolsTest.exe | FileCheck --check-prefix=CHECK-TWO %s
diff --git a/lldb/lit/SymbolFile/PDB/function-level-linking.test b/lldb/lit/SymbolFile/PDB/function-level-linking.test
index 06605d824e2..56f3ecbb690 100644
--- a/lldb/lit/SymbolFile/PDB/function-level-linking.test
+++ b/lldb/lit/SymbolFile/PDB/function-level-linking.test
@@ -1,4 +1,4 @@
REQUIRES: system-windows, lld
-RUN: clang-cl /c /Zi /Gy %S/Inputs/FunctionLevelLinkingTest.cpp /o %t.obj
+RUN: %clang_cl /c /Zi /Gy %S/Inputs/FunctionLevelLinkingTest.cpp /o %t.obj
RUN: lld-link /debug:full /nodefaultlib /entry:main /order:@%S/Inputs/FunctionLevelLinkingTest.ord %t.obj /out:%t.exe
RUN: lldb-test symbols -verify %t.exe
diff --git a/lldb/lit/SymbolFile/PDB/function-nested-block.test b/lldb/lit/SymbolFile/PDB/function-nested-block.test
index ef714c461c9..c68283171c6 100644
--- a/lldb/lit/SymbolFile/PDB/function-nested-block.test
+++ b/lldb/lit/SymbolFile/PDB/function-nested-block.test
@@ -1,5 +1,5 @@
REQUIRES: system-windows, lld
-RUN: clang-cl /c /Zi %S/Inputs/FunctionNestedBlockTest.cpp /o %t.obj
+RUN: %clang_cl /c /Zi %S/Inputs/FunctionNestedBlockTest.cpp /o %t.obj
RUN: lld-link /debug:full /nodefaultlib /entry:main %t.obj /out:%t.exe
RUN: lldb-test symbols -find=function -file FunctionNestedBlockTest.cpp -line 4 %t.exe | FileCheck --check-prefix=CHECK-FUNCTION %s
RUN: lldb-test symbols -find=block -file FunctionNestedBlockTest.cpp -line 4 %t.exe | FileCheck --check-prefix=CHECK-BLOCK %s
diff --git a/lldb/lit/SymbolFile/PDB/pointers.test b/lldb/lit/SymbolFile/PDB/pointers.test
index 9a5e72e3b85..bb254154f8b 100644
--- a/lldb/lit/SymbolFile/PDB/pointers.test
+++ b/lldb/lit/SymbolFile/PDB/pointers.test
@@ -1,6 +1,6 @@
-REQUIRES: system-windows
-RUN: clang-cl -m32 /Z7 /c /GS- %S/Inputs/PointerTypeTest.cpp /o %T/PointerTypeTest.cpp.obj
-RUN: link %T/PointerTypeTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/PointerTypeTest.cpp.exe
+REQUIRES: system-windows, msvc
+RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/PointerTypeTest.cpp /o %T/PointerTypeTest.cpp.obj
+RUN: %msvc_link %T/PointerTypeTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/PointerTypeTest.cpp.exe
RUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck %s
RUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN-ST-F %s
RUN: lldb-test symbols %T/PointerTypeTest.cpp.exe | FileCheck --check-prefix=MAIN-ST %s
diff --git a/lldb/lit/SymbolFile/PDB/type-quals.test b/lldb/lit/SymbolFile/PDB/type-quals.test
index b4b66b6a439..ffd21036e34 100644
--- a/lldb/lit/SymbolFile/PDB/type-quals.test
+++ b/lldb/lit/SymbolFile/PDB/type-quals.test
@@ -1,6 +1,6 @@
-REQUIRES: system-windows
-RUN: clang-cl -m32 /Z7 /c /GS- %S/Inputs/TypeQualsTest.cpp /o %T/TypeQualsTest.cpp.obj
-RUN: link %T/TypeQualsTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/TypeQualsTest.cpp.exe
+REQUIRES: system-windows, msvc
+RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/TypeQualsTest.cpp /o %T/TypeQualsTest.cpp.obj
+RUN: %msvc_link %T/TypeQualsTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/TypeQualsTest.cpp.exe
RUN: lldb-test symbols %T/TypeQualsTest.cpp.exe | FileCheck %s
CHECK: Module [[MOD:.*]]
diff --git a/lldb/lit/SymbolFile/PDB/typedefs.test b/lldb/lit/SymbolFile/PDB/typedefs.test
index f69d3ecc2e9..329cbbcafdc 100644
--- a/lldb/lit/SymbolFile/PDB/typedefs.test
+++ b/lldb/lit/SymbolFile/PDB/typedefs.test
@@ -1,6 +1,6 @@
-REQUIRES: system-windows
-RUN: clang-cl -m32 /Z7 /c /GS- %S/Inputs/SimpleTypesTest.cpp /o %T/SimpleTypesTest.cpp.typedefs.obj
-RUN: link %T/SimpleTypesTest.cpp.typedefs.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/SimpleTypesTest.cpp.typedefs.exe
+REQUIRES: system-windows, msvc
+RUN: %clang_cl -m32 /Z7 /c /GS- %S/Inputs/SimpleTypesTest.cpp /o %T/SimpleTypesTest.cpp.typedefs.obj
+RUN: %msvc_link %T/SimpleTypesTest.cpp.typedefs.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/SimpleTypesTest.cpp.typedefs.exe
RUN: lldb-test symbols %T/SimpleTypesTest.cpp.typedefs.exe | FileCheck %s
; Generate 32-bit target
diff --git a/lldb/lit/SymbolFile/PDB/udt-layout.test b/lldb/lit/SymbolFile/PDB/udt-layout.test
index 95533aec2d2..95909c86ba2 100644
--- a/lldb/lit/SymbolFile/PDB/udt-layout.test
+++ b/lldb/lit/SymbolFile/PDB/udt-layout.test
@@ -1,5 +1,6 @@
-REQUIRES: system-windows
-RUN: clang-cl /Zi %S/Inputs/UdtLayoutTest.cpp /o %t.exe
+REQUIRES: system-windows, msvc
+RUN: %clang_cl /Zi %S/Inputs/UdtLayoutTest.cpp /c /o %t.obj
+RUN: %msvc_link /DEBUG:FULL /out:%t.exe %t.obj
RUN: %lldb -b -s %S/Inputs/UdtLayoutTest.script -- %t.exe | FileCheck %s
CHECK:(int) int C::abc = 123
diff --git a/lldb/lit/SymbolFile/PDB/variables-locations.test b/lldb/lit/SymbolFile/PDB/variables-locations.test
index 19d3b4a778e..7047c1fdfa3 100644
--- a/lldb/lit/SymbolFile/PDB/variables-locations.test
+++ b/lldb/lit/SymbolFile/PDB/variables-locations.test
@@ -1,5 +1,6 @@
-REQUIRES: system-windows
-RUN: clang-cl /Zi %S/Inputs/VariablesLocationsTest.cpp /o %t.exe
+REQUIRES: system-windows, msvc
+RUN: %clang_cl /Zi %S/Inputs/VariablesLocationsTest.cpp /c /o %t.obj
+RUN: %msvc_link /debug:full %t.obj /out:%t.exe
RUN: %lldb -b -s %S/Inputs/VariablesLocationsTest.script -- %t.exe | FileCheck %s
CHECK: g_var = 2222
diff --git a/lldb/lit/SymbolFile/PDB/variables.test b/lldb/lit/SymbolFile/PDB/variables.test
index 81b888b14f8..57f985d899e 100644
--- a/lldb/lit/SymbolFile/PDB/variables.test
+++ b/lldb/lit/SymbolFile/PDB/variables.test
@@ -1,6 +1,6 @@
-REQUIRES: system-windows
-RUN: clang-cl -m64 /Z7 /c /GS- %S/Inputs/VariablesTest.cpp /o %T/VariablesTest.cpp.obj
-RUN: link %T/VariablesTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/VariablesTest.cpp.exe
+REQUIRES: system-windows, msvc
+RUN: %clang_cl -m64 /Z7 /c /GS- %S/Inputs/VariablesTest.cpp /o %T/VariablesTest.cpp.obj
+RUN: %msvc_link %T/VariablesTest.cpp.obj /DEBUG /nodefaultlib /ENTRY:main /OUT:%T/VariablesTest.cpp.exe
RUN: lldb-test symbols %T/VariablesTest.cpp.exe | FileCheck %s
CHECK: Module [[MOD:.*]]
diff --git a/lldb/lit/SymbolFile/PDB/vbases.test b/lldb/lit/SymbolFile/PDB/vbases.test
index f7d8cc89217..5aa9f1e6666 100644
--- a/lldb/lit/SymbolFile/PDB/vbases.test
+++ b/lldb/lit/SymbolFile/PDB/vbases.test
@@ -1,5 +1,6 @@
-REQUIRES: system-windows
-RUN: clang-cl /Zi %S/Inputs/VBases.cpp /o %t.exe
+REQUIRES: system-windows, msvc
+RUN: %clang_cl /Zi %S/Inputs/VBases.cpp /c /o %t.obj
+RUN: %msvc_link /debug:full %t.obj /out:%t.exe
RUN: %lldb -b -s %S/Inputs/VBases.script -- %t.exe | FileCheck %s
CHECK: {
diff --git a/lldb/lit/helper/__init__.py b/lldb/lit/helper/__init__.py
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/lldb/lit/helper/__init__.py
diff --git a/lldb/lit/helper/toolchain.py b/lldb/lit/helper/toolchain.py
new file mode 100644
index 00000000000..183db606f52
--- /dev/null
+++ b/lldb/lit/helper/toolchain.py
@@ -0,0 +1,104 @@
+import os
+import platform
+import subprocess
+import sys
+
+import lit.util
+from lit.llvm import llvm_config
+from lit.llvm.subst import FindTool
+from lit.llvm.subst import ToolSubst
+
+def use_lldb_substitutions(config):
+ # Set up substitutions for primary tools. These tools must come from config.lldb_tools_dir
+ # which is basically the build output directory. We do not want to find these in path or
+ # anywhere else, since they are specifically the programs which are actually being tested.
+
+ dsname = 'debugserver' if platform.system() in ['Darwin'] else 'lldb-server'
+ dsargs = [] if platform.system() in ['Darwin'] else ['gdbserver']
+ lldbmi = ToolSubst('%lldbmi',
+ command=FindTool('lldb-mi'),
+ extra_args=['--synchronous'],
+ unresolved='ignore')
+ primary_tools = [
+ ToolSubst('%lldb',
+ command=FindTool('lldb'),
+ extra_args=['-S',
+ os.path.join(config.test_source_root,
+ 'lit-lldb-init')]),
+ lldbmi,
+ ToolSubst('%debugserver',
+ command=FindTool(dsname),
+ extra_args=dsargs,
+ unresolved='ignore'),
+ 'lldb-test'
+ ]
+
+ llvm_config.add_tool_substitutions(primary_tools,
+ [config.lldb_tools_dir])
+ if lldbmi.was_resolved:
+ config.available_features.add('lldb-mi')
+
+def _use_msvc_substitutions(config):
+ # If running from a Visual Studio Command prompt (e.g. vcvars), this will
+ # detect the include and lib paths, and find cl.exe and link.exe and create
+ # substitutions for each of them that explicitly specify /I and /L paths
+ cl = '"' + lit.util.which('cl') + '"'
+ link = '"' + lit.util.which('link') + '"'
+
+ if not cl or not link:
+ return
+
+ includes = os.getenv('INCLUDE', '').split(';')
+ libs = os.getenv('LIB', '').split(';')
+
+ config.available_features.add('msvc')
+ compiler_flags = ['"/I{}"'.format(x) for x in includes if os.path.exists(x)]
+ linker_flags = ['"/LIBPATH:{}"'.format(x) for x in libs if os.path.exists(x)]
+
+ tools = [
+ ToolSubst('%msvc_cl', command=cl, extra_args=compiler_flags),
+ ToolSubst('%msvc_link', command=link, extra_args=linker_flags)]
+ llvm_config.add_tool_substitutions(tools)
+ return
+
+def use_support_substitutions(config):
+ # Set up substitutions for support tools. These tools can be overridden at the CMake
+ # level (by specifying -DLLDB_LIT_TOOLS_DIR), installed, or as a last resort, we can use
+ # the just-built version.
+ flags = []
+ if platform.system() in ['Darwin']:
+ try:
+ out = subprocess.check_output(['xcrun', '--show-sdk-path']).strip()
+ res = 0
+ except OSError:
+ res = -1
+ if res == 0 and out:
+ sdk_path = lit.util.to_string(out)
+ lit_config.note('using SDKROOT: %r' % sdk_path)
+ flags = ['-isysroot', sdk_path]
+ elif platform.system() in ['OpenBSD']:
+ flags = ['-pthread']
+
+
+ additional_tool_dirs=[]
+ if config.lldb_lit_tools_dir:
+ additional_tool_dirs.append(config.lldb_lit_tools_dir)
+
+ llvm_config.use_clang(additional_flags=flags,
+ additional_tool_dirs=additional_tool_dirs,
+ required=True)
+
+ if sys.platform == 'win32':
+ _use_msvc_substitutions(config)
+
+ have_lld = llvm_config.use_lld(additional_tool_dirs=additional_tool_dirs,
+ required=False)
+ if have_lld:
+ config.available_features.add('lld')
+
+
+ support_tools = ['yaml2obj', 'obj2yaml', 'llvm-pdbutil',
+ 'llvm-mc', 'llvm-readobj', 'llvm-objdump',
+ 'llvm-objcopy']
+ additional_tool_dirs += [config.lldb_tools_dir, config.llvm_tools_dir]
+ llvm_config.add_tool_substitutions(support_tools, additional_tool_dirs)
diff --git a/lldb/lit/lit.cfg.py b/lldb/lit/lit.cfg.py
index 568e5a55853..536f2e0b464 100644
--- a/lldb/lit/lit.cfg.py
+++ b/lldb/lit/lit.cfg.py
@@ -1,18 +1,18 @@
# -*- Python -*-
import os
-import sys
import re
-import platform
import shutil
-import subprocess
+import site
+import sys
-import lit.util
import lit.formats
from lit.llvm import llvm_config
from lit.llvm.subst import FindTool
from lit.llvm.subst import ToolSubst
+from helper import toolchain
+
# name: The name of this test suite.
config.name = 'LLDB'
@@ -34,80 +34,17 @@ config.test_source_root = os.path.dirname(__file__)
# test_exec_root: The root path where tests should be run.
config.test_exec_root = os.path.join(config.lldb_obj_root, 'lit')
-# Tweak the PATH to include the tools dir.
-llvm_config.with_system_environment('PATH')
-llvm_config.with_environment('PATH', config.lldb_tools_dir, append_path=True)
-llvm_config.with_environment('PATH', config.llvm_tools_dir, append_path=True)
-llvm_config.with_environment('LD_LIBRARY_PATH', config.lldb_libs_dir, append_path=True)
-llvm_config.with_environment('LD_LIBRARY_PATH', config.llvm_libs_dir, append_path=True)
-llvm_config.with_system_environment('LD_LIBRARY_PATH', append_path=True)
+llvm_config.use_default_substitutions()
+toolchain.use_lldb_substitutions(config)
-llvm_config.use_default_substitutions()
+toolchain.use_support_substitutions(config)
-if platform.system() in ['Darwin']:
- debugserver = lit.util.which('debugserver', config.lldb_tools_dir)
-else:
- debugserver = lit.util.which('lldb-server', config.lldb_tools_dir)
-lldb = "%s -S %s/lit-lldb-init" % (lit.util.which('lldb', config.lldb_tools_dir),
- config.test_source_root)
-
-lldbmi = lit.util.which('lldb-mi', config.lldb_tools_dir)
-if lldbmi:
- config.available_features.add('lldb-mi')
-
-config.cc = llvm_config.use_llvm_tool(config.cc, required=True)
-config.cxx = llvm_config.use_llvm_tool(config.cxx, required=True)
-
-if platform.system() in ['Darwin']:
- try:
- out = subprocess.check_output(['xcrun', '--show-sdk-path']).strip()
- res = 0
- except OSError:
- res = -1
- if res == 0 and out:
- sdk_path = lit.util.to_string(out)
- lit_config.note('using SDKROOT: %r' % sdk_path)
- config.cc += " -isysroot %s" % sdk_path
- config.cxx += " -isysroot %s" % sdk_path
-
-if platform.system() in ['OpenBSD']:
- config.cc += " -pthread"
- config.cxx += " -pthread"
-
-config.substitutions.append(('%cc', config.cc))
-config.substitutions.append(('%cxx', config.cxx))
-
-if lldbmi:
- config.substitutions.append(('%lldbmi', lldbmi + " --synchronous"))
-config.substitutions.append(('%lldb', lldb))
-
-if debugserver is not None:
- if platform.system() in ['Darwin']:
- config.substitutions.append(('%debugserver', debugserver))
- else:
- config.substitutions.append(('%debugserver', debugserver + ' gdbserver'))
-
-tools = ['lldb-test', 'yaml2obj', 'obj2yaml', 'llvm-pdbutil']
-llvm_config.add_tool_substitutions(tools, [config.llvm_tools_dir, config.lldb_tools_dir])
if re.match(r'^arm(hf.*-linux)|(.*-linux-gnuabihf)', config.target_triple):
config.available_features.add("armhf-linux")
-print("config.cc = {}".format(config.cc))
-if re.match(r'icc', config.cc):
- config.available_features.add("compiler-icc")
-elif re.match(r'clang', config.cc):
- config.available_features.add("compiler-clang")
-elif re.match(r'gcc', config.cc):
- config.available_features.add("compiler-gcc")
-elif re.match(r'cl', config.cc):
- config.available_features.add("compiler-msvc")
-
-if config.have_lld:
- config.available_features.add("lld")
-
def calculate_arch_features(arch_string):
# This will add a feature such as x86, arm, mips, etc for each built
# target
diff --git a/lldb/lit/lit.site.cfg.py.in b/lldb/lit/lit.site.cfg.py.in
index fed04d11026..bcd43000532 100644
--- a/lldb/lit/lit.site.cfg.py.in
+++ b/lldb/lit/lit.site.cfg.py.in
@@ -4,26 +4,29 @@ config.llvm_src_root = "@LLVM_SOURCE_DIR@"
config.llvm_obj_root = "@LLVM_BINARY_DIR@"
config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
config.llvm_libs_dir = "@LLVM_LIBS_DIR@"
+config.llvm_shlib_dir = "@SHLIBDIR@"
config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
config.lldb_obj_root = "@LLDB_BINARY_DIR@"
config.lldb_libs_dir = "@LLDB_LIBS_DIR@"
config.lldb_tools_dir = "@LLDB_TOOLS_DIR@"
+# Since it comes from the command line, it may have backslashes which
+# should not need to be escaped.
+config.lldb_lit_tools_dir = r"@LLDB_LIT_TOOLS_DIR@"
config.target_triple = "@TARGET_TRIPLE@"
config.python_executable = "@PYTHON_EXECUTABLE@"
-config.cc = "@LLDB_TEST_C_COMPILER@"
-config.cxx = "@LLDB_TEST_CXX_COMPILER@"
config.have_zlib = @LLVM_ENABLE_ZLIB@
-config.have_lld = @LLDB_HAVE_LLD@
+config.host_triple = "@LLVM_HOST_TRIPLE@"
# Support substitution of the tools and libs dirs with user parameters. This is
# used when we can't determine the tool dir at configuration time.
try:
config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params
config.llvm_libs_dir = config.llvm_libs_dir % lit_config.params
+ config.llvm_shlib_dir = config.llvm_shlib_dir % lit_config.params
config.lldb_libs_dir = config.lldb_libs_dir % lit_config.params
config.lldb_tools_dir = config.lldb_tools_dir % lit_config.params
- config.cc = config.cc % lit_config.params
- config.cxx = config.cxx % lit_config.params
+ config.lldb_lit_tools_dir = config.lldb_lit_tools_dir % lit_config.params
+
except KeyError as e:
key, = e.args
lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key))
diff --git a/lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test b/lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test
index 2a650688fbc..48f86b4d678 100644
--- a/lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test
+++ b/lldb/lit/tools/lldb-mi/breakpoint/break-insert-enable-pending.test
@@ -1,7 +1,7 @@
# XFAIL: system-windows
# -> llvm.org/pr24452
#
-# RUN: %cc -o %t %p/inputs/break-insert-pending.c -g
+# RUN: %clang -o %t %p/inputs/break-insert-pending.c -g
# RUN: %lldbmi %t < %s | FileCheck %s
# Test for enabling pending breakpoints globally
diff --git a/lldb/lit/tools/lldb-mi/breakpoint/break-insert.test b/lldb/lit/tools/lldb-mi/breakpoint/break-insert.test
index e6e230f8a03..74ce04e4a1b 100644
--- a/lldb/lit/tools/lldb-mi/breakpoint/break-insert.test
+++ b/lldb/lit/tools/lldb-mi/breakpoint/break-insert.test
@@ -1,7 +1,7 @@
# XFAIL: system-windows
# -> llvm.org/pr24452
#
-# RUN: %cc -o a.exe %p/inputs/break-insert.c -g
+# RUN: %clang -o a.exe %p/inputs/break-insert.c -g
# RUN: %lldbmi < %s | FileCheck %s
# Test that a breakpoint can be inserted before creating a target.
diff --git a/lldb/lit/tools/lldb-mi/data/data-info-line.test b/lldb/lit/tools/lldb-mi/data/data-info-line.test
index a38ae6ea1f2..a42305d19a2 100644
--- a/lldb/lit/tools/lldb-mi/data/data-info-line.test
+++ b/lldb/lit/tools/lldb-mi/data/data-info-line.test
@@ -1,7 +1,7 @@
# XFAIL: system-windows
# -> llvm.org/pr24452
#
-# RUN: %cc -o %t %p/inputs/data-info-line.c -g
+# RUN: %clang -o %t %p/inputs/data-info-line.c -g
# RUN: %lldbmi %t < %s | FileCheck %s
# Test lldb-mi -data-info-line command.
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-continue.test b/lldb/lit/tools/lldb-mi/exec/exec-continue.test
index 162900e6103..e9aba78bd67 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-continue.test
+++ b/lldb/lit/tools/lldb-mi/exec/exec-continue.test
@@ -1,7 +1,7 @@
# XFAIL: system-windows
# -> llvm.org/pr24452
#
-# RUN: %cc -o %t %p/inputs/main.c -g
+# RUN: %clang -o %t %p/inputs/main.c -g
# RUN: %lldbmi %t < %s | FileCheck %s
# Test lldb-mi -exec-continue command.
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-finish.test b/lldb/lit/tools/lldb-mi/exec/exec-finish.test
index 87ce75b92d1..07ca95102d1 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-finish.test
+++ b/lldb/lit/tools/lldb-mi/exec/exec-finish.test
@@ -1,7 +1,7 @@
# XFAIL: system-windows
# -> llvm.org/pr24452
#
-# RUN: %cc -o %t %p/inputs/main.c -g
+# RUN: %clang -o %t %p/inputs/main.c -g
# RUN: %lldbmi %t < %s | FileCheck %s
# Test lldb-mi -exec-finish command.
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-interrupt.test b/lldb/lit/tools/lldb-mi/exec/exec-interrupt.test
index 3e855e11644..43b5aa9be3f 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-interrupt.test
+++ b/lldb/lit/tools/lldb-mi/exec/exec-interrupt.test
@@ -1,7 +1,7 @@
# XFAIL: system-windows
# -> llvm.org/pr24452
#
-# RUN: %cc -o %t %p/inputs/main.c -g
+# RUN: %clang -o %t %p/inputs/main.c -g
# RUN: %lldbmi %t < %s | FileCheck %s
# Test lldb-mi -exec-interrupt command.
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test b/lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test
index dae78e638e3..f012a5daceb 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test
+++ b/lldb/lit/tools/lldb-mi/exec/exec-next-instruction.test
@@ -1,7 +1,7 @@
# XFAIL: system-windows
# -> llvm.org/pr24452
#
-# RUN: %cc -o %t %p/inputs/main.c -g
+# RUN: %clang -o %t %p/inputs/main.c -g
# RUN: %lldbmi %t < %s | FileCheck %s
# Test lldb-mi -exec-next-instruction command.
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-next.test b/lldb/lit/tools/lldb-mi/exec/exec-next.test
index 4583d5375d8..5e06ac887f8 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-next.test
+++ b/lldb/lit/tools/lldb-mi/exec/exec-next.test
@@ -1,7 +1,7 @@
# XFAIL: system-windows
# -> llvm.org/pr24452
#
-# RUN: %cc -o %t %p/inputs/main.c -g
+# RUN: %clang -o %t %p/inputs/main.c -g
# RUN: %lldbmi %t < %s | FileCheck %s
# Test lldb-mi -exec-next command.
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test b/lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test
index 37edc77a83e..ba95d687b17 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test
+++ b/lldb/lit/tools/lldb-mi/exec/exec-step-instruction.test
@@ -1,7 +1,7 @@
# XFAIL: system-windows
# -> llvm.org/pr24452
#
-# RUN: %cc -o %t %p/inputs/main.c -g
+# RUN: %clang -o %t %p/inputs/main.c -g
# RUN: %lldbmi %t < %s | FileCheck %s
# Test lldb-mi -exec-step-instruction command.
diff --git a/lldb/lit/tools/lldb-mi/exec/exec-step.test b/lldb/lit/tools/lldb-mi/exec/exec-step.test
index 2187a00e924..2a69d449a30 100644
--- a/lldb/lit/tools/lldb-mi/exec/exec-step.test
+++ b/lldb/lit/tools/lldb-mi/exec/exec-step.test
@@ -1,7 +1,7 @@
# XFAIL: system-windows
# -> llvm.org/pr24452
#
-# RUN: %cc -o %t %p/inputs/main.c -g
+# RUN: %clang -o %t %p/inputs/main.c -g
# RUN: %lldbmi %t < %s | FileCheck %s
# Test lldb-mi -exec-step command.
diff --git a/lldb/lit/tools/lldb-mi/symbol/symbol-list-lines.test b/lldb/lit/tools/lldb-mi/symbol/symbol-list-lines.test
index b9499392dcd..4b9202cd463 100644
--- a/lldb/lit/tools/lldb-mi/symbol/symbol-list-lines.test
+++ b/lldb/lit/tools/lldb-mi/symbol/symbol-list-lines.test
@@ -1,7 +1,7 @@
# XFAIL: system-windows
# -> llvm.org/pr24452
#
-# RUN: %cc -o %t %p/inputs/main.c %p/inputs/symbol-list-lines.c %p/inputs/list-lines-helper.c -g
+# RUN: %clang -o %t %p/inputs/main.c %p/inputs/symbol-list-lines.c %p/inputs/list-lines-helper.c -g
# RUN: %lldbmi %t < %s | FileCheck %s
# Test lldb-mi -symbol-list-lines command.
diff --git a/lldb/lit/tools/lldb-mi/target/target-select-so-path.test b/lldb/lit/tools/lldb-mi/target/target-select-so-path.test
index 80b51446e28..785030bf2fd 100644
--- a/lldb/lit/tools/lldb-mi/target/target-select-so-path.test
+++ b/lldb/lit/tools/lldb-mi/target/target-select-so-path.test
@@ -1,6 +1,6 @@
# UNSUPPORTED: windows, darwin
#
-# RUN: %cc -o %t %p/inputs/main.c -g
+# RUN: %clang -o %t %p/inputs/main.c -g
# RUN: %python %p/inputs/target-select-so-path.py "%debugserver" "%lldbmi %t" %s
# Test that -target-select command can hook up a path
diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt
index 5b84f771be1..bf7b21e5d87 100644
--- a/lldb/test/CMakeLists.txt
+++ b/lldb/test/CMakeLists.txt
@@ -87,6 +87,12 @@ if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows|Darwin")
--env ARCHIVER=${CMAKE_AR} --env OBJCOPY=${CMAKE_OBJCOPY})
endif()
+if (NOT "${LLDB_LIT_TOOLS_DIR}" STREQUAL "")
+ if (NOT EXISTS "${LLDB_LIT_TOOLS_DIR}")
+ message(WARNING "LLDB_LIT_TOOLS_DIR ${LLDB_LIT_TOOLS_DIR} does not exist.")
+ endif()
+endif()
+
if(CMAKE_HOST_APPLE)
list(APPEND LLDB_TEST_COMMON_ARGS --server ${DEBUGSERVER_PATH})
endif()
diff --git a/llvm/utils/lit/lit/TestingConfig.py b/llvm/utils/lit/lit/TestingConfig.py
index d5adb535775..b70f18ef6ce 100644
--- a/llvm/utils/lit/lit/TestingConfig.py
+++ b/llvm/utils/lit/lit/TestingConfig.py
@@ -85,7 +85,9 @@ class TestingConfig:
cfg_globals['config'] = self
cfg_globals['lit_config'] = litConfig
cfg_globals['__file__'] = path
+ original_sys_path = list(sys.path)
try:
+ sys.path.insert(0, os.path.dirname(path))
exec(compile(data, path, 'exec'), cfg_globals, None)
if litConfig.debug:
litConfig.note('... loaded config %r' % path)
@@ -100,7 +102,7 @@ class TestingConfig:
litConfig.fatal(
'unable to parse config file %r, traceback: %s' % (
path, traceback.format_exc()))
-
+ sys.path = original_sys_path
self.finish(litConfig)
def __init__(self, parent, name, suffixes, test_format,
diff --git a/llvm/utils/lit/lit/llvm/config.py b/llvm/utils/lit/lit/llvm/config.py
index 6bb7135f659..fde3d5aa8cd 100644
--- a/llvm/utils/lit/lit/llvm/config.py
+++ b/llvm/utils/lit/lit/llvm/config.py
@@ -333,7 +333,7 @@ class LLVMConfig(object):
self.lit_config.note('using {}: {}'.format(name, tool))
return tool
- def use_clang(self, required=True):
+ def use_clang(self, additional_tool_dirs=[], additional_flags=[], required=True):
"""Configure the test suite to be able to invoke clang.
Sets up some environment variables important to clang, locates a
@@ -370,12 +370,16 @@ class LLVMConfig(object):
# Tweak the PATH to include the tools dir and the scripts dir.
# Put Clang first to avoid LLVM from overriding out-of-tree clang builds.
- possible_paths = ['clang_tools_dir', 'llvm_tools_dir']
- paths = [getattr(self.config, pp) for pp in possible_paths
+ exe_dir_props = [self.config.name.lower() + '_tools_dir', 'clang_tools_dir', 'llvm_tools_dir']
+ paths = [getattr(self.config, pp) for pp in exe_dir_props
if getattr(self.config, pp, None)]
+ paths = additional_tool_dirs + paths
self.with_environment('PATH', paths, append_path=True)
- paths = [self.config.llvm_shlib_dir, self.config.llvm_libs_dir]
+ lib_dir_props = [self.config.name.lower() + '_libs_dir', 'clang_libs_dir', 'llvm_shlib_dir', 'llvm_libs_dir']
+ paths = [getattr(self.config, pp) for pp in lib_dir_props
+ if getattr(self.config, pp, None)]
+
self.with_environment('LD_LIBRARY_PATH', paths, append_path=True)
# Discover the 'clang' and 'clangcc' to use.
@@ -383,19 +387,21 @@ class LLVMConfig(object):
self.config.clang = self.use_llvm_tool(
'clang', search_env='CLANG', required=required)
- self.config.substitutions.append(
- ('%llvmshlibdir', self.config.llvm_shlib_dir))
- self.config.substitutions.append(
- ('%pluginext', self.config.llvm_plugin_ext))
+ shl = getattr(self.config, 'llvm_shlib_dir', None)
+ pext = getattr(self.config, 'llvm_plugin_ext', None)
+ if shl:
+ self.config.substitutions.append(('%llvmshlibdir', shl))
+ if pext:
+ self.config.substitutions.append(('%pluginext', pext))
builtin_include_dir = self.get_clang_builtin_include_dir(self.config.clang)
tool_substitutions = [
- ToolSubst('%clang', command=self.config.clang),
- ToolSubst('%clang_analyze_cc1', command='%clang_cc1', extra_args=['-analyze', '%analyze']),
- ToolSubst('%clang_cc1', command=self.config.clang, extra_args=['-cc1', '-internal-isystem', builtin_include_dir, '-nostdsysteminc']),
- ToolSubst('%clang_cpp', command=self.config.clang, extra_args=['--driver-mode=cpp']),
- ToolSubst('%clang_cl', command=self.config.clang, extra_args=['--driver-mode=cl']),
- ToolSubst('%clangxx', command=self.config.clang, extra_args=['--driver-mode=g++']),
+ ToolSubst('%clang', command=self.config.clang, extra_args=additional_flags),
+ ToolSubst('%clang_analyze_cc1', command='%clang_cc1', extra_args=['-analyze', '%analyze']+additional_flags),
+ ToolSubst('%clang_cc1', command=self.config.clang, extra_args=['-cc1', '-internal-isystem', builtin_include_dir, '-nostdsysteminc']+additional_flags),
+ ToolSubst('%clang_cpp', command=self.config.clang, extra_args=['--driver-mode=cpp']+additional_flags),
+ ToolSubst('%clang_cl', command=self.config.clang, extra_args=['--driver-mode=cl']+additional_flags),
+ ToolSubst('%clangxx', command=self.config.clang, extra_args=['--driver-mode=g++']+additional_flags),
]
self.add_tool_substitutions(tool_substitutions)
@@ -415,34 +421,34 @@ class LLVMConfig(object):
self.config.substitutions.append(
('%target_itanium_abi_host_triple', ''))
- self.config.substitutions.append(
- ('%src_include_dir', self.config.clang_src_dir + '/include'))
-
# FIXME: Find nicer way to prohibit this.
self.config.substitutions.append(
- (' clang ', """*** Do not use 'clang' in tests, use '%clang'. ***"""))
+ (' clang ', """\"*** Do not use 'clang' in tests, use '%clang'. ***\""""))
self.config.substitutions.append(
- (' clang\+\+ ', """*** Do not use 'clang++' in tests, use '%clangxx'. ***"""))
+ (' clang\+\+ ', """\"*** Do not use 'clang++' in tests, use '%clangxx'. ***\""""))
self.config.substitutions.append(
(' clang-cc ',
- """*** Do not use 'clang-cc' in tests, use '%clang_cc1'. ***"""))
+ """\"*** Do not use 'clang-cc' in tests, use '%clang_cc1'. ***\""""))
+ self.config.substitutions.append(
+ (' clang-cl ',
+ """\"*** Do not use 'clang-cl' in tests, use '%clang_cl'. ***\""""))
self.config.substitutions.append(
(' clang -cc1 -analyze ',
- """*** Do not use 'clang -cc1 -analyze' in tests, use '%clang_analyze_cc1'. ***"""))
+ """\"*** Do not use 'clang -cc1 -analyze' in tests, use '%clang_analyze_cc1'. ***\""""))
self.config.substitutions.append(
(' clang -cc1 ',
- """*** Do not use 'clang -cc1' in tests, use '%clang_cc1'. ***"""))
+ """\"*** Do not use 'clang -cc1' in tests, use '%clang_cc1'. ***\""""))
self.config.substitutions.append(
(' %clang-cc1 ',
- """*** invalid substitution, use '%clang_cc1'. ***"""))
+ """\"*** invalid substitution, use '%clang_cc1'. ***\""""))
self.config.substitutions.append(
(' %clang-cpp ',
- """*** invalid substitution, use '%clang_cpp'. ***"""))
+ """\"*** invalid substitution, use '%clang_cpp'. ***\""""))
self.config.substitutions.append(
(' %clang-cl ',
- """*** invalid substitution, use '%clang_cl'. ***"""))
+ """\"*** invalid substitution, use '%clang_cl'. ***\""""))
- def use_lld(self, required=True):
+ def use_lld(self, additional_tool_dirs=[], required=True):
"""Configure the test suite to be able to invoke lld.
Sets up some environment variables important to lld, locates a
@@ -450,20 +456,36 @@ class LLVMConfig(object):
substitutions useful to any test suite that makes use of lld.
"""
- # Tweak the PATH to include the tools dir
- tool_dirs = [self.config.llvm_tools_dir]
- lib_dirs = [self.config.llvm_libs_dir]
- lld_tools_dir = getattr(self.config, 'lld_tools_dir', None)
- lld_libs_dir = getattr(self.config, 'lld_libs_dir', None)
- if lld_tools_dir:
- tool_dirs = tool_dirs + [lld_tools_dir]
- if lld_libs_dir:
- lib_dirs = lib_dirs + [lld_libs_dir]
+ # Tweak the PATH to include the tools dir and the scripts dir.
+ exe_dir_props = [self.config.name.lower() + '_tools_dir', 'lld_tools_dir', 'llvm_tools_dir']
+ paths = [getattr(self.config, pp) for pp in exe_dir_props
+ if getattr(self.config, pp, None)]
+ paths = additional_tool_dirs + paths
+ self.with_environment('PATH', paths, append_path=True)
- self.with_environment('PATH', tool_dirs, append_path=True)
- self.with_environment('LD_LIBRARY_PATH', lib_dirs, append_path=True)
+ lib_dir_props = [self.config.name.lower() + '_libs_dir', 'lld_libs_dir', 'llvm_libs_dir']
+ paths = [getattr(self.config, pp) for pp in lib_dir_props
+ if getattr(self.config, pp, None)]
- tool_patterns = ['lld', 'ld.lld', 'lld-link', 'ld64.lld', 'wasm-ld']
+ self.with_environment('LD_LIBRARY_PATH', paths, append_path=True)
- self.add_tool_substitutions(tool_patterns, tool_dirs)
+ # Discover the 'clang' and 'clangcc' to use.
+
+ ld_lld = self.use_llvm_tool('ld.lld', required=required)
+ lld_link = self.use_llvm_tool('lld-link', required=required)
+ ld64_lld = self.use_llvm_tool('ld64.lld', required=required)
+ wasm_ld = self.use_llvm_tool('wasm-ld', required=required)
+
+ was_found = ld_lld and lld_link and ld64_lld and wasm_ld
+ tool_substitutions = []
+ if ld_lld:
+ tool_substitutions.append(ToolSubst('ld.lld', command=ld_lld))
+ if lld_link:
+ tool_substitutions.append(ToolSubst('lld-link', command=lld_link))
+ if ld64_lld:
+ tool_substitutions.append(ToolSubst('ld64.lld', command=ld64_lld))
+ if wasm_ld:
+ tool_substitutions.append(ToolSubst('wasm-ld', command=wasm_ld))
+ self.add_tool_substitutions(tool_substitutions)
+ return was_found \ No newline at end of file
diff --git a/llvm/utils/lit/lit/llvm/subst.py b/llvm/utils/lit/lit/llvm/subst.py
index 3c8db1d31ff..4275b8a56a3 100644
--- a/llvm/utils/lit/lit/llvm/subst.py
+++ b/llvm/utils/lit/lit/llvm/subst.py
@@ -80,6 +80,7 @@ class ToolSubst(object):
self.extra_args = extra_args
self.key = key
self.command = command if command is not None else FindTool(key)
+ self.was_resolved = False
if verbatim:
self.regex = key
return
@@ -141,5 +142,6 @@ class ToolSubst(object):
return None
else:
raise 'Unexpected value for ToolSubst.unresolved'
-
+ if command_str:
+ self.was_resolved = True
return (self.regex, tool_pipe, command_str)
OpenPOWER on IntegriCloud