-
Notifications
You must be signed in to change notification settings - Fork 268
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
Simplifier: c_bool (and others) are also bitvector types #8247
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #8247 +/- ##
===========================================
- Coverage 78.32% 78.32% -0.01%
===========================================
Files 1721 1721
Lines 188210 188243 +33
Branches 18462 18517 +55
===========================================
+ Hits 147416 147435 +19
- Misses 40794 40808 +14 ☔ View full report in Codecov by Sentry. |
Can we test this somehow? The simplifier may be a good use-case for unit tests. |
1be9830
to
c9bcfce
Compare
Done! |
Remove simplifier's own is_bitvector_type in favour of using can_cast_type<bitvector_typet>, which will make sure that expressions like bitxor(false, false) over c_bool types gets simplified. Such expressions were seen in Kani (the C front-end would promote bitxor operands to int, and, therefore, not end up in this code path).
c9bcfce
to
a697de0
Compare
CBMC v6 includes diffblue/cbmc#8247, which fixes the need for unwind attributes that were newly found to be necessary when upgrading to nightly-2024-03-15 (model-checking#3084). Resolves: model-checking#3088
CBMC v6 includes diffblue/cbmc#8247, which fixes the need for unwind attributes that were newly found to be necessary when upgrading to nightly-2024-03-15 (#3084). Resolves: #3088
Remove simplifier's own is_bitvector_type in favour of using can_cast_type<bitvector_typet>, which will make sure that expressions like bitxor(false, false) over c_bool types gets simplified. Such expressions were seen in Kani (the C front-end would promote bitxor operands to int, and, therefore, not end up in this code path).