diff options
author | Jordan Rose <jordan_rose@apple.com> | 2012-07-10 22:08:01 +0000 |
---|---|---|
committer | Jordan Rose <jordan_rose@apple.com> | 2012-07-10 22:08:01 +0000 |
commit | 48b6247804eacc262cc5508e0fbb74ed819fbb6e (patch) | |
tree | 16956a95560e5e0ba92ca6453f2f620f38f6cdc3 /lib/StaticAnalyzer/Core/Store.cpp | |
parent | e54cfc7b9990acffd0a8a4ba381717b4bb9f3011 (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.cpp | 2 |
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); |