diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-12-14 22:15:06 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-12-14 22:15:06 +0000 |
commit | 5348f94abd0e9d3945da8d059b55b156967e8ff9 (patch) | |
tree | 2ef529fcecfbcec96490c4939169aad38f74961d /lib/Analysis/MemRegion.cpp | |
parent | 750c85ea8efd0f899cdf7ba9060d1286ba14be9a (diff) |
Fix: <rdar://problem/7468209> SymbolManager::isLive() should not crash on captured block variables that are passed by reference
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91348 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/MemRegion.cpp')
-rw-r--r-- | lib/Analysis/MemRegion.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Analysis/MemRegion.cpp b/lib/Analysis/MemRegion.cpp index da45c4dfee..bc3a5b7045 100644 --- a/lib/Analysis/MemRegion.cpp +++ b/lib/Analysis/MemRegion.cpp @@ -165,6 +165,15 @@ MemRegionManager* SubRegion::getMemRegionManager() const { } while (1); } +const StackFrameContext *VarRegion::getStackFrame() const { + const StackSpaceRegion *SSR = dyn_cast<StackSpaceRegion>(getMemorySpace()); + return SSR ? SSR->getStackFrame() : NULL; +} + +//===----------------------------------------------------------------------===// +// FoldingSet profiling. +//===----------------------------------------------------------------------===// + void MemSpaceRegion::Profile(llvm::FoldingSetNodeID& ID) const { ID.AddInteger((unsigned)getKind()); } |