/external/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
SValBuilder.h | 54 virtual SVal evalCastFromNonLoc(NonLoc val, QualType castTy) = 0; 92 virtual SVal evalMinus(NonLoc val) = 0; 94 virtual SVal evalComplement(NonLoc val) = 0; 99 NonLoc lhs, NonLoc rhs, QualType resultTy) = 0; 110 Loc lhs, NonLoc rhs, QualType resultTy) = 0; 118 NonLoc lhs, NonLoc rhs, QualType resultTy); 217 NonLoc makeCompoundVal(QualType type, llvm::ImmutableList<SVal> vals) { 218 return nonloc::CompoundVal(BasicVals.getCompoundValData(type, vals)) [all...] |
SVals.h | 10 // This file defines SVal, Loc, and NonLoc, classes that represent 266 class NonLoc : public DefinedSVal { 268 NonLoc() {} 269 explicit NonLoc(unsigned SubKind, const void *d) 304 // Subclasses of NonLoc. 307 namespace nonloc { namespace in namespace:clang::ento 315 class SymbolVal : public NonLoc { 317 SymbolVal(SymbolRef sym) : NonLoc(SymbolValKind, sym) {} 335 static bool isKind(const NonLoc& V) { 341 class ConcreteInt : public NonLoc { [all...] |
ConstraintManager.h | 103 NonLoc Value, 109 ProgramStateRef State, NonLoc Value, const llvm::APSInt &From,
|
ExprEngine.h | 478 return X.isValid() ? svalBuilder.evalMinus(X.castAs<NonLoc>()) : X; 482 return X.isValid() ? svalBuilder.evalComplement(X.castAs<NonLoc>()) : X; 488 NonLoc L, NonLoc R, QualType T) { 493 NonLoc L, SVal R, QualType T) { 495 R.castAs<NonLoc>(), T) : R; 608 /// If the value of the given expression is a NonLoc, copy it into a new
|
SValVisitor.h | 36 // Take namespaces (loc:: and nonloc::) into account. 50 case nonloc::Id ## Kind: DISPATCH(NonLoc ## Id, nonloc :: Id); 53 llvm_unreachable("Unknown NonLoc sub-kind!"); 65 RetTy VisitNonLoc ## Id(nonloc::Id V) { DISPATCH(Parent, Parent); }
|
ProgramState.h | 669 assert(Val.getAs<NonLoc>() && "Only NonLocs are supported!"); 672 this, Val.castAs<NonLoc>(), From, To, Assumption); 682 assert(Val.getAs<NonLoc>() && "Only NonLocs are supported!"); 685 ->assumeWithinInclusiveRangeDual(this, Val.castAs<NonLoc>(), From, To); 723 if (Optional<NonLoc> N = Idx.getAs<NonLoc>()) 843 bool scan(nonloc::LazyCompoundVal val); 844 bool scan(nonloc::CompoundVal val);
|
MemRegion.h | 1008 NonLoc Index; 1010 ElementRegion(QualType elementType, NonLoc Idx, const MemRegion* sReg) 1013 assert((!Idx.getAs<nonloc::ConcreteInt>() || 1014 Idx.castAs<nonloc::ConcreteInt>().getValue().isSigned()) && 1023 NonLoc getIndex() const { return Index; } [all...] |
Store.h | 102 virtual SVal getLValueElement(QualType elementType, NonLoc offset, SVal Base);
|
/external/clang/lib/StaticAnalyzer/Checkers/ |
ArrayBoundCheckerV2.cpp | 56 NonLoc getByteOffset() const { return byteOffset.castAs<NonLoc>(); } 113 if (Optional<NonLoc> NV = extentBegin.getAs<NonLoc>()) { 118 Optional<NonLoc> lowerBoundToCheck = lowerBound.getAs<NonLoc>(); 142 if (!extentVal.getAs<NonLoc>()) 147 extentVal.castAs<NonLoc>(), 150 Optional<NonLoc> upperboundToCheck = upperbound.getAs<NonLoc>(); [all...] |
CStringChecker.cpp | 199 NonLoc left, 200 NonLoc right) const; 382 Optional<NonLoc> Length = LengthVal.getAs<NonLoc>(); 387 NonLoc One = svalBuilder.makeIntVal(1, sizeTy).castAs<NonLoc>(); 388 NonLoc LastOffset = svalBuilder 389 .evalBinOpNN(state, BO_Sub, *Length, One, sizeTy).castAs<NonLoc>(); 497 Optional<NonLoc> Length = LengthVal.getAs<NonLoc>(); [all...] |
VLASizeChecker.cpp | 155 NonLoc ArrayLength = 156 svalBuilder.evalCast(sizeD, SizeTy, SE->getType()).castAs<NonLoc>(); 164 state, BO_Mul, ArrayLength, EleSizeVal.castAs<NonLoc>(), SizeTy);
|
UnixAPIChecker.cpp | 132 if (!V.getAs<NonLoc>()) { 137 NonLoc oflags = V.castAs<NonLoc>(); 138 NonLoc ocreateFlag = C.getSValBuilder() 139 .makeIntVal(Val_O_CREAT.getValue(), oflagsEx->getType()).castAs<NonLoc>();
|
MallocChecker.cpp | 718 if (!V.getAs<NonLoc>()) { 724 NonLoc Flags = V.castAs<NonLoc>(); 725 NonLoc ZeroFlag = C.getSValBuilder() 727 .castAs<NonLoc>(); [all...] |
/external/clang/lib/StaticAnalyzer/Core/ |
SimpleSValBuilder.cpp | 25 SVal evalCastFromNonLoc(NonLoc val, QualType castTy) override; 34 SVal evalMinus(NonLoc val) override; 35 SVal evalComplement(NonLoc val) override; 37 NonLoc lhs, NonLoc rhs, QualType resultTy) override; 41 Loc lhs, NonLoc rhs, QualType resultTy) override; 63 assert(Val.getAs<Loc>() || Val.getAs<NonLoc>()); 65 : evalCastFromNonLoc(Val.castAs<NonLoc>(), CastTy); 68 SVal SimpleSValBuilder::evalCastFromNonLoc(NonLoc val, QualType castTy) { 72 if (Optional<nonloc::LocAsInteger> LI = val.getAs<nonloc::LocAsInteger>()) [all...] |
SValBuilder.cpp | 44 NonLoc SValBuilder::makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op, 51 return nonloc::SymbolVal(SymMgr.getSymIntExpr(lhs, op, rhs, type)); 54 NonLoc SValBuilder::makeNonLoc(const llvm::APSInt& lhs, 59 return nonloc::SymbolVal(SymMgr.getIntSymExpr(lhs, op, rhs, type)); 62 NonLoc SValBuilder::makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op, 66 return nonloc::SymbolVal(SymMgr.getSymSymExpr(lhs, op, rhs, type)); 69 NonLoc SValBuilder::makeNonLoc(const SymExpr *operand, 73 return nonloc::SymbolVal(SymMgr.getCastSymbol(operand, fromTy, toTy)); 81 if (Optional<nonloc::ConcreteInt> CI = val.getAs<nonloc::ConcreteInt>()) [all...] |
SimpleConstraintManager.h | 39 ProgramStateRef assume(ProgramStateRef state, NonLoc Cond, bool Assumption); 42 NonLoc Value, 109 NonLoc Cond,
|
SimpleConstraintManager.cpp | 27 Optional<nonloc::SymbolVal> SymVal = X.getAs<nonloc::SymbolVal>(); 54 // We handle Loc <> Loc comparisons, but not (yet) NonLoc <> NonLoc. 71 // If we have a Loc value, cast it to a bool NonLoc first. 84 return assume(state, Cond.castAs<NonLoc>(), Assumption); 88 NonLoc cond, 115 NonLoc Cond, 128 llvm_unreachable("'Assume' not implemented for this NonLoc"); 130 case nonloc::SymbolValKind: [all...] |
Store.cpp | 47 NonLoc idx = svalBuilder.makeArrayIndex(index); 57 NonLoc idx = svalBuilder.makeZeroArrayIndex(); 427 SVal StoreManager::getLValueElement(QualType elementType, NonLoc Offset, 443 Offset = svalBuilder.convertToArrayIndex(Offset).castAs<NonLoc>(); 461 if (!BaseIdx.getAs<nonloc::ConcreteInt>()) 465 BaseIdx.castAs<nonloc::ConcreteInt>().getValue(); 470 if (!Offset.getAs<nonloc::ConcreteInt>()) { 479 const llvm::APSInt& OffI = Offset.castAs<nonloc::ConcreteInt>().getValue(); 483 nonloc::ConcreteInt NewIdx(svalBuilder.getBasicValueFactory().getValue(BaseIdxI +
|
SVals.cpp | 10 // This file defines SVal, Loc, and NonLoc, classes that represent 33 if (Optional<nonloc::SymbolVal> SV = getAs<nonloc::SymbolVal>()) { 71 if (Optional<nonloc::LocAsInteger> X = getAs<nonloc::LocAsInteger>()) 113 if (Optional<nonloc::SymbolVal> X = getAs<nonloc::SymbolVal>()) 122 if (Optional<nonloc::SymbolVal> X = getAs<nonloc::SymbolVal>()) 139 if (Optional<nonloc::LocAsInteger> X = getAs<nonloc::LocAsInteger>() [all...] |
ProgramState.cpp | 282 return nonloc::ConcreteInt(NewV); 323 nonloc::ConcreteInt Min(BVF.getMinValue(indexTy)); 327 Idx.castAs<NonLoc>(), Min, indexTy); 333 svalBuilder.evalBinOpNN(this, BO_Add, UpperBound.castAs<NonLoc>(), 340 SVal inBound = svalBuilder.evalBinOpNN(this, BO_LT, newIdx.castAs<NonLoc>(), 341 newBound.castAs<NonLoc>(), Ctx.IntTy); 508 bool ScanReachableSymbols::scan(nonloc::LazyCompoundVal val) { 521 bool ScanReachableSymbols::scan(nonloc::CompoundVal val) { 522 for (nonloc::CompoundVal::iterator I=val.begin(), E=val.end(); I!=E; ++I) 563 if (Optional<nonloc::LazyCompoundVal> X [all...] |
RegionStore.cpp | 443 nonloc::LazyCompoundVal LCV); 524 NonLoc createLazyBinding(RegionBindingsConstRef B, const TypedValueRegion *R); 550 const SValListTy &getInterestingValues(nonloc::LazyCompoundVal LCV); 813 if (Optional<nonloc::ConcreteInt> ExtentCI = 814 Extent.getAs<nonloc::ConcreteInt>()) { [all...] |
ExprEngineC.cpp | 521 assert(InitVal.getAs<nonloc::LazyCompoundVal>()); [all...] |
ExprEngine.cpp | 191 // mode. Only create a region if the current value is a NonLoc. 192 if (!V.getAs<NonLoc>()) [all...] |
MemRegion.cpp | 184 return nonloc::SymbolVal(svalBuilder.getSymbolManager().getExtentSymbol(this)); 213 return nonloc::SymbolVal(svalBuilder.getSymbolManager().getExtentSymbol(this)); 217 return nonloc::SymbolVal(svalBuilder.getSymbolManager().getExtentSymbol(this)); 646 if (auto CI = ER->getIndex().getAs<nonloc::ConcreteInt>()) { 961 MemRegionManager::getElementRegion(QualType elementType, NonLoc Idx, [all...] |
/external/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/ |
MPIChecker.cpp | 167 const llvm::APSInt &ArrSize = Size.getAs<nonloc::ConcreteInt>()->getValue(); 170 const NonLoc Idx = Ctx.getSValBuilder().makeArrayIndex(i);
|