diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-09-19 18:00:36 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-09-19 18:00:36 +0000 |
commit | 0a41e5a03a2753e736dece6fc6847e6de2dedec1 (patch) | |
tree | 42d69fc79d2bc7ea35d9aeb2a456f56358c3efcd /lib/CodeGen/CodeGenModule.cpp | |
parent | 69d349a8743f156b965141cda80520bddda84601 (diff) |
Fixed logic error in BasicConstraintManager pointed out by Zhongxing Xu.
For checking if a symbol >= value, we need to check if symbol == value || symbol
> value. When checking symbol > value and we know that symbol != value, the path
is infeasible only if value == maximum integer.
For checking if a symbol <= value, we need to check if symbol == value || symbol
< value. When checking symbol < value and we know that symbol != value, the path
is infeasible only if value == minimum integer.
Updated test case exercising this logic: we only prune paths if the values are
unsigned.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56354 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions