Re: building ecl with gcc-15 / c23 C standard
Daniel KochmaĆski <[email protected]> Sat, 03 May 2025 17:47:09 +0000
| Newsgroups | gmane.lisp.ecl.general |
|---|---|
| Message-ID | <yIsmHum_p0RYFQdvaQmdm5G8ZKtYLD2Pev2jYkDIcCqIPFsUK_QAXq6TobTZRoSfl4iMh-zOJlxDX8O_njYmARHovwiz1Wir4JWYg05pnls=@turtleware.eu> |
Hey, On Monday, April 21st, 2025 at 6:10 PM, Dima Pasechnik <[email protected]= om> wrote: > I had a go at building ecl with C compiler using c23 mode (i.e. -std=3Dc2= 3 argument in CFLAGS) > and apart from an easy to fix "typedef bool" issue, there is more, and qu= ite hard to understand: >=20 > CFLAGS=3D"-std=3Dc23" ./configure && make >=20 > [...] > dpp: /home/dima/software/ecl/src/c/read.d -> read.o.c > [...] > /home/dima/software/ecl/src/c/read.d: In function =E2=80=98init_read= =E2=80=99: > /home/dima/software/ecl/src/c/read.d:2023:39: error: passing argument 1 o= f =E2=80=98ecl_make_cfun=E2=80=99 from incompatible pointer type [-Wincompa= tible-pointer-types] > 2023 | #define make_cf3(f) ecl_make_cfun((f), ECL_NIL, NULL, 3) > | ^~~ > | | > | union cl_lispunion * (*)(un= ion cl_lispunion *, union cl_lispunion *) > /home/dima/software/ecl/src/c/read.d:2047:29: note: in expansion of macro= =E2=80=98make_cf2=E2=80=99 > 2047 |=20 > | ^ =20 > In file included from /home/dima/software/ecl/build/ecl/ecl.h:82, > from /home/dima/software/ecl/src/c/read.d:16: > /home/dima/software/ecl/build/ecl/external.h:427:58: note: expected = =E2=80=98cl_objectfn_fixed=E2=80=99 {aka =E2=80=98union cl_lispunion * (*)(= void)=E2=80=99} but argument is of type =E2=80=98union cl_lispunion * (*)(u= nion cl_lispunion *, union cl_lispunion *)=E2=80=99 > 427 | extern ECL_API cl_object ecl_make_cfun(cl_objectfn_fixed c_functi= on, cl_object name, cl_object block, int narg); > | ~~~~~~~~~~~~~~~~~~^~~~~~~~= ~~ >=20 >=20 > see > https://gitlab.com/embeddable-common-lisp/ecl/-/issues/775 >=20 > Any ideas how to fix this? >=20 > Dima While Dima is already aware of it, Marius have fixed the issue and the merg= e request is under review. See the linked issue for details. (Writing here so it isn't left hanging unanswered). Best regards, Daniel