diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Checker/CStringChecker.cpp | 4 | ||||
-rw-r--r-- | lib/Checker/GRCXXExprEngine.cpp | 4 | ||||
-rw-r--r-- | lib/Checker/MemRegion.cpp | 20 | ||||
-rw-r--r-- | lib/Checker/RegionStore.cpp | 2 | ||||
-rw-r--r-- | lib/Checker/Store.cpp | 3 |
5 files changed, 17 insertions, 16 deletions
diff --git a/lib/Checker/CStringChecker.cpp b/lib/Checker/CStringChecker.cpp index 7374e8baa4..a75e196e37 100644 --- a/lib/Checker/CStringChecker.cpp +++ b/lib/Checker/CStringChecker.cpp @@ -629,8 +629,8 @@ bool CStringChecker::SummarizeRegion(llvm::raw_ostream& os, ASTContext& Ctx, os << "a block"; return true; case MemRegion::CXXThisRegionKind: - case MemRegion::CXXObjectRegionKind: - os << "a C++ object of type " << TR->getValueType().getAsString(); + case MemRegion::CXXTempObjectRegionKind: + os << "a C++ temp object of type " << TR->getValueType().getAsString(); return true; case MemRegion::VarRegionKind: os << "a variable of type" << TR->getValueType().getAsString(); diff --git a/lib/Checker/GRCXXExprEngine.cpp b/lib/Checker/GRCXXExprEngine.cpp index 2dd03b2782..a60af37c0a 100644 --- a/lib/Checker/GRCXXExprEngine.cpp +++ b/lib/Checker/GRCXXExprEngine.cpp @@ -95,7 +95,7 @@ void GRExprEngine::CreateCXXTemporaryObject(const Expr *Ex, ExplodedNode *Pred, SVal V = state->getSVal(Ex); const MemRegion *R = - ValMgr.getRegionManager().getCXXObjectRegion(Ex, + ValMgr.getRegionManager().getCXXTempObjectRegion(Ex, Pred->getLocationContext()); state = state->bindLoc(loc::MemRegionVal(R), V); @@ -108,7 +108,7 @@ void GRExprEngine::VisitCXXConstructExpr(const CXXConstructExpr *E, ExplodedNode *Pred, ExplodedNodeSet &Dst, bool asLValue) { if (!Dest) - Dest = ValMgr.getRegionManager().getCXXObjectRegion(E, + Dest = ValMgr.getRegionManager().getCXXTempObjectRegion(E, Pred->getLocationContext()); if (E->isElidable()) { diff --git a/lib/Checker/MemRegion.cpp b/lib/Checker/MemRegion.cpp index 366a574683..f2a4e0dd2c 100644 --- a/lib/Checker/MemRegion.cpp +++ b/lib/Checker/MemRegion.cpp @@ -360,14 +360,14 @@ void BlockDataRegion::Profile(llvm::FoldingSetNodeID& ID) const { BlockDataRegion::ProfileRegion(ID, BC, LC, getSuperRegion()); } -void CXXObjectRegion::ProfileRegion(llvm::FoldingSetNodeID &ID, - Expr const *Ex, - const MemRegion *sReg) { +void CXXTempObjectRegion::ProfileRegion(llvm::FoldingSetNodeID &ID, + Expr const *Ex, + const MemRegion *sReg) { ID.AddPointer(Ex); ID.AddPointer(sReg); } -void CXXObjectRegion::Profile(llvm::FoldingSetNodeID &ID) const { +void CXXTempObjectRegion::Profile(llvm::FoldingSetNodeID &ID) const { ProfileRegion(ID, Ex, getSuperRegion()); } @@ -422,7 +422,7 @@ void CompoundLiteralRegion::dumpToStream(llvm::raw_ostream& os) const { os << "{ " << (void*) CL << " }"; } -void CXXObjectRegion::dumpToStream(llvm::raw_ostream &os) const { +void CXXTempObjectRegion::dumpToStream(llvm::raw_ostream &os) const { os << "temp_object"; } @@ -698,12 +698,12 @@ MemRegionManager::getObjCIvarRegion(const ObjCIvarDecl* d, return getSubRegion<ObjCIvarRegion>(d, superRegion); } -const CXXObjectRegion* -MemRegionManager::getCXXObjectRegion(Expr const *E, - LocationContext const *LC) { +const CXXTempObjectRegion* +MemRegionManager::getCXXTempObjectRegion(Expr const *E, + LocationContext const *LC) { const StackFrameContext *SFC = LC->getCurrentStackFrame(); assert(SFC); - return getSubRegion<CXXObjectRegion>(E, getStackLocalsRegion(SFC)); + return getSubRegion<CXXTempObjectRegion>(E, getStackLocalsRegion(SFC)); } const CXXBaseObjectRegion * @@ -870,7 +870,7 @@ RegionOffset MemRegion::getAsOffset() const { case CXXThisRegionKind: case StringRegionKind: case VarRegionKind: - case CXXObjectRegionKind: + case CXXTempObjectRegionKind: goto Finish; case ElementRegionKind: { const ElementRegion *ER = cast<ElementRegion>(R); diff --git a/lib/Checker/RegionStore.cpp b/lib/Checker/RegionStore.cpp index 59c8730009..ae0dedff39 100644 --- a/lib/Checker/RegionStore.cpp +++ b/lib/Checker/RegionStore.cpp @@ -879,7 +879,7 @@ SVal RegionStoreManager::EvalBinOp(BinaryOperator::Opcode Op, Loc L, NonLoc R, case MemRegion::CompoundLiteralRegionKind: case MemRegion::FieldRegionKind: case MemRegion::ObjCIvarRegionKind: - case MemRegion::CXXObjectRegionKind: + case MemRegion::CXXTempObjectRegionKind: case MemRegion::CXXBaseObjectRegionKind: return UnknownVal(); diff --git a/lib/Checker/Store.cpp b/lib/Checker/Store.cpp index aaa518edc8..2e03009b1c 100644 --- a/lib/Checker/Store.cpp +++ b/lib/Checker/Store.cpp @@ -113,7 +113,8 @@ const MemRegion *StoreManager::CastRegion(const MemRegion *R, QualType CastToTy) case MemRegion::FieldRegionKind: case MemRegion::ObjCIvarRegionKind: case MemRegion::VarRegionKind: - case MemRegion::CXXObjectRegionKind: + case MemRegion::CXXTempObjectRegionKind: + case MemRegion::CXXBaseObjectRegionKind: return MakeElementRegion(R, PointeeTy); case MemRegion::ElementRegionKind: { |