Lines Matching refs:State

98   } State;  member
116 : LastOperation(L), State(S), ErrorState(ES), in StreamState()
120 assert((State == Opened || ErrorState.isNoError()) && in StreamState()
124 bool isOpened() const { return State == Opened; } in isOpened()
125 bool isClosed() const { return State == Closed; } in isClosed()
126 bool isOpenFailed() const { return State == OpenFailed; } in isOpenFailed()
131 return LastOperation == X.LastOperation && State == X.State && in operator ==()
150 ID.AddInteger(State); in Profile()
195 ProgramStateRef bindAndAssumeTrue(ProgramStateRef State, CheckerContext &C, in bindAndAssumeTrue() argument
198 State = State->BindExpr(CE, C.getLocationContext(), RetVal); in bindAndAssumeTrue()
199 State = State->assume(RetVal, true); in bindAndAssumeTrue()
200 assert(State && "Assumption on new value should not fail."); in bindAndAssumeTrue()
201 return State; in bindAndAssumeTrue()
204 ProgramStateRef bindInt(uint64_t Value, ProgramStateRef State, in bindInt() argument
206 State = State->BindExpr(CE, C.getLocationContext(), in bindInt()
208 return State; in bindInt()
229 ProgramStateRef checkPointerEscape(ProgramStateRef State,
409 ProgramStateRef State) const;
415 ProgramStateRef State) const;
425 ProgramStateRef State) const;
432 ProgramStateRef State) const;
439 ProgramStateRef State) const;
529 ProgramStateRef State = N->getState(); in getAcquisitionSite() local
532 if (!State->get<StreamMap>(StreamSym)) in getAcquisitionSite()
537 State = N->getState(); in getAcquisitionSite()
538 if (!State->get<StreamMap>(StreamSym)) in getAcquisitionSite()
576 ProgramStateRef State = C.getState(); in evalFopen() local
585 State = State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFopen()
591 C.getConstraintManager().assumeDual(State, RetVal); in evalFopen()
606 ProgramStateRef State = C.getState(); in preFreopen() local
607 State = ensureStreamNonNull(getStreamArg(Desc, Call), in preFreopen()
608 Call.getArgExpr(Desc->StreamArgNo), C, State); in preFreopen()
609 if (!State) in preFreopen()
612 C.addTransition(State); in preFreopen()
618 ProgramStateRef State = C.getState(); in evalFreopen() local
636 if (!State->get<StreamMap>(StreamSym)) in evalFreopen()
644 State->BindExpr(CE, C.getLocationContext(), *StreamVal); in evalFreopen()
648 State->BindExpr(CE, C.getLocationContext(), in evalFreopen()
663 ProgramStateRef State = C.getState(); in evalFclose() local
668 const StreamState *SS = State->get<StreamMap>(Sym); in evalFclose()
681 State = State->set<StreamMap>(Sym, StreamState::getClosed(Desc)); in evalFclose()
685 ProgramStateRef StateSuccess = State->BindExpr( in evalFclose()
688 State->BindExpr(CE, C.getLocationContext(), in evalFclose()
698 ProgramStateRef State = C.getState(); in preReadWrite() local
700 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preReadWrite()
701 State); in preReadWrite()
702 if (!State) in preReadWrite()
704 State = ensureStreamOpened(StreamVal, C, State); in preReadWrite()
705 if (!State) in preReadWrite()
707 State = ensureNoFilePositionIndeterminate(StreamVal, C, State); in preReadWrite()
708 if (!State) in preReadWrite()
712 C.addTransition(State); in preReadWrite()
717 if (Sym && State->get<StreamMap>(Sym)) { in preReadWrite()
718 const StreamState *SS = State->get<StreamMap>(Sym); in preReadWrite()
720 reportFEofWarning(Sym, C, State); in preReadWrite()
722 C.addTransition(State); in preReadWrite()
729 ProgramStateRef State = C.getState(); in evalFreadFwrite() local
745 const StreamState *OldSS = State->get<StreamMap>(StreamSym); in evalFreadFwrite()
757 if (State->isNull(*SizeVal).isConstrainedTrue() || in evalFreadFwrite()
758 State->isNull(*NMembVal).isConstrainedTrue()) { in evalFreadFwrite()
761 State = bindInt(0, State, C, CE); in evalFreadFwrite()
762 C.addTransition(State); in evalFreadFwrite()
770 State->BindExpr(CE, C.getLocationContext(), *NMembVal); in evalFreadFwrite()
779 State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFreadFwrite()
782 SVB.evalBinOpNN(State, BO_LT, RetVal, *NMembVal, SVB.getConditionType()) in evalFreadFwrite()
808 ProgramStateRef State = C.getState(); in evalFgetx() local
817 const StreamState *OldSS = State->get<StreamMap>(StreamSym); in evalFgetx()
831 State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFgetx()
837 SVB.evalBinOp(State, BO_GE, RetVal, SVB.makeZeroVal(ASTC.IntTy), in evalFgetx()
841 SVB.evalBinOp(State, BO_LE, RetVal, in evalFgetx()
864 State->BindExpr(CE, C.getLocationContext(), *GetBuf); in evalFgetx()
874 StateFailed = bindInt(*EofVal, State, C, CE); in evalFgetx()
877 State->BindExpr(CE, C.getLocationContext(), in evalFgetx()
894 ProgramStateRef State = C.getState(); in evalFputx() local
903 const StreamState *OldSS = State->get<StreamMap>(StreamSym); in evalFputx()
918 State->BindExpr(CE, C.getLocationContext(), *PutVal); in evalFputx()
926 State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFputx()
929 auto Cond = SVB.evalBinOp(State, BO_GE, RetVal, SVB.makeZeroVal(ASTC.IntTy), in evalFputx()
944 ProgramStateRef StateFailed = bindInt(*EofVal, State, C, CE); in evalFputx()
953 ProgramStateRef State = C.getState(); in evalFprintf() local
964 const StreamState *OldSS = State->get<StreamMap>(StreamSym); in evalFprintf()
971 State = State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFprintf()
974 auto Cond = SVB.evalBinOp(State, BO_GE, RetVal, SVB.makeZeroVal(ACtx.IntTy), in evalFprintf()
980 std::tie(StateNotFailed, StateFailed) = State->assume(*Cond); in evalFprintf()
995 ProgramStateRef State = C.getState(); in evalFscanf() local
1006 const StreamState *OldSS = State->get<StreamMap>(StreamSym); in evalFscanf()
1026 State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFscanf()
1044 ProgramStateRef StateFailed = bindInt(*EofVal, State, C, CE); in evalFscanf()
1058 ProgramStateRef State = C.getState(); in evalUngetc() local
1067 const StreamState *OldSS = State->get<StreamMap>(StreamSym); in evalUngetc()
1078 State->BindExpr(CE, C.getLocationContext(), *PutVal); in evalUngetc()
1089 ProgramStateRef StateFailed = bindInt(*EofVal, State, C, CE); in evalUngetc()
1098 ProgramStateRef State = C.getState(); in evalGetdelim() local
1107 const StreamState *OldSS = State->get<StreamMap>(StreamSym); in evalGetdelim()
1123 State->BindExpr(CE, C.getLocationContext(), RetVal); in evalGetdelim()
1126 SVB.evalBinOp(State, BO_GE, RetVal, SVB.makeZeroVal(CE->getType()), in evalGetdelim()
1140 ProgramStateRef StateFailed = bindInt(-1, State, C, CE); in evalGetdelim()
1153 ProgramStateRef State = C.getState(); in preFseek() local
1155 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFseek()
1156 State); in preFseek()
1157 if (!State) in preFseek()
1159 State = ensureStreamOpened(StreamVal, C, State); in preFseek()
1160 if (!State) in preFseek()
1162 State = ensureFseekWhenceCorrect(Call.getArgSVal(2), C, State); in preFseek()
1163 if (!State) in preFseek()
1166 C.addTransition(State); in preFseek()
1171 ProgramStateRef State = C.getState(); in evalFseek() local
1181 if (!State->get<StreamMap>(StreamSym)) in evalFseek()
1185 C.getSValBuilder().getKnownValue(State, Call.getArgSVal(1)); in evalFseek()
1187 C.getSValBuilder().getKnownValue(State, Call.getArgSVal(2)); in evalFseek()
1192 State = State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFseek()
1198 C.getConstraintManager().assumeDual(State, RetVal); in evalFseek()
1221 ProgramStateRef State = C.getState(); in evalFgetpos() local
1227 if (!State->get<StreamMap>(Sym)) in evalFgetpos()
1235 State = State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFgetpos()
1238 C.getConstraintManager().assumeDual(State, RetVal); in evalFgetpos()
1250 ProgramStateRef State = C.getState(); in evalFsetpos() local
1255 const StreamState *SS = State->get<StreamMap>(StreamSym); in evalFsetpos()
1266 State = State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFsetpos()
1269 C.getConstraintManager().assumeDual(State, RetVal); in evalFsetpos()
1287 ProgramStateRef State = C.getState(); in evalFtell() local
1292 if (!State->get<StreamMap>(Sym)) in evalFtell()
1302 State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFtell()
1304 SVB.evalBinOp(State, BO_GE, RetVal, SVB.makeZeroVal(Call.getResultType()), in evalFtell()
1313 ProgramStateRef StateFailed = State->BindExpr( in evalFtell()
1325 ProgramStateRef State = C.getState(); in evalRewind() local
1330 const StreamState *SS = State->get<StreamMap>(StreamSym); in evalRewind()
1340 State = State->set<StreamMap>(StreamSym, in evalRewind()
1343 C.addTransition(State); in evalRewind()
1349 ProgramStateRef State = C.getState(); in evalClearerr() local
1354 const StreamState *SS = State->get<StreamMap>(StreamSym); in evalClearerr()
1361 State = State->set<StreamMap>( in evalClearerr()
1364 C.addTransition(State); in evalClearerr()
1370 ProgramStateRef State = C.getState(); in evalFeofFerror() local
1379 const StreamState *SS = State->get<StreamMap>(StreamSym); in evalFeofFerror()
1389 ProgramStateRef TrueState = bindAndAssumeTrue(State, C, CE); in evalFeofFerror()
1399 ProgramStateRef FalseState = bindInt(0, State, C, CE); in evalFeofFerror()
1409 ProgramStateRef State = C.getState(); in preDefault() local
1411 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preDefault()
1412 State); in preDefault()
1413 if (!State) in preDefault()
1415 State = ensureStreamOpened(StreamVal, C, State); in preDefault()
1416 if (!State) in preDefault()
1419 C.addTransition(State); in preDefault()
1425 ProgramStateRef State = C.getState(); in evalSetFeofFerror() local
1428 const StreamState *SS = State->get<StreamMap>(StreamSym); in evalSetFeofFerror()
1430 State = State->set<StreamMap>( in evalSetFeofFerror()
1432 C.addTransition(State); in evalSetFeofFerror()
1437 ProgramStateRef State = C.getState(); in preFflush() local
1445 C.getConstraintManager().assumeDual(State, *Stream); in preFflush()
1452 ProgramStateRef State = C.getState(); in evalFflush() local
1461 C.getConstraintManager().assumeDual(State, *Stream); in evalFflush()
1465 State = StateNotNull; in evalFflush()
1467 State = StateNull; in evalFflush()
1474 ProgramStateRef StateFailed = bindInt(*EofVal, State, C, CE); in evalFflush()
1475 ProgramStateRef StateNotFailed = bindInt(0, State, C, CE); in evalFflush()
1491 const StreamState *SS = State->get<StreamMap>(StreamSym); in evalFflush()
1516 ProgramStateRef State) const { in ensureStreamNonNull()
1519 return State; in ensureStreamNonNull()
1524 std::tie(StateNotNull, StateNull) = CM.assumeDual(State, *Stream); in ensureStreamNonNull()
1542 ProgramStateRef State) const { in ensureStreamOpened()
1545 return State; in ensureStreamOpened()
1547 const StreamState *SS = State->get<StreamMap>(Sym); in ensureStreamOpened()
1549 return State; in ensureStreamOpened()
1562 return State; in ensureStreamOpened()
1582 return State; in ensureStreamOpened()
1586 SVal StreamVal, CheckerContext &C, ProgramStateRef State) const { in ensureNoFilePositionIndeterminate()
1594 return State; in ensureNoFilePositionIndeterminate()
1596 const StreamState *SS = State->get<StreamMap>(Sym); in ensureNoFilePositionIndeterminate()
1598 return State; in ensureNoFilePositionIndeterminate()
1607 ExplodedNode *N = C.generateNonFatalErrorNode(State); in ensureNoFilePositionIndeterminate()
1613 return State->set<StreamMap>( in ensureNoFilePositionIndeterminate()
1619 ExplodedNode *N = C.generateErrorNode(State); in ensureNoFilePositionIndeterminate()
1627 return State; in ensureNoFilePositionIndeterminate()
1632 ProgramStateRef State) const { in ensureFseekWhenceCorrect()
1636 return State; in ensureFseekWhenceCorrect()
1640 return State; in ensureFseekWhenceCorrect()
1642 if (ExplodedNode *N = C.generateNonFatalErrorNode(State)) { in ensureFseekWhenceCorrect()
1651 return State; in ensureFseekWhenceCorrect()
1655 ProgramStateRef State) const { in reportFEofWarning()
1656 if (ExplodedNode *N = C.generateNonFatalErrorNode(State)) { in reportFEofWarning()
1666 C.addTransition(State); in reportFEofWarning()
1712 ProgramStateRef State = C.getState(); in checkDeadSymbols() local
1716 const StreamMapTy &Map = State->get<StreamMap>(); in checkDeadSymbols()
1724 State = State->remove<StreamMap>(Sym); in checkDeadSymbols()
1731 C.addTransition(State, N); in checkDeadSymbols()
1735 ProgramStateRef State, const InvalidatedSymbols &Escaped, in checkPointerEscape() argument
1741 return State; in checkPointerEscape()
1751 State = State->remove<StreamMap>(Sym); in checkPointerEscape()
1753 return State; in checkPointerEscape()