Migrate to Goblint CIL#183
Conversation
…t case" This reverts commit 71a6ca6, because Goblint-CIL doesn't have a GStaticAssert case.
|
WIP: currently the CI fails (perhaps due to CIL/OCaml dependencies not correctly specified). I'll try to fix later today. |
|
@stephenrkell I can't reproduce the CI failure locally. Any ideas? In my local run |
There was a problem hiding this comment.
I think the makefile should mkdir -p instead
|
Thanks for the PR! This would be really nice to have, indeed. I believe we all run into relatively frequent CIL errors. One thing with the PR, though: Wouldn't setting up an opam env be easier to maintain? There is no need to rely on aptitude for oOCamlpackages (which is quite unreliable), and we could more easily pin OCaml versions if we build CIL in an opam switch env. The dune submodule is also droppable that way! I already built liballocs that way on my local, happy to send a PR to your PR to add that instead. Though there may be a reason for the current approach I am unaware of, so please let me know your thoughts! |
Thanks for your comment! I agree that setting up an opam env would be a good idea (plus it makes installing language servers easier which facilitates development), so PRs are welcome! I had the same discussion with Stephen earlier and he is also open to switching to opam if we can make it clean. |
Great! Will send a PR to your PR, once I finish working with #179 |
b6fcd3d to
f084d14
Compare
| - run: | ||
| name: Build submodules | ||
| command: make -C contrib -j 2 | ||
| no_output_timeout: 30m |
There was a problem hiding this comment.
I think we should rather have opam init as a build step, and only have dune build within the project make path. See:
https://github.com/difcsi/liballocs/blob/master/.github/workflows/ci.yml
There was a problem hiding this comment.
This would require non-CI users of liballocs to run opam init first, and their opam config might have unintended effects on Goblint CIL build?
|
Unfortunately the latest changes in upstream liballocs master branch (about switching from gcc-10 to gcc-13) broke most of the test cases. The reason is that CIL has trouble handling duplicated extern function declarations, which is used in gcc-13’s stdlib.h. The following code (found in gcc-13's is transformed by CIL to Then GCC is complaining about It seems like this issue doesn't exist in SRK CIL. It seems to be fixed by stephenrkell/cil@e563c01 |
|
I think we may just need to cherry-pick something from my CIL. In issue #101 I think I found that I had fixed this in my CIL (and then forgotten all about it). |
|
I am working on porting this to Goblint at the moment, see #190 |
No description provided.