- Mar 15, 2021
-
-
erwan authored
-
- Mar 13, 2020
-
-
erwan authored
In the -2c mode, in presence of extern types, I was defining them as int. The idea was to have something that compiles, and then to ask the user to redefine its extern types. Now I define extern types as string (char*). The rationale of this change is that before, the generated code was only working for int, which is pretty useless as an extern type. Have string by default is actually much more useful, for instance to use string in a Lustre program. Also, adapt to changes done in lutils, where the string type has ben added. (sha:8619aa285ca8322ab9, i.e., > lutils 1.49.10)
-
- Aug 29, 2019
-
-
erwan authored
Remove a lot of warnings (considered as errors by dune).
-
- Dec 18, 2017
-
-
erwan authored
The generated code for tests on boolean output was wrong. Indeed, it was generating if (o1 == _true) { instead of if (*o1 == _true) { nb : a warning was emited
-
- Jun 27, 2017
-
-
erwan authored
I've fixed that using memcmp, which should be fine since compared elements are of the same types.
-
- Jun 26, 2017
-
-
erwan authored
+ add a test that reveal a pb in the generated C code in lustre programs that perform equalities on arrays.
-
- Oct 07, 2016
-
-
Erwan Jahier authored
Reference Manual enhancements.
-
- Sep 09, 2016
-
-
Erwan Jahier authored
-
- Apr 10, 2015
-
-
Erwan Jahier authored
by grouping instances of the same type into arrays. The rationale is to be able to generate for loops with iterators. The previous code was working, but probably by chance.
-
- Feb 27, 2015
-
-
Erwan Jahier authored
-
- Feb 13, 2015
-
-
Erwan Jahier authored
Indeed, in order to copy an array, I used to generate something like memcpy(out, in, sizeof(in)); but if 'out' and 'in' are arrays, and if 'in' is an argument of a function, sizeof() considers it as a pointer, not an array !!!! note that if 'in' is a local var, sizeof(in) works fine. To fix it, I use the type of the dest (instead of the id) as argument of sizeof. nb : The pb never occured before, as in the heap mode only the ctx is passed a args of step functions.
-
- Feb 12, 2015
-
-
Erwan Jahier authored
There were problems with arrays
-
Erwan Jahier authored
There were problems with: - arrays in step functions (array were declared with an incorrect syntax) - the node_loop.c file was wrong in presence of arrays in I/O - clock that are outputs (a "*" was missing)
-
- Feb 09, 2015
-
-
Erwan Jahier authored
when calling soc. Do not work all the times (eg, with arrays it generates C code that does not compile). cf next changes.
-
- Oct 03, 2014
-
-
Erwan Jahier authored
i.e., by providing a default macro definition that uses memcpy() (versus generating a nop function).
-
Erwan Jahier authored
As suggested by Willie, it allows it to be specialized when it is called more than once.
-
Erwan Jahier authored
The rationale is to prepare the work for a future --2s-stack option.
-
- Oct 02, 2014
-
-
Erwan Jahier authored
Also provide a default version of those macros using memcpy.
-
- Oct 01, 2014
-
-
Erwan Jahier authored
Add an option --to-c-dont-inline-predef to get the previous behavior.
-
- Sep 29, 2014
-
-
Erwan Jahier authored
I've just switched to ocaml 4.02, and it works only on carlit because of GLIC 2.14 is not installed on other machine. also, add some missing files.
-
- Aug 14, 2014
-
-
Erwan Jahier authored
-
- Jul 09, 2014
-
-
Erwan Jahier authored
-
- Jul 01, 2014
-
-
Erwan Jahier authored
Indeed, ite are polymorphic, and thus inventing names during soc instanciation is error-prone, ugly, innefficient, and increase the code size. Moreover, using C ite to translate them online (ie, without going trough a soc) is straigforward # of unexpected failures 104->101.
-
- Jun 26, 2014
-
-
Erwan Jahier authored
where I've removed the handling of polymorphism.
-
Erwan Jahier authored
For instance, node toto = map<<Lustre::if, N>>(x, a, b); is rejected. The problem with this change is that we now also reject equations such as res = map<<+, N>>(x, a, b); which could be avoided. Probably L2lRmPoly does its job partially.
-
- Jun 24, 2014
-
-
Erwan Jahier authored
nb: unexpected failures 115->120
-
Erwan Jahier authored
nb: unexpected failures 120 -> 115
-
Erwan Jahier authored
I've sligthly modified the profile of gen_assign to explicitly ask for the size of the data structure to be copied. nb: unexpected failures 131 -> 127
-
- Jun 23, 2014
-
-
Erwan Jahier authored
nb: unexpected failures 144->143
-
- Jun 19, 2014
-
-
Erwan Jahier authored
The first one in Soc2cIdent.type_to_short_string when enum and int were both translated by "i" ; as a consequence, some different soc ctx get the same name. The second one was due to the fact that car ident in gao switches were printed incorrectly (missing "ctx->" or "node_no_mem_ctx."). nb: unexpected failures 162-> 149
-
Erwan Jahier authored
nb: unexpected failures 175-> 162 Also name step function consistent and uniquely
-
- Jun 18, 2014
-
-
Erwan Jahier authored
-
- Jun 12, 2014
-
-
Erwan Jahier authored
Always use Soc2cPredef.gen_assign to generate var assignments. Also, use affection for assigning structures. nb: 21 more tests passes.
-