summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-09-29 01:36:42 +0000
committerJordan Rose <jordan_rose@apple.com>2012-09-29 01:36:42 +0000
commitcd9000e840e57d25fbc7fea995413379ef5b1cbc (patch)
treee6121cb64c743cc01d5bb7b84af9cea512935d86 /clang/lib/StaticAnalyzer/Core
parent19d78b743f805c5b89c8f6ae644c4cbb9c5f924e (diff)
downloadbcm5719-llvm-cd9000e840e57d25fbc7fea995413379ef5b1cbc.tar.gz
bcm5719-llvm-cd9000e840e57d25fbc7fea995413379ef5b1cbc.zip
Revert "[analyzer] Handle inlined constructors for rvalue temporaries correctly."
This reverts commit 580cd17f256259f39a382e967173f34d68e73859. llvm-svn: 164875
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core')
-rw-r--r--clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp9
1 files changed, 1 insertions, 8 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
index 2e460b79e7d..eb5395e93c7 100644
--- a/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
@@ -160,14 +160,7 @@ void ExprEngine::processCallExit(ExplodedNode *CEBNode) {
svalBuilder.getCXXThis(CCE->getConstructor()->getParent(), calleeCtx);
SVal ThisV = state->getSVal(This);
- // If the constructed object is a prvalue, get its bindings.
- // Note that we have to be careful here because constructors embedded
- // in DeclStmts are not marked as lvalues.
- if (!CCE->isGLValue())
- if (const MemRegion *MR = ThisV.getAsRegion())
- if (isa<CXXTempObjectRegion>(MR))
- ThisV = state->getSVal(cast<Loc>(ThisV));
-
+ // Always bind the region to the CXXConstructExpr.
state = state->BindExpr(CCE, callerCtx, ThisV);
}
}
OpenPOWER on IntegriCloud