summaryrefslogtreecommitdiff
path: root/src/passes/Print.cpp
diff options
context:
space:
mode:
authorJukka Jylänki <jujjyl@gmail.com>2016-06-11 01:08:30 +0300
committerAlon Zakai <alonzakai@gmail.com>2016-06-21 16:44:14 -0700
commit41689a5dde63c96eb1bf7daf50bc192979aa0452 (patch)
tree5d4e4ceb383b8d4db087dc78c0dc5297d6f876b0 /src/passes/Print.cpp
parentcd788a1a62025fed3832672cb539dda4c4ce1329 (diff)
downloadbinaryen-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.cpp12
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