-
Notifications
You must be signed in to change notification settings - Fork 93
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve Kani handling of function markers (#3718)
Change our library to use `kanitool::fn_marker` instead of rustc's internal `rustc_diagnostic_item` to mark functions in the Kani library that are required for Kani compiler. Also, validate and cache Kani's functions upfront to detect any incoherence between our libraries and our compiler. Note that I am moving the code from #3687 that started this migration to this new PR, and I decided to move almost our entire code base out of the diagnostic item with the exception of our SIMD bitmask model and the shadow memory for uninit checks. Finally, I changed our standard library codegen to be a regular test in our script based suite. I also changed it to inject `kani_core` so we can remove hacks in our goto-c codegen. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses. --------- Co-authored-by: Carolyn Zech <[email protected]>
- Loading branch information
1 parent
9c2318b
commit d4605b3
Showing
26 changed files
with
691 additions
and
446 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.