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)
- contrenum.ept includes contracts and controllable variable: moved to sdc test directory
- lnum_simple.ept: added "enforce true" contract (at least one objective in the syntax)
- script compile_sdc_run: heptc options to point to local Heptagon library
Test script compile_sdc_run: handling of different controller
synthesis algorithms.
In a test file, put a special comment :
(* SDC algorithm *)
on a single line, to activate synthesis algorithm "algorithm"
for this test file.
Examples:
(* SDC sB *)
(* SDC sS *)
(* SDC sS:d={P:D} *)
NB: assertions not yet handled.
Added script test_option which:
- compile and run without option
- compile with option given as argument, run
- diff on the two outputs, fails if different outputs
config file checks for existence of compiler (fails if not exist)
statics1.ept is a copy of statics.ept ; statics2.ept depends on statics1.ept
instead of statics.ept (so as dependency order => lexical order on file names)
Configuration files and scripts to perform tests with ctest
- ctest can be run into the test directory or the root
- the script CTestScript.cmake allows ctest to perform the whole
sequence update/configure/build/test and submit the result to
cdash (http://cdash.inria.fr/CDash/index.php?project=Heptagon)
- gen_ctests is used to generate the file test/CTestTestfile.cmake
- We can do a better allocation if we take into
account 'when' in extvalues
(test/good/memalloc_clocks.ept shows the
improvement)
- Fixed a bug with memalloc on records: if we
translate:
o = { a with .f = u }
to
o = a; o.f = u
then we cannot share u and o.f
Note that it is really slow compared to something like :
javac -cp ../../../lib/java */*.java
which compiles everything together instead of relaunching the compiler by hand in each subdir.