Skip to content

Use C standard option also for preprocessing#1807

Merged
sim642 merged 4 commits intomasterfrom
cpp-std
Sep 5, 2025
Merged

Use C standard option also for preprocessing#1807
sim642 merged 4 commits intomasterfrom
cpp-std

Conversation

@sim642
Copy link
Copy Markdown
Member

@sim642 sim642 commented Aug 14, 2025

This hopefully provides a quick workaround to goblint/cil#182 and #1779.

Changes

  1. Rename cil.cstdstd, because it is no longer just used to configure CIL. This also allows GCC-like --std=c11 to be passed to Goblint itself, which is nice for consistency.
  2. Add more supported values to std option.
  3. Make gnu11 default for std. This was GCC's default prior to GCC 15 switching to gnu23, so this hopefully allows current behavior to keep working.
  4. Pass std option to preprocessor.

TODO

  • Rebase fixup.

sim642 added 2 commits August 14, 2025 10:56
This allows GCC-like --std=c11 as argument.
@sim642
Copy link
Copy Markdown
Member Author

sim642 commented Aug 14, 2025

Apparently GCC got updated to 15 also in GitHub MacOS runners, so we're now getting nightly failures here as well: https://github.com/goblint/analyzer/actions/runs/16954730277/job/48054394313.
So this is increasingly urgent.

EDIT: It passes with this PR: https://github.com/goblint/analyzer/actions/runs/16959354041/job/48068105329.

@sim642 sim642 merged commit e6640fa into master Sep 5, 2025
45 of 46 checks passed
@sim642 sim642 deleted the cpp-std branch September 5, 2025 06:48
sim642 added a commit to sim642/opam-repository that referenced this pull request Sep 5, 2025
CHANGES:

* Add division by zero analysis (goblint/analyzer#1764).
* Add bitfield domain (goblint/analyzer#1623).
* Add weakly-relational C-2PO pointer analysis (goblint/analyzer#1485).
* Add widening delay (goblint/analyzer#1358, goblint/analyzer#1442, goblint/analyzer#1483).
* Add narrowing of globals to top-down solver (goblint/analyzer#1636).
* Add weak dependencies to top-down solver (goblint/analyzer#1746, goblint/analyzer#1747).
* Add YAML ghost witness generation (goblint/analyzer#1394).
* Remove GraphML witness generation (goblint/analyzer#1732, goblint/analyzer#1733, goblint/analyzer#1738).
* Use C standard option for preprocessing (goblint/analyzer#1807).
* Add bash completion for array options (goblint/analyzer#1670, goblint/analyzer#1705, goblint/analyzer#1750).
* Make `malloc(0)` semantics configurable (goblint/analyzer#1418, goblint/analyzer#1777).
* Update path-sensitive analyses (goblint/analyzer#1785, goblint/analyzer#1791, goblint/analyzer#1792).
* Fix evaluation of library function arguments (goblint/analyzer#1758, goblint/analyzer#1761).
* Optimize affine equalities analysis using sparse matrices (goblint/analyzer#1459, goblint/analyzer#1625).
* Prepare for parallelism (goblint/analyzer#1708, goblint/analyzer#1744, goblint/analyzer#1748, goblint/analyzer#1781, goblint/analyzer#1790).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant