Added test for bug [#14076] (initialization analysis)
Bug [#14076]: node sum(x:int) returns (y:int) let y = x + (0 fby y); tel node main(x : int) returns (y : int) let y = 0 -> sum(pre x); tel is accepted whereas the node "sum" will memorize an absent value (pre x) and use it at next instant. Removed auto2.ept (duplicate of auto.ept)
This commit is contained in:
parent
7f9b72755a
commit
faf707db4a
3 changed files with 18 additions and 32 deletions
|
@ -20,6 +20,7 @@ ADD_TEST(compile_fail_linear_mapfold "scripts/compile_fail" "bad/linear_mapfold.
|
|||
ADD_TEST(compile_fail_side_effect "scripts/compile_fail" "bad/side_effect.ept" "-memalloc")
|
||||
ADD_TEST(compile_fail_t10-initialization "scripts/compile_fail" "bad/t10-initialization.ept" "-memalloc")
|
||||
ADD_TEST(compile_fail_t11-initialization "scripts/compile_fail" "bad/t11-initialization.ept" "-memalloc")
|
||||
ADD_TEST(compile_fail_t12-initialization "scripts/compile_fail" "bad/t12-initialization.ept" "-memalloc")
|
||||
ADD_TEST(compile_fail_t1 "scripts/compile_fail" "bad/t1.ept" "-memalloc")
|
||||
ADD_TEST(compile_fail_t2 "scripts/compile_fail" "bad/t2.ept" "-memalloc")
|
||||
ADD_TEST(compile_fail_t3 "scripts/compile_fail" "bad/t3.ept" "-memalloc")
|
||||
|
@ -38,7 +39,7 @@ ADD_TEST(compile_only_array_fill "scripts/compile_only" "good/array_fill.ept")
|
|||
ADD_TEST(compile_only_array_iterators2 "scripts/compile_only" "good/array_iterators2.ept")
|
||||
ADD_TEST(compile_only_array_iterators "scripts/compile_only" "good/array_iterators.ept")
|
||||
ADD_TEST(compile_only_array_power "scripts/compile_only" "good/array_power.ept")
|
||||
ADD_TEST(compile_only_auto2 "scripts/compile_only" "good/auto2.ept")
|
||||
ADD_TEST(compile_only_auto_clock "scripts/compile_only" "good/auto_clock.ept")
|
||||
ADD_TEST(compile_only_auto "scripts/compile_only" "good/auto.ept")
|
||||
ADD_TEST(compile_only_autohiera2 "scripts/compile_only" "good/autohiera2.ept")
|
||||
ADD_TEST(compile_only_autohiera3 "scripts/compile_only" "good/autohiera3.ept")
|
||||
|
@ -122,7 +123,7 @@ ADD_TEST(compile_gcc_run_array_fill "scripts/compile_gcc_run" "good/array_fill.e
|
|||
ADD_TEST(compile_gcc_run_array_iterators2 "scripts/compile_gcc_run" "good/array_iterators2.ept")
|
||||
ADD_TEST(compile_gcc_run_array_iterators "scripts/compile_gcc_run" "good/array_iterators.ept")
|
||||
ADD_TEST(compile_gcc_run_array_power "scripts/compile_gcc_run" "good/array_power.ept")
|
||||
ADD_TEST(compile_gcc_run_auto2 "scripts/compile_gcc_run" "good/auto2.ept")
|
||||
ADD_TEST(compile_gcc_run_auto_clock "scripts/compile_gcc_run" "good/auto_clock.ept")
|
||||
ADD_TEST(compile_gcc_run_auto "scripts/compile_gcc_run" "good/auto.ept")
|
||||
ADD_TEST(compile_gcc_run_autohiera2 "scripts/compile_gcc_run" "good/autohiera2.ept")
|
||||
ADD_TEST(compile_gcc_run_autohiera3 "scripts/compile_gcc_run" "good/autohiera3.ept")
|
||||
|
@ -206,7 +207,7 @@ ADD_TEST(test_option_bool_array_fill "scripts/test_option" "good/array_fill.ept"
|
|||
ADD_TEST(test_option_bool_array_iterators2 "scripts/test_option" "good/array_iterators2.ept" "-bool")
|
||||
ADD_TEST(test_option_bool_array_iterators "scripts/test_option" "good/array_iterators.ept" "-bool")
|
||||
ADD_TEST(test_option_bool_array_power "scripts/test_option" "good/array_power.ept" "-bool")
|
||||
ADD_TEST(test_option_bool_auto2 "scripts/test_option" "good/auto2.ept" "-bool")
|
||||
ADD_TEST(test_option_bool_auto_clock "scripts/test_option" "good/auto_clock.ept" "-bool")
|
||||
ADD_TEST(test_option_bool_auto "scripts/test_option" "good/auto.ept" "-bool")
|
||||
ADD_TEST(test_option_bool_autohiera2 "scripts/test_option" "good/autohiera2.ept" "-bool")
|
||||
ADD_TEST(test_option_bool_autohiera3 "scripts/test_option" "good/autohiera3.ept" "-bool")
|
||||
|
@ -290,7 +291,7 @@ ADD_TEST(test_option_deadcode_array_fill "scripts/test_option" "good/array_fill.
|
|||
ADD_TEST(test_option_deadcode_array_iterators2 "scripts/test_option" "good/array_iterators2.ept" "-deadcode")
|
||||
ADD_TEST(test_option_deadcode_array_iterators "scripts/test_option" "good/array_iterators.ept" "-deadcode")
|
||||
ADD_TEST(test_option_deadcode_array_power "scripts/test_option" "good/array_power.ept" "-deadcode")
|
||||
ADD_TEST(test_option_deadcode_auto2 "scripts/test_option" "good/auto2.ept" "-deadcode")
|
||||
ADD_TEST(test_option_deadcode_auto_clock "scripts/test_option" "good/auto_clock.ept" "-deadcode")
|
||||
ADD_TEST(test_option_deadcode_auto "scripts/test_option" "good/auto.ept" "-deadcode")
|
||||
ADD_TEST(test_option_deadcode_autohiera2 "scripts/test_option" "good/autohiera2.ept" "-deadcode")
|
||||
ADD_TEST(test_option_deadcode_autohiera3 "scripts/test_option" "good/autohiera3.ept" "-deadcode")
|
||||
|
@ -374,7 +375,7 @@ ADD_TEST(test_option_tomato_array_fill "scripts/test_option" "good/array_fill.ep
|
|||
ADD_TEST(test_option_tomato_array_iterators2 "scripts/test_option" "good/array_iterators2.ept" "-tomato")
|
||||
ADD_TEST(test_option_tomato_array_iterators "scripts/test_option" "good/array_iterators.ept" "-tomato")
|
||||
ADD_TEST(test_option_tomato_array_power "scripts/test_option" "good/array_power.ept" "-tomato")
|
||||
ADD_TEST(test_option_tomato_auto2 "scripts/test_option" "good/auto2.ept" "-tomato")
|
||||
ADD_TEST(test_option_tomato_auto_clock "scripts/test_option" "good/auto_clock.ept" "-tomato")
|
||||
ADD_TEST(test_option_tomato_auto "scripts/test_option" "good/auto.ept" "-tomato")
|
||||
ADD_TEST(test_option_tomato_autohiera2 "scripts/test_option" "good/autohiera2.ept" "-tomato")
|
||||
ADD_TEST(test_option_tomato_autohiera3 "scripts/test_option" "good/autohiera3.ept" "-tomato")
|
||||
|
@ -458,7 +459,7 @@ ADD_TEST(test_option_flatten_array_fill "scripts/test_option" "good/array_fill.e
|
|||
ADD_TEST(test_option_flatten_array_iterators2 "scripts/test_option" "good/array_iterators2.ept" "-flatten")
|
||||
ADD_TEST(test_option_flatten_array_iterators "scripts/test_option" "good/array_iterators.ept" "-flatten")
|
||||
ADD_TEST(test_option_flatten_array_power "scripts/test_option" "good/array_power.ept" "-flatten")
|
||||
ADD_TEST(test_option_flatten_auto2 "scripts/test_option" "good/auto2.ept" "-flatten")
|
||||
ADD_TEST(test_option_flatten_auto_clock "scripts/test_option" "good/auto_clock.ept" "-flatten")
|
||||
ADD_TEST(test_option_flatten_auto "scripts/test_option" "good/auto.ept" "-flatten")
|
||||
ADD_TEST(test_option_flatten_autohiera2 "scripts/test_option" "good/autohiera2.ept" "-flatten")
|
||||
ADD_TEST(test_option_flatten_autohiera3 "scripts/test_option" "good/autohiera3.ept" "-flatten")
|
||||
|
@ -542,7 +543,7 @@ ADD_TEST(test_option_itfusion_array_fill "scripts/test_option" "good/array_fill.
|
|||
ADD_TEST(test_option_itfusion_array_iterators2 "scripts/test_option" "good/array_iterators2.ept" "-itfusion")
|
||||
ADD_TEST(test_option_itfusion_array_iterators "scripts/test_option" "good/array_iterators.ept" "-itfusion")
|
||||
ADD_TEST(test_option_itfusion_array_power "scripts/test_option" "good/array_power.ept" "-itfusion")
|
||||
ADD_TEST(test_option_itfusion_auto2 "scripts/test_option" "good/auto2.ept" "-itfusion")
|
||||
ADD_TEST(test_option_itfusion_auto_clock "scripts/test_option" "good/auto_clock.ept" "-itfusion")
|
||||
ADD_TEST(test_option_itfusion_auto "scripts/test_option" "good/auto.ept" "-itfusion")
|
||||
ADD_TEST(test_option_itfusion_autohiera2 "scripts/test_option" "good/autohiera2.ept" "-itfusion")
|
||||
ADD_TEST(test_option_itfusion_autohiera3 "scripts/test_option" "good/autohiera3.ept" "-itfusion")
|
||||
|
@ -626,7 +627,7 @@ ADD_TEST(test_option_memalloc_array_fill "scripts/test_option" "good/array_fill.
|
|||
ADD_TEST(test_option_memalloc_array_iterators2 "scripts/test_option" "good/array_iterators2.ept" "-memalloc")
|
||||
ADD_TEST(test_option_memalloc_array_iterators "scripts/test_option" "good/array_iterators.ept" "-memalloc")
|
||||
ADD_TEST(test_option_memalloc_array_power "scripts/test_option" "good/array_power.ept" "-memalloc")
|
||||
ADD_TEST(test_option_memalloc_auto2 "scripts/test_option" "good/auto2.ept" "-memalloc")
|
||||
ADD_TEST(test_option_memalloc_auto_clock "scripts/test_option" "good/auto_clock.ept" "-memalloc")
|
||||
ADD_TEST(test_option_memalloc_auto "scripts/test_option" "good/auto.ept" "-memalloc")
|
||||
ADD_TEST(test_option_memalloc_autohiera2 "scripts/test_option" "good/autohiera2.ept" "-memalloc")
|
||||
ADD_TEST(test_option_memalloc_autohiera3 "scripts/test_option" "good/autohiera3.ept" "-memalloc")
|
||||
|
@ -710,7 +711,7 @@ ADD_TEST(test_option_unroll_array_fill "scripts/test_option" "good/array_fill.ep
|
|||
ADD_TEST(test_option_unroll_array_iterators2 "scripts/test_option" "good/array_iterators2.ept" "-unroll")
|
||||
ADD_TEST(test_option_unroll_array_iterators "scripts/test_option" "good/array_iterators.ept" "-unroll")
|
||||
ADD_TEST(test_option_unroll_array_power "scripts/test_option" "good/array_power.ept" "-unroll")
|
||||
ADD_TEST(test_option_unroll_auto2 "scripts/test_option" "good/auto2.ept" "-unroll")
|
||||
ADD_TEST(test_option_unroll_auto_clock "scripts/test_option" "good/auto_clock.ept" "-unroll")
|
||||
ADD_TEST(test_option_unroll_auto "scripts/test_option" "good/auto.ept" "-unroll")
|
||||
ADD_TEST(test_option_unroll_autohiera2 "scripts/test_option" "good/autohiera2.ept" "-unroll")
|
||||
ADD_TEST(test_option_unroll_autohiera3 "scripts/test_option" "good/autohiera3.ept" "-unroll")
|
||||
|
@ -794,7 +795,7 @@ ADD_TEST(test_option_O_array_fill "scripts/test_option" "good/array_fill.ept" "-
|
|||
ADD_TEST(test_option_O_array_iterators2 "scripts/test_option" "good/array_iterators2.ept" "-O")
|
||||
ADD_TEST(test_option_O_array_iterators "scripts/test_option" "good/array_iterators.ept" "-O")
|
||||
ADD_TEST(test_option_O_array_power "scripts/test_option" "good/array_power.ept" "-O")
|
||||
ADD_TEST(test_option_O_auto2 "scripts/test_option" "good/auto2.ept" "-O")
|
||||
ADD_TEST(test_option_O_auto_clock "scripts/test_option" "good/auto_clock.ept" "-O")
|
||||
ADD_TEST(test_option_O_auto "scripts/test_option" "good/auto.ept" "-O")
|
||||
ADD_TEST(test_option_O_autohiera2 "scripts/test_option" "good/autohiera2.ept" "-O")
|
||||
ADD_TEST(test_option_O_autohiera3 "scripts/test_option" "good/autohiera3.ept" "-O")
|
||||
|
@ -878,7 +879,7 @@ ADD_TEST(compile_javac_run_array_fill "scripts/compile_javac_run" "good/array_fi
|
|||
ADD_TEST(compile_javac_run_array_iterators2 "scripts/compile_javac_run" "good/array_iterators2.ept")
|
||||
ADD_TEST(compile_javac_run_array_iterators "scripts/compile_javac_run" "good/array_iterators.ept")
|
||||
ADD_TEST(compile_javac_run_array_power "scripts/compile_javac_run" "good/array_power.ept")
|
||||
ADD_TEST(compile_javac_run_auto2 "scripts/compile_javac_run" "good/auto2.ept")
|
||||
ADD_TEST(compile_javac_run_auto_clock "scripts/compile_javac_run" "good/auto_clock.ept")
|
||||
ADD_TEST(compile_javac_run_auto "scripts/compile_javac_run" "good/auto.ept")
|
||||
ADD_TEST(compile_javac_run_autohiera2 "scripts/compile_javac_run" "good/autohiera2.ept")
|
||||
ADD_TEST(compile_javac_run_autohiera3 "scripts/compile_javac_run" "good/autohiera3.ept")
|
||||
|
|
6
test/bad/t12-initialization.ept
Normal file
6
test/bad/t12-initialization.ept
Normal file
|
@ -0,0 +1,6 @@
|
|||
node sum(x:int) returns (y:int) let y = x + (0 fby y); tel
|
||||
node main(x : int) returns (y : int)
|
||||
let
|
||||
y = 0 -> sum(pre x);
|
||||
tel
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
node count() returns (o : int)
|
||||
let
|
||||
o = 0 fby (o + 1);
|
||||
tel
|
||||
|
||||
node f() returns(x,y : bool)
|
||||
let
|
||||
(x,y) = (true,false)
|
||||
tel
|
||||
|
||||
node main() returns (c,c1 : bool)
|
||||
let
|
||||
automaton
|
||||
state One
|
||||
do (c,c1) = f()
|
||||
until count() = 5 then Two
|
||||
state Two
|
||||
do (c,c1) = f()
|
||||
until count() = 3 then One
|
||||
end
|
||||
tel
|
Loading…
Reference in a new issue