summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2016-05-09 11:07:43 +0000
committerPavel Labath <labath@google.com>2016-05-09 11:07:43 +0000
commitb8d8c62b341ab7a294231e6395dede2190bb93a8 (patch)
tree141162b42fee2d6bd33467e0eede7cc87d0698cc
parent5a520f6cd5d4942c590a9c52afc1bc793e9696ff (diff)
downloadbcm5719-llvm-b8d8c62b341ab7a294231e6395dede2190bb93a8.tar.gz
bcm5719-llvm-b8d8c62b341ab7a294231e6395dede2190bb93a8.zip
Fix assertion in SymbolFilePDB
llvm::Error requires all errors to be handled. Simply checking the whether there was an error is not enough, you have to actuall call handle(All)Errors, in case there was an error. llvm-svn: 268906
-rw-r--r--lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp b/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
index 4b19b56aa9a..e8c82c1def4 100644
--- a/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
+++ b/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
@@ -20,6 +20,7 @@
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Symbol/TypeMap.h"
+#include "llvm/DebugInfo/PDB/GenericError.h"
#include "llvm/DebugInfo/PDB/IPDBEnumChildren.h"
#include "llvm/DebugInfo/PDB/IPDBLineNumber.h"
#include "llvm/DebugInfo/PDB/IPDBSourceFile.h"
@@ -119,7 +120,10 @@ SymbolFilePDB::CalculateAbilities()
std::string exePath = m_obj_file->GetFileSpec().GetPath();
auto error = loadDataForEXE(PDB_ReaderType::DIA, llvm::StringRef(exePath), m_session_up);
if (error)
+ {
+ handleAllErrors(std::move(error), [](const GenericError &GE) {});
return 0;
+ }
}
return CompileUnits | LineTables;
}
OpenPOWER on IntegriCloud