diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2021-06-17 10:53:54 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-17 14:53:54 +0000 |
commit | fb9d2a779c0267b9348bb87a9de6974658dda69d (patch) | |
tree | 267b8ec888592959abe8c9dc53bc84cc49119cd3 /test/example/module-splitting.cpp | |
parent | c36c6fa9e42f4e917864312780ba95fb996eda79 (diff) | |
download | binaryen-fb9d2a779c0267b9348bb87a9de6974658dda69d.tar.gz binaryen-fb9d2a779c0267b9348bb87a9de6974658dda69d.tar.bz2 binaryen-fb9d2a779c0267b9348bb87a9de6974658dda69d.zip |
[wasm2js] Refactor assertion parsing (#3938)
Assertions were previously parsed by replacing "invoke" with "call" and using
the normal s-expr parser. The parseCall method of the s-expr parser uses the
call target to look up the correct signature on the module, but the invoke
targets in assertions use export names rather than internal function names, so
the signature lookups were inserting new bogus entries with default values.
This issue didn't seem to cause any big problems before, but #3935 turns it into
a hard error because the default `HeapType` does not have an associated
signature.
Fix the problem (at least in the common case of trivial arguments and expected
results) by manually construction a `Call` expression rather than depending on
the s-expr parser to construct it.
Diffstat (limited to 'test/example/module-splitting.cpp')
0 files changed, 0 insertions, 0 deletions