-
Notifications
You must be signed in to change notification settings - Fork 285
Generalise get_subexpression_at_offset to extract parts of members #3167
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
Generalise get_subexpression_at_offset to extract parts of members #3167
Conversation
| // try to build a member/index expression - do not use byte_extract | ||
| exprt subexpr = get_subexpression_at_offset( | ||
| root_object_subexpression, o.offset(), dereference_type, ns); | ||
| root_object_subexpression, o.offset(), dereference_type, "", ns); |
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.
Having an empty string literal, interpreted as an irep ID, to block particular functionality (descending within objects if I understand correctly) does not seem like the most intuitive of designs. I can't immediately suggest better though.
0ab3688 to
827094b
Compare
|
Marking do-not-merge as this depends on #3184. |
8d7fbad to
dc227a0
Compare
allredj
left a comment
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: 8d7fbad).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/89566003
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.
dc227a0 to
aa683aa
Compare
|
Dependencies have been merged, this is now ready for review. |
allredj
left a comment
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: aa683aa).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/89578879
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.
smowton
left a comment
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.
Recommend name your variables after units given bytes and bits are both used in the same function; otherwise looks good
This enables re-use in the simplifier and other places. Adding a unit test of get_subexpression_at_offset.
aa683aa to
2ff4d2f
Compare
allredj
left a comment
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: 2ff4d2f).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/89808073
This enables re-use in the simplifier and other places. Adding a unit test of
get_subexpression_at_offset.