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