summaryrefslogtreecommitdiff
path: root/test/mono/atomsplit.sail
blob: 23a1b0fb5296358d3d5ce7cc9a146642869a1515 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
default Order dec
$include <prelude.sail>

/* Test splitting required because there's a size calculation in the function */

val foo : forall 'n. atom('n) -> unit effect {escape}

function foo(n) = {
  assert(constraint('n in {2,4}));
  let 'm = 8 * n in
  let x : bits('m) = replicate_bits(0b0,m) in
  let y : bits('n) = replicate_bits(0b0,n) in
  ()
}

val run : unit -> unit effect {escape}

function run () = {
    foo(2);
    foo(4);
}