forked from OSchip/llvm-project
parent
6ec89d4953
commit
f668204a6a
|
@ -86,7 +86,7 @@ public:
|
|||
/// getSubRegionMap - Returns an opaque map object that clients can query
|
||||
/// to get the subregions of a given MemRegion object. It is the
|
||||
// caller's responsibility to 'delete' the returned map.
|
||||
virtual SubRegionMap *getSubRegionMap(const GRState *state) = 0;
|
||||
virtual SubRegionMap *getSubRegionMap(Store store) = 0;
|
||||
|
||||
virtual SVal getLValueVar(const VarDecl *VD, const LocationContext *LC) = 0;
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ public:
|
|||
|
||||
~BasicStoreManager() {}
|
||||
|
||||
SubRegionMap *getSubRegionMap(const GRState *state) {
|
||||
SubRegionMap *getSubRegionMap(Store store) {
|
||||
return new BasicStoreSubRegionMap();
|
||||
}
|
||||
|
||||
|
|
|
@ -37,7 +37,9 @@ public:
|
|||
return RBFactory.GetEmptyMap().getRoot();
|
||||
}
|
||||
|
||||
SubRegionMap *getSubRegionMap(const GRState *state);
|
||||
SubRegionMap *getSubRegionMap(Store store) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
SVal getLValueVar(const VarDecl *VD, const LocationContext *LC);
|
||||
|
||||
|
@ -88,11 +90,6 @@ Store FlatStoreManager::BindCompoundLiteral(Store store,
|
|||
return store;
|
||||
}
|
||||
|
||||
|
||||
SubRegionMap *FlatStoreManager::getSubRegionMap(const GRState *state) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
SVal FlatStoreManager::getLValueVar(const VarDecl *VD,
|
||||
const LocationContext *LC) {
|
||||
return UnknownVal();
|
||||
|
|
|
@ -301,7 +301,8 @@ bool ScanReachableSymbols::scan(const MemRegion *R) {
|
|||
|
||||
// Now look at the subregions.
|
||||
if (!SRM.get())
|
||||
SRM.reset(state->getStateManager().getStoreManager().getSubRegionMap(state));
|
||||
SRM.reset(state->getStateManager().getStoreManager().
|
||||
getSubRegionMap(state->getStore()));
|
||||
|
||||
return SRM->iterSubRegions(R, *this);
|
||||
}
|
||||
|
|
|
@ -215,7 +215,9 @@ public:
|
|||
delete (*I).second;
|
||||
}
|
||||
|
||||
SubRegionMap *getSubRegionMap(const GRState *state);
|
||||
SubRegionMap *getSubRegionMap(Store store) {
|
||||
return getRegionStoreSubRegionMap(store);
|
||||
}
|
||||
|
||||
RegionStoreSubRegionMap *getRegionStoreSubRegionMap(Store store);
|
||||
|
||||
|
@ -474,15 +476,10 @@ RegionStoreManager::getRegionStoreSubRegionMap(Store store) {
|
|||
return M;
|
||||
}
|
||||
|
||||
SubRegionMap *RegionStoreManager::getSubRegionMap(const GRState *state) {
|
||||
return getRegionStoreSubRegionMap(state->getStore());
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Binding invalidation.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
|
||||
void RegionStoreManager::RemoveSubRegionBindings(RegionBindings &B,
|
||||
const MemRegion *R,
|
||||
RegionStoreSubRegionMap &M) {
|
||||
|
|
Loading…
Reference in New Issue