You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You're right, there has been a regression since #22.
Recently, a formal semantics was added for bit fields, and most of the compilation of bit field accesses was moved from the unverified part of CompCert (written in OCaml) to the formally-verified part (written and proved in Coq). That's a good thing, as it improves confidence in the compilation of bit fields, and also enables full conformance with the bit field layout specified in the ELF ABIs.
However, in the formally-verified part of CompCert, there are no initializers like t l_1 = {0};, just declarations followed by assignments. So we're back to the problem described in #22 of assigning to a bit field inside a freshly-allocated struct containing "undef" values. I don't have a solution to offer right now, but I keep this issue in mind.
When I use
ccomp -interp
, i encounter a UB problem about bitfield. I also notice #22, it should be fixed, but not.$ccomp --version The CompCert C verified compiler, version 3.11
The text was updated successfully, but these errors were encountered: