Home | History | Annotate | Download | only in Checkers

Lines Matching refs:SVal

118                     ProgramStateRef state, SVal V, QualType Ty);
122 SVal strLength);
123 static SVal getCStringLengthForRegion(CheckerContext &C,
128 SVal getCStringLength(CheckerContext &C,
131 SVal Buf,
137 SVal val) const;
141 const Expr *Ex, SVal V);
150 SVal l) const;
154 SVal l,
193 typedef llvm::ImmutableMap<const MemRegion *, SVal> EntryMap;
212 CStringChecker::assumeZero(CheckerContext &C, ProgramStateRef state, SVal V,
225 const Expr *S, SVal l) const {
269 const Expr *S, SVal l,
290 SVal Extent =
360 SVal BufVal = state->getSVal(FirstBuf, LCtx);
372 SVal LengthVal = state->getSVal(Size, LCtx);
383 SVal BufStart = svalBuilder.evalCast(BufVal, PtrTy, FirstBuf->getType());
387 SVal BufEnd = svalBuilder.evalBinOpLN(state, BO_Add, *BufLoc,
407 SVal BufEnd = svalBuilder.evalBinOpLN(state, BO_Add, *BufLoc,
437 SVal firstVal = state->getSVal(First, LCtx);
438 SVal secondVal = state->getSVal(Second, LCtx);
465 SVal reverse = svalBuilder.evalBinOpLL(state, BO_GT,
490 SVal LengthVal = state->getSVal(Size, LCtx);
499 SVal FirstStart = svalBuilder.evalCast(*firstLoc, CharPtrTy,
506 SVal FirstEnd = svalBuilder.evalBinOpLN(state, BO_Add,
513 SVal Overlap = svalBuilder.evalBinOpLL(state, BO_GT,
570 SVal maxMinusRight;
585 SVal willOverflow = svalBuilder.evalBinOpNN(state, BO_GT, left,
626 SVal strLength) {
664 SVal CStringChecker::getCStringLengthForRegion(CheckerContext &C,
671 const SVal *Recorded = state->get<CStringLength>(MR);
680 SVal strLength = svalBuilder.getMetadataSymbolVal(CStringChecker::getTag(),
689 SVal CStringChecker::getCStringLength(CheckerContext &C, ProgramStateRef &state,
690 const Expr *Ex, SVal Buf,
790 ProgramStateRef &state, const Expr *expr, SVal val) const {
811 const Expr *E, SVal V) {
892 SVal sizeVal = state->getSVal(Size, LCtx);
900 SVal destVal = state->getSVal(Dest, LCtx);
920 SVal srcVal = state->getSVal(Source, LCtx);
950 SVal lastElement = C.getSValBuilder().evalBinOpLN(state, BO_Add,
961 SVal result =
1045 SVal sizeVal = state->getSVal(Size, LCtx);
1097 SVal CmpV = svalBuilder.getConjuredSymbolVal(NULL, CE, LCtx, Count);
1131 SVal maxlenVal = state->getSVal(maxlenExpr, LCtx);
1140 SVal zero = C.getSValBuilder().makeZeroVal(CE->getType());
1155 SVal ArgVal = state->getSVal(Arg, LCtx);
1162 SVal strLength = getCStringLength(C, state, Arg, ArgVal);
1179 SVal maxlenVal = state->getSVal(maxlenExpr, LCtx);
1312 SVal DstVal = state->getSVal(Dst, LCtx);
1320 SVal srcVal = state->getSVal(srcExpr, LCtx);
1326 SVal strLength = getCStringLength(C, state, srcExpr, srcVal);
1339 SVal amountCopied = UnknownVal();
1340 SVal maxLastElementIndex = UnknownVal();
1347 SVal lenVal = state->getSVal(lenExpr, LCtx);
1389 SVal dstStrLength = getCStringLength(C, state, Dst, DstVal);
1427 SVal copiedLessThanBound = svalBuilder.evalBinOpNN(state, BO_LE,
1439 SVal copiedLessThanSrc = svalBuilder.evalBinOpNN(state, BO_LE,
1462 SVal finalStrLength = UnknownVal();
1470 SVal dstStrLength = getCStringLength(C, state, Dst, DstVal);
1499 SVal sourceInResult = svalBuilder.evalBinOpNN(state, BO_GE,
1511 SVal destInResult = svalBuilder.evalBinOpNN(state, BO_GE,
1531 SVal Result = (returnEnd ? UnknownVal() : DstVal);
1544 SVal maxLastElement = svalBuilder.evalBinOpLN(state, BO_Add, *dstRegVal,
1555 SVal lastElement = svalBuilder.evalBinOpLN(state, BO_Add, *dstRegVal,
1648 SVal s1Val = state->getSVal(s1, LCtx);
1655 SVal s2Val = state->getSVal(s2, LCtx);
1661 SVal s1Length = getCStringLength(C, state, s1, s1Val);
1666 SVal s2Length = getCStringLength(C, state, s2, s2Val);
1712 SVal lenVal = state->getSVal(lenExpr, LCtx);
1747 // Build the SVal of the comparison and bind the return value.
1748 SVal resultVal = svalBuilder.makeIntVal(result, CE->getType());
1756 SVal resultVal = svalBuilder.getConjuredSymbolVal(NULL, CE, LCtx, Count);
1858 SVal StrVal = state->getSVal(Init, C.getLocationContext());
1934 SVal Len = I.getData();
1955 SVal Len = I.getData();