[Lldb-commits] [lldb] 908c115 - [lldb/win] Default to native PDB reader when LLVM_ENABLE_DIA_SDK=NO
Nico Weber via lldb-commits
lldb-commits at lists.llvm.org
Tue Sep 21 10:03:47 PDT 2021
Author: Nico Weber
Date: 2021-09-21T13:02:52-04:00
New Revision: 908c1154421287c6ffa0ef06ef5225a8fd0b06a7
URL: https://github.com/llvm/llvm-project/commit/908c1154421287c6ffa0ef06ef5225a8fd0b06a7
DIFF: https://github.com/llvm/llvm-project/commit/908c1154421287c6ffa0ef06ef5225a8fd0b06a7.diff
LOG: [lldb/win] Default to native PDB reader when LLVM_ENABLE_DIA_SDK=NO
Trying to use the DIA SDK reader only to fail with "DIA SDK wasn't enabled"
isn't very useful. The native PDB reader is missing some stuff, but it's still
better than nothing.
Reduces number of lldb-check-shell test failures with LLVM_ENABLE_DIA_SDK=NO
from 27 to 15.
Differential Revision: https://reviews.llvm.org/D110172
Added:
Modified:
lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
Removed:
################################################################################
diff --git a/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp b/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
index 794fab5f73095..be1c62c62006a 100644
--- a/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
+++ b/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
@@ -52,6 +52,10 @@
#include "Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.h"
#include "Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h"
+#if defined(_WIN32)
+#include "llvm/Config/config.h"
+#endif
+
using namespace lldb;
using namespace lldb_private;
using namespace llvm::pdb;
@@ -83,14 +87,16 @@ bool ShouldAddLine(uint32_t requested_line, uint32_t actual_line,
static bool ShouldUseNativeReader() {
#if defined(_WIN32)
+#if LLVM_ENABLE_DIA_SDK
llvm::StringRef use_native = ::getenv("LLDB_USE_NATIVE_PDB_READER");
- return use_native.equals_insensitive("on") ||
- use_native.equals_insensitive("yes") ||
- use_native.equals_insensitive("1") ||
- use_native.equals_insensitive("true");
-#else
- return true;
+ if (!use_native.equals_insensitive("on") &&
+ !use_native.equals_insensitive("yes") &&
+ !use_native.equals_insensitive("1") &&
+ !use_native.equals_insensitive("true"))
+ return false;
+#endif
#endif
+ return true;
}
void SymbolFilePDB::Initialize() {
More information about the lldb-commits
mailing list