diff options
author | Thomas Lively <tlively@google.com> | 2024-01-04 14:25:18 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-04 14:25:18 -0800 |
commit | a58281ca114359cd6e65f5daaf086636aa18b0b0 (patch) | |
tree | ff98bd31d1c87b598027c2303b17855a44346515 /test/passes/safe-heap_start-function.txt | |
parent | 0ed42cf976ce9a3dfbe9cbb0885122e8fb6a377b (diff) | |
download | binaryen-a58281ca114359cd6e65f5daaf086636aa18b0b0.tar.gz binaryen-a58281ca114359cd6e65f5daaf086636aa18b0b0.tar.bz2 binaryen-a58281ca114359cd6e65f5daaf086636aa18b0b0.zip |
Require `then` and `else` with `if` (#6201)
We previously supported (and primarily used) a non-standard text format for
conditionals in which the condition, if-true expression, and if-false expression
were all simply s-expression children of the `if` expression. The standard text
format, however, requires the use of `then` and `else` forms to introduce the
if-true and if-false arms of the conditional. Update the legacy text parser to
require the standard format and update all tests to match. Update the printer to
print the standard format as well.
The .wast and .wat test inputs were mechanically updated with this script:
https://gist.github.com/tlively/85ae7f01f92f772241ec994c840ccbb1
Diffstat (limited to 'test/passes/safe-heap_start-function.txt')
-rw-r--r-- | test/passes/safe-heap_start-function.txt | 348 |
1 files changed, 261 insertions, 87 deletions
diff --git a/test/passes/safe-heap_start-function.txt b/test/passes/safe-heap_start-function.txt index ae7559a97..11b258945 100644 --- a/test/passes/safe-heap_start-function.txt +++ b/test/passes/safe-heap_start-function.txt @@ -74,7 +74,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i32.load8_s (local.get $2) @@ -104,7 +106,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i32.load8_u (local.get $2) @@ -134,7 +138,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i32.load16_s align=1 (local.get $2) @@ -164,14 +170,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i32.load16_s (local.get $2) @@ -201,7 +211,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i32.load16_u align=1 (local.get $2) @@ -231,14 +243,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i32.load16_u (local.get $2) @@ -268,7 +284,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i32.load align=1 (local.get $2) @@ -298,14 +316,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i32.load align=2 (local.get $2) @@ -335,14 +357,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 3) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i32.load (local.get $2) @@ -372,7 +398,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i64.load8_s (local.get $2) @@ -402,7 +430,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i64.load8_u (local.get $2) @@ -432,7 +462,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i64.load16_s align=1 (local.get $2) @@ -462,14 +494,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.load16_s (local.get $2) @@ -499,7 +535,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i64.load16_u align=1 (local.get $2) @@ -529,14 +567,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.load16_u (local.get $2) @@ -566,7 +608,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i64.load32_s align=1 (local.get $2) @@ -596,14 +640,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.load32_s align=2 (local.get $2) @@ -633,14 +681,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 3) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.load32_s (local.get $2) @@ -670,7 +722,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i64.load32_u align=1 (local.get $2) @@ -700,14 +754,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.load32_u align=2 (local.get $2) @@ -737,14 +795,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 3) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.load32_u (local.get $2) @@ -774,7 +836,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i64.load align=1 (local.get $2) @@ -804,14 +868,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.load align=2 (local.get $2) @@ -841,14 +909,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 3) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.load align=4 (local.get $2) @@ -878,14 +950,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 7) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.load (local.get $2) @@ -915,7 +991,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (f32.load align=1 (local.get $2) @@ -945,14 +1023,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (f32.load align=2 (local.get $2) @@ -982,14 +1064,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 3) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (f32.load (local.get $2) @@ -1019,7 +1105,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (f64.load align=1 (local.get $2) @@ -1049,14 +1137,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (f64.load align=2 (local.get $2) @@ -1086,14 +1178,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 3) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (f64.load align=4 (local.get $2) @@ -1123,14 +1219,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $2) (i32.const 7) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (f64.load (local.get $2) @@ -1160,7 +1260,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i32.store8 (local.get $3) @@ -1191,7 +1293,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i32.store16 align=1 (local.get $3) @@ -1222,14 +1326,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i32.store16 (local.get $3) @@ -1260,7 +1368,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i32.store align=1 (local.get $3) @@ -1291,14 +1401,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i32.store align=2 (local.get $3) @@ -1329,14 +1443,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 3) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i32.store (local.get $3) @@ -1367,7 +1485,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i64.store8 (local.get $3) @@ -1398,7 +1518,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i64.store16 align=1 (local.get $3) @@ -1429,14 +1551,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.store16 (local.get $3) @@ -1467,7 +1593,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i64.store32 align=1 (local.get $3) @@ -1498,14 +1626,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.store32 align=2 (local.get $3) @@ -1536,14 +1668,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 3) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.store32 (local.get $3) @@ -1574,7 +1710,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (i64.store align=1 (local.get $3) @@ -1605,14 +1743,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.store align=2 (local.get $3) @@ -1643,14 +1785,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 3) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.store align=4 (local.get $3) @@ -1681,14 +1827,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 7) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (i64.store (local.get $3) @@ -1719,7 +1869,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (f32.store align=1 (local.get $3) @@ -1750,14 +1902,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (f32.store align=2 (local.get $3) @@ -1788,14 +1944,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 3) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (f32.store (local.get $3) @@ -1826,7 +1986,9 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (f64.store align=1 (local.get $3) @@ -1857,14 +2019,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 1) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (f64.store align=2 (local.get $3) @@ -1895,14 +2061,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 3) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (f64.store align=4 (local.get $3) @@ -1933,14 +2103,18 @@ ) ) ) - (call $segfault) + (then + (call $segfault) + ) ) (if (i32.and (local.get $3) (i32.const 7) ) - (call $alignfault) + (then + (call $alignfault) + ) ) (f64.store (local.get $3) |