summaryrefslogtreecommitdiff
path: root/src/passes/RemoveNonJSOps.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/passes/RemoveNonJSOps.cpp')
-rw-r--r--src/passes/RemoveNonJSOps.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/passes/RemoveNonJSOps.cpp b/src/passes/RemoveNonJSOps.cpp
index a98189584..906c34bc4 100644
--- a/src/passes/RemoveNonJSOps.cpp
+++ b/src/passes/RemoveNonJSOps.cpp
@@ -128,7 +128,10 @@ struct RemoveNonJSOpsPass : public WalkerPass<PostWalker<RemoveNonJSOpsPass>> {
auto function = m.getFunction(name);
FindAll<Call> calls(function->body);
for (auto* call : calls.list) {
- this->addNeededFunctions(m, call->target, needed);
+ auto* called = m.getFunction(call->target);
+ if (!called->imported()) {
+ this->addNeededFunctions(m, call->target, needed);
+ }
}
}