diff options
Diffstat (limited to 'src/passes/Asyncify.cpp')
-rw-r--r-- | src/passes/Asyncify.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/passes/Asyncify.cpp b/src/passes/Asyncify.cpp index cb80b90c7..98b4425b1 100644 --- a/src/passes/Asyncify.cpp +++ b/src/passes/Asyncify.cpp @@ -349,6 +349,9 @@ public: } struct Walker : PostWalker<Walker> { void visitCall(Call* curr) { + if (curr->isReturn) { + Fatal() << "tail calls not yet supported in aysncify"; + } auto* target = module->getFunction(curr->target); if (target->imported() && target->module == ASYNCIFY) { // Redirect the imports to the functions we'll add later. @@ -375,6 +378,9 @@ public: info->callsTo.insert(target); } void visitCallIndirect(CallIndirect* curr) { + if (curr->isReturn) { + Fatal() << "tail calls not yet supported in aysncify"; + } if (canIndirectChangeState) { info->canChangeState = true; } |