summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/MemRegion.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-08-21 22:28:32 +0000
committerTed Kremenek <kremenek@apple.com>2009-08-21 22:28:32 +0000
commit14536f6ee01a9c0381d1e905c43a8b714ddfb030 (patch)
treef4058d96c5a49f263d48a811ed03e557b0ccd6a0 /clang/lib/Analysis/MemRegion.cpp
parent25e8e363dff82a06e0b9a19c33baf3ae3f2613e6 (diff)
downloadbcm5719-llvm-14536f6ee01a9c0381d1e905c43a8b714ddfb030.tar.gz
bcm5719-llvm-14536f6ee01a9c0381d1e905c43a8b714ddfb030.zip
Add LocationContext* field to VarRegion. This is needed for interprocedural analysis.
llvm-svn: 79680
Diffstat (limited to 'clang/lib/Analysis/MemRegion.cpp')
-rw-r--r--clang/lib/Analysis/MemRegion.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/clang/lib/Analysis/MemRegion.cpp b/clang/lib/Analysis/MemRegion.cpp
index ac633060fdd..2aacbf9065c 100644
--- a/clang/lib/Analysis/MemRegion.cpp
+++ b/clang/lib/Analysis/MemRegion.cpp
@@ -98,6 +98,10 @@ void DeclRegion::Profile(llvm::FoldingSetNodeID& ID) const {
DeclRegion::ProfileRegion(ID, D, superRegion, getKind());
}
+void VarRegion::Profile(llvm::FoldingSetNodeID &ID) const {
+ VarRegion::ProfileRegion(ID, getDecl(), LC, superRegion);
+}
+
void SymbolicRegion::ProfileRegion(llvm::FoldingSetNodeID& ID, SymbolRef sym,
const MemRegion *sreg) {
ID.AddInteger((unsigned) MemRegion::SymbolicRegionKind);
@@ -249,8 +253,9 @@ StringRegion* MemRegionManager::getStringRegion(const StringLiteral* Str) {
return getRegion<StringRegion>(Str);
}
-VarRegion* MemRegionManager::getVarRegion(const VarDecl* d) {
- return getRegion<VarRegion>(d);
+VarRegion* MemRegionManager::getVarRegion(const VarDecl* D,
+ const LocationContext *LC) {
+ return getRegion<VarRegion>(D, LC);
}
CompoundLiteralRegion*
OpenPOWER on IntegriCloud