Commit 19adf79
Fix issues with how we compute DST size (#3687)
This change fixes how we compute size of the object in our mem
predicates, and provide user visible methods to try to retrieve the size
of the object if known and valid (`checked_size_of_raw` and
`checked_align_of_raw`.
Fixes #3612
Fixes #3627
## Call-outs
To simplify this PR, I moved the following changes to their own PRs:
1. #3644
2. #3718
I also removed the fix for the intrinsics `size_of_val` and
`align_of_val` from this PR, and I will create a follow up PR once this
one is merged.
---------
Co-authored-by: Carolyn Zech <cmzech@amazon.com>1 parent 88e6eaf commit 19adf79
File tree
15 files changed
+840
-139
lines changed- kani-compiler/src
- codegen_cprover_gotoc
- codegen
- overrides
- kani_middle
- transform
- library
- kani_core/src
- kani/src
- tests/kani
- MemPredicates
- SizeAndAlignOfDst
15 files changed
+840
-139
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
456 | 456 | | |
457 | 457 | | |
458 | 458 | | |
459 | | - | |
| 459 | + | |
460 | 460 | | |
461 | 461 | | |
462 | 462 | | |
| |||
Lines changed: 34 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
152 | 183 | | |
153 | 184 | | |
154 | 185 | | |
| |||
619 | 650 | | |
620 | 651 | | |
621 | 652 | | |
622 | | - | |
623 | | - | |
| 653 | + | |
| 654 | + | |
624 | 655 | | |
625 | 656 | | |
626 | 657 | | |
627 | 658 | | |
628 | 659 | | |
| 660 | + | |
629 | 661 | | |
630 | 662 | | |
631 | 663 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | 16 | | |
18 | 17 | | |
19 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
5 | 8 | | |
6 | 9 | | |
7 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
47 | 51 | | |
48 | 52 | | |
49 | 53 | | |
| |||
55 | 59 | | |
56 | 60 | | |
57 | 61 | | |
| 62 | + | |
| 63 | + | |
58 | 64 | | |
59 | 65 | | |
60 | 66 | | |
| |||
85 | 91 | | |
86 | 92 | | |
87 | 93 | | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
88 | 98 | | |
89 | 99 | | |
90 | 100 | | |
| |||
121 | 131 | | |
122 | 132 | | |
123 | 133 | | |
| 134 | + | |
| 135 | + | |
124 | 136 | | |
125 | 137 | | |
126 | 138 | | |
| |||
0 commit comments