-
Notifications
You must be signed in to change notification settings - Fork 277
Lower-byte-operators: bv_to_expr should support bool target type #8318
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
When byte updating or byte extracting structs that contain single-bit `__CPROVER_bool` members (as is used in `__CPROVER_contracts_car_t`) we may need to turn a `bv` typed single-bit `extractbits` expression into one that has `bool` (`__CPROVER_bool`) type. Fixes: diffblue#8303
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #8318 +/- ##
===========================================
- Coverage 78.13% 78.05% -0.09%
===========================================
Files 1722 1722
Lines 188886 189096 +210
Branches 18421 18420 -1
===========================================
+ Hits 147588 147592 +4
- Misses 41298 41504 +206 ☔ View full report in Codecov by Sentry. |
I am not sure I like the idea of pointer accesses into |
It's not meant to be used as an alternative to bit-fields. Think of it as a mathematical type, with no memory layout. |
Re-running my little test case, cbmc no longer crashes, but does not terminate:
and no more... "top" now shows cbmc consuming 100% CPU time... This was running "make TARGET=ctcc" in my cbmc-examples/arrays repo. |
It moved on to:
and now I see Z3 consuming 100% CPU after 7 minutes,,, |
Z3 has now clocked up 20 minutes CPU time. |
When byte updating or byte extracting structs that contain single-bit
__CPROVER_bool
members (as is used in__CPROVER_contracts_car_t
) we may need to turn abv
typed single-bitextractbits
expression into one that hasbool
(__CPROVER_bool
) type.Fixes: #8303