[clang] [analyzer] Don't assume third iteration in loops (PR #119388)
DonĂ¡t Nagy via cfe-commits
cfe-commits at lists.llvm.org
Tue Dec 10 07:22:48 PST 2024
NagyDonat wrote:
The difference between this PR and my earlier PR https://github.com/llvm/llvm-project/pull/109804 "Suppress out of bounds reports after weak loop assumptions" is:
| This PR | Earlier PR |
| :---: | :---: |
| affects all checkers | only affects ArrayBoundV2 |
| doesn't traverse unjustified paths | only suppresses reports after traversing the paths |
| only discards assuming third or later iteration | also suppresses reports after assuming zero iterations |
Slightly offtopic remark: I'm planning to create a separate commit to filter out branches where the analyzer assumes that 0 iterations happen in a loop (with an opaque condition). I'll probably put that logic behind an analyzer option (e.g. `assume-min-iterations` where I suggest 1 as the sane default value), because there is probably user demand for a pedantic analysis mode that aggressively assumes that loops can have 0 iterations. (This PR doesn't introduce an analyzer option, because I don't think that "I want the analyzer to assume that 3+ iterations can happen" is something that the users would want to use.)
https://github.com/llvm/llvm-project/pull/119388
More information about the cfe-commits
mailing list