aboutsummaryrefslogtreecommitdiff
path: root/lib/StaticAnalyzer/Core/Store.cpp
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-07-10 22:08:01 +0000
committerJordan Rose <jordan_rose@apple.com>2012-07-10 22:08:01 +0000
commit48b6247804eacc262cc5508e0fbb74ed819fbb6e (patch)
tree16956a95560e5e0ba92ca6453f2f620f38f6cdc3 /lib/StaticAnalyzer/Core/Store.cpp
parente54cfc7b9990acffd0a8a4ba381717b4bb9f3011 (diff)
[analyzer] Construct stack variables directly in their VarDecl.
Also contains a number of tweaks to inlining that are necessary for constructors and destructors. (I have this enabled on a private branch, but it is very much unstable.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160023 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/StaticAnalyzer/Core/Store.cpp')
-rw-r--r--lib/StaticAnalyzer/Core/Store.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/StaticAnalyzer/Core/Store.cpp b/lib/StaticAnalyzer/Core/Store.cpp
index d5c88e8ad8..916db13aac 100644
--- a/lib/StaticAnalyzer/Core/Store.cpp
+++ b/lib/StaticAnalyzer/Core/Store.cpp
@@ -47,7 +47,7 @@ StoreRef StoreManager::enterStackFrame(Store OldStore,
// FIXME: We will eventually want to generalize this to handle other non-
// parameter arguments besides 'this' (such as 'self' for ObjC methods).
SVal ThisVal = Call.getCXXThisVal();
- if (!ThisVal.isUndef()) {
+ if (isa<DefinedSVal>(ThisVal)) {
const CXXMethodDecl *MD = cast<CXXMethodDecl>(Call.getDecl());
loc::MemRegionVal ThisRegion = svalBuilder.getCXXThis(MD, LCtx);
Store = Bind(Store.getStore(), ThisRegion, ThisVal);