From b424de390ee3fe95c7a84bed3114feea941407b5 Mon Sep 17 00:00:00 2001 From: Pavel Labath Date: Wed, 17 Jan 2018 14:40:25 +0000 Subject: [PATCH] Fix assertion in ObjectFileELF In D40616 I (mistakenly) assumed that logging an llvm::Error would clear it. This of course is only true if logging is actually enabled. This fixes the assertion by manually clearing the error, but it raises the point of whether we need a special error-clearing logging primitive. llvm-svn: 322664 --- lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp index 36027dd..433a229 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -3493,6 +3493,7 @@ size_t ObjectFileELF::ReadSectionData(Section *section, if (!Decompressor) { LLDB_LOG(log, "Unable to initialize decompressor for section {0}: {1}", section->GetName(), llvm::toString(Decompressor.takeError())); + consumeError(Decompressor.takeError()); return result; } auto buffer_sp = @@ -3502,6 +3503,7 @@ size_t ObjectFileELF::ReadSectionData(Section *section, size_t(buffer_sp->GetByteSize())})) { LLDB_LOG(log, "Decompression of section {0} failed: {1}", section->GetName(), llvm::toString(std::move(Error))); + consumeError(std::move(Error)); return result; } section_data.SetData(buffer_sp); -- 2.7.4