Bump goblint-cil (https://github.com/goblint/cil/pull/85)#665
Bump goblint-cil (https://github.com/goblint/cil/pull/85)#665michael-schwarz merged 2 commits intomasterfrom
Conversation
|
readthedocs CI failing is unrelated. |
I added a workaround on master. |
|
The big issue with not merging inlines is still there, silently breaking our assumptions: goblint/cil#84 and 62d7591#commitcomment-67629901. So I don't understand why you really want to avoid |
I don't think it is doing one to the exclusion of the other. This fix allows us to go ahead with our benchmarks without any issues. We should at some future point also fix the merging of inlines (even though I personally find the notion of doing that a bit dubious), but CIL should still work when it is disabled. Note that it would be perfectly sensible for code to provide two different extern inline functions of the same name in two different compilation units when declaring the I don't think I understand in what sense any invariant is broken here? The one-to-one correspondence between a |
|
And if it is indeed problematic what does it have to do with |
goblint/cil#84 breaks the internal invariant silently. Unless we manually trace and check all the
What is the problem with merging inlines though, other than inefficiency? I don't at least see any open issue about it which could be a threat to validity by breaking AST invariants.
And that's exactly why I'm concerned here: goblint/cil#85 (comment). There are inconsistencies on top of goblint/cil#84:
Actually this might even be accidentally fixing the broken invariant, but just for the
Given that the function merging code is spread into two different places to control the varinfo renaming and the body merging, that might also be the case. I don't think we do any real testing with static functions either. |
|
Waiting for goblint/cil#86 to land, and update then |
sim642
left a comment
There was a problem hiding this comment.
I suppose this should be good to go now.
To include fix goblint/cil#85 needed to benchmark zstd.