| /src/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
| H A D | ArrayBoundCheckerV2.cpp | 68 const NonLoc ByteOffsetVal; 72 std::optional<NonLoc> AssumedUpperBound = std::nullopt; 75 StateUpdateReporter(const SubRegion *R, NonLoc ByteOffsVal, const Expr *E, in StateUpdateReporter() 82 void recordUpperBoundAssumption(NonLoc UpperBoundVal) { in recordUpperBoundAssumption() 135 NonLoc Offset, std::optional<NonLoc> Extent, 139 ProgramStateRef ErrorState, NonLoc Val, 145 NonLoc Offset, NonLoc Limit, 170 static std::optional<std::pair<const SubRegion *, NonLoc>> 173 auto EvalBinOp = [&SVB, State, T](BinaryOperatorKind Op, NonLoc L, NonLoc R) { in computeOffset() 175 return SVB.evalBinOpNN(State, Op, L, R, T).getAs<NonLoc>(); in computeOffset() [all …]
|
| H A D | CStringChecker.cpp | 343 NonLoc left, 344 NonLoc right) const; 404 static std::optional<NonLoc> getIndex(ProgramStateRef State, in getIndex() 419 NonLoc WideSize = in getIndex() 422 .castAs<NonLoc>(); in getIndex() 427 return Offset.castAs<NonLoc>(); in getIndex() 462 const NonLoc Zero = SVB.makeZeroArrayIndex(); in checkInit() 486 NonLoc ElemSize = in checkInit() 488 .castAs<NonLoc>(); in checkInit() 508 std::optional<NonLoc> Offset = in checkInit() [all …]
|
| H A D | VLASizeChecker.cpp | 103 NonLoc ArrSize = in checkVLA() 104 SVB.makeIntVal(EleSize.getQuantity(), SizeTy).castAs<NonLoc>(); in checkVLA() 114 NonLoc IndexLength = in checkVLA() 115 SVB.evalCast(SizeD, SizeTy, SizeE->getType()).castAs<NonLoc>(); in checkVLA() 118 if (auto MulNonLoc = Mul.getAs<NonLoc>()) in checkVLA() 294 if (!isa<NonLoc>(ArraySize)) { in checkPreStmt() 304 ArraySize.castAs<NonLoc>(), SVB); in checkPreStmt()
|
| H A D | StreamChecker.cpp | 668 NonLoc getZeroVal(const CallEvent &Call) { in getZeroVal() 669 return *SVB.makeZeroVal(Call.getResultType()).getAs<NonLoc>(); in getZeroVal() 679 NonLoc RetVal = makeRetVal(C, CE).castAs<NonLoc>(); in makeAndBindRetVal() 701 BinaryOperator::Opcode Op, NonLoc LHS, in assumeBinOpNN() 702 NonLoc RHS) { in assumeBinOpNN() 838 NonLoc Index = SVB.makeArrayIndex(Idx); in escapeByStartIndexAndCount() 1049 static std::optional<NonLoc> getStartIndex(SValBuilder &SVB, in getStartIndex() 1070 const CallEvent &Call, NonLoc SizeVal, in tryToInvalidateFReadBufferByElements() 1071 NonLoc NMembVal) { in tryToInvalidateFReadBufferByElements() 1118 std::optional<NonLoc> SizeVal = Call.getArgSVal(1).getAs<NonLoc>(); in evalFreadFwrite() [all …]
|
| H A D | BoolAssignmentChecker.cpp | 75 std::optional<NonLoc> NV = Val.getAs<NonLoc>(); in checkBind()
|
| H A D | ErrnoModeling.cpp | 245 NonLoc ErrnoSym) { in setErrnoForStdFailure() 247 NonLoc ZeroVal = SVB.makeZeroVal(C.getASTContext().IntTy).castAs<NonLoc>(); in setErrnoForStdFailure()
|
| H A D | IteratorRangeChecker.cpp | 74 bool isZero(ProgramStateRef State, NonLoc Val); 230 if (Value.isUnknownOrUndef() || !isa<NonLoc>(Value)) in verifyRandomIncrOrDecr() 234 if (isZero(State, Value.castAs<NonLoc>())) in verifyRandomIncrOrDecr() 297 bool isZero(ProgramStateRef State, NonLoc Val) { in isZero()
|
| H A D | UnixAPIChecker.cpp | 272 if (!isa<NonLoc>(V)) { in CheckOpenVariant() 277 NonLoc oflags = V.castAs<NonLoc>(); in CheckOpenVariant() 278 NonLoc ocreateFlag = C.getSValBuilder() in CheckOpenVariant() 280 .castAs<NonLoc>(); in CheckOpenVariant()
|
| H A D | Iterator.h | 177 bool compare(ProgramStateRef State, NonLoc NL1, NonLoc NL2,
|
| H A D | ErrnoModeling.h | 94 NonLoc ErrnoSym);
|
| /src/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
| H A D | SValBuilder.h | 90 SVal evalMinus(NonLoc val); 91 SVal evalComplement(NonLoc val); 96 NonLoc lhs, NonLoc rhs, QualType resultTy) = 0; 107 Loc lhs, NonLoc rhs, QualType resultTy) = 0; 132 NonLoc lhs, NonLoc rhs, QualType resultTy); 262 NonLoc makeCompoundVal(QualType type, llvm::ImmutableList<SVal> vals) { in makeCompoundVal() 266 NonLoc makeLazyCompoundVal(const StoreRef &store, in makeLazyCompoundVal() 272 NonLoc makePointerToMember(const DeclaratorDecl *DD) { in makePointerToMember() 276 NonLoc makePointerToMember(const PointerToMemberData *PTMD) { in makePointerToMember() 280 NonLoc makeZeroArrayIndex() { in makeZeroArrayIndex() [all …]
|
| H A D | SVals.def | 59 ABSTRACT_SVAL(NonLoc, DefinedSVal) 60 NONLOC_SVAL(CompoundVal, NonLoc) 61 NONLOC_SVAL(ConcreteInt, NonLoc) 62 NONLOC_SVAL(LazyCompoundVal, NonLoc) 63 NONLOC_SVAL(LocAsInteger, NonLoc) 64 NONLOC_SVAL(SymbolVal, NonLoc) 65 NONLOC_SVAL(PointerToMember, NonLoc) 66 SVAL_RANGE(NonLoc, CompoundVal, PointerToMember)
|
| H A D | SVals.h | 60 #define NONLOC_SVAL(Id, Parent) NonLoc##Id##Kind, 182 inline constexpr auto Id##Kind = SVal::SValKind::NonLoc##Id##Kind; 235 class NonLoc : public DefinedSVal { 237 NonLoc(SValKind Kind, const void *Data) : DefinedSVal(Kind, Data) {} in NonLoc() function 276 class SymbolVal : public NonLoc { 279 explicit SymbolVal(SymbolRef Sym) : NonLoc(SymbolValKind, Sym) { in SymbolVal() 297 class ConcreteInt : public NonLoc { 299 explicit ConcreteInt(const llvm::APSInt &V) : NonLoc(ConcreteIntKind, &V) {} in ConcreteInt() 306 class LocAsInteger : public NonLoc { 310 : NonLoc(LocAsIntegerKind, &data) { in LocAsInteger() [all …]
|
| H A D | SimpleConstraintManager.h | 73 NonLoc Value, 83 ProgramStateRef assume(ProgramStateRef State, NonLoc Cond, bool Assumption); 85 ProgramStateRef assumeAux(ProgramStateRef State, NonLoc Cond,
|
| H A D | ConstraintManager.h | 89 ProgramStateRef assumeInclusiveRange(ProgramStateRef State, NonLoc Value, 98 ProgramStatePair assumeInclusiveRangeDual(ProgramStateRef State, NonLoc Value, 166 NonLoc Value,
|
| H A D | SValVisitor.h | 41 case SVal::NonLoc##Id##Kind: \ in Visit() 56 return derived().VisitNonLoc(V.castAs<NonLoc>()); \
|
| H A D | ProgramState.h | 732 assert(isa<NonLoc>(Val) && "Only NonLocs are supported!"); in assumeInclusiveRange() 735 this, Val.castAs<NonLoc>(), From, To, Assumption); in assumeInclusiveRange() 745 assert(isa<NonLoc>(Val) && "Only NonLocs are supported!"); in assumeInclusiveRange() 748 this, Val.castAs<NonLoc>(), From, To); in assumeInclusiveRange() 788 if (std::optional<NonLoc> N = Idx.getAs<NonLoc>()) in getLValue()
|
| /src/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ |
| H A D | SimpleSValBuilder.cpp | 72 NonLoc lhs, NonLoc rhs, QualType resultTy) override; 76 Loc lhs, NonLoc rhs, QualType resultTy) override; 292 static NonLoc doRearrangeUnchecked(ProgramStateRef State, in doRearrangeUnchecked() 319 .castAs<NonLoc>(); in doRearrangeUnchecked() 366 static std::optional<NonLoc> tryRearrange(ProgramStateRef State, in tryRearrange() 367 BinaryOperator::Opcode Op, NonLoc Lhs, in tryRearrange() 368 NonLoc Rhs, QualType ResultTy) { in tryRearrange() 423 NonLoc lhs, NonLoc rhs, in evalBinOpNN() 425 NonLoc InputLHS = lhs; in evalBinOpNN() 426 NonLoc InputRHS = rhs; in evalBinOpNN() [all …]
|
| H A D | SimpleConstraintManager.cpp | 42 return assume(State, Cond.castAs<NonLoc>(), Assumption); in assumeInternal() 46 NonLoc Cond, bool Assumption) { in assume() 54 NonLoc Cond, in assumeAux() 96 ProgramStateRef State, NonLoc Value, const llvm::APSInt &From, in assumeInclusiveRangeInternal()
|
| H A D | SValBuilder.cpp | 105 NonLoc SValBuilder::makeNonLoc(const SymExpr *operand, UnaryOperator::Opcode op, in makeNonLoc() 430 NonLoc LHS, NonLoc RHS, in makeSymExprValNN() 456 SVal SValBuilder::evalMinus(NonLoc X) { in evalMinus() 468 SVal SValBuilder::evalComplement(NonLoc X) { in evalComplement() 482 auto OpN = operand.getAs<NonLoc>(); in evalUnaryOp() 517 return evalBinOpLN(state, op, *LV, rhs.castAs<NonLoc>(), type); in evalBinOp() 528 return evalBinOpLN(state, op, *RV, lhs.castAs<NonLoc>(), type); in evalBinOp() 535 return evalBinOpNN(state, op, lhs.castAs<NonLoc>(), RhsAsLoc, type); in evalBinOp() 539 return evalBinOpNN(state, op, lhs.castAs<NonLoc>(), rhs.castAs<NonLoc>(), in evalBinOp() 610 NonLoc ToTypeMaxVal = makeIntVal(ToTypeMax); in evalIntegralCast() [all …]
|
| H A D | ConstraintManager.cpp | 101 ConstraintManager::assumeInclusiveRangeDual(ProgramStateRef State, NonLoc Value, in assumeInclusiveRangeDual() 117 ConstraintManager::assumeInclusiveRange(ProgramStateRef State, NonLoc Value, in assumeInclusiveRange()
|
| H A D | CheckerContext.cpp | 145 if (!isa<NonLoc>(LHSVal)) { in evalComparison() 148 if (LHSVal.isUnknownOrUndef() || !isa<NonLoc>(LHSVal)) in evalComparison()
|
| H A D | Store.cpp | 63 NonLoc idx = svalBuilder.makeArrayIndex(index); in MakeElementRegion() 69 NonLoc idx = svalBuilder.makeZeroArrayIndex(); in GetElementZeroRegion() 443 SVal StoreManager::getLValueElement(QualType elementType, NonLoc Offset, in getLValueElement() 475 auto Off = svalBuilder.convertToArrayIndex(Offset).getAs<NonLoc>(); in getLValueElement()
|
| H A D | SVals.cpp | 286 if (NonLoc::classof(*this)) { in dumpToStream() 287 castAs<NonLoc>().dumpToStream(os); in dumpToStream() 297 void NonLoc::dumpToStream(raw_ostream &os) const { in dumpToStream()
|
| H A D | ProgramState.cpp | 351 Idx.castAs<NonLoc>(), Min, indexTy); in assumeInBoundDual() 357 svalBuilder.evalBinOpNN(this, BO_Add, UpperBound.castAs<NonLoc>(), in assumeInBoundDual() 364 SVal inBound = svalBuilder.evalBinOpNN(this, BO_LT, newIdx.castAs<NonLoc>(), in assumeInBoundDual() 365 newBound.castAs<NonLoc>(), Ctx.IntTy); in assumeInBoundDual()
|