summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/passes/inlining_all-features.txt30
-rw-r--r--test/passes/inlining_all-features.wast27
2 files changed, 57 insertions, 0 deletions
diff --git a/test/passes/inlining_all-features.txt b/test/passes/inlining_all-features.txt
index e0ecf57b5..f255ed8ff 100644
--- a/test/passes/inlining_all-features.txt
+++ b/test/passes/inlining_all-features.txt
@@ -79,3 +79,33 @@
)
)
)
+(module
+ (type $none_=>_none (func))
+ (func $0
+ (try $label$3
+ (do
+ (nop)
+ )
+ (delegate 0)
+ )
+ )
+ (func $1
+ (call $0)
+ )
+)
+(module
+ (type $none_=>_i32 (func (result i32)))
+ (func $1 (result i32)
+ (try $label$3
+ (do
+ (nop)
+ )
+ (delegate 0)
+ )
+ (block (result i32)
+ (block $__inlined_func$0 (result i32)
+ (i32.const 42)
+ )
+ )
+ )
+)
diff --git a/test/passes/inlining_all-features.wast b/test/passes/inlining_all-features.wast
index 3890d63a1..4b20d4240 100644
--- a/test/passes/inlining_all-features.wast
+++ b/test/passes/inlining_all-features.wast
@@ -64,3 +64,30 @@
)
)
)
+;; for now, do not inline a try-delegate
+(module
+ (type $none_=>_none (func))
+ (func $0
+ (try $label$3
+ (do)
+ (delegate 0)
+ )
+ )
+ (func $1
+ (call $0)
+ )
+)
+;; properly support inlining into a function with a try-delegate
+(module
+ (type $none_=>_none (func))
+ (func $0 (result i32)
+ (i32.const 42)
+ )
+ (func $1 (result i32)
+ (try $label$3
+ (do)
+ (delegate 0)
+ )
+ (call $0)
+ )
+)