diff options
author | Jukka Jylänki <jujjyl@gmail.com> | 2016-06-11 01:08:30 +0300 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-06-21 16:44:14 -0700 |
commit | 41689a5dde63c96eb1bf7daf50bc192979aa0452 (patch) | |
tree | 5d4e4ceb383b8d4db087dc78c0dc5297d6f876b0 /src/passes/Print.cpp | |
parent | cd788a1a62025fed3832672cb539dda4c4ce1329 (diff) | |
download | binaryen-41689a5dde63c96eb1bf7daf50bc192979aa0452.tar.gz binaryen-41689a5dde63c96eb1bf7daf50bc192979aa0452.tar.bz2 binaryen-41689a5dde63c96eb1bf7daf50bc192979aa0452.zip |
Add initialization functions for passes to avoid missing pass registration due to linker dead code elimination. Fixes #577.
Diffstat (limited to 'src/passes/Print.cpp')
-rw-r--r-- | src/passes/Print.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index 23d03ec40..2408ed1b7 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -623,7 +623,9 @@ void Printer::run(PassRunner* runner, Module* module) { print.visitModule(module); } -static RegisterPass<Printer> registerPass("print", "print in s-expression format"); +Pass *createPrinterPass() { + return new Printer(); +} // Prints out a minified module @@ -639,7 +641,9 @@ public: } }; -static RegisterPass<MinifiedPrinter> registerMinifyPass("print-minified", "print in minified s-expression format"); +Pass *createMinifiedPrinterPass() { + return new MinifiedPrinter(); +} // Prints out a module withough elision, i.e., the full ast @@ -655,7 +659,9 @@ public: } }; -static RegisterPass<FullPrinter> registerFullASTPass("print-full", "print in full s-expression format"); +Pass *createFullPrinterPass() { + return new FullPrinter(); +} // Print individual expressions |