summaryrefslogtreecommitdiff
path: root/test/exception-handling.wast
diff options
context:
space:
mode:
authorHeejin Ahn <aheejin@gmail.com>2022-06-27 12:19:27 -0700
committerGitHub <noreply@github.com>2022-06-27 12:19:27 -0700
commit7b7e2c56b7df43c7c6d99ef44dc4fff3b2e142bc (patch)
tree8cbb21f59c096444f5996cffacdeecef42dd1f03 /test/exception-handling.wast
parent5811c2c7d50c10327565a23e19bf39c105593710 (diff)
downloadbinaryen-7b7e2c56b7df43c7c6d99ef44dc4fff3b2e142bc.tar.gz
binaryen-7b7e2c56b7df43c7c6d99ef44dc4fff3b2e142bc.tar.bz2
binaryen-7b7e2c56b7df43c7c6d99ef44dc4fff3b2e142bc.zip
[EH] Fix printing bug in nested blocks + delegate (#4753)
`controlFlowDepth` is a variable used to print `delegate`'s target. When printing nested blocks, we increase `controlFlowDepth` by the number of nested blocks at once. But we should decrement it as we finish each block, rather than decrease by the number of nested blocks at once, because we need correct `controlFlowDepth` within nested blocks.
Diffstat (limited to 'test/exception-handling.wast')
-rw-r--r--test/exception-handling.wast13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/exception-handling.wast b/test/exception-handling.wast
index 1db356684..642856f03 100644
--- a/test/exception-handling.wast
+++ b/test/exception-handling.wast
@@ -352,4 +352,17 @@
)
)
)
+
+ ;; When 'delegate' is next to a nested block, make sure its delegate argument
+ ;; is parsed correctly.
+ (func $nested-block-and-try
+ (block $l0
+ (block $l1)
+ (try
+ (do)
+ (delegate 1) ;; to caller
+ )
+ )
+ (nop)
+ )
)