diff options
Diffstat (limited to 'lld/lib/Passes/StubsPass.cpp')
-rw-r--r-- | lld/lib/Passes/StubsPass.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lld/lib/Passes/StubsPass.cpp b/lld/lib/Passes/StubsPass.cpp index 32d906d5d50..9b9b6e042e8 100644 --- a/lld/lib/Passes/StubsPass.cpp +++ b/lld/lib/Passes/StubsPass.cpp @@ -21,6 +21,7 @@ #include "lld/Core/Reference.h" #include "llvm/ADT/DenseMap.h" +#include "llvm/Support/Casting.h" namespace lld { @@ -47,8 +48,8 @@ void StubsPass::perform() { if ( target->definition() == Atom::definitionSharedLibrary ) { // Calls to shared libraries go through stubs. replaceCalleeWithStub = true; - } - else if ( const DefinedAtom* defTarget = target->definedAtom() ) { + } else if (const DefinedAtom* defTarget = + llvm::dyn_cast<DefinedAtom>(target)) { if ( defTarget->interposable() != DefinedAtom::interposeNo ) { // Calls to interposable functions in same linkage unit // must also go through a stub. |