[DWARF] Refactor callback usage for .debug_line error handling
Change the "recoverable" error callback to take an Error instaed of a
string.
Reviewed by: JDevlieghere
Differential Revision: https://reviews.llvm.org/D46831
llvm-svn: 332845
diff --git a/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp b/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
index 08c77a0..982dd7c 100644
--- a/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
+++ b/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
@@ -385,8 +385,7 @@
}
OS << "debug_line[" << format("0x%8.8x", Parser.getOffset()) << "]\n";
if (DumpOpts.Verbose) {
- Parser.parseNext(DWARFDebugLine::warn, DWARFDebugLine::warnForError,
- &OS);
+ Parser.parseNext(DWARFDebugLine::warn, DWARFDebugLine::warn, &OS);
} else {
DWARFDebugLine::LineTable LineTable = Parser.parseNext();
LineTable.dump(OS, DumpOpts);
@@ -764,15 +763,14 @@
Expected<const DWARFDebugLine::LineTable *> ExpectedLineTable =
getLineTableForUnit(U, DWARFDebugLine::warn);
if (!ExpectedLineTable) {
- DWARFDebugLine::warnForError(ExpectedLineTable.takeError());
+ DWARFDebugLine::warn(ExpectedLineTable.takeError());
return nullptr;
}
return *ExpectedLineTable;
}
-Expected<const DWARFDebugLine::LineTable *>
-DWARFContext::getLineTableForUnit(DWARFUnit *U,
- std::function<void(StringRef)> WarnCallback) {
+Expected<const DWARFDebugLine::LineTable *> DWARFContext::getLineTableForUnit(
+ DWARFUnit *U, std::function<void(Error)> RecoverableErrorCallback) {
if (!Line)
Line.reset(new DWARFDebugLine);
@@ -797,7 +795,7 @@
DWARFDataExtractor lineData(*DObj, U->getLineSection(), isLittleEndian(),
U->getAddressByteSize());
return Line->getOrParseLineTable(lineData, stmtOffset, *this, U,
- WarnCallback);
+ RecoverableErrorCallback);
}
void DWARFContext::parseCompileUnits() {