From 7835f7d4d4d2d0118ba40b9f60fb32de8a43c272 Mon Sep 17 00:00:00 2001 From: Thomas Lively <7121787+tlively@users.noreply.github.com> Date: Mon, 2 Aug 2021 12:06:51 -0400 Subject: 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. --- src/ir/module-utils.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') 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); } } -- cgit v1.2.3