Skip to content

C compatibility level differs between CIL and underlying compiler, confusing configure scripts #129

@stephenrkell

Description

@stephenrkell

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions