summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/heap-types.wast4
-rw-r--r--test/heap-types.wast.from-wast8
-rw-r--r--test/heap-types.wast.fromBinary10
-rw-r--r--test/heap-types.wast.fromBinary.noDebugInfo10
-rw-r--r--test/passes/Oz_fuzz-exec_all-features.wast6
5 files changed, 22 insertions, 16 deletions
diff --git a/test/heap-types.wast b/test/heap-types.wast
index a36f12daf..26283da7a 100644
--- a/test/heap-types.wast
+++ b/test/heap-types.wast
@@ -173,11 +173,11 @@
;; set the value to a local with type $struct.A, showing that the value
;; flowing out has the right type
(local.set $temp.A
- (br_on_cast $out $struct.B (ref.null $struct.A) (rtt.canon $struct.B))
+ (br_on_cast $out (ref.null $struct.A) (rtt.canon $struct.B))
)
;; an untaken br_on_cast, with unreachable rtt - so we cannot use the
;; RTT in binaryen IR to find the cast type.
- (br_on_cast $out $struct.B (ref.null $struct.A) (unreachable))
+ (br_on_cast $out (ref.null $struct.A) (unreachable))
(unreachable)
)
)
diff --git a/test/heap-types.wast.from-wast b/test/heap-types.wast.from-wast
index 4ff3bceec..c498e8fd5 100644
--- a/test/heap-types.wast.from-wast
+++ b/test/heap-types.wast.from-wast
@@ -184,13 +184,15 @@
(drop
(block $out (result (ref null ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|}))
(local.set $temp.A
- (br_on_cast $out ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|}
+ (br_on_cast $out
(ref.null ${i32_f32_f64})
(rtt.canon ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|})
)
)
- (br_on_cast $out ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|}
- (ref.null ${i32_f32_f64})
+ (block
+ (drop
+ (ref.null ${i32_f32_f64})
+ )
(unreachable)
)
(unreachable)
diff --git a/test/heap-types.wast.fromBinary b/test/heap-types.wast.fromBinary
index 9f0220c53..d1003a685 100644
--- a/test/heap-types.wast.fromBinary
+++ b/test/heap-types.wast.fromBinary
@@ -184,15 +184,17 @@
(drop
(block $label$1 (result (ref null ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|}))
(local.set $temp.A
- (br_on_cast $label$1 ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|}
+ (br_on_cast $label$1
(ref.null ${i32_f32_f64})
(rtt.canon ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|})
)
)
- (drop
- (ref.null ${i32_f32_f64})
+ (block $label$2
+ (drop
+ (ref.null ${i32_f32_f64})
+ )
+ (unreachable)
)
- (unreachable)
)
)
)
diff --git a/test/heap-types.wast.fromBinary.noDebugInfo b/test/heap-types.wast.fromBinary.noDebugInfo
index 864d66abb..61fffe7a3 100644
--- a/test/heap-types.wast.fromBinary.noDebugInfo
+++ b/test/heap-types.wast.fromBinary.noDebugInfo
@@ -184,15 +184,17 @@
(drop
(block $label$1 (result (ref null ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|}))
(local.set $0
- (br_on_cast $label$1 ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|}
+ (br_on_cast $label$1
(ref.null ${i32_f32_f64})
(rtt.canon ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|})
)
)
- (drop
- (ref.null ${i32_f32_f64})
+ (block $label$2
+ (drop
+ (ref.null ${i32_f32_f64})
+ )
+ (unreachable)
)
- (unreachable)
)
)
)
diff --git a/test/passes/Oz_fuzz-exec_all-features.wast b/test/passes/Oz_fuzz-exec_all-features.wast
index d521ad377..fb3be9691 100644
--- a/test/passes/Oz_fuzz-exec_all-features.wast
+++ b/test/passes/Oz_fuzz-exec_all-features.wast
@@ -147,9 +147,9 @@
(block $extendedblock (result (ref $extendedstruct))
(drop
;; second, try to cast our simple $struct to what it is, which will work
- (br_on_cast $block $struct
+ (br_on_cast $block
;; first, try to cast our simple $struct to an extended, which will fail
- (br_on_cast $extendedblock $extendedstruct
+ (br_on_cast $extendedblock
(local.get $any) (rtt.canon $extendedstruct)
)
(rtt.canon $struct)
@@ -168,7 +168,7 @@
(block $never (result (ref $extendedstruct))
;; an untaken br_on_cast, with unreachable rtt - so we cannot use the
;; RTT in binaryen IR to find the cast type.
- (br_on_cast $never $extendedstruct (ref.null $struct) (unreachable))
+ (br_on_cast $never (ref.null $struct) (unreachable))
(unreachable)
)
)