Check node declaration wrt safety and memory.
More precisely, a node that has memory ougth to be declared using "node", and using "function" otherwise. Moreover, a node that performs side-effects (i.e., if it calls an extern node that performs side effects) ougth to be declared as "unsafe". Safe/unsafe mismatches raise an error. Memory mismatches raise an error in one way (a "function" that uses memory), and a warning in the other way (a "node" that uses no memory). Also fix some errors done when transmitting the unsafe flag (well, it's the first time I use it!).
Showing
- src/ast2lic.ml 4 additions, 4 deletionssrc/ast2lic.ml
- src/astCore.ml 4 additions, 2 deletionssrc/astCore.ml
- src/astInstanciateModel.ml 3 additions, 3 deletionssrc/astInstanciateModel.ml
- src/astV6Dump.ml 4 additions, 3 deletionssrc/astV6Dump.ml
- src/compile.ml 3 additions, 1 deletionsrc/compile.ml
- src/l2lCheckLoops.ml 1 addition, 2 deletionssrc/l2lCheckLoops.ml
- src/l2lCheckMemSafe.ml 145 additions, 0 deletionssrc/l2lCheckMemSafe.ml
- src/l2lCheckMemSafe.mli 23 additions, 0 deletionssrc/l2lCheckMemSafe.mli
- src/l2lOptimIte.ml 4 additions, 33 deletionssrc/l2lOptimIte.ml
- src/licDump.ml 3 additions, 1 deletionsrc/licDump.ml
- src/licEvalType.ml 40 additions, 39 deletionssrc/licEvalType.ml
- src/licEvalType.mli 4 additions, 4 deletionssrc/licEvalType.mli
- src/licTab.ml 3 additions, 3 deletionssrc/licTab.ml
- src/lv6parser.mly 30 additions, 2 deletionssrc/lv6parser.mly
- src/lv6version.ml 2 additions, 2 deletionssrc/lv6version.ml
- test/lus2lic.sum 14 additions, 14 deletionstest/lus2lic.sum
- test/lus2lic.time 9 additions, 9 deletionstest/lus2lic.time
Loading
Please register or sign in to comment