summaryrefslogtreecommitdiffstats
path: root/lld/lib/Core/Resolver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib/Core/Resolver.cpp')
-rw-r--r--lld/lib/Core/Resolver.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lld/lib/Core/Resolver.cpp b/lld/lib/Core/Resolver.cpp
index fbfffb5aa8c..bb942f54b70 100644
--- a/lld/lib/Core/Resolver.cpp
+++ b/lld/lib/Core/Resolver.cpp
@@ -54,8 +54,8 @@ void Resolver::forEachUndefines(File &file, bool searchForOverrides,
StringRef undefName = _undefines[i];
if (undefName.empty())
continue;
- if (_symbolTable.isDefined(undefName) ||
- _symbolTable.isCoalescedAway(_symbolTable.findByName(undefName))) {
+ const Atom *atom = _symbolTable.findByName(undefName);
+ if (!isa<UndefinedAtom>(atom) || _symbolTable.isCoalescedAway(atom)) {
// The symbol was resolved by some other file. Cache the result.
_undefines[i] = "";
continue;
OpenPOWER on IntegriCloud