diff options
| author | Brian Campbell | 2017-08-28 11:29:37 +0100 |
|---|---|---|
| committer | Brian Campbell | 2017-08-28 11:29:37 +0100 |
| commit | b0dbd56a224497d91bc2f1950b2f3246247b02b3 (patch) | |
| tree | fdfd3009958ea22a4693b7f52fcb43af3a17a8e7 /test | |
| parent | 0025734876be60e2de6fba935cb507a6158d870a (diff) | |
| parent | beb2279dcab654d6e7c6ff16247dd93c743a27ba (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.sail | 15 | ||||
| -rwxr-xr-x | test/typecheck/run_tests.sh | 10 |
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 |
