diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/ocaml/loop/expect | 100 | ||||
| -rw-r--r-- | test/ocaml/loop/loop.sail | 18 | ||||
| -rw-r--r-- | test/typecheck/pass/ex_cast.sail | 12 | ||||
| -rw-r--r-- | test/typecheck/pass/nzcv.sail | 4 |
4 files changed, 134 insertions, 0 deletions
diff --git a/test/ocaml/loop/expect b/test/ocaml/loop/expect new file mode 100644 index 00000000..190423f8 --- /dev/null +++ b/test/ocaml/loop/expect @@ -0,0 +1,100 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 diff --git a/test/ocaml/loop/loop.sail b/test/ocaml/loop/loop.sail new file mode 100644 index 00000000..5ab0e817 --- /dev/null +++ b/test/ocaml/loop/loop.sail @@ -0,0 +1,18 @@ + +val extern int -> string effect pure string_of_int = "string_of_big_int" + +val extern (int, int) -> int effect pure add = "add" +val extern (int, int) -> bool effect pure lt = "lt_int" + +overload (deinfix +) [add] +overload (deinfix <) [lt] + +val unit -> unit effect pure main + +function main () = { + (int) x := 0; + while x < 100 do { + x := x + 1; + print(string_of_int(x)) + } +} diff --git a/test/typecheck/pass/ex_cast.sail b/test/typecheck/pass/ex_cast.sail new file mode 100644 index 00000000..5ea22d14 --- /dev/null +++ b/test/typecheck/pass/ex_cast.sail @@ -0,0 +1,12 @@ + +default Order dec + +val cast int -> exist 'n. [:'n:] effect pure ex_int + +val [:'n:] -> bit['n] effect pure zeros + +val int -> unit effect pure test + +function test n = { + x := zeros(n) +} diff --git a/test/typecheck/pass/nzcv.sail b/test/typecheck/pass/nzcv.sail index a477cd97..3e23e529 100644 --- a/test/typecheck/pass/nzcv.sail +++ b/test/typecheck/pass/nzcv.sail @@ -4,6 +4,10 @@ val bit[4] -> unit effect pure test function test nzcv = { + N := 0b0; + Z := 0b0; + C := 0b0; + V := 0b0; (N,Z,C,V) := nzcv; () } |
