Commit 03a8833
Allows multiple arguments to be passed to PassRunner::add<T>() (#2208)
struct FooPass : public wasm::Pass {
FooPass(int a, int b);
};
PassRunner runner {module};
runner.add<FooPass>(1, 2); // To allow this
This change avoids unnecessary copying and allows us to pass the reference without reference_wrapper.
struct BarPass : public wasm::Pass {
BarPass(std::ostream& s);
};
runner.add<BarPass>(std::cout); // Error (cout is uncopyable)
runner.add<BarPass>(std::ref(std::cout)); // OK
↓
runner.add<BarPass>(std::cout); // OK (passed by reference)
runner.add<BarPass>(std::ref(std::cout)); // OK1 parent cbca5a2 commit 03a8833
1 file changed
+3
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
174 | | - | |
175 | | - | |
176 | | - | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
| |||
0 commit comments