diff options
Diffstat (limited to 'src/binaryen-c.cpp')
-rw-r--r-- | src/binaryen-c.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index be80206f5..298a50233 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -5453,7 +5453,10 @@ void BinaryenModuleRunPasses(BinaryenModuleRef module, PassRunner passRunner((Module*)module); passRunner.options = globalPassOptions; for (BinaryenIndex i = 0; i < numPasses; i++) { - passRunner.add(passes[i]); + passRunner.add(passes[i], + globalPassOptions.arguments.count(passes[i]) > 0 + ? globalPassOptions.arguments[passes[i]] + : std::optional<std::string>()); } passRunner.run(); } @@ -5704,7 +5707,10 @@ void BinaryenFunctionRunPasses(BinaryenFunctionRef func, PassRunner passRunner((Module*)module); passRunner.options = globalPassOptions; for (BinaryenIndex i = 0; i < numPasses; i++) { - passRunner.add(passes[i]); + passRunner.add(passes[i], + globalPassOptions.arguments.count(passes[i]) > 0 + ? globalPassOptions.arguments[passes[i]] + : std::optional<std::string>()); } passRunner.runOnFunction((Function*)func); } |