diff --git a/codon/parser/parser.cpp b/codon/parser/parser.cpp index b3a76d0b..8f981d76 100644 --- a/codon/parser/parser.cpp +++ b/codon/parser/parser.cpp @@ -208,8 +208,12 @@ int jitLoop(const std::string &argv0) { for (auto &g : cache->globals) if (!g.second) globalNames.push_back(g.first); - - auto func = ast::TranslateVisitor::apply(cache, typechecked); + // add newly realized functions + vector v; + for (auto &p : cache->pendingRealizations) + v.push_back(cache->functions[p.first].ast); + v.push_back(typechecked); + auto func = ast::TranslateVisitor::apply(cache, make_shared(v)); cache->jitCell++; vector globalVars;