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()
228 ProgramStateRef checkPointerEscape(ProgramStateRef State,
346 ProgramStateRef State) const;
352 ProgramStateRef State) const;
362 ProgramStateRef State) const;
369 ProgramStateRef State) const;
376 ProgramStateRef State) const;
466 ProgramStateRef State = N->getState(); in getAcquisitionSite() local
469 if (!State->get<StreamMap>(StreamSym)) in getAcquisitionSite()
474 State = N->getState(); in getAcquisitionSite()
475 if (!State->get<StreamMap>(StreamSym)) in getAcquisitionSite()
513 ProgramStateRef State = C.getState(); in evalFopen() local
522 State = State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFopen()
528 C.getConstraintManager().assumeDual(State, RetVal); in evalFopen()
543 ProgramStateRef State = C.getState(); in preFreopen() local
544 State = ensureStreamNonNull(getStreamArg(Desc, Call), in preFreopen()
545 Call.getArgExpr(Desc->StreamArgNo), C, State); in preFreopen()
546 if (!State) in preFreopen()
549 C.addTransition(State); in preFreopen()
555 ProgramStateRef State = C.getState(); in evalFreopen() local
573 if (!State->get<StreamMap>(StreamSym)) in evalFreopen()
581 State->BindExpr(CE, C.getLocationContext(), *StreamVal); in evalFreopen()
585 State->BindExpr(CE, C.getLocationContext(), in evalFreopen()
600 ProgramStateRef State = C.getState(); in evalFclose() local
605 const StreamState *SS = State->get<StreamMap>(Sym); in evalFclose()
618 State = State->set<StreamMap>(Sym, StreamState::getClosed(Desc)); in evalFclose()
622 ProgramStateRef StateSuccess = State->BindExpr( in evalFclose()
625 State->BindExpr(CE, C.getLocationContext(), in evalFclose()
634 ProgramStateRef State = C.getState(); in preFread() local
636 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFread()
637 State); in preFread()
638 if (!State) in preFread()
640 State = ensureStreamOpened(StreamVal, C, State); in preFread()
641 if (!State) in preFread()
643 State = ensureNoFilePositionIndeterminate(StreamVal, C, State); in preFread()
644 if (!State) in preFread()
648 if (Sym && State->get<StreamMap>(Sym)) { in preFread()
649 const StreamState *SS = State->get<StreamMap>(Sym); in preFread()
651 reportFEofWarning(Sym, C, State); in preFread()
653 C.addTransition(State); in preFread()
659 ProgramStateRef State = C.getState(); in preFwrite() local
661 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFwrite()
662 State); in preFwrite()
663 if (!State) in preFwrite()
665 State = ensureStreamOpened(StreamVal, C, State); in preFwrite()
666 if (!State) in preFwrite()
668 State = ensureNoFilePositionIndeterminate(StreamVal, C, State); in preFwrite()
669 if (!State) in preFwrite()
672 C.addTransition(State); in preFwrite()
678 ProgramStateRef State = C.getState(); in evalFreadFwrite() local
694 const StreamState *OldSS = State->get<StreamMap>(StreamSym); in evalFreadFwrite()
706 if (State->isNull(*SizeVal).isConstrainedTrue() || in evalFreadFwrite()
707 State->isNull(*NMembVal).isConstrainedTrue()) { in evalFreadFwrite()
710 State = bindInt(0, State, C, CE); in evalFreadFwrite()
711 C.addTransition(State); in evalFreadFwrite()
719 State->BindExpr(CE, C.getLocationContext(), *NMembVal); in evalFreadFwrite()
728 State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFreadFwrite()
731 .evalBinOpNN(State, BO_LT, RetVal, *NMembVal, C.getASTContext().IntTy) in evalFreadFwrite()
757 ProgramStateRef State = C.getState(); in preFseek() local
759 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFseek()
760 State); in preFseek()
761 if (!State) in preFseek()
763 State = ensureStreamOpened(StreamVal, C, State); in preFseek()
764 if (!State) in preFseek()
766 State = ensureFseekWhenceCorrect(Call.getArgSVal(2), C, State); in preFseek()
767 if (!State) in preFseek()
770 C.addTransition(State); in preFseek()
775 ProgramStateRef State = C.getState(); in evalFseek() local
785 if (!State->get<StreamMap>(StreamSym)) in evalFseek()
791 State = State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFseek()
797 C.getConstraintManager().assumeDual(State, RetVal); in evalFseek()
817 ProgramStateRef State = C.getState(); in evalFgetpos() local
823 if (!State->get<StreamMap>(Sym)) in evalFgetpos()
831 State = State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFgetpos()
834 C.getConstraintManager().assumeDual(State, RetVal); in evalFgetpos()
846 ProgramStateRef State = C.getState(); in evalFsetpos() local
851 const StreamState *SS = State->get<StreamMap>(StreamSym); in evalFsetpos()
862 State = State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFsetpos()
865 C.getConstraintManager().assumeDual(State, RetVal); in evalFsetpos()
883 ProgramStateRef State = C.getState(); in evalFtell() local
888 if (!State->get<StreamMap>(Sym)) in evalFtell()
898 State->BindExpr(CE, C.getLocationContext(), RetVal); in evalFtell()
899 auto Cond = SVB.evalBinOp(State, BO_GE, RetVal, in evalFtell()
909 ProgramStateRef StateFailed = State->BindExpr( in evalFtell()
918 ProgramStateRef State = C.getState(); in evalRewind() local
923 const StreamState *SS = State->get<StreamMap>(StreamSym); in evalRewind()
933 State = State->set<StreamMap>(StreamSym, in evalRewind()
936 C.addTransition(State); in evalRewind()
942 ProgramStateRef State = C.getState(); in evalClearerr() local
947 const StreamState *SS = State->get<StreamMap>(StreamSym); in evalClearerr()
954 State = State->set<StreamMap>( in evalClearerr()
957 C.addTransition(State); in evalClearerr()
963 ProgramStateRef State = C.getState(); in evalFeofFerror() local
972 const StreamState *SS = State->get<StreamMap>(StreamSym); in evalFeofFerror()
982 ProgramStateRef TrueState = bindAndAssumeTrue(State, C, CE); in evalFeofFerror()
992 ProgramStateRef FalseState = bindInt(0, State, C, CE); in evalFeofFerror()
1002 ProgramStateRef State = C.getState(); in preDefault() local
1004 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preDefault()
1005 State); in preDefault()
1006 if (!State) in preDefault()
1008 State = ensureStreamOpened(StreamVal, C, State); in preDefault()
1009 if (!State) in preDefault()
1012 C.addTransition(State); in preDefault()
1018 ProgramStateRef State = C.getState(); in evalSetFeofFerror() local
1021 const StreamState *SS = State->get<StreamMap>(StreamSym); in evalSetFeofFerror()
1023 State = State->set<StreamMap>( in evalSetFeofFerror()
1025 C.addTransition(State); in evalSetFeofFerror()
1031 ProgramStateRef State) const { in ensureStreamNonNull()
1034 return State; in ensureStreamNonNull()
1055 ProgramStateRef State) const { in ensureStreamOpened()
1058 return State; in ensureStreamOpened()
1060 const StreamState *SS = State->get<StreamMap>(Sym); in ensureStreamOpened()
1062 return State; in ensureStreamOpened()
1075 return State; in ensureStreamOpened()
1093 return State; in ensureStreamOpened()
1096 return State; in ensureStreamOpened()
1100 SVal StreamVal, CheckerContext &C, ProgramStateRef State) const { in ensureNoFilePositionIndeterminate()
1108 return State; in ensureNoFilePositionIndeterminate()
1110 const StreamState *SS = State->get<StreamMap>(Sym); in ensureNoFilePositionIndeterminate()
1112 return State; in ensureNoFilePositionIndeterminate()
1121 ExplodedNode *N = C.generateNonFatalErrorNode(State); in ensureNoFilePositionIndeterminate()
1127 return State->set<StreamMap>( in ensureNoFilePositionIndeterminate()
1133 ExplodedNode *N = C.generateErrorNode(State); in ensureNoFilePositionIndeterminate()
1141 return State; in ensureNoFilePositionIndeterminate()
1146 ProgramStateRef State) const { in ensureFseekWhenceCorrect()
1150 return State; in ensureFseekWhenceCorrect()
1154 return State; in ensureFseekWhenceCorrect()
1156 if (ExplodedNode *N = C.generateNonFatalErrorNode(State)) { in ensureFseekWhenceCorrect()
1165 return State; in ensureFseekWhenceCorrect()
1169 ProgramStateRef State) const { in reportFEofWarning()
1170 if (ExplodedNode *N = C.generateNonFatalErrorNode(State)) { in reportFEofWarning()
1180 C.addTransition(State); in reportFEofWarning()
1224 ProgramStateRef State = C.getState(); in checkDeadSymbols() local
1228 const StreamMapTy &Map = State->get<StreamMap>(); in checkDeadSymbols()
1236 State = State->remove<StreamMap>(Sym); in checkDeadSymbols()
1243 C.addTransition(State, N); in checkDeadSymbols()
1247 ProgramStateRef State, const InvalidatedSymbols &Escaped, in checkPointerEscape() argument
1253 return State; in checkPointerEscape()
1263 State = State->remove<StreamMap>(Sym); in checkPointerEscape()
1265 return State; in checkPointerEscape()