Commit 62dd13c
authored
Support function implementations of known built-ins (#3945)
Kani should produce valid symbol tables in GOTO binaries when Rust code
provides an implementation for a built-in known to Kani. Without this
fix, goto-cc fails the following invariant:
```
--- begin invariant violation report ---
Invariant check failed
File: ../src/ansi-c/goto-conversion/goto_convert_functions.cpp:164 function: convert_function
Condition: parameter identifier should not be empty
Reason: !p.empty()
```
By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 and MIT licenses.1 parent 707309b commit 62dd13c
File tree
2 files changed
+32
-9
lines changed- kani-compiler/src/codegen_cprover_gotoc/codegen
- tests/kani/FunctionSymbols
2 files changed
+32
-9
lines changedLines changed: 16 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
204 | 204 | | |
205 | 205 | | |
206 | 206 | | |
207 | | - | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
216 | 223 | | |
217 | 224 | | |
218 | 225 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
0 commit comments