-
Notifications
You must be signed in to change notification settings - Fork 274
value_sets now have function identifiers [blocks: #3126] #3865
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
368b11f
to
aa6aba7
Compare
No, in the latest incarnation there isn't actually a member - where needed the |
@tautschnig Sounds good! Sorry, I accidentally closed the PR when I tried to comment. |
new_data = state.transform(ns, t, l_next) || new_data; | ||
bool new_data = | ||
state.transform(ns, calling_function, l_call, f_it->first, r); | ||
new_data = state.transform(ns, f_it->first, r, f_it->first, t) || new_data; |
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.
While you're editing this code, might be sensible to annotate these as "callsite -> head of function" and "callsite -> callsite successor" and so on, explaining the different function names we're passing in
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.
Done.
src/goto-instrument/race_check.cpp
Outdated
L_M_ARG(const goto_functionst::goto_functiont &goto_function) | ||
goto_programt &goto_program, | ||
goto_programt &goto_program, |
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.
dodgy indent
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.
Good catch! I've added a clang-format off/on.
ded3d24
to
5f4bb28
Compare
5f4bb28
to
b9b0a91
Compare
b9b0a91
to
5671835
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.
✔️
Passed Diffblue compatibility checks (cbmc commit: 5671835).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/98383672
cf046ed
to
56d5cbb
Compare
56d5cbb
to
d3576d4
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.
✔️
Passed Diffblue compatibility checks (cbmc commit: d3576d4).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/98730684
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.
I think this does what is claimed. I'm still not sure I see why removing the function field is needed but I recognise that this is part of a larger effort.
fixedpoint(goto_functions); | ||
initialize(goto_program); | ||
goto_functionst goto_functions; | ||
fixedpoint(function_id, goto_program, goto_functions); |
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.
What are the goto_functions used for?
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.
They are used to resolve function calls in do_function_call_rec
(though in this case it will just fail to resolve any function calls). That said, I have cleaned up the patch so that this change doesn't even show up anymore, because it was only an artefact of reordering functions in the file.
d3576d4
to
cb1aeae
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: cb1aeae).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/98945145
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.
We are working towards removing the "function" field from goto_programt::instructionst::instructiont, and thus need to pass the identifier of the function whenever it actually is required.
cb1aeae
to
61557dc
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.
✔️
Passed Diffblue compatibility checks (cbmc commit: 61557dc).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/99077405
We are working towards removing the "function" field from
goto_programt::instructionst::instructiont, and thus need to pass the identifier
of the function whenever it actually is required.