diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2021-08-02 12:06:51 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-02 09:06:51 -0700 |
commit | 7835f7d4d4d2d0118ba40b9f60fb32de8a43c272 (patch) | |
tree | d9f8afe0dacc3887a440870280d2a388de0c91b6 /src | |
parent | f35f02c1ce1b3129aa83d2dddeababd414c1ca8f (diff) | |
download | binaryen-7835f7d4d4d2d0118ba40b9f60fb32de8a43c272.tar.gz binaryen-7835f7d4d4d2d0118ba40b9f60fb32de8a43c272.tar.bz2 binaryen-7835f7d4d4d2d0118ba40b9f60fb32de8a43c272.zip |
Test GC lit tests with --nominal as well (#4043)
Add a new run line to every list test containing a struct type to run the test
again with nominal typing. In cases where tests do not use any struct subtyping,
this does not change the test output. In cases where struct subtyping is used, a
new check prefix is introduced to capture the difference that `(extends ...)`
clauses are emitted in nominal mode but not in equirecursive mode. There are no
other test differences.
Some tests are cleaned up along the way. Notably,
O_all-features{,-ignore-implicit-traps}.wast is consolidated to a single file.
Diffstat (limited to 'src')
-rw-r--r-- | src/ir/module-utils.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h index 2cbab414b..d916f51a2 100644 --- a/src/ir/module-utils.h +++ b/src/ir/module-utils.h @@ -569,8 +569,12 @@ inline void collectHeapTypes(Module& wasm, if (ht.getSuperType(super)) { if (!counts.count(super)) { newTypes.insert(super); + // We should unconditionally count supertypes, but while the type system + // is in flux, skip counting them to keep the type orderings in nominal + // test outputs more similar to the orderings in the equirecursive + // outputs. FIXME + counts.note(super); } - counts.note(super); } } |