summaryrefslogtreecommitdiffstats
path: root/lld/lib/Passes/StubsPass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib/Passes/StubsPass.cpp')
-rw-r--r--lld/lib/Passes/StubsPass.cpp5
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.
OpenPOWER on IntegriCloud