From c59df4cda843ef11ad261f5c889dddc9a9d59d3b Mon Sep 17 00:00:00 2001 From: Abbas Mashayekh Date: Fri, 2 Apr 2021 21:34:03 +0430 Subject: Reorder global definitions in Print pass (#3770) This is needed to make sure globals are printed before element segments, where `global.get` can appear both as offset and an expression. --- src/passes/Print.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index b4b4ef70f..e3ea04b53 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -2892,6 +2892,8 @@ struct PrintSExpression : public UnifiedExpressionVisitor { *curr, [&](Function* func) { visitFunction(func); }); ModuleUtils::iterImportedEvents(*curr, [&](Event* event) { visitEvent(event); }); + ModuleUtils::iterDefinedGlobals( + *curr, [&](Global* global) { visitGlobal(global); }); ModuleUtils::iterDefinedMemories( *curr, [&](Memory* memory) { visitMemory(memory); }); ModuleUtils::iterDefinedTables(*curr, @@ -2909,8 +2911,6 @@ struct PrintSExpression : public UnifiedExpressionVisitor { } o << ')' << maybeNewLine; } - ModuleUtils::iterDefinedGlobals( - *curr, [&](Global* global) { visitGlobal(global); }); ModuleUtils::iterDefinedEvents(*curr, [&](Event* event) { visitEvent(event); }); for (auto& child : curr->exports) { -- cgit v1.2.3