- Apr 10, 2015
-
-
Erwan Jahier authored
Indeed, I've missed that case and have no nonreg test for -2ch
-
Erwan Jahier authored
that I should have catched then. Sigh. only affect array concat
-
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 24, 2015
-
-
Erwan Jahier authored
e.g., for arrays. No test actually catches this bug.
-
- Feb 23, 2015
-
-
Erwan Jahier authored
Now all the tests that were ok in the heap mode are also ok in the stack mode ! However the code generated for programs that use fillred and co is weird. For instance, in should_work.pipeline.lus, in fillred_oneStep_pipe_10_step, accu_in is used both as an input and an output, which seems wrong in the stack mode as no copy is performed. Is it working by chance ?
-
- Feb 13, 2015
-
-
Erwan Jahier authored
Now all the tests that were ok in the heap mode are also ok in the stack mode ! However the code generated by fillred and co is weird. For instance, in should_work.pipeline.lus, in fillred_oneStep_pipe_10_step, accu_in is used both as an input and an output, which seems wrong in the stack mode as no copy is performed. Is it working by chance ?
-
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 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.
-
- Jan 14, 2015
-
-
Erwan Jahier authored
Report by willie (cf mail of 8/10/2014 to get the file) file:/tmp/modes3x2.lus lus2lic -esa -en -2c /tmp/modes3x2.lus -n modes3x2 But it gives an error of: Error. in file "/mnt/A/wsept/modes3x2_pre_orig_lus2lic_en_esa/modes3x2.lus", line 74, col 8 to 8, token '#': only one operator per equation is allowed (v04_0, v04_1). Which is the line: assert #(on_off, toggle); ----------------------------------------------------------------- Actually, refuse programs that uses "#" or "nor" run with -esa and -2c|-exec That means that willie program is now rejected. Nevertheless, that change migth fix some other programs (that uses arrays, and used with -esa and -exec or -2c).
-
- Jan 07, 2015
-
-
Erwan Jahier authored
Also fix a bug in Lic2soc.make_e2a_elt where some deps and some actions were lost. Actually, this bug ought to be triggered only with nested calls. So this affects only programs executed via the -knc/-keep-nested-calls option. and -2c is not supposed to work in conjunction with -knc ! Hence this fix does not fix anything. But still it fixes potentially future code if I (or someone else) decide to handle nested calls in the lic one day.
-
- Oct 09, 2014
-
-
Erwan Jahier authored
-
Erwan Jahier authored
More precisely, it was introduced here 6c7bc562 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...
-
- Oct 03, 2014
-
-
Erwan Jahier authored
The rationale is to prepare the work for a future --2s-stack option.
-
- Aug 22, 2014
-
-
Erwan Jahier authored
soc2c: fix the code generated for array concatenation (which was raising a warning and a Seg fault).
-
- Aug 14, 2014
-
-
Erwan Jahier authored
-
Erwan Jahier authored
nb : the -exec mode was working because I did not use the generated soc, which was completely wrong. Note that to do that, I have modified the CURRENT variant of Lic.val_exp, to attach it the clock the current holds on. Indeed, the clock is mandatory to generated correct code... In an ideal world, this clock information may have explicitely been set by the user ("current(clk_of_X,X)" instead of "current(X)"), but for historical reason, it is not the case. Hence, this information is added as soon as it is available, namely, during clock checking.
-
- 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 24, 2014
-
-
Erwan Jahier authored
nb: unexpected failures 120 -> 118
-
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 20, 2014
-
-
Erwan Jahier authored
nb: unexpected failures 149->144
-
- Jun 19, 2014
-
-
Erwan Jahier authored
The arrow soc now has a memory used to hold if the first step has be triggered.
-
Erwan Jahier authored
nb: unexpected failures 175-> 162 Also name step function consistent and uniquely
-
- Jun 18, 2014
-
-
Erwan Jahier authored
nb: unexpected failures 187->175
-
Erwan Jahier authored
nb: unexpected failures 195->187 Also start to add support for the other iterators, but it does not work yet.
-
Erwan Jahier authored
-
- Jun 13, 2014
-
-
Erwan Jahier authored
-
Erwan Jahier authored
-
- Jun 12, 2014
-
-
Erwan Jahier authored
nb: 20 more tests passes.
-
Erwan Jahier authored
Always use Soc2cPredef.gen_assign to generate var assignments. Also, use affection for assigning structures. nb: 21 more tests passes.
-
Erwan Jahier authored
Also do not crash if the soc contains reference to extern types.
-
- Jun 02, 2014
-
-
Erwan Jahier authored
- Generate code for most predef operators. - Generate a loop.c file (in a similar manner as ec2c -loop does)
-