-
Notifications
You must be signed in to change notification settings - Fork 274
fix promotion for C bit fields #3717
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this already fully address #3709, or is there further work to be done?
src/ansi-c/c_typecast.cpp
Outdated
{ | ||
const auto &followed = | ||
ns.follow_tag(to_c_enum_tag_type(bit_field_type.subtype())); | ||
if(followed.id() == ID_incomplete_c_enum) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just noting that this will require an update to the PR removing ID_incomplete_c_enum
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it will
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both of these PRs are now approved, so it's a CI race to see which of them goes in first?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually if the two commits from #3643 are added to this branch then both PRs can be merged at any time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rebased
#3709 has three different items in it, so this will need more work. |
promotion rules apply to bit-fields, based on number of bits, not based on underlying type
89b482d
to
ab6e2d1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫
This PR failed Diffblue compatibility checks (cbmc commit: 89b482d).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/96605058
Status will be re-evaluated on next push.
Please contact @peterschrammel, @thk123, or @allredj for support.
Common spurious failures:
- the cbmc commit has disappeared in the mean time (e.g. in a force-push)
- the author is not in the list of contributors (e.g. first-time contributors).
The incompatibility may have been introduced by an earlier PR. In that case merging this
PR should be avoided unless it fixes the current incompatibility.
fix promotion for C bit fields
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✔️
Passed Diffblue compatibility checks (cbmc commit: ab6e2d1).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/96630544
promotion rules apply to bit-fields, based on number of bits, not based on
underlying type