Lines Matching full:state
59 void checkLiveSymbols(ProgramStateRef State, SymbolReaper &SR) const;
101 ProgramStateRef State = C.getState(); in checkBeginFunction() local
108 ErrnoR = State->getRegion(ErrnoDecl, C.getLocationContext()); in checkBeginFunction()
137 State = State->set<ErrnoRegion>(ErrnoR); in checkBeginFunction()
138 State = in checkBeginFunction()
139 errno_modeling::setErrnoValue(State, C, 0, errno_modeling::Irrelevant); in checkBeginFunction()
140 C.addTransition(State); in checkBeginFunction()
147 ProgramStateRef State = C.getState(); in evalCall() local
149 const MemRegion *ErrnoR = State->get<ErrnoRegion>(); in evalCall()
153 State = State->BindExpr(Call.getOriginExpr(), C.getLocationContext(), in evalCall()
155 C.addTransition(State); in evalCall()
162 void ErrnoModeling::checkLiveSymbols(ProgramStateRef State, in checkLiveSymbols() argument
165 if (const auto *ErrnoR = State->get<ErrnoRegion>()) in checkLiveSymbols()
173 std::optional<SVal> getErrnoValue(ProgramStateRef State) { in getErrnoValue() argument
174 const MemRegion *ErrnoR = State->get<ErrnoRegion>(); in getErrnoValue()
177 QualType IntTy = State->getAnalysisManager().getASTContext().IntTy; in getErrnoValue()
178 return State->getSVal(ErrnoR, IntTy); in getErrnoValue()
181 ProgramStateRef setErrnoValue(ProgramStateRef State, in setErrnoValue() argument
184 const MemRegion *ErrnoR = State->get<ErrnoRegion>(); in setErrnoValue()
186 return State; in setErrnoValue()
187 // First set the errno value, the old state is still available at 'checkBind' in setErrnoValue()
189 State = State->bindLoc(loc::MemRegionVal{ErrnoR}, Value, LCtx); in setErrnoValue()
190 return State->set<ErrnoState>(EState); in setErrnoValue()
193 ProgramStateRef setErrnoValue(ProgramStateRef State, CheckerContext &C, in setErrnoValue() argument
195 const MemRegion *ErrnoR = State->get<ErrnoRegion>(); in setErrnoValue()
197 return State; in setErrnoValue()
198 State = State->bindLoc( in setErrnoValue()
202 return State->set<ErrnoState>(EState); in setErrnoValue()
205 std::optional<Loc> getErrnoLoc(ProgramStateRef State) { in getErrnoLoc() argument
206 const MemRegion *ErrnoR = State->get<ErrnoRegion>(); in getErrnoLoc()
212 ErrnoCheckState getErrnoState(ProgramStateRef State) { in getErrnoState() argument
213 return State->get<ErrnoState>(); in getErrnoState()
216 ProgramStateRef setErrnoState(ProgramStateRef State, ErrnoCheckState EState) { in setErrnoState() argument
217 return State->set<ErrnoState>(EState); in setErrnoState()
220 ProgramStateRef clearErrnoState(ProgramStateRef State) { in clearErrnoState() argument
221 return setErrnoState(State, Irrelevant); in clearErrnoState()
239 ProgramStateRef setErrnoForStdSuccess(ProgramStateRef State, in setErrnoForStdSuccess() argument
241 return setErrnoState(State, MustNotBeChecked); in setErrnoForStdSuccess()
244 ProgramStateRef setErrnoForStdFailure(ProgramStateRef State, CheckerContext &C, in setErrnoForStdFailure() argument
249 SVB.evalBinOp(State, BO_NE, ErrnoSym, ZeroVal, SVB.getConditionType()) in setErrnoForStdFailure()
251 State = State->assume(Cond, true); in setErrnoForStdFailure()
252 if (!State) in setErrnoForStdFailure()
254 return setErrnoValue(State, C.getLocationContext(), ErrnoSym, Irrelevant); in setErrnoForStdFailure()
257 ProgramStateRef setErrnoStdMustBeChecked(ProgramStateRef State, in setErrnoStdMustBeChecked() argument
260 const MemRegion *ErrnoR = State->get<ErrnoRegion>(); in setErrnoStdMustBeChecked()
262 return State; in setErrnoStdMustBeChecked()
263 State = State->invalidateRegions(ErrnoR, InvalE, C.blockCount(), in setErrnoStdMustBeChecked()
265 if (!State) in setErrnoStdMustBeChecked()
267 return setErrnoState(State, MustBeChecked); in setErrnoStdMustBeChecked()