-
Notifications
You must be signed in to change notification settings - Fork 278
Enable typechecking of shadow memory primitives #7909
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
Enable typechecking of shadow memory primitives #7909
Conversation
ce7b861
to
4f49ea5
Compare
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## develop #7909 +/- ##
===========================================
+ Coverage 78.91% 78.94% +0.03%
===========================================
Files 1697 1699 +2
Lines 195418 195804 +386
===========================================
+ Hits 154211 154578 +367
- Misses 41207 41226 +19
☔ View full report in Codecov by Sentry. |
assert(__CPROVER_get_field(&s.j, "uninitialized") == 1); | ||
|
||
return 0; | ||
} |
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.
newline at the end (several occurrences)
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
63334e8
to
266114e
Compare
266114e
to
31577ab
Compare
Adding typecheck code for shadow memory builtins so they are type-checked (more thoroughly than with the C typechecker) and correctly converted to function calls.
Fixed SM failing regression tests due to better error messaging on typecheck.
31577ab
to
b7ebd34
Compare
This PR enables typechecking of shadow memory primitives.
The primitives are checked for correct number of arguments, correct types and also enforce other invariants such as having a constant string for name, a bit-vector type of size
< 8
and non-void
pointers for accessing it.It also adds regressions and unit tests for it.