summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
index 5b10b585620..e95a0305cd1 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
@@ -204,7 +204,11 @@ private:
llvm::DenseSet<clang::Decl *> m_completed;
bool ImportAndCheckCompletable(clang::Decl *decl) {
- (void)m_exporter.Import(decl);
+ llvm::Expected<clang::Decl *> imported_decl = m_exporter.Import(decl);
+ if (!imported_decl) {
+ llvm::consumeError(imported_decl.takeError());
+ return false;
+ }
if (m_completed.count(decl))
return false;
if (!llvm::isa<DeclContext>(decl))
@@ -225,7 +229,11 @@ private:
void Complete(clang::Decl *decl) {
m_completed.insert(decl);
auto *decl_context = llvm::cast<DeclContext>(decl);
- (void)m_exporter.Import(decl);
+ llvm::Expected<clang::Decl *> imported_decl = m_exporter.Import(decl);
+ if (!imported_decl) {
+ llvm::consumeError(imported_decl.takeError());
+ return;
+ }
m_exporter.CompleteDecl(decl);
for (Decl *child : decl_context->decls())
if (ImportAndCheckCompletable(child))
OpenPOWER on IntegriCloud