summaryrefslogtreecommitdiffstats
path: root/lld/COFF/InputFiles.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/COFF/InputFiles.cpp')
-rw-r--r--lld/COFF/InputFiles.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/lld/COFF/InputFiles.cpp b/lld/COFF/InputFiles.cpp
index 6fdb8e26535..bcf9a29d7a9 100644
--- a/lld/COFF/InputFiles.cpp
+++ b/lld/COFF/InputFiles.cpp
@@ -74,15 +74,14 @@ void ArchiveFile::parse() {
// Returns a buffer pointing to a member file containing a given symbol.
// This function is thread-safe.
MemoryBufferRef ArchiveFile::getMember(const Archive::Symbol *Sym) {
- auto ItOrErr = Sym->getMember();
- error(ItOrErr,
- Twine("Could not get the member for symbol ") + Sym->getName());
- Archive::child_iterator It = *ItOrErr;
+ auto COrErr = Sym->getMember();
+ error(COrErr, Twine("Could not get the member for symbol ") + Sym->getName());
+ const Archive::Child &C = *COrErr;
// Return an empty buffer if we have already returned the same buffer.
- if (Seen[It->getChildOffset()].test_and_set())
+ if (Seen[C.getChildOffset()].test_and_set())
return MemoryBufferRef();
- ErrorOr<MemoryBufferRef> Ret = It->getMemoryBufferRef();
+ ErrorOr<MemoryBufferRef> Ret = C.getMemoryBufferRef();
error(Ret, Twine("Could not get the buffer for the member defining symbol ") +
Sym->getName());
return *Ret;
OpenPOWER on IntegriCloud