-
Notifications
You must be signed in to change notification settings - Fork 267
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
[CONTRACTS] Use fresh converter in loop contracts instrumentation #8282
[CONTRACTS] Use fresh converter in loop contracts instrumentation #8282
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #8282 +/- ##
===========================================
+ Coverage 77.55% 78.21% +0.66%
===========================================
Files 1721 1722 +1
Lines 190128 188648 -1480
Branches 18438 18452 +14
===========================================
+ Hits 147448 147547 +99
+ Misses 42680 41101 -1579 ☔ View full report in Codecov by Sentry. |
2e0e50b
to
0227040
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.
Could you please add a test to demonstrate what difference this makes?
@@ -150,7 +149,6 @@ class code_contractst | |||
goto_functionst &goto_functions; | |||
|
|||
messaget &log; | |||
goto_convertt converter; |
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.
Please remove #include <ansi-c/goto-conversion/goto_convert_class.h>
from this file and move it to the .cpp file.
The test will be loop invariants as statement expressions containing GOTO statements, such as
However, such loop invariant doesn't typecheck now as statement expression are side-effect expression, even thought this loop invariant is side-effect free. I will refactor #8281 soon to allow such side-effect free statement expression, and add the test in #8281. |
0227040
to
7273894
Compare
Use fresh converter during loop contracts instrumentation to make sure the jumps in the loop invariants will be correctly directed.