summaryrefslogtreecommitdiff
path: root/test/passes/code-pushing_all-features.wast
diff options
context:
space:
mode:
authorHeejin Ahn <aheejin@gmail.com>2021-06-08 13:15:59 -0700
committerGitHub <noreply@github.com>2021-06-08 13:15:59 -0700
commiteac90b56d4a749f10d440e4bb7fd744e4bc756e8 (patch)
treeaeb562b523b3a610cb716962c36cc4ee6367c2dc /test/passes/code-pushing_all-features.wast
parent28f227fb90d18d8c1fc2c52b592d2934469aef8e (diff)
downloadbinaryen-eac90b56d4a749f10d440e4bb7fd744e4bc756e8.tar.gz
binaryen-eac90b56d4a749f10d440e4bb7fd744e4bc756e8.tar.bz2
binaryen-eac90b56d4a749f10d440e4bb7fd744e4bc756e8.zip
[EH] Convert EH tests into lit tests (#3923)
This converts most EH tests in test/passes into test/lit/passes. Fixed some files to follow 2-space indentation and improved some comments.
Diffstat (limited to 'test/passes/code-pushing_all-features.wast')
-rw-r--r--test/passes/code-pushing_all-features.wast86
1 files changed, 0 insertions, 86 deletions
diff --git a/test/passes/code-pushing_all-features.wast b/test/passes/code-pushing_all-features.wast
deleted file mode 100644
index d9c7cecd4..000000000
--- a/test/passes/code-pushing_all-features.wast
+++ /dev/null
@@ -1,86 +0,0 @@
-(module
- (event $e (attr 0) (param i32))
-
- (func $cant-push-past-call
- (local $x i32)
- (block $out
- ;; This local.set cannot be pushed down, because the call below can throw
- (local.set $x (i32.const 1))
- (call $cant-push-past-call)
- (drop (i32.const 1))
- (br_if $out (i32.const 2))
- (drop (local.get $x))
- )
- )
-
- (func $cant-push-past-throw
- (local $x i32)
- (block $out
- ;; This local.set cannot be pushed down, because there is 'throw' below
- (local.set $x (i32.const 1))
- (throw $e (i32.const 0))
- (drop (i32.const 1))
- (br_if $out (i32.const 2))
- (drop (local.get $x))
- )
- )
-
- (func $can-push-past-try
- (local $x i32)
- (block $out
- ;; This local.set can be pushed down, because the 'throw' below is going
- ;; to be caught by the inner catch_all
- (local.set $x (i32.const 1))
- (try
- (do
- (throw $e (i32.const 0))
- )
- (catch_all)
- )
- (drop (i32.const 1))
- (br_if $out (i32.const 2))
- (drop (local.get $x))
- )
- )
-
- (func $foo)
- (func $cant-push-past-try
- (local $x i32)
- (block $out
- ;; This local.set cannot be pushed down, because the exception thrown by
- ;; 'call $foo' below may not be caught by 'catch $e'
- (local.set $x (i32.const 1))
- (try
- (do
- (call $foo)
- )
- (catch $e
- (drop (pop i32))
- )
- )
- (drop (i32.const 1))
- (br_if $out (i32.const 2))
- (drop (local.get $x))
- )
- )
-
- (func $cant-push-past-rethrow-within-catch
- (local $x i32)
- (block $out
- ;; This local.set cannot be pushed down, because there is 'rethrow' within
- ;; the inner catch_all
- (local.set $x (i32.const 1))
- (try $l0
- (do
- (throw $e (i32.const 0))
- )
- (catch_all
- (rethrow $l0)
- )
- )
- (drop (i32.const 1))
- (br_if $out (i32.const 2))
- (drop (local.get $x))
- )
- )
-)