Home
last modified time | relevance | path

Searched refs:SVal (Results 1 – 25 of 123) sorted by relevance

12345

/freebsd-13.1/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/
H A DSVals.h75 class SVal {
229 friend class SVal;
250 friend class SVal;
262 friend class SVal;
283 friend class SVal;
292 friend class SVal; variable
320 friend class SVal;
342 friend class SVal;
373 friend class SVal;
403 friend class SVal;
[all …]
H A DStore.h113 SVal V) = 0;
143 virtual SVal getLValueIvar(const ObjCIvarDecl *decl, SVal base);
145 virtual SVal getLValueField(const FieldDecl *D, SVal Base) { in getLValueField()
149 virtual SVal getLValueElement(QualType elementType, NonLoc offset, SVal Base);
157 SVal evalDerivedToBase(SVal Derived, const CastExpr *Cast);
160 SVal evalDerivedToBase(SVal Derived, const CXXBasePath &CastPath);
163 SVal evalDerivedToBase(SVal Derived, QualType DerivedPtrType,
177 SVal attemptDownCast(SVal Base, QualType DerivedPtrType, bool &Failed);
228 ArrayRef<SVal> Values,
272 SVal val) override;
[all …]
H A DSValBuilder.h119 SVal evalCast(SVal V, QualType CastTy, QualType OriginalTy);
122 SVal evalIntegralCast(ProgramStateRef state, SVal val, QualType castTy,
125 virtual SVal evalMinus(NonLoc val) = 0;
127 virtual SVal evalComplement(NonLoc val) = 0;
152 virtual SVal simplifySVal(ProgramStateRef State, SVal Val) = 0;
159 SVal lhs, SVal rhs, QualType type);
162 ConditionTruthVal areEqual(ProgramStateRef state, SVal lhs, SVal rhs);
164 SVal evalEQ(ProgramStateRef state, SVal lhs, SVal rhs);
270 Optional<SVal> getConstantVal(const Expr *E);
298 SVal convertToArrayIndex(SVal val);
[all …]
H A DProgramState.h226 ConditionTruthVal areEqual(SVal Lhs, SVal Rhs) const;
245 LLVM_NODISCARD ProgramStateRef bindLoc(SVal location, SVal V,
255 bindDefaultInitial(SVal loc, SVal V, const LocationContext *LCtx) const;
322 SVal getLValue(const ObjCIvarDecl *decl, SVal base) const;
325 SVal getLValue(const FieldDecl *decl, SVal Base) const;
328 SVal getLValue(const IndirectFieldDecl *decl, SVal Base) const;
331 SVal getLValue(QualType ElementType, SVal Idx, SVal Base) const;
745 inline SVal ProgramState::getLValue(const FieldDecl *D, SVal Base) const { in getLValue()
759 inline SVal ProgramState::getLValue(QualType ElementType, SVal Idx, SVal Base) const{ in getLValue()
771 inline SVal
[all …]
H A DBasicValueFactory.h43 llvm::ImmutableList<SVal> L;
50 using iterator = llvm::ImmutableList<SVal>::iterator;
58 llvm::ImmutableList<SVal> L);
119 llvm::ImmutableList<SVal>::Factory SValListFactory;
251 llvm::ImmutableList<SVal> getEmptySValList() { in getEmptySValList()
255 llvm::ImmutableList<SVal> prependSVal(SVal X, llvm::ImmutableList<SVal> L) { in prependSVal()
277 const std::pair<SVal, uintptr_t>&
278 getPersistentSValWithData(const SVal& V, uintptr_t Data);
280 const std::pair<SVal, SVal>&
281 getPersistentSValPair(const SVal& V1, const SVal& V2);
[all …]
H A DExprEngine.h592 SVal evalMinus(SVal X) { in evalMinus()
596 SVal evalComplement(SVal X) { in evalComplement()
629 SVal LHS, SVal RHS, QualType T) { in evalBinOp()
636 static Optional<SVal>
643 ProgramStateRef State, ArrayRef<std::pair<SVal, SVal>> LocAndVals,
661 SVal location, SVal Val, bool atDeclInit = false,
666 SVal Loc, SVal Val,
687 SVal location,
694 ExplodedNode *Pred, ProgramStateRef St, SVal TargetLV, SVal Val,
768 SVal location,
[all …]
H A DSVals.def1 //===-- SVals.def - Metadata about SVal kinds -------------------*- C++ -*-===//
9 // The list of symbolic values (SVal kinds and sub-kinds) used in the Static
10 // Analyzer. The distinction between loc:: and nonloc:: SVal namespaces is
15 // BASIC_SVAL(Id, Parent) - for specific SVal sub-kinds, which are
19 // ABSTRACT_SVAL(Id, Parent) - for abstract SVal classes which are
22 // ABSTRACT_SVAL_WITH_KIND(Id, Parent) - for SVal classes which are also
54 BASIC_SVAL(UndefinedVal, SVal)
55 ABSTRACT_SVAL(DefinedOrUnknownSVal, SVal)
/freebsd-13.1/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/
H A DIteratorModeling.cpp92 SVal, SVal, SVal) const;
101 const SVal &LVal, const SVal &RVal,
117 void handlePrev(CheckerContext &C, const Expr *CE, SVal RetVal, SVal Iter,
119 void handleNext(CheckerContext &C, const Expr *CE, SVal RetVal, SVal Iter,
235 void IteratorModeling::checkBind(SVal Loc, SVal Val, const Stmt *S, in checkBind()
450 SVal RetVal, const SVal &LVal, in handleComparison()
604 SVal Val; in handleRandomIncrOrDecr()
648 SVal NewVal; in handlePtrIncrOrDecr()
674 SVal RetVal, SVal Iter, in handleAdvance()
680 SVal RetVal, SVal Iter, SVal Amount) const { in handlePrev()
[all …]
H A DIteratorRangeChecker.cpp37 void verifyDereference(CheckerContext &C, SVal Val) const;
38 void verifyIncrement(CheckerContext &C, SVal Iter) const;
39 void verifyDecrement(CheckerContext &C, SVal Iter) const;
41 SVal LHS, SVal RHS) const;
42 void verifyAdvance(CheckerContext &C, SVal LHS, SVal RHS) const;
43 void verifyPrev(CheckerContext &C, SVal LHS, SVal RHS) const;
44 void verifyNext(CheckerContext &C, SVal LHS, SVal RHS) const;
223 SVal LHS, SVal RHS) const { in verifyRandomIncrOrDecr()
264 SVal RHS) const { in verifyAdvance()
269 SVal RHS) const { in verifyPrev()
[all …]
H A DGTestChecker.cpp111 SVal
113 SVal Instance,
116 static ProgramStateRef assumeValuesEqual(SVal Val1, SVal Val2,
135 SVal BooleanArgVal = Call->getArgSVal(0); in modelAssertionResultBoolConstructor()
143 SVal ThisVal = Call->getCXXThisVal(); in modelAssertionResultBoolConstructor()
145 SVal ThisSuccess = getAssertionResultSuccessFieldValue( in modelAssertionResultBoolConstructor()
165 SVal OtherVal = Call->getArgSVal(0); in modelAssertionResultCopyConstructor()
166 SVal ThisVal = Call->getCXXThisVal(); in modelAssertionResultCopyConstructor()
249 SVal GTestChecker::getAssertionResultSuccessFieldValue( in getAssertionResultSuccessFieldValue()
250 const CXXRecordDecl *AssertionResultDecl, SVal Instance, in getAssertionResultSuccessFieldValue()
[all …]
H A DArrayBoundCheckerV2.cpp42 void checkLocation(SVal l, bool isLoad, const Stmt*S,
50 SVal byteOffset;
56 RegionRawOffsetV2(const SubRegion* base, SVal offset) in RegionRawOffsetV2()
64 SVal location);
71 static SVal computeExtentBegin(SValBuilder &svalBuilder, in computeExtentBegin()
208 SVal ByteOffset = rawOffset.getByteOffset(); in checkLocation()
277 static inline SVal getValue(SVal val, SValBuilder &svalBuilder) { in getValue()
283 static inline SVal scaleValue(ProgramStateRef state, in scaleValue()
293 static SVal addValue(ProgramStateRef state, SVal x, SVal y, in addValue()
312 SVal offset = UndefinedVal(); in computeOffset()
[all …]
H A DContainerModeling.cpp38 SVal Cont) const;
47 void handleInsert(CheckerContext &C, SVal Cont, SVal Iter) const;
48 void handleErase(CheckerContext &C, SVal Cont, SVal Iter) const;
49 void handleErase(CheckerContext &C, SVal Cont, SVal Iter1, SVal Iter2) const;
50 void handleEraseAfter(CheckerContext &C, SVal Cont, SVal Iter) const;
51 void handleEraseAfter(CheckerContext &C, SVal Cont, SVal Iter1,
70 using TwoItParamFn = void (ContainerModeling::*)(CheckerContext &, SVal, SVal,
260 SVal RetVal, SVal Cont) const { in handleBegin()
282 SVal RetVal, SVal Cont) const { in handleEnd()
638 void ContainerModeling::handleErase(CheckerContext &C, SVal Cont, SVal Iter1, in handleErase()
[all …]
H A DMismatchedIteratorChecker.cpp35 void verifyMatch(CheckerContext &C, const SVal &Iter,
37 void verifyMatch(CheckerContext &C, const SVal &Iter1,
38 const SVal &Iter2) const;
39 void reportBug(const StringRef &Message, const SVal &Val1,
40 const SVal &Val2, CheckerContext &C,
42 void reportBug(const StringRef &Message, const SVal &Val,
170 SVal LHS = UndefinedVal(); in checkPreCall()
198 SVal LVal = State->getSVal(BO->getLHS(), C.getLocationContext()); in checkPreStmt()
240 const SVal &Iter1, in verifyMatch()
279 const SVal &Val1, in reportBug()
[all …]
H A DCStringChecker.cpp416 SVal BufStart = in CheckBufferAccess()
420 SVal BufEnd = in CheckBufferAccess()
481 SVal reverse = in CheckOverlap()
512 SVal FirstStart = in CheckOverlap()
526 SVal Overlap = in CheckOverlap()
661 SVal maxMinusRight; in checkAdditionOverflow()
907 SVal BufEnd = in IsFirstBufInBound()
1189 SVal DestRegCharVal = in evalCopyCommon()
1828 SVal Result; in evalStrcpyCommon()
1853 SVal maxLastElement = in evalStrcpyCommon()
[all …]
H A DObjCSelfInitChecker.cpp54 static bool isSelfVar(SVal location, CheckerContext &C);
74 void checkLocation(SVal location, bool isLoad, const Stmt *S,
76 void checkBind(SVal loc, SVal val, const Stmt *S, CheckerContext &C) const;
113 static SelfFlagEnum getSelfFlags(SVal val, CheckerContext &C) { in getSelfFlags()
117 static void addSelfFlag(ProgramStateRef state, SVal val, in addSelfFlag()
134 SVal exprVal = C.getSVal(E); in isInvalidSelf()
185 SVal V = C.getSVal(Msg.getOriginExpr()); in checkPostObjCMessage()
252 SVal argV = CE.getArgSVal(i); in checkPreCall()
280 SVal argV = CE.getArgSVal(i); in checkPostCall()
316 void ObjCSelfInitChecker::checkBind(SVal loc, SVal val, const Stmt *S, in checkBind()
[all …]
H A DTestAfterDivZeroChecker.cpp81 void reportBug(SVal Val, CheckerContext &C) const;
87 void setDivZeroMap(SVal Var, CheckerContext &C) const;
88 bool hasDivZeroMap(SVal Var, const CheckerContext &C) const;
89 bool isZero(SVal S, CheckerContext &C) const;
115 SVal S = Succ->getSVal(E); in REGISTER_SET_WITH_PROGRAMSTATE()
155 bool TestAfterDivZeroChecker::hasDivZeroMap(SVal Var, in hasDivZeroMap()
205 SVal S = C.getSVal(B->getRHS()); in checkPreStmt()
226 SVal Val = C.getSVal(LRHS ? B->getLHS() : B->getRHS()); in checkBranchCondition()
232 SVal Val; in checkBranchCondition()
247 SVal Val = C.getSVal(IE->getSubExpr()); in checkBranchCondition()
[all …]
H A DInvalidatedIteratorChecker.cpp36 void verifyAccess(CheckerContext &C, const SVal &Val) const;
37 void reportBug(const StringRef &Message, const SVal &Val,
82 SVal SubVal = State->getSVal(UO->getSubExpr(), C.getLocationContext()); in checkPreStmt()
93 SVal LVal = State->getSVal(BO->getLHS(), C.getLocationContext()); in checkPreStmt()
103 SVal LVal = State->getSVal(ASE->getLHS(), C.getLocationContext()); in checkPreStmt()
113 SVal BaseVal = State->getSVal(ME->getBase(), C.getLocationContext()); in checkPreStmt()
117 void InvalidatedIteratorChecker::verifyAccess(CheckerContext &C, const SVal &Val) const { in verifyAccess()
130 const SVal &Val, CheckerContext &C, in reportBug()
/freebsd-13.1/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/
H A DSimpleSValBuilder.cpp31 SVal evalMinus(NonLoc val) override;
46 SVal simplifySVal(ProgramStateRef State, SVal V) override;
184 SVal Result = in isInRelation()
773 SVal ResultVal = in evalBinOpLL()
988 SVal Result = lhs; in evalBinOpLN()
1056 SVal index = UnknownVal(); in evalBinOpLN()
1114 SVal SimpleSValBuilder::simplifySVal(ProgramStateRef State, SVal V) { in simplifySVal()
1133 SVal cache(SymbolRef Sym, SVal V) { in simplifySVal()
1138 SVal skip(SymbolRef Sym) { in simplifySVal()
1167 SVal RHS; in simplifySVal()
[all …]
H A DRegionStore.cpp1009 void VisitBinding(SVal V);
1225 SVal V = I.getData(); in VisitCluster()
1300 SVal V = *I; in populateWorkList()
1645 SVal Idx = R->getIndex(); in getBindingForElement()
1775 Optional<SVal>
1782 const SVal &val = D.getValue(); in getBindingForDerivedDefaultValue()
1806 SVal Result; in getLazyBinding()
1833 SVal
2032 SVal V = I->second; in getInterestingValues()
2165 SVal V; in setImplicitDefaultValue()
[all …]
H A DStore.cpp230 static bool regionMatchesCXXRecordType(SVal V, QualType Ty) { in regionMatchesCXXRecordType()
250 SVal StoreManager::evalDerivedToBase(SVal Derived, const CastExpr *Cast) { in evalDerivedToBase()
257 SVal Result = Derived; in evalDerivedToBase()
266 SVal StoreManager::evalDerivedToBase(SVal Derived, const CXXBasePath &Path) { in evalDerivedToBase()
268 SVal Result = Derived; in evalDerivedToBase()
275 SVal StoreManager::evalDerivedToBase(SVal Derived, QualType BaseType, in evalDerivedToBase()
316 SVal StoreManager::attemptDownCast(SVal Base, QualType TargetType, in attemptDownCast()
398 SVal StoreManager::getLValueFieldOrIvar(const Decl *D, SVal Base) { in getLValueFieldOrIvar()
439 SVal StoreManager::getLValueIvar(const ObjCIvarDecl *decl, SVal base) { in getLValueIvar()
444 SVal Base) { in getLValueElement()
[all …]
H A DSValBuilder.cpp99 SVal SValBuilder::convertToArrayIndex(SVal val) { in convertToArrayIndex()
428 SVal lhs, SVal rhs, QualType type) { in evalBinOp()
473 SVal SValBuilder::evalEQ(ProgramStateRef state, SVal lhs, SVal rhs) { in evalEQ()
480 return evalEQ(state, static_cast<SVal>(lhs), static_cast<SVal>(rhs)) in evalEQ()
520 SVal SValBuilder::evalIntegralCast(ProgramStateRef state, SVal val, in evalIntegralCast()
572 SVal SValBuilder::evalCast(SVal V, QualType CastTy, QualType OriginalTy) { in evalCast()
596 case SVal::UndefinedValKind: in evalCast()
598 case SVal::UnknownValKind: in evalCast()
600 case SVal::LocKind: in evalCast()
602 case SVal::NonLocKind: in evalCast()
[all …]
H A DExprEngineC.cpp29 SVal Symbol, SVal Other, Expr* Expression, SValBuilder &svalBuilder, in conjureOffsetSymbolOnLocation()
133 SVal location = LeftV; in VisitBinaryOperator()
164 SVal LHSVal; in VisitBinaryOperator()
237 SVal originalV; in VisitBlockExpr()
514 SVal CastedPTMSV = in VisitCast()
697 SVal X; in VisitLogicalExpr()
777 SVal V; in VisitInitListExpr()
820 SVal V; in VisitGuardedExpr()
1041 SVal Result; in VisitUnaryOperator()
1109 SVal RHS; in VisitIncrementDecrementOperator()
[all …]
H A DSVals.cpp46 bool SVal::hasConjuredSymbol() const { in hasConjuredSymbol()
65 const FunctionDecl *SVal::getAsFunctionDecl() const { in getAsFunctionDecl()
87 SymbolRef SVal::getAsLocSymbol(bool IncludeBaseRegions) const { in getAsLocSymbol()
99 SymbolRef SVal::getLocSymbolInBase() const { in getLocSymbolInBase()
123 SymbolRef SVal::getAsSymbol(bool IncludeBaseRegions) const { in getAsSymbol()
131 const MemRegion *SVal::getAsRegion() const { in getAsRegion()
193 QualType SVal::getType(const ASTContext &Context) const { in getType()
259 bool SVal::isConstant() const { in isConstant()
263 bool SVal::isConstant(int I) const { in isConstant()
271 bool SVal::isZeroConstant() const { in isZeroConstant()
[all …]
H A DProgramState.cpp118 SVal V, in bindLoc()
132 ProgramState::bindDefaultInitial(SVal loc, SVal V, in bindDefaultInitial()
151 typedef ArrayRef<SVal> ValueList;
161 SmallVector<SVal, 8> Values; in invalidateRegions()
246 return SVal(); in getSelfSVal()
267 SVal V = getRawSVal(location, T); in getSVal()
342 SVal newIdx = svalBuilder.evalBinOpNN(this, BO_Add, in assumeInBound()
348 SVal newBound = in assumeInBound()
373 ConditionTruthVal ProgramState::areEqual(SVal Lhs, SVal Rhs) const { in areEqual()
377 ConditionTruthVal ProgramState::isNull(SVal V) const { in isNull()
[all …]
H A DBasicValueFactory.cpp33 llvm::ImmutableList<SVal> L) { in Profile()
52 using SValData = std::pair<SVal, uintptr_t>;
53 using SValPair = std::pair<SVal, SVal>;
127 llvm::ImmutableList<SVal> Vals) { in getCompoundValData()
344 const std::pair<SVal, uintptr_t>&
345 BasicValueFactory::getPersistentSValWithData(const SVal& V, uintptr_t Data) { in getPersistentSValWithData()
369 const std::pair<SVal, SVal>&
370 BasicValueFactory::getPersistentSValPair(const SVal& V1, const SVal& V2) { in getPersistentSValPair()
394 const SVal* BasicValueFactory::getPersistentSVal(SVal X) { in getPersistentSVal()

12345