diff options
Diffstat (limited to 'lld')
-rw-r--r-- | lld/lib/Core/Resolver.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/lld/lib/Core/Resolver.cpp b/lld/lib/Core/Resolver.cpp index 61913f99ac2..656a0395f7c 100644 --- a/lld/lib/Core/Resolver.cpp +++ b/lld/lib/Core/Resolver.cpp @@ -422,27 +422,26 @@ bool Resolver::checkUndefines() { if (!undefinedAtoms.empty()) { // FIXME: need diagnostics interface for writing error messages bool foundUndefines = false; - for (const UndefinedAtom *undefAtom : undefinedAtoms) { - const File &f = undefAtom->file(); - + for (const UndefinedAtom *undef : undefinedAtoms) { // Skip over a weak symbol. - if (undefAtom->canBeNull() != UndefinedAtom::canBeNullNever) + if (undef->canBeNull() != UndefinedAtom::canBeNullNever) continue; // If this is a library and undefined symbols are allowed on the // target platform, skip over it. - if (isa<SharedLibraryFile>(f) && _context.allowShlibUndefines()) + if (isa<SharedLibraryFile>(undef->file()) && + _context.allowShlibUndefines()) continue; // If the undefine is coalesced away, skip over it. - if (_symbolTable.isCoalescedAway(undefAtom)) + if (_symbolTable.isCoalescedAway(undef)) continue; // Seems like this symbol is undefined. Warn that. foundUndefines = true; if (_context.printRemainingUndefines()) { - llvm::errs() << "Undefined symbol: " << undefAtom->file().path() - << ": " << _context.demangle(undefAtom->name()) + llvm::errs() << "Undefined symbol: " << undef->file().path() + << ": " << _context.demangle(undef->name()) << "\n"; } } |