diff options
Diffstat (limited to 'llvm/tools/dsymutil/MachODebugMapParser.cpp')
-rw-r--r-- | llvm/tools/dsymutil/MachODebugMapParser.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/llvm/tools/dsymutil/MachODebugMapParser.cpp b/llvm/tools/dsymutil/MachODebugMapParser.cpp index 29529942cb8..87577610752 100644 --- a/llvm/tools/dsymutil/MachODebugMapParser.cpp +++ b/llvm/tools/dsymutil/MachODebugMapParser.cpp @@ -402,9 +402,12 @@ void MachODebugMapParser::loadCurrentObjectFileSymbols( for (auto Sym : Obj.symbols()) { uint64_t Addr = Sym.getValue(); - ErrorOr<StringRef> Name = Sym.getName(); - if (!Name) + Expected<StringRef> Name = Sym.getName(); + if (!Name) { + // TODO: Actually report errors helpfully. + consumeError(Name.takeError()); continue; + } // The value of some categories of symbols isn't meaningful. For // example common symbols store their size in the value field, not // their address. Absolute symbols have a fixed address that can @@ -457,9 +460,12 @@ void MachODebugMapParser::loadMainBinarySymbols( if (Section == MainBinary.section_end() || Section->isText()) continue; uint64_t Addr = Sym.getValue(); - ErrorOr<StringRef> NameOrErr = Sym.getName(); - if (!NameOrErr) + Expected<StringRef> NameOrErr = Sym.getName(); + if (!NameOrErr) { + // TODO: Actually report errors helpfully. + consumeError(NameOrErr.takeError()); continue; + } StringRef Name = *NameOrErr; if (Name.size() == 0 || Name[0] == '\0') continue; |