summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorBrian Campbell2017-08-28 11:29:37 +0100
committerBrian Campbell2017-08-28 11:29:37 +0100
commitb0dbd56a224497d91bc2f1950b2f3246247b02b3 (patch)
treefdfd3009958ea22a4693b7f52fcb43af3a17a8e7 /test
parent0025734876be60e2de6fba935cb507a6158d870a (diff)
parentbeb2279dcab654d6e7c6ff16247dd93c743a27ba (diff)
Merge branch 'experiments' of bitbucket.org:Peter_Sewell/sail into mono-experiments
# Conflicts: # src/gen_lib/sail_values.lem
Diffstat (limited to 'test')
-rw-r--r--test/typecheck/pass/foreach_var_updates.sail15
-rwxr-xr-xtest/typecheck/run_tests.sh10
2 files changed, 20 insertions, 5 deletions
diff --git a/test/typecheck/pass/foreach_var_updates.sail b/test/typecheck/pass/foreach_var_updates.sail
new file mode 100644
index 00000000..e3e30ce6
--- /dev/null
+++ b/test/typecheck/pass/foreach_var_updates.sail
@@ -0,0 +1,15 @@
+val extern (int, int) -> int effect pure add_int = "add"
+overload (deinfix +) [ add_int ]
+
+val extern (int, int) -> int effect pure sub_int = "sub"
+overload (deinfix -) [ sub_int ]
+
+function (int) foo ((int) w) = {
+ (int) x := w;
+ (int) y := w;
+ foreach (z from 0 to 10) {
+ x := x + z;
+ y := y - z;
+ };
+ x + y;
+}
diff --git a/test/typecheck/run_tests.sh b/test/typecheck/run_tests.sh
index 12e6acc0..24f20d1f 100755
--- a/test/typecheck/run_tests.sh
+++ b/test/typecheck/run_tests.sh
@@ -18,11 +18,11 @@ rm -f $DIR/tests.xml
MIPS="$SAILDIR/mips_new_tc"
-cat $SAILDIR/lib/prelude.sail $MIPS/mips_prelude.sail > $DIR/pass/mips_prelude.sail
-cat $SAILDIR/lib/prelude.sail $MIPS/mips_prelude.sail $MIPS/mips_tlb.sail > $DIR/pass/mips_tlb.sail
-cat $SAILDIR/lib/prelude.sail $MIPS/mips_prelude.sail $MIPS/mips_tlb.sail $MIPS/mips_wrappers.sail > $DIR/pass/mips_wrappers.sail
-cat $SAILDIR/lib/prelude.sail $MIPS/mips_prelude.sail $MIPS/mips_tlb.sail $MIPS/mips_wrappers.sail $MIPS/mips_insts.sail $MIPS/mips_epilogue.sail > $DIR/pass/mips_insts.sail
-cat $SAILDIR/lib/prelude.sail $MIPS/mips_prelude.sail $MIPS/mips_tlb_stub.sail $MIPS/mips_wrappers.sail $MIPS/mips_insts.sail $MIPS/mips_epilogue.sail > $DIR/pass/mips_notlb.sail
+cat $SAILDIR/lib/prelude.sail $SAILDIR/lib/prelude_wrappers.sail $MIPS/mips_prelude.sail > $DIR/pass/mips_prelude.sail
+cat $SAILDIR/lib/prelude.sail $SAILDIR/lib/prelude_wrappers.sail $MIPS/mips_prelude.sail $MIPS/mips_tlb.sail > $DIR/pass/mips_tlb.sail
+cat $SAILDIR/lib/prelude.sail $SAILDIR/lib/prelude_wrappers.sail $MIPS/mips_prelude.sail $MIPS/mips_tlb.sail $MIPS/mips_wrappers.sail > $DIR/pass/mips_wrappers.sail
+cat $SAILDIR/lib/prelude.sail $SAILDIR/lib/prelude_wrappers.sail $MIPS/mips_prelude.sail $MIPS/mips_tlb.sail $MIPS/mips_wrappers.sail $MIPS/mips_insts.sail $MIPS/mips_epilogue.sail > $DIR/pass/mips_insts.sail
+cat $SAILDIR/lib/prelude.sail $SAILDIR/lib/prelude_wrappers.sail $MIPS/mips_prelude.sail $MIPS/mips_tlb_stub.sail $MIPS/mips_wrappers.sail $MIPS/mips_insts.sail $MIPS/mips_epilogue.sail > $DIR/pass/mips_notlb.sail
pass=0
fail=0