And a third (and last) issue I found with C23 enabled, Seems that there were some C23 changes with booleans. x86_64-linux-gnu-gcc ... ./regutil/regfilesys.c In file included from ./regutil/regfilesys.c:29: ./regutil/regutil.h:28:4: error: expected identifier before 'false' 28 | false, | ^~~~~ This patch uses stdbool.h if available. If so, makes rxbool be a bool with typedef. Otherwise uses rxbool old definition. Regards,
let's go with the second issue, C23 error message with gci enabled: ./gci/gci_call.c: In function 'doCall': ./gci/gci_call.c:75:8: error: too many arguments to function '(void ()(void))func' 75 | ((void ()())func)( GCI_PASSARGS( buf ) ); | ~^~~~~~~~~~~~~~~~~ ./gci/gci_call.c:63:33: error: too many arguments to function '(signed char ()(void))func' 63 | ((type ()())func)( GCI_PASSARGS( buf ) ); \ | ~^~~~~~~~~~~~~~~~~ Seems that there are two changes in C23 regarding variable arguments list in function...
I have looked at 3.9.6 code and seems that the same problems are present. However, previous patch for nullptr in 3.9.5 needs minor changes, attached. Only tested previous patch with 3.9.5, this one applies to 3.9.6, but is not tested in build process. Noticed later that rxnullptr may have been a better name than mynullptr.
Sorry, should have been version 3.9.5 and C23
Problems with cc23
Some things on autotools m4 files
Possible diffs from Debian official package about to be upgraded to 3.9.5.
Sorry, too quick fingers, here goes 0000_Typo-fixes.diff, containing some other minor fixes for typos or wording.