diff options
author | Thomas Lively <tlively@google.com> | 2022-11-29 14:42:41 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-29 20:42:41 +0000 |
commit | 5a58d1132feebb902c30cb95b1f74673e490ad52 (patch) | |
tree | 993032d997c6f00ddbd66e4cd90b2ae7e0af55f2 /src/passes/MergeSimilarFunctions.cpp | |
parent | 83cceaca5c9ce53ba4115aa732e7196db67bc493 (diff) | |
download | binaryen-5a58d1132feebb902c30cb95b1f74673e490ad52.tar.gz binaryen-5a58d1132feebb902c30cb95b1f74673e490ad52.tar.bz2 binaryen-5a58d1132feebb902c30cb95b1f74673e490ad52.zip |
Fix validation and inlining bugs (#5301)
Inlining had a bug where it gave return_calls in inlined callees concrete types
even when they should have remained unreachable. This bug flew under the radar
because validation had a bug where it allowed expressions to have concrete types
when they should have been unreachable. The fuzzer found this bug by adding
another pass after inlining where the unexpected types caused an assertion
failure.
Fix the bugs and add a test that would have triggered the inlining bug.
Unfortunately the test would have also passed before this change due to the
validation bug, but it's better than nothing.
Fixes #5294.
Diffstat (limited to 'src/passes/MergeSimilarFunctions.cpp')
0 files changed, 0 insertions, 0 deletions