Add overflow_result_exprt: compute result and overflow in one expression#6903
Merged
tautschnig merged 2 commits intodiffblue:developfrom Jun 3, 2022
Merged
Conversation
50d5879 to
d594a96
Compare
kroening
approved these changes
Jun 3, 2022
Codecov Report
@@ Coverage Diff @@
## develop #6903 +/- ##
===========================================
- Coverage 77.81% 77.77% -0.05%
===========================================
Files 1568 1568
Lines 179975 180315 +340
===========================================
+ Hits 140044 140234 +190
- Misses 39931 40081 +150
Continue to review full report at Codecov.
|
The SAT back-end assumed that all struct/union expressions had a tag instead of the full type, which is not actually a GOTO program invariant.
Doing both the arithmetic operation and determining whether or not there was an overflow previously required either multiple expressions or going via `__builtin_X_overflow`, which should be specific to the C front-end. The new expression returns a struct with two components, the first of which has the type of the arithmetic operation, and the second is Boolean. Fixes: diffblue#6841
d594a96 to
5ea97b3
Compare
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Doing both the arithmetic operation and determining whether or not there
was an overflow previously required either multiple expressions or going
via
__builtin_X_overflow, which should be specific to the C front-end.The new expression returns a struct with two components, the first of
which has the type of the arithmetic operation, and the second is
Boolean.
Fixes: #6841