Hi.

The RC1 generates uncompilable C code for my Scheme code.
This code worked for all previous Chicken versions (tested
today: 5.1.0).
If I use csc -O3 (-O2 is ok), I get 19 gcc errors, e.g.

nallch.c:1395027: error: void value not ignored as it ought to be
 av2[3]=C_rest_arg_out_of_bounds_error(C_fix(0),C_fix(0),C_fix(0));

If I increase the optimization level to csc -O5, the error changes
because this function call is inlined in the argument position of another
function call, e g.

'gcc-8' 'nallch.c' -o 'nallch.o' -c  -fno-strict-aliasing -fwrapv 
-DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -O1 -march=nehalem 
-I/usr/local/chicken-5.2.0-64/include/chicken
nallch.c: In function f_574889
nallch.c:924744: error: invalid use of void expression
 
f_606388(t2,lf[908],C_rest_arg_out_of_bounds_error(C_fix(0),C_fix(0),C_fix(0)));}

As other C problems in past weeks, it is related to the
optimization of rest args. I like this optimization, but it seems to be more
and more tricky ...

Does anyone have a simple test case for such errors with rest args
when compiling with -O3 or higher?

Ciao
Sven

Reply via email to