From 617653aebd3ca5f0986f6035670225519fd0ea64 Mon Sep 17 00:00:00 2001 From: Erwan Jahier <jahier@imag.fr> Date: Tue, 24 Jun 2014 17:23:50 +0200 Subject: [PATCH] Soc2c: fix a bug occuring when switching on a memoryless soc var. nb: unexpected failures 120 -> 115 --- src/soc2c.ml | 2 +- src/soc2cUtil.ml | 4 ++-- test/lus2lic.sum | 20 ++++++++++--------- test/lus2lic.time | 2 +- todo.org | 49 ++++++++++++++++++++++------------------------- 5 files changed, 38 insertions(+), 39 deletions(-) diff --git a/src/soc2c.ml b/src/soc2c.ml index 0074cec7..46fcb495 100644 --- a/src/soc2c.ml +++ b/src/soc2c.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 24/06/2014 (at 14:26) by Erwan Jahier> *) +(* Time-stamp: <modified the 24/06/2014 (at 17:14) by Erwan Jahier> *) (* let put (os: out_channel) (fmt:('a, unit, string, unit) format4) : 'a = *) diff --git a/src/soc2cUtil.ml b/src/soc2cUtil.ml index 466f46aa..980cbf83 100644 --- a/src/soc2cUtil.ml +++ b/src/soc2cUtil.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 24/06/2014 (at 14:28) by Erwan Jahier> *) +(* Time-stamp: <modified the 24/06/2014 (at 17:14) by Erwan Jahier> *) (* exported *) @@ -35,7 +35,7 @@ type var_kind = (* XXX poor names: fixme! *) let (ctx_var : var_kind -> Ident.t -> string) = fun opt id -> match opt with - | ML_IO sk -> Printf.sprintf "%s.%s" (Soc2cIdent.get_soc_name sk) (id2s id) + | ML_IO sk -> Printf.sprintf "%s_ctx.%s" (Soc2cIdent.get_soc_name sk) (id2s id) | M_IO -> Printf.sprintf "ctx->%s" (id2s id) | Local -> Printf.sprintf "%s" (id2s id) diff --git a/test/lus2lic.sum b/test/lus2lic.sum index ea4ee438..b1dd6e56 100644 --- a/test/lus2lic.sum +++ b/test/lus2lic.sum @@ -1,4 +1,4 @@ -Test Run By jahier on Tue Jun 24 17:01:44 2014 +Test Run By jahier on Tue Jun 24 17:20:32 2014 Native configuration is i686-pc-linux-gnu === lus2lic tests === @@ -558,7 +558,7 @@ PASS: ./lus2lic {-ec -o /tmp/clock_ite.ec should_work/clock_ite.lus} PASS: ./myec2c {-o /tmp/clock_ite.c /tmp/clock_ite.ec} FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/clock_ite.lus PASS: ./lus2lic {-2c should_work/clock_ite.lus -n clock_ite} -FAIL: Check that the generated C code compiles : gcc clock_ite_clock_ite.c clock_ite_clock_ite_loop.c +PASS: gcc clock_ite_clock_ite.c clock_ite_clock_ite_loop.c PASS: ./lus2lic {-o /tmp/morel4.lic should_work/morel4.lus} PASS: ./lus2lic {-ec -o /tmp/morel4.ec should_work/morel4.lus} PASS: ./myec2c {-o /tmp/morel4.c /tmp/morel4.ec} @@ -777,7 +777,7 @@ PASS: ./lus2lic {-ec -o /tmp/CURRENT.ec should_work/CURRENT.lus} PASS: ./myec2c {-o /tmp/CURRENT.c /tmp/CURRENT.ec} FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/CURRENT.lus PASS: ./lus2lic {-2c should_work/CURRENT.lus -n CURRENT} -FAIL: Check that the generated C code compiles : gcc CURRENT_CURRENT.c CURRENT_CURRENT_loop.c +PASS: gcc CURRENT_CURRENT.c CURRENT_CURRENT_loop.c PASS: ./lus2lic {-o /tmp/left.lic should_work/left.lus} PASS: ./lus2lic {-ec -o /tmp/left.ec should_work/left.lus} PASS: ./myec2c {-o /tmp/left.c /tmp/left.ec} @@ -908,7 +908,7 @@ PASS: ./lus2lic {-ec -o /tmp/pack1.ec should_work/pack1.lus} PASS: ./myec2c {-o /tmp/pack1.c /tmp/pack1.ec} FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/pack1.lus PASS: ./lus2lic {-2c should_work/pack1.lus -n pack1} -FAIL: Check that the generated C code compiles : gcc pack1_pack1.c pack1_pack1_loop.c +PASS: gcc pack1_pack1.c pack1_pack1_loop.c PASS: ./lus2lic {-o /tmp/bob.lic should_work/bob.lus} PASS: ./lus2lic {-ec -o /tmp/bob.ec should_work/bob.lus} PASS: ./myec2c {-o /tmp/bob.c /tmp/bob.ec} @@ -1035,7 +1035,7 @@ PASS: ./lus2lic {-ec -o /tmp/filliter.ec should_work/filliter.lus} PASS: ./myec2c {-o /tmp/filliter.c /tmp/filliter.ec} FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/filliter.lus PASS: ./lus2lic {-2c should_work/filliter.lus -n filliter} -FAIL: Check that the generated C code compiles : gcc filliter_filliter.c filliter_filliter_loop.c +PASS: gcc filliter_filliter.c filliter_filliter_loop.c PASS: ./lus2lic {-o /tmp/minmax4.lic should_work/minmax4.lus} PASS: ./lus2lic {-ec -o /tmp/minmax4.ec should_work/minmax4.lus} PASS: ./myec2c {-o /tmp/minmax4.c /tmp/minmax4.ec} @@ -1226,7 +1226,7 @@ PASS: ./lus2lic {-ec -o /tmp/ck7.ec should_work/ck7.lus} PASS: ./myec2c {-o /tmp/ck7.c /tmp/ck7.ec} FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ck7.lus PASS: ./lus2lic {-2c should_work/ck7.lus -n ck7} -FAIL: Check that the generated C code compiles : gcc ck7_ck7.c ck7_ck7_loop.c +PASS: gcc ck7_ck7.c ck7_ck7_loop.c PASS: ./lus2lic {-o /tmp/nc10.lic should_work/nc10.lus} PASS: ./lus2lic {-ec -o /tmp/nc10.ec should_work/nc10.lus} PASS: ./myec2c {-o /tmp/nc10.c /tmp/nc10.ec} @@ -1482,9 +1482,11 @@ XPASS: Test bad programs (semantics): lus2lic {-o /tmp/bug.lic should_fail/seman === lus2lic Summary === -# of expected passes 1292 -# of unexpected failures 120 +# of expected passes 1297 +# of unexpected failures 115 # of unexpected successes 21 # of expected failures 37 -testcase ./lus2lic.tests/non-reg.exp completed in 130 seconds +testcase ./lus2lic.tests/non-reg.exp completed in 136 seconds +testcase ./lus2lic.tests/progression.exp completed in 0 seconds +testcase ./lus2lic.tests/non-reg.exp completed in 136 seconds testcase ./lus2lic.tests/progression.exp completed in 0 seconds diff --git a/test/lus2lic.time b/test/lus2lic.time index 6879740d..2894b2b8 100644 --- a/test/lus2lic.time +++ b/test/lus2lic.time @@ -1,2 +1,2 @@ -testcase ./lus2lic.tests/non-reg.exp completed in 130 seconds +testcase ./lus2lic.tests/non-reg.exp completed in 136 seconds testcase ./lus2lic.tests/progression.exp completed in 0 seconds diff --git a/todo.org b/todo.org index 928e4ddd..cc35078d 100644 --- a/todo.org +++ b/todo.org @@ -52,15 +52,15 @@ http://www.di.ens.fr/~pouzet/bib/lctes12.pdf 1. file:test/should_work/mappredef.lus lus2lic -2c should_work/mappredef.lus -n mappredef +2. file:test/should_work/minus.lus lus2lic -2c should_work/minus.lus -n minus +3. file:test/should_work/predefOp.lus lus2lic -2c should_work/predefOp.lus -n predefOp pb de types polymorphes -2. file:test/should_work/predefOp.lus lus2lic -2c should_work/predefOp.lus -n predefOp -3. file:test/should_work/matrice2.lus lus2lic -2c should_work/matrice2.lus -n matrice2 -4. file:test/should_work/ply02.lus lus2lic -2c should_work/ply02.lus -n ply02 -5. file:test/should_work/morel3.lus lus2lic -2c should_work/morel3.lus -n morel3 -6. file:test/should_work/ply03.lus lus2lic -2c should_work/ply03.lus -n ply03 -7. file:test/should_work/xx.lus lus2lic -2c should_work/xx.lus -n xx -8. file:test/should_work/test.lus lus2lic -2c should_work/test.lus -n test -9. file:test/should_work/clock.lus lus2lic -2c should_work/clock.lus -n clock +4. file:test/should_work/matrice2.lus lus2lic -2c should_work/matrice2.lus -n matrice2 +5. file:test/should_work/ply02.lus lus2lic -2c should_work/ply02.lus -n ply02 +6. file:test/should_work/morel3.lus lus2lic -2c should_work/morel3.lus -n morel3 +7. file:test/should_work/ply03.lus lus2lic -2c should_work/ply03.lus -n ply03 +8. file:test/should_work/xx.lus lus2lic -2c should_work/xx.lus -n xx +9. file:test/should_work/test.lus lus2lic -2c should_work/test.lus -n test 10. file:test/should_work/morel4.lus lus2lic -2c should_work/morel4.lus -n morel4 11. file:test/should_work/bad.lus lus2lic -2c should_work/bad.lus -n bad 12. file:test/should_work/mapinf.lus lus2lic -2c should_work/mapinf.lus -n mapinf @@ -68,24 +68,21 @@ http://www.di.ens.fr/~pouzet/bib/lctes12.pdf 14. file:test/should_work/over3.lus lus2lic -2c should_work/over3.lus -n over3 15. file:test/should_work/carV2.lus lus2lic -2c should_work/carV2.lus -n carV2 16. file:test/should_work/test.lus lus2lic -2c should_work/test.lus -n test -17. file:test/should_work/CURRENT.lus lus2lic -2c should_work/CURRENT.lus -n CURRENT -18. file:test/should_work/left.lus lus2lic -2c should_work/left.lus -n left -19. file:test/should_work/morel.lus lus2lic -2c should_work/morel.lus -n morel -20. file:test/should_work/matrice.lus lus2lic -2c should_work/matrice.lus -n matrice -21. file:test/should_work/exclusion.lus lus2lic -2c should_work/exclusion.lus -n exclusion -22. file:test/should_work/pack1.lus lus2lic -2c should_work/pack1.lus -n pack1 -23. file:test/should_work/bob.lus lus2lic -2c should_work/bob.lus -n bob -24. file:test/should_work/morel2.lus lus2lic -2c should_work/morel2.lus -n morel2 -25. file:test/should_work/xxx.lus lus2lic -2c should_work/xxx.lus -n xxx -26. file:test/should_work/filliter.lus lus2lic -2c should_work/filliter.lus -n filliter -27. file:test/should_work/mapdeRed.lus lus2lic -2c should_work/mapdeRed.lus -n mapdeRed -28. file:test/should_work/simpleRed.lus lus2lic -2c should_work/simpleRed.lus -n simpleRed -29. file:test/should_work/ck7.lus lus2lic -2c should_work/ck7.lus -n ck7 -30. file:test/should_work/redoptest.lus lus2lic -2c should_work/redoptest.lus -n redoptest -31. file:test/should_work/cond01.lus lus2lic -2c should_work/cond01.lus -n cond01 -32. file:test/should_work/overload.lus lus2lic -2c should_work/overload.lus -n overload -33. file:test/should_work/simple.lus lus2lic -2c should_work/simple.lus -n simple -34. file:test/should_work/minus.lus lus2lic -2c should_work/minus.lus -n minus +17. file:test/should_work/left.lus lus2lic -2c should_work/left.lus -n left +18. file:test/should_work/morel.lus lus2lic -2c should_work/morel.lus -n morel +19. file:test/should_work/matrice.lus lus2lic -2c should_work/matrice.lus -n matrice +20. file:test/should_work/exclusion.lus lus2lic -2c should_work/exclusion.lus -n exclusion +21. file:test/should_work/bob.lus lus2lic -2c should_work/bob.lus -n bob +22. file:test/should_work/morel2.lus lus2lic -2c should_work/morel2.lus -n morel2 +23. file:test/should_work/xxx.lus lus2lic -2c should_work/xxx.lus -n xxx +24. file:test/should_work/mapdeRed.lus lus2lic -2c should_work/mapdeRed.lus -n mapdeRed +25. file:test/should_work/simpleRed.lus lus2lic -2c should_work/simpleRed.lus -n simpleRed +26. file:test/should_work/redoptest.lus lus2lic -2c should_work/redoptest.lus -n redoptest +27. file:test/should_work/cond01.lus lus2lic -2c should_work/cond01.lus -n cond01 +28. file:test/should_work/overload.lus lus2lic -2c should_work/overload.lus -n overload +29. file:test/should_work/simple.lus lus2lic -2c should_work/simple.lus -n simple + type externe + * Packages, modeles, etc. -- GitLab