summaryrefslogtreecommitdiff
path: root/src/ir/module-splitting.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir/module-splitting.cpp')
-rw-r--r--src/ir/module-splitting.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/ir/module-splitting.cpp b/src/ir/module-splitting.cpp
index 3d876bf7a..8ef0e7b8c 100644
--- a/src/ir/module-splitting.cpp
+++ b/src/ir/module-splitting.cpp
@@ -395,8 +395,9 @@ void ModuleSplitter::exportImportFunction(Name funcName) {
// Import the function if it is not already imported into the secondary
// module.
if (secondary.getFunctionOrNull(funcName) == nullptr) {
- auto func =
- Builder::makeFunction(funcName, primary.getFunction(funcName)->type, {});
+ auto primaryFunc = primary.getFunction(funcName);
+ auto func = Builder::makeFunction(funcName, primaryFunc->type, {});
+ func->hasExplicitName = primaryFunc->hasExplicitName;
func->module = config.importNamespace;
func->base = exportName;
secondary.addFunction(std::move(func));
@@ -542,7 +543,7 @@ void ModuleSplitter::setupTablePatching() {
placeholder->base = std::to_string(index);
placeholder->name = Names::getValidFunctionName(
primary, std::string("placeholder_") + placeholder->base.toString());
- placeholder->hasExplicitName = false;
+ placeholder->hasExplicitName = true;
placeholder->type = secondaryFunc->type;
elem = placeholder->name;
primary.addFunction(std::move(placeholder));