Recent work to add C23 support to CIL exposes a deeper issue: configure scripts will probe the underlying compiler and then end up opting us in to features that CIL doesn't support. But these codebases are portable to the earlier versions of C that we do support... it's just that we don't let their configure logic discover that they need to target an earlier version.
Possibly the right thing to do in cilpp or cilly (ideally ditching cilly as per #69) the following.
- run the underlying
cpp without any input, to collect its builtins e.g. _GNU_C_PREREQ, __STDC__VERSION__ or whatever they are
- edit those to reflect our own compatibility
- run the underlying
cpp disabling builtins, but prepending our tweaked builtins