Index: lldb/test/Shell/Breakpoint/case-insensitive.test =================================================================== --- lldb/test/Shell/Breakpoint/case-insensitive.test +++ lldb/test/Shell/Breakpoint/case-insensitive.test @@ -1,4 +1,4 @@ -# REQUIRES: system-windows +# REQUIRES: system-windows, host-breakpoints # RUN: %build %p/Inputs/case-sensitive.c --nodefaultlib -o %t # RUN: lldb-test breakpoints %t %s | FileCheck %s Index: lldb/test/Shell/Breakpoint/dummy-target.test =================================================================== --- lldb/test/Shell/Breakpoint/dummy-target.test +++ lldb/test/Shell/Breakpoint/dummy-target.test @@ -1,3 +1,5 @@ +# REQUIRES: host-breakpoints +# # RUN: mkdir -p %t # RUN: cd %t # RUN: %build %p/Inputs/dummy-target.c -o dummy.out Index: lldb/test/Shell/Commands/command-thread-select.test =================================================================== --- lldb/test/Shell/Commands/command-thread-select.test +++ lldb/test/Shell/Commands/command-thread-select.test @@ -1,3 +1,5 @@ +# REQUIRES: host-breakpoints +# # RUN: %clang_host -g %S/Inputs/main.c -o %t # RUN: %lldb %t -s %s -o exit | FileCheck %s Index: lldb/test/Shell/Driver/TestSingleQuote.test =================================================================== --- lldb/test/Shell/Driver/TestSingleQuote.test +++ lldb/test/Shell/Driver/TestSingleQuote.test @@ -1,3 +1,5 @@ +# REQUIRES: host-breakpoints + # Make sure lldb can handle filenames with single quotes in them. # RUN: %clang_host %p/Inputs/hello.c -g -o "%t-'pat" # RUN: %lldb -s %s "%t-'pat" | FileCheck %s Index: lldb/test/Shell/Expr/TestIRMemoryMapWindows.test =================================================================== --- lldb/test/Shell/Expr/TestIRMemoryMapWindows.test +++ lldb/test/Shell/Expr/TestIRMemoryMapWindows.test @@ -1,4 +1,4 @@ -# REQUIRES: system-windows +# REQUIRES: system-windows, host-breakpoints # RUN: %clang_cl_host /Zi /GS- %p/Inputs/call-function.cpp /c /o %t.obj # RUN: %msvc_link /debug:full %t.obj /out:%t Index: lldb/test/Shell/Expr/nodefaultlib.cpp =================================================================== --- lldb/test/Shell/Expr/nodefaultlib.cpp +++ lldb/test/Shell/Expr/nodefaultlib.cpp @@ -1,7 +1,7 @@ // Test that we're able to evaluate expressions in inferiors without the // standard library (and mmap-like functions in particular). -// REQUIRES: native +// REQUIRES: native, host-breakpoints // UNSUPPORTED: ld_preload-present // XFAIL: system-linux && !(target-x86 || target-x86_64) // XFAIL: system-netbsd || system-freebsd || system-darwin Index: lldb/test/Shell/Settings/TestFrameFormatColor.test =================================================================== --- lldb/test/Shell/Settings/TestFrameFormatColor.test +++ lldb/test/Shell/Settings/TestFrameFormatColor.test @@ -1,3 +1,4 @@ +# REQUIRES: host-breakpoints # RUN: %clang_host -g -O0 %S/Inputs/main.c -o %t.out # RUN: %lldb -x -b -s %s %t.out | FileCheck %s settings set use-color true Index: lldb/test/Shell/Settings/TestFrameFormatNoColor.test =================================================================== --- lldb/test/Shell/Settings/TestFrameFormatNoColor.test +++ lldb/test/Shell/Settings/TestFrameFormatNoColor.test @@ -1,3 +1,4 @@ +# REQUIRES: host-breakpoints # RUN: %clang_host -g -O0 %S/Inputs/main.c -o %t.out # RUN: %lldb -x -b -s %s %t.out | FileCheck %s settings set use-color false Index: lldb/test/Shell/Settings/TestLineMarkerColor.test =================================================================== --- lldb/test/Shell/Settings/TestLineMarkerColor.test +++ lldb/test/Shell/Settings/TestLineMarkerColor.test @@ -1,3 +1,4 @@ +# REQUIRES: host-breakpoints # RUN: %clang_host -g -O0 %S/Inputs/main.c -o %t.out # RUN: %lldb -x -b -s %s %t.out | FileCheck %s settings set use-color true Index: lldb/test/Shell/SymbolFile/NativePDB/stack_unwinding01.cpp =================================================================== --- lldb/test/Shell/SymbolFile/NativePDB/stack_unwinding01.cpp +++ lldb/test/Shell/SymbolFile/NativePDB/stack_unwinding01.cpp @@ -1,5 +1,5 @@ // clang-format off -// REQUIRES: lld, system-windows +// REQUIRES: lld, system-windows, host-breakpoints // RUN: %build --compiler=clang-cl --nodefaultlib -o %t.exe -- %s // RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -s \ Index: lldb/test/Shell/SymbolFile/PDB/lit.local.cfg =================================================================== --- lldb/test/Shell/SymbolFile/PDB/lit.local.cfg +++ lldb/test/Shell/SymbolFile/PDB/lit.local.cfg @@ -1,2 +1,3 @@ -if 'lldb-repro' in config.available_features: +if (not config.have_dia_sdk or + 'lldb-repro' in config.available_features): config.unsupported = True Index: lldb/test/Shell/Watchpoint/SetErrorCases.test =================================================================== --- lldb/test/Shell/Watchpoint/SetErrorCases.test +++ lldb/test/Shell/Watchpoint/SetErrorCases.test @@ -1,3 +1,4 @@ +# REQUIRES: host-breakpoints # RUN: %clangxx_host %p/Inputs/main.cpp -g -o %t.out # RUN: %lldb -b -o 'settings set interpreter.stop-command-source-on-error false' -s %s %t.out 2>&1 | FileCheck %s Index: lldb/test/Shell/lit.cfg.py =================================================================== --- lldb/test/Shell/lit.cfg.py +++ lldb/test/Shell/lit.cfg.py @@ -56,6 +56,15 @@ lit_config.note("Running Shell tests in {} mode.".format(lldb_repro_mode)) toolchain.use_lldb_repro_substitutions(config, lldb_repro_mode) +# Do DIA check early, so that the warning shows up above the config.py notes. +if sys.platform != 'win32': + config.available_features.add('host-breakpoints') +else: + if config.have_dia_sdk: + config.available_features.add('host-breakpoints') + else: + lit_config.warning('lldb built without DIA SDK, several tests will be skipped') + llvm_config.use_default_substitutions() toolchain.use_lldb_substitutions(config) toolchain.use_support_substitutions(config) Index: lldb/test/Shell/lit.site.cfg.py.in =================================================================== --- lldb/test/Shell/lit.site.cfg.py.in +++ lldb/test/Shell/lit.site.cfg.py.in @@ -16,6 +16,7 @@ config.target_triple = "@TARGET_TRIPLE@" config.python_executable = "@Python3_EXECUTABLE@" config.have_zlib = @LLVM_ENABLE_ZLIB@ +config.have_dia_sdk = @LLVM_ENABLE_DIA_SDK@ config.lldb_enable_lzma = @LLDB_ENABLE_LZMA@ config.host_triple = "@LLVM_HOST_TRIPLE@" config.lldb_bitness = 64 if @LLDB_IS_64_BITS@ else 32 Index: llvm/utils/gn/secondary/lldb/test/BUILD.gn =================================================================== --- llvm/utils/gn/secondary/lldb/test/BUILD.gn +++ llvm/utils/gn/secondary/lldb/test/BUILD.gn @@ -1,6 +1,5 @@ +import("//llvm/lib/DebugInfo/PDB/enable_dia.gni") import("//llvm/triples.gni") - -#import("//llvm/utils/gn/build/libs/xar/enable.gni") import("//llvm/utils/gn/build/libs/xml/enable.gni") import("//llvm/utils/gn/build/libs/zlib/enable.gni") import("//llvm/utils/gn/build/write_cmake_config.gni") @@ -109,6 +108,12 @@ "LLVM_HOST_TRIPLE=$llvm_current_triple", ] + if (llvm_enable_dia_sdk) { + extra_values += [ "LLVM_ENABLE_DIA_SDK=1" ] + } else { + extra_values += [ "LLVM_ENABLE_DIA_SDK=0" ] # Must be 0. + } + if (llvm_enable_zlib) { extra_values += [ "LLVM_ENABLE_ZLIB=1" ] } else {