summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tools/wasm-fuzz-types.cpp7
-rw-r--r--test/lit/fuzz-types/isorecursive.test36
-rw-r--r--test/lit/fuzz-types/nominal.test38
3 files changed, 40 insertions, 41 deletions
diff --git a/src/tools/wasm-fuzz-types.cpp b/src/tools/wasm-fuzz-types.cpp
index 4dfa1cf62..dd85223dc 100644
--- a/src/tools/wasm-fuzz-types.cpp
+++ b/src/tools/wasm-fuzz-types.cpp
@@ -116,18 +116,17 @@ void Fuzzer::printTypes(const std::vector<HeapType>& types) {
if (inRecGroup()) {
std::cout << ' ';
}
- std::cout << "(type $" << i << ' ';
if (type.isBasic()) {
- std::cout << print(type) << ")\n";
+ std::cout << "(type $" << i << ' ' << print(type) << ")\n";
continue;
}
auto [it, inserted] = seen.insert({type, i});
if (inserted) {
std::cout << print(type);
} else {
- std::cout << "identical to $" << it->second;
+ std::cout << "(type $" << i << " identical to $" << it->second << ")";
}
- std::cout << ")\n";
+ std::cout << "\n";
}
if (inRecGroup()) {
std::cout << ")\n";
diff --git a/test/lit/fuzz-types/isorecursive.test b/test/lit/fuzz-types/isorecursive.test
index 92f604215..78adf1bbc 100644
--- a/test/lit/fuzz-types/isorecursive.test
+++ b/test/lit/fuzz-types/isorecursive.test
@@ -34,33 +34,33 @@
;; CHECK-NEXT: Inhabitable types:
;; CHECK-NEXT:
;; CHECK-NEXT: Built 20 types:
-;; CHECK-NEXT: (type $0 (type $0 (struct)))
+;; CHECK-NEXT: (type $0 (struct))
;; CHECK-NEXT: (rec
-;; CHECK-NEXT: (type $1 (type $1 (struct)))
-;; CHECK-NEXT: (type $2 (type $2 (array i16)))
-;; CHECK-NEXT: (type $3 (type $3 (func)))
-;; CHECK-NEXT: (type $4 (type $4 (func (param (ref $5) i32 i64 f64 f64 (ref eq) v128) (result i64))))
-;; CHECK-NEXT: (type $5 (type $5 (array (mut i32))))
+;; CHECK-NEXT: (type $1 (struct))
+;; CHECK-NEXT: (type $2 (array i16))
+;; CHECK-NEXT: (type $3 (func))
+;; CHECK-NEXT: (type $4 (func (param (ref $5) i32 i64 f64 f64 (ref eq) v128) (result i64)))
+;; CHECK-NEXT: (type $5 (array (mut i32)))
;; CHECK-NEXT: )
;; CHECK-NEXT: (rec
-;; CHECK-NEXT: (type $6 (type $6 (array (mut funcref))))
-;; CHECK-NEXT: (type $7 (type $7 (func (param f64) (result i64))))
+;; CHECK-NEXT: (type $6 (array (mut funcref)))
+;; CHECK-NEXT: (type $7 (func (param f64) (result i64)))
;; CHECK-NEXT: )
;; CHECK-NEXT: (rec
-;; CHECK-NEXT: (type $8 (type $8 (struct_subtype (field f64 (ref $2) f64 (mut (ref null $9))) $1)))
-;; CHECK-NEXT: (type $9 (type $9 (func_subtype (param (ref array) i32 i64 f64 f64 anyref v128) (result i64) $4)))
+;; CHECK-NEXT: (type $8 (struct_subtype (field f64 (ref $2) f64 (mut (ref null $9))) $1))
+;; CHECK-NEXT: (type $9 (func_subtype (param (ref array) i32 i64 f64 f64 anyref v128) (result i64) $4))
;; CHECK-NEXT: )
;; CHECK-NEXT: (rec
-;; CHECK-NEXT: (type $10 (type $10 (func_subtype (param (ref eq) i32 i64 f64 f64 anyref v128) (result i64) $9)))
-;; CHECK-NEXT: (type $11 (type $11 (array_subtype (mut funcref) $6)))
-;; CHECK-NEXT: (type $12 (type $12 (array nullref)))
+;; CHECK-NEXT: (type $10 (func_subtype (param (ref eq) i32 i64 f64 f64 anyref v128) (result i64) $9))
+;; CHECK-NEXT: (type $11 (array_subtype (mut funcref) $6))
+;; CHECK-NEXT: (type $12 (array nullref))
;; CHECK-NEXT: (type $13 none)
-;; CHECK-NEXT: (type $14 (type $14 (array (ref $6))))
-;; CHECK-NEXT: (type $15 (type $15 (array i32)))
+;; CHECK-NEXT: (type $14 (array (ref $6)))
+;; CHECK-NEXT: (type $15 (array i32))
;; CHECK-NEXT: )
;; CHECK-NEXT: (rec
-;; CHECK-NEXT: (type $16 (type $16 (array_subtype nullref $12)))
-;; CHECK-NEXT: (type $17 (type $17 (func (param (ref null $9)) (result f32 structref))))
+;; CHECK-NEXT: (type $16 (array_subtype nullref $12))
+;; CHECK-NEXT: (type $17 (func (param (ref null $9)) (result f32 structref)))
;; CHECK-NEXT: (type $18 none)
;; CHECK-NEXT: )
-;; CHECK-NEXT: (type $19 (type $19 (func_subtype (param (ref any) i32 i64 f64 f64 anyref v128) (result i64) $9)))
+;; CHECK-NEXT: (type $19 (func_subtype (param (ref any) i32 i64 f64 f64 anyref v128) (result i64) $9))
diff --git a/test/lit/fuzz-types/nominal.test b/test/lit/fuzz-types/nominal.test
index 613e73b52..062900b62 100644
--- a/test/lit/fuzz-types/nominal.test
+++ b/test/lit/fuzz-types/nominal.test
@@ -24,23 +24,23 @@
;; CHECK-NEXT: Inhabitable types:
;; CHECK-NEXT:
;; CHECK-NEXT: Built 20 types:
-;; CHECK-NEXT: (type $0 (type $0 (struct (field (mut i16) i31ref f32 f32 f64))))
-;; CHECK-NEXT: (type $1 (type $1 (func (param f64 v128))))
-;; CHECK-NEXT: (type $2 (type $2 (struct (field (mut (ref null $19)) f64 arrayref))))
-;; CHECK-NEXT: (type $3 (type $3 (struct_subtype (field (mut i16) (ref i31) f32 f32 f64) $0)))
-;; CHECK-NEXT: (type $4 (type $4 (struct)))
+;; CHECK-NEXT: (type $0 (struct (field (mut i16) i31ref f32 f32 f64)))
+;; CHECK-NEXT: (type $1 (func (param f64 v128)))
+;; CHECK-NEXT: (type $2 (struct (field (mut (ref null $19)) f64 arrayref)))
+;; CHECK-NEXT: (type $3 (struct_subtype (field (mut i16) (ref i31) f32 f32 f64) $0))
+;; CHECK-NEXT: (type $4 (struct))
;; CHECK-NEXT: (type $5 none)
-;; CHECK-NEXT: (type $6 (type $6 (array (mut eqref))))
-;; CHECK-NEXT: (type $7 (type $7 (func_subtype (param f64 v128) $1)))
-;; CHECK-NEXT: (type $8 (type $8 (array anyref)))
-;; CHECK-NEXT: (type $9 (type $9 (array f32)))
-;; CHECK-NEXT: (type $10 (type $10 (struct_subtype (field (mut i16) (ref i31) f32 f32 f64) $0)))
-;; CHECK-NEXT: (type $11 (type $11 (func (result f64))))
-;; CHECK-NEXT: (type $12 (type $12 (func_subtype (param f64 v128) $1)))
-;; CHECK-NEXT: (type $13 (type $13 (func_subtype (param f64 v128) $12)))
-;; CHECK-NEXT: (type $14 (type $14 (func_subtype (result f64) $11)))
-;; CHECK-NEXT: (type $15 (type $15 (func_subtype (result f64) $14)))
-;; CHECK-NEXT: (type $16 (type $16 (func (param (ref struct)) (result structref))))
-;; CHECK-NEXT: (type $17 (type $17 (array (mut (ref $2)))))
-;; CHECK-NEXT: (type $18 (type $18 (array (ref $10))))
-;; CHECK-NEXT: (type $19 (type $19 (struct_subtype (field (mut i16) (ref i31) f32 f32 f64 (mut f32)) $0)))
+;; CHECK-NEXT: (type $6 (array (mut eqref)))
+;; CHECK-NEXT: (type $7 (func_subtype (param f64 v128) $1))
+;; CHECK-NEXT: (type $8 (array anyref))
+;; CHECK-NEXT: (type $9 (array f32))
+;; CHECK-NEXT: (type $10 (struct_subtype (field (mut i16) (ref i31) f32 f32 f64) $0))
+;; CHECK-NEXT: (type $11 (func (result f64)))
+;; CHECK-NEXT: (type $12 (func_subtype (param f64 v128) $1))
+;; CHECK-NEXT: (type $13 (func_subtype (param f64 v128) $12))
+;; CHECK-NEXT: (type $14 (func_subtype (result f64) $11))
+;; CHECK-NEXT: (type $15 (func_subtype (result f64) $14))
+;; CHECK-NEXT: (type $16 (func (param (ref struct)) (result structref)))
+;; CHECK-NEXT: (type $17 (array (mut (ref $2))))
+;; CHECK-NEXT: (type $18 (array (ref $10)))
+;; CHECK-NEXT: (type $19 (struct_subtype (field (mut i16) (ref i31) f32 f32 f64 (mut f32)) $0))