summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/malloc.c
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-08-08 18:23:27 +0000
committerJordan Rose <jordan_rose@apple.com>2012-08-08 18:23:27 +0000
commit3a80cec5e92da70064541f1d11222e2e5c2d4e8c (patch)
tree99f34000219bf358bb9e979c3eb509189457c10b /clang/test/Analysis/malloc.c
parent55edf5ff14525faf6ffec12a397601c5f2b0db2d (diff)
downloadbcm5719-llvm-3a80cec5e92da70064541f1d11222e2e5c2d4e8c.tar.gz
bcm5719-llvm-3a80cec5e92da70064541f1d11222e2e5c2d4e8c.zip
[analyzer] Revamp RegionStore to distinguish regions with symbolic offsets.
RegionStore currently uses a (Region, Offset) pair to describe the locations of memory bindings. However, this representation breaks down when we have regions like 'array[index]', where 'index' is unknown. We used to store this as (SubRegion, 0); now we mark them specially as (SubRegion, SYMBOLIC). Furthermore, ProgramState::scanReachableSymbols depended on the existence of a sub-region map, but RegionStore's implementation doesn't provide for such a thing. Moving the store-traversing logic of scanReachableSymbols into the StoreManager allows us to eliminate the notion of SubRegionMap altogether. This fixes some particularly awkward broken test cases, now in array-struct-region.c. llvm-svn: 161510
Diffstat (limited to 'clang/test/Analysis/malloc.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud