Skip to content

block

block creates a labeled scope. Branching to its label exits the block. It can optionally produce results.

(module
(func (param $n i32) (result i32)
(block $out (result i32)
(br_if $out (i32.eqz (local.get $n)))
(i32.const 42)))
)
  • Label names are optional — you can also target blocks by relative depth index.
  • A block with (result ...) must leave that typed value on the stack on all exits.