1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00

[Debuginfo][NFC] Remove usages of WithColor::error and WithColor::warning.

Summary:
This patch is extracted from D74308.

It patches all usages of WithColor::error() and WithColor::warning
in DebugInfoDWARF library.

Depends on D74481

Reviewers: jhenderson, dblaikie, probinson, aprantl, JDevlieghere

Reviewed By: JDevlieghere

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74635
This commit is contained in:
Alexey Lapshin 2020-02-14 18:57:21 +03:00
parent 011d0efc47
commit 4c1f969392
4 changed files with 22 additions and 17 deletions

View File

@ -25,7 +25,8 @@ public:
private:
void clear();
void extract(DataExtractor DebugArangesData);
void extract(DataExtractor DebugArangesData,
function_ref<void(Error)> RecoverableErrorHandler);
/// Call appendRange multiple times and then call construct.
void appendRange(uint64_t CUOffset, uint64_t LowPC, uint64_t HighPC);

View File

@ -11,7 +11,6 @@
#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h"
#include "llvm/Support/DataExtractor.h"
#include "llvm/Support/WithColor.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
@ -20,7 +19,9 @@
using namespace llvm;
void DWARFDebugAranges::extract(DataExtractor DebugArangesData) {
void DWARFDebugAranges::extract(
DataExtractor DebugArangesData,
function_ref<void(Error)> RecoverableErrorHandler) {
if (!DebugArangesData.isValidOffset(0))
return;
uint64_t Offset = 0;
@ -28,7 +29,7 @@ void DWARFDebugAranges::extract(DataExtractor DebugArangesData) {
while (DebugArangesData.isValidOffset(Offset)) {
if (Error E = Set.extract(DebugArangesData, &Offset)) {
WithColor::error() << toString(std::move(E)) << '\n';
RecoverableErrorHandler(std::move(E));
return;
}
uint64_t CUOffset = Set.getCompileUnitDIEOffset();
@ -49,7 +50,7 @@ void DWARFDebugAranges::generate(DWARFContext *CTX) {
// Extract aranges from .debug_aranges section.
DataExtractor ArangesData(CTX->getDWARFObj().getArangesSection(),
CTX->isLittleEndian(), 0);
extract(ArangesData);
extract(ArangesData, CTX->getRecoverableErrorHandler());
// Generate aranges from DIEs: even if .debug_aranges section is present,
// it may describe only a small subset of compilation units, so we need to
@ -59,7 +60,7 @@ void DWARFDebugAranges::generate(DWARFContext *CTX) {
if (ParsedCUOffsets.insert(CUOffset).second) {
Expected<DWARFAddressRangesVector> CURanges = CU->collectAddressRanges();
if (!CURanges)
WithColor::error() << toString(CURanges.takeError()) << '\n';
CTX->getRecoverableErrorHandler()(CURanges.takeError());
else
for (const auto &R : *CURanges)
appendRange(CUOffset, R.LowPC, R.HighPC);

View File

@ -316,8 +316,9 @@ static void dumpAttribute(raw_ostream &OS, const DWARFDie &Die,
dumpRanges(Obj, OS, RangesOrError.get(), U->getAddressByteSize(),
sizeof(BaseIndent) + Indent + 4, DumpOpts);
else
WithColor::error() << "decoding address ranges: "
<< toString(RangesOrError.takeError()) << '\n';
DumpOpts.RecoverableErrorHandler(createStringError(
errc::invalid_argument, "decoding address ranges: %s",
toString(RangesOrError.takeError()).c_str()));
}
OS << ")\n";

View File

@ -21,7 +21,6 @@
#include "llvm/Support/DataExtractor.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/WithColor.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
@ -426,15 +425,17 @@ void DWARFUnit::extractDIEsToVector(
// should always terminate at or before the start of the next compilation
// unit header).
if (DIEOffset > NextCUOffset)
WithColor::warning() << format("DWARF compile unit extends beyond its "
"bounds cu 0x%8.8" PRIx64 " "
"at 0x%8.8" PRIx64 "\n",
getOffset(), DIEOffset);
Context.getWarningHandler()(
createStringError(errc::invalid_argument,
"DWARF compile unit extends beyond its "
"bounds cu 0x%8.8" PRIx64 " "
"at 0x%8.8" PRIx64 "\n",
getOffset(), DIEOffset));
}
void DWARFUnit::extractDIEsIfNeeded(bool CUDieOnly) {
if (Error e = tryExtractDIEsIfNeeded(CUDieOnly))
WithColor::error() << toString(std::move(e));
Context.getRecoverableErrorHandler()(std::move(e));
}
Error DWARFUnit::tryExtractDIEsIfNeeded(bool CUDieOnly) {
@ -596,9 +597,10 @@ bool DWARFUnit::parseDWO() {
RangesDA, RangeSectionBase, Header.getFormat()))
DWO->RngListTable = TableOrError.get();
else
WithColor::error() << "parsing a range list table: "
<< toString(TableOrError.takeError())
<< '\n';
Context.getRecoverableErrorHandler()(createStringError(
errc::invalid_argument, "parsing a range list table: %s",
toString(TableOrError.takeError()).c_str()));
if (DWO->RngListTable)
DWO->RangeSectionBase = DWO->RngListTable->getHeaderSize();
} else {