From 6c4f5c6abdf19fe5558e0caed3388f80ed4f7cfb Mon Sep 17 00:00:00 2001 From: Erwan Jahier <jahier@imag.fr> Date: Thu, 9 Oct 2014 09:41:35 +0200 Subject: [PATCH] soc2c: fix bugs introduced 4 commits ago (nonreg test were inhibited since 7 commits! arg...) More precisely, it was introduced here 6c7bc5620d71375016b8e83f86e7ce11f3001cc6 bug1: Soc2cGenAssign.f was calling Soc2cIdent.type_to_short_string, which was generating bad idents (ie, containing "::"). bug2 : some _assign_array_types macro def were missing. to be continued... --- src/lv6version.ml | 4 +- src/soc2c.ml | 6 +-- src/soc2cGenAssign.ml | 67 +++++++++++++++++-------------- src/soc2cGenAssign.mli | 10 ++--- src/soc2cIdent.ml | 4 +- src/soc2cPredef.ml | 8 ++-- src/socPredef.ml | 8 ++-- src/socPredef2cHeap.ml | 2 +- test/lus2lic.sum | 91 ++++++++++++++++++++++++++---------------- test/lus2lic.time | 14 ++++--- 10 files changed, 123 insertions(+), 91 deletions(-) diff --git a/src/lv6version.ml b/src/lv6version.ml index 331383e1..366ebb23 100644 --- a/src/lv6version.ml +++ b/src/lv6version.ml @@ -1,7 +1,7 @@ (** Automatically generated from Makefile *) let tool = "lus2lic" let branch = "(no" -let commit = "534" -let sha_1 = "f37347fe7fa7f49efe1b0ae7a462d649437f4872" +let commit = "535" +let sha_1 = "55efeadeedd3a8c7a3600eb47d978b0d078ecc8a" let str = (branch ^ "." ^ commit ^ " (" ^ sha_1 ^ ")") let maintainer = "jahier@imag.fr" diff --git a/src/soc2c.ml b/src/soc2c.ml index aecf4293..ff1430fc 100644 --- a/src/soc2c.ml +++ b/src/soc2c.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 03/10/2014 (at 17:42) by Erwan Jahier> *) +(* Time-stamp: <modified the 08/10/2014 (at 18:35) by Erwan Jahier> *) (* let put (os: out_channel) (fmt:('a, unit, string, unit) format4) : 'a = *) @@ -608,8 +608,8 @@ typedef float _float; List.iter (soc2c 2 och occ stbl) socs; puth "/////////////////////////////////////////////////\n"; - let l = (Soc2cGenAssign.gen_used_types licprg) in - if l <> [] then puth "// Defining array and extern types assignements \n"; + let l = (Soc2cGenAssign.gen_used_types socs) in + if l <> [] then puth "// Defining array and extern types assignments \n"; List.iter (fun t -> puth (Soc2cGenAssign.f t)) l; puth "#endif\n"; diff --git a/src/soc2cGenAssign.ml b/src/soc2cGenAssign.ml index 721c1039..a8ff2a5c 100644 --- a/src/soc2cGenAssign.ml +++ b/src/soc2cGenAssign.ml @@ -1,4 +1,8 @@ -(* Time-stamp: <modified the 03/10/2014 (at 17:29) by Erwan Jahier> *) +(* Time-stamp: <modified the 08/10/2014 (at 18:23) by Erwan Jahier> *) + +open Data +open Lic +open Lxm module OrderedData = struct type t = Data.t @@ -7,36 +11,41 @@ end module DataSet = Set.Make(OrderedData) -let (var_info_to_data : Lic.var_info -> Data.t) = - fun vi -> - Lic2soc.lic_to_data_type vi.var_type_eff - -let (update_set : DataSet.t -> Lic.var_info -> DataSet.t) = - fun acc vi -> - try - let t = var_info_to_data vi in - (match t with - | Data.Array _ - | Data.Extern _ -> DataSet.add t acc - | _ -> acc) - with Lic2soc.Polymorphic -> - (* migth be raised by var_info_to_data *) - acc - +let rec (update_set : DataSet.t -> Data.t -> DataSet.t) = +fun acc t -> + match t with + | Data.Array(st,_) -> update_set (DataSet.add t acc) st + | Data.Extern _ -> DataSet.add t acc + | Struct(_,fl) -> List.fold_left (fun acc (_,t) -> update_set acc t) acc fl + | Alias(n,t) -> update_set acc t + | _ -> acc + +open Soc + +let (update_set_soc_var : DataSet.t -> Soc.var -> DataSet.t) = + fun acc (_,datat) -> + update_set acc datat + +let (update_set_step: DataSet.t -> Soc.step_method -> DataSet.t) = + fun acc sm -> + match sm.impl with + | Gaol(vl,_) -> List.fold_left update_set_soc_var acc vl + | _ -> acc + + (* exported *) -let (gen_used_types : LicPrg.t -> Data.t list) = - fun prg -> - let tset = - LicPrg.fold_nodes - (fun _nk ne acc -> - let acc = List.fold_left update_set acc ne.inlist_eff in - let acc = List.fold_left update_set acc ne.outlist_eff in - acc - ) - prg - DataSet.empty +let (gen_used_types : Soc.t list -> Data.t list) = + fun socs -> + let rec aux acc soc = + let ins, outs = soc.profile in + let acc = List.fold_left update_set_soc_var acc ins in + let acc = List.fold_left update_set_soc_var acc outs in + let acc = List.fold_left update_set_step acc soc.step in + acc in - DataSet.elements tset + let acc = List.fold_left aux DataSet.empty socs in + DataSet.elements acc + (* exported *) let (f: Data.t -> string) = diff --git a/src/soc2cGenAssign.mli b/src/soc2cGenAssign.mli index db41bda0..cd02306d 100644 --- a/src/soc2cGenAssign.mli +++ b/src/soc2cGenAssign.mli @@ -1,10 +1,8 @@ - (* Time-stamp: <modified the 02/10/2014 (at 17:18) by Erwan Jahier> *) + (* Time-stamp: <modified the 08/10/2014 (at 18:35) by Erwan Jahier> *) -(* Returns the list of non-trivial data types (i.e., arrays) that are - used in a program, with no duplicates *) - - -val gen_used_types : LicPrg.t -> Data.t list +(* Returns the list of non-trivial data types (i.e., arrays and + extern) that are used in a program, with no duplicates *) +val gen_used_types : Soc.t list -> Data.t list (* Generates a ccp macro the provides a default definition copying Data.t *) val f: Data.t -> string diff --git a/src/soc2cIdent.ml b/src/soc2cIdent.ml index ea241fa5..2501daad 100644 --- a/src/soc2cIdent.ml +++ b/src/soc2cIdent.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 03/10/2014 (at 17:33) by Erwan Jahier> *) +(* Time-stamp: <modified the 07/10/2014 (at 16:35) by Erwan Jahier> *) open Soc let colcol = Str.regexp "::" @@ -25,7 +25,7 @@ let rec (type_to_short_string : Data.t -> string) = | Data.Real-> "r" | Data.Extern s -> id2s s | Data.Enum (s, sl) -> "e" (* s *) - | Data.Struct (sid,_) -> sid + | Data.Struct (sid,_) -> id2s sid | Data.Array (ty, sz) -> Printf.sprintf "%sp%d" (type_to_short_string ty) sz | Data.Alias(n,_) -> n | Data.Alpha nb -> diff --git a/src/soc2cPredef.ml b/src/soc2cPredef.ml index a975025b..2d7ebe22 100644 --- a/src/soc2cPredef.ml +++ b/src/soc2cPredef.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 03/10/2014 (at 11:11) by Erwan Jahier> *) +(* Time-stamp: <modified the 08/10/2014 (at 10:59) by Erwan Jahier> *) (* A local exception used to check if a predef is supported. The idea is that when gen_call_do is called with empty lists, @@ -11,19 +11,19 @@ exception Is_supported let stdbin op ll rl = match (ll,rl) with - | ([l], [r1;r2]) -> Printf.sprintf "%s = %s %s %s;" l r1 op r2 + | ([l], [r1;r2]) -> Printf.sprintf " %s = %s %s %s;\n" l r1 op r2 | ([],[]) -> raise Is_supported | _ -> assert false let stduna op ll rl = match (ll,rl) with - | ([l], [r]) -> Printf.sprintf "%s = %s %s;" l op r + | ([l], [r]) -> Printf.sprintf " %s = %s %s;\n" l op r | ([],[]) -> raise Is_supported | _ -> assert false let stdimpl ll rl = match (ll,rl) with - | ([l], [r1;r2]) -> Printf.sprintf "%s = !%s | %s;" l r1 r2 + | ([l], [r1;r2]) -> Printf.sprintf "%s = !%s | %s;\n" l r1 r2 | ([],[]) -> raise Is_supported | _ -> assert false diff --git a/src/socPredef.ml b/src/socPredef.ml index 4a97d544..94e6b8b8 100644 --- a/src/socPredef.ml +++ b/src/socPredef.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 29/08/2014 (at 16:32) by Erwan JAHIER> *) +(* Time-stamp: <modified the 08/10/2014 (at 17:49) by Erwan Jahier> *) (** Synchronous Object Code for Predefined operators. *) @@ -33,8 +33,10 @@ let (soc_profile_of_types : Data.t list -> var list * var list) = (* For diese and nor *) let (soc_profile_of_types_nary : Data.t list -> var list * var list) = - fun vl -> - ["i0", Array(Bool,List.length vl)], ["o0",Bool] + fun vl -> + match vl with + | ta::Bool::[] -> ["i0", ta], ["o0",Bool] + | _ -> assert false (* sno *) let step11 = { (* a useful alias again *) diff --git a/src/socPredef2cHeap.ml b/src/socPredef2cHeap.ml index 04828231..7fb512a3 100644 --- a/src/socPredef2cHeap.ml +++ b/src/socPredef2cHeap.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 03/10/2014 (at 11:13) by Erwan Jahier> *) +(* Time-stamp: <modified the 08/10/2014 (at 17:44) by Erwan Jahier> *) open Data open Soc diff --git a/test/lus2lic.sum b/test/lus2lic.sum index 3824b058..18b1b259 100644 --- a/test/lus2lic.sum +++ b/test/lus2lic.sum @@ -1,5 +1,5 @@ ==> lus2lic0.sum <== -Test Run By jahier on Tue Oct 7 16:22:36 +Test Run By jahier on Thu Oct 9 09:38:05 Native configuration is x86_64-unknown-linux-gnu === lus2lic0 tests === @@ -63,7 +63,7 @@ XFAIL: Test bad programs (assert): test_lus2lic_no_node should_fail/assert/lecte XFAIL: Test bad programs (assert): test_lus2lic_no_node should_fail/assert/s.lus ==> lus2lic1.sum <== -Test Run By jahier on Tue Oct 7 16:22:37 +Test Run By jahier on Thu Oct 9 09:38:03 Native configuration is x86_64-unknown-linux-gnu === lus2lic1 tests === @@ -84,7 +84,8 @@ PASS: ./lus2lic {-2c EDGE.lus -n EDGE} PASS: gcc -o EDGE.exec EDGE_EDGE.c EDGE_EDGE_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c EDGE.lus {} PASS: ./lus2lic {-2c ELMU.lus -n ELMU} -FAIL: Check that the generated C code compiles : gcc -o ELMU.exec ELMU_ELMU.c ELMU_ELMU_loop.c +PASS: gcc -o ELMU.exec ELMU_ELMU.c ELMU_ELMU_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c ELMU.lus {} PASS: ./lus2lic {-2c FALLING_EDGE.lus -n FALLING_EDGE} PASS: gcc -o FALLING_EDGE.exec FALLING_EDGE_FALLING_EDGE.c FALLING_EDGE_FALLING_EDGE_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c FALLING_EDGE.lus {} @@ -92,9 +93,11 @@ PASS: ./lus2lic {-2c FillFollowedByRed.lus -n FillFollowedByRed} PASS: gcc -o FillFollowedByRed.exec FillFollowedByRed_FillFollowedByRed.c FillFollowedByRed_FillFollowedByRed_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c FillFollowedByRed.lus {} PASS: ./lus2lic {-2c Gyroscope.lus -n Gyroscope} -FAIL: Check that the generated C code compiles : gcc -o Gyroscope.exec Gyroscope_Gyroscope.c Gyroscope_Gyroscope_loop.c +PASS: gcc -o Gyroscope.exec Gyroscope_Gyroscope.c Gyroscope_Gyroscope_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c Gyroscope.lus {} PASS: ./lus2lic {-2c Gyroscope2.lus -n Gyroscope2} -FAIL: Check that the generated C code compiles : gcc -o Gyroscope2.exec Gyroscope2_Gyroscope2.c Gyroscope2_Gyroscope2_loop.c +PASS: gcc -o Gyroscope2.exec Gyroscope2_Gyroscope2.c Gyroscope2_Gyroscope2_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c Gyroscope2.lus {} PASS: ./lus2lic {-2c Int.lus -n Int} PASS: ./lus2lic {-2c aa.lus -n aa} PASS: gcc -o aa.exec aa_aa.c aa_aa_loop.c @@ -122,9 +125,11 @@ PASS: ./lus2lic {-2c argos.lus -n argos} PASS: gcc -o argos.exec argos_argos.c argos_argos_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c argos.lus {} PASS: ./lus2lic {-2c array_concat.lus -n array_concat} -FAIL: Check that the generated C code compiles : gcc -o array_concat.exec array_concat_array_concat.c array_concat_array_concat_loop.c +PASS: gcc -o array_concat.exec array_concat_array_concat.c array_concat_array_concat_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c array_concat.lus {} PASS: ./lus2lic {-2c array_concat2.lus -n array_concat2} -FAIL: Check that the generated C code compiles : gcc -o array_concat2.exec array_concat2_array_concat2.c array_concat2_array_concat2_loop.c +PASS: gcc -o array_concat2.exec array_concat2_array_concat2.c array_concat2_array_concat2_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c array_concat2.lus {} PASS: ./lus2lic {-2c arrays.lus -n arrays} PASS: gcc -o arrays.exec arrays_arrays.c arrays_arrays_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c arrays.lus {} @@ -145,9 +150,11 @@ PASS: ./lus2lic {-2c bred_lv4.lus -n bred_lv4} PASS: gcc -o bred_lv4.exec bred_lv4_bred_lv4.c bred_lv4_bred_lv4_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c bred_lv4.lus {} PASS: ./lus2lic {-2c bug.lus -n bug} -FAIL: Check that the generated C code compiles : gcc -o bug.exec bug_bug.c bug_bug_loop.c +PASS: gcc -o bug.exec bug_bug.c bug_bug_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c bug.lus {} PASS: ./lus2lic {-2c bug2.lus -n bug2} -FAIL: Check that the generated C code compiles : gcc -o bug2.exec bug2_bug2.c bug2_bug2_loop.c +PASS: gcc -o bug2.exec bug2_bug2.c bug2_bug2_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c bug2.lus {} PASS: ./lus2lic {-2c calculs_max.lus -n calculs_max} PASS: gcc -o calculs_max.exec calculs_max_calculs_max.c calculs_max_calculs_max_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c calculs_max.lus {} @@ -163,7 +170,8 @@ PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c call04.lus {} PASS: ./lus2lic {-2c call05.lus -n call05} PASS: ./lus2lic {-2c call06.lus -n call06} PASS: ./lus2lic {-2c call07.lus -n call07} -FAIL: Check that the generated C code compiles : gcc -o call07.exec call07_call07.c call07_call07_loop.c +PASS: gcc -o call07.exec call07_call07.c call07_call07_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c call07.lus {} PASS: ./lus2lic {-2c carV2.lus -n carV2} PASS: gcc -o carV2.exec carV2_carV2.c carV2_carV2_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c carV2.lus {} @@ -243,7 +251,8 @@ PASS: ./lus2lic {-2c ex.lus -n ex} PASS: gcc -o ex.exec ex_ex.c ex_ex_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c ex.lus {} PASS: ./lus2lic {-2c exclusion.lus -n exclusion} -FAIL: Check that the generated C code compiles : gcc -o exclusion.exec exclusion_exclusion.c exclusion_exclusion_loop.c +PASS: gcc -o exclusion.exec exclusion_exclusion.c exclusion_exclusion_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c exclusion.lus {} PASS: ./lus2lic {-2c filliter.lus -n filliter} PASS: gcc -o filliter.exec filliter_filliter.c filliter_filliter_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c filliter.lus {} @@ -259,7 +268,8 @@ PASS: gcc -o fresh_name.exec fresh_name_fresh_name.c fresh_name_fresh_name_loop. PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c fresh_name.lus {} PASS: ./lus2lic {-2c func_with_body.lus -n func_with_body} PASS: ./lus2lic {-2c hanane.lus -n hanane} -FAIL: Check that the generated C code compiles : gcc -o hanane.exec hanane_hanane.c hanane_hanane_loop.c +PASS: gcc -o hanane.exec hanane_hanane.c hanane_hanane_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c hanane.lus {} PASS: ./lus2lic {-2c heater_control.lus -n heater_control} PASS: gcc -o heater_control.exec heater_control_heater_control.c heater_control_heater_control_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c heater_control.lus {} @@ -387,7 +397,7 @@ PASS: gcc -o multipar.exec multipar_multipar.c multipar_multipar_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c multipar.lus {} ==> lus2lic2.sum <== -Test Run By jahier on Tue Oct 7 16:22:57 +Test Run By jahier on Thu Oct 9 09:38:09 Native configuration is x86_64-unknown-linux-gnu === lus2lic2 tests === @@ -478,16 +488,20 @@ PASS: ./lus2lic {-2c noeudsIndependants.lus -n noeudsIndependants} PASS: gcc -o noeudsIndependants.exec noeudsIndependants_noeudsIndependants.c noeudsIndependants_noeudsIndependants_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c noeudsIndependants.lus {} PASS: ./lus2lic {-2c normal.lus -n normal} -FAIL: Check that the generated C code compiles : gcc -o normal.exec normal_normal.c normal_normal_loop.c +PASS: gcc -o normal.exec normal_normal.c normal_normal_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c normal.lus {} PASS: ./lus2lic {-2c notTwo.lus -n notTwo} PASS: gcc -o notTwo.exec notTwo_notTwo.c notTwo_notTwo_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c notTwo.lus {} PASS: ./lus2lic {-2c o2l_feux_compl.lus -n o2l_feux_compl} -FAIL: Check that the generated C code compiles : gcc -o o2l_feux_compl.exec o2l_feux_compl_o2l_feux_compl.c o2l_feux_compl_o2l_feux_compl_loop.c +PASS: gcc -o o2l_feux_compl.exec o2l_feux_compl_o2l_feux_compl.c o2l_feux_compl_o2l_feux_compl_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c o2l_feux_compl.lus {} PASS: ./lus2lic {-2c onlyroll.lus -n onlyroll} -FAIL: Check that the generated C code compiles : gcc -o onlyroll.exec onlyroll_onlyroll.c onlyroll_onlyroll_loop.c +PASS: gcc -o onlyroll.exec onlyroll_onlyroll.c onlyroll_onlyroll_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c onlyroll.lus {} PASS: ./lus2lic {-2c onlyroll2.lus -n onlyroll2} -FAIL: Check that the generated C code compiles : gcc -o onlyroll2.exec onlyroll2_onlyroll2.c onlyroll2_onlyroll2_loop.c +PASS: gcc -o onlyroll2.exec onlyroll2_onlyroll2.c onlyroll2_onlyroll2_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c onlyroll2.lus {} PASS: ./lus2lic {-2c over2.lus -n over2} PASS: gcc -o over2.exec over2_over2.c over2_over2_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c over2.lus {} @@ -515,7 +529,8 @@ PASS: ./lus2lic {-2c param_node4.lus -n param_node4} PASS: gcc -o param_node4.exec param_node4_param_node4.c param_node4_param_node4_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c param_node4.lus {} PASS: ./lus2lic {-2c param_struct.lus -n param_struct} -FAIL: Check that the generated C code compiles : gcc -o param_struct.exec param_struct_param_struct.c param_struct_param_struct_loop.c +PASS: gcc -o param_struct.exec param_struct_param_struct.c param_struct_param_struct_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c param_struct.lus {} PASS: ./lus2lic {-2c pilote-1.0.lus -n pilote-1.0} PASS: ./lus2lic {-2c pipeline.lus -n pipeline} PASS: gcc -o pipeline.exec pipeline_pipeline.c pipeline_pipeline_loop.c @@ -552,7 +567,8 @@ PASS: ./lus2lic {-2c predefOp.lus -n predefOp} PASS: gcc -o predefOp.exec predefOp_predefOp.c predefOp_predefOp_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c predefOp.lus {} PASS: ./lus2lic {-2c produitBool.lus -n produitBool} -FAIL: Check that the generated C code compiles : gcc -o produitBool.exec produitBool_produitBool.c produitBool_produitBool_loop.c +PASS: gcc -o produitBool.exec produitBool_produitBool.c produitBool_produitBool_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c produitBool.lus {} PASS: ./lus2lic {-2c redIf.lus -n redIf} PASS: gcc -o redIf.exec redIf_redIf.c redIf_redIf_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c redIf.lus {} @@ -627,7 +643,8 @@ PASS: ./lus2lic {-2c test_const.lus -n test_const} PASS: gcc -o test_const.exec test_const_test_const.c test_const_test_const_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c test_const.lus {} PASS: ./lus2lic {-2c test_diese.lus -n test_diese} -FAIL: Check that the generated C code compiles : gcc -o test_diese.exec test_diese_test_diese.c test_diese_test_diese_loop.c +PASS: gcc -o test_diese.exec test_diese_test_diese.c test_diese_test_diese_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c test_diese.lus {} PASS: ./lus2lic {-2c test_enum.lus -n test_enum} PASS: gcc -o test_enum.exec test_enum_test_enum.c test_enum_test_enum_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c test_enum.lus {} @@ -657,7 +674,8 @@ PASS: ./lus2lic {-2c toolate.lus -n toolate} PASS: gcc -o toolate.exec toolate_toolate.c toolate_toolate_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c toolate.lus {} PASS: ./lus2lic {-2c toto.lus -n toto} -FAIL: Check that the generated C code compiles : gcc -o toto.exec toto_toto.c toto_toto_loop.c +PASS: gcc -o toto.exec toto_toto.c toto_toto_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c toto.lus {} PASS: ./lus2lic {-2c tri.lus -n tri} PASS: gcc -o tri.exec tri_tri.c tri_tri_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c tri.lus {} @@ -671,7 +689,8 @@ PASS: ./lus2lic {-2c trivial2.lus -n trivial2} PASS: gcc -o trivial2.exec trivial2_trivial2.c trivial2_trivial2_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c trivial2.lus {} PASS: ./lus2lic {-2c trivial_array.lus -n trivial_array} -FAIL: Check that the generated C code compiles : gcc -o trivial_array.exec trivial_array_trivial_array.c trivial_array_trivial_array_loop.c +PASS: gcc -o trivial_array.exec trivial_array_trivial_array.c trivial_array_trivial_array_loop.c +PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c trivial_array.lus {} PASS: ./lus2lic {-2c ts01.lus -n ts01} PASS: gcc -o ts01.exec ts01_ts01.c ts01_ts01_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c ts01.lus {} @@ -708,7 +727,7 @@ PASS: gcc -o zzz2.exec zzz2_zzz2.c zzz2_zzz2_loop.c PASS: /home/jahier/lus2lic/test/../utils/compare_exec_and_2c zzz2.lus {} ==> lus2lic3.sum <== -Test Run By jahier on Tue Oct 7 16:23:54 +Test Run By jahier on Thu Oct 9 09:38:07 Native configuration is x86_64-unknown-linux-gnu === lus2lic3 tests === @@ -1204,7 +1223,7 @@ PASS: ./myec2c {-o multipar.c multipar.ec} PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node multipar.lus {} ==> lus2lic4.sum <== -Test Run By jahier on Tue Oct 7 16:24:11 +Test Run By jahier on Thu Oct 9 09:38:11 Native configuration is x86_64-unknown-linux-gnu === lus2lic4 tests === @@ -1675,15 +1694,15 @@ PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node zzz2.lus {} === lus2lic1 Summary === -# of expected passes 299 -# of unexpected failures 13 +# of expected passes 319 +# of unexpected failures 3 ==> lus2lic2.sum <== === lus2lic2 Summary === -# of expected passes 298 -# of unexpected failures 11 +# of expected passes 316 +# of unexpected failures 2 ==> lus2lic3.sum <== @@ -1699,13 +1718,15 @@ PASS: /home/jahier/lus2lic/test/../utils/test_lus2lic_no_node zzz2.lus {} # of expected passes 447 # of unexpected failures 3 =============================== -# Total number of failures: 47 +# Total number of failures: 28 lus2lic0.log:testcase ./lus2lic.tests/test0.exp completed in 0 seconds -lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 20 seconds -lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 56 seconds -lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 17 seconds -lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 66 seconds +lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 23 seconds +lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 63 seconds +lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 18 seconds +lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 67 seconds * Ref time: -0.05user 0.09system 2:40.91elapsed 0%CPU (0avgtext+0avgdata 3000maxresident)k -120inputs+0outputs (0major+14858minor)pagefaults 0swaps +0.06user 0.07system 2:45.60elapsed 0%CPU (0avgtext+0avgdata 3000maxresident)k +120inputs+0outputs (0major+14863minor)pagefaults 0swaps * Quick time (-j 4): +0.04user 0.09system 1:15.78elapsed 0%CPU (0avgtext+0avgdata 3008maxresident)k +120inputs+0outputs (0major+14883minor)pagefaults 0swaps diff --git a/test/lus2lic.time b/test/lus2lic.time index 2e484539..abf43558 100644 --- a/test/lus2lic.time +++ b/test/lus2lic.time @@ -1,9 +1,11 @@ lus2lic0.log:testcase ./lus2lic.tests/test0.exp completed in 0 seconds -lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 20 seconds -lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 56 seconds -lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 17 seconds -lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 66 seconds +lus2lic1.log:testcase ./lus2lic.tests/test1.exp completed in 23 seconds +lus2lic2.log:testcase ./lus2lic.tests/test2.exp completed in 63 seconds +lus2lic3.log:testcase ./lus2lic.tests/test3.exp completed in 18 seconds +lus2lic4.log:testcase ./lus2lic.tests/test4.exp completed in 67 seconds * Ref time: -0.05user 0.09system 2:40.91elapsed 0%CPU (0avgtext+0avgdata 3000maxresident)k -120inputs+0outputs (0major+14858minor)pagefaults 0swaps +0.06user 0.07system 2:45.60elapsed 0%CPU (0avgtext+0avgdata 3000maxresident)k +120inputs+0outputs (0major+14863minor)pagefaults 0swaps * Quick time (-j 4): +0.04user 0.09system 1:15.78elapsed 0%CPU (0avgtext+0avgdata 3008maxresident)k +120inputs+0outputs (0major+14883minor)pagefaults 0swaps -- GitLab