Lines Matching refs:Desc

179 SVal getStreamArg(const FnDescription *Desc, const CallEvent &Call) {  in getStreamArg()  argument
180 assert(Desc && Desc->StreamArgNo != ArgNone && in getStreamArg()
182 return Call.getArgSVal(Desc->StreamArgNo); in getStreamArg()
289 void evalFopen(const FnDescription *Desc, const CallEvent &Call,
292 void preFreopen(const FnDescription *Desc, const CallEvent &Call,
294 void evalFreopen(const FnDescription *Desc, const CallEvent &Call,
297 void evalFclose(const FnDescription *Desc, const CallEvent &Call,
300 void preFread(const FnDescription *Desc, const CallEvent &Call,
303 void preFwrite(const FnDescription *Desc, const CallEvent &Call,
306 void evalFreadFwrite(const FnDescription *Desc, const CallEvent &Call,
309 void preFseek(const FnDescription *Desc, const CallEvent &Call,
311 void evalFseek(const FnDescription *Desc, const CallEvent &Call,
314 void evalFgetpos(const FnDescription *Desc, const CallEvent &Call,
317 void evalFsetpos(const FnDescription *Desc, const CallEvent &Call,
320 void evalFtell(const FnDescription *Desc, const CallEvent &Call,
323 void evalRewind(const FnDescription *Desc, const CallEvent &Call,
326 void preDefault(const FnDescription *Desc, const CallEvent &Call,
329 void evalClearerr(const FnDescription *Desc, const CallEvent &Call,
332 void evalFeofFerror(const FnDescription *Desc, const CallEvent &Call,
336 void evalSetFeofFerror(const FnDescription *Desc, const CallEvent &Call,
492 const FnDescription *Desc = lookupFn(Call); in checkPreCall() local
493 if (!Desc || !Desc->PreFn) in checkPreCall()
496 Desc->PreFn(this, Desc, Call, C); in checkPreCall()
500 const FnDescription *Desc = lookupFn(Call); in evalCall() local
501 if (!Desc && TestMode) in evalCall()
502 Desc = FnTestDescriptions.lookup(Call); in evalCall()
503 if (!Desc || !Desc->EvalFn) in evalCall()
506 Desc->EvalFn(this, Desc, Call, C); in evalCall()
511 void StreamChecker::evalFopen(const FnDescription *Desc, const CallEvent &Call, in evalFopen() argument
531 StateNotNull->set<StreamMap>(RetSym, StreamState::getOpened(Desc)); in evalFopen()
533 StateNull->set<StreamMap>(RetSym, StreamState::getOpenFailed(Desc)); in evalFopen()
540 void StreamChecker::preFreopen(const FnDescription *Desc, const CallEvent &Call, in preFreopen() argument
544 State = ensureStreamNonNull(getStreamArg(Desc, Call), in preFreopen()
545 Call.getArgExpr(Desc->StreamArgNo), C, State); in preFreopen()
552 void StreamChecker::evalFreopen(const FnDescription *Desc, in evalFreopen() argument
562 getStreamArg(Desc, Call).getAs<DefinedSVal>(); in evalFreopen()
589 StateRetNotNull->set<StreamMap>(StreamSym, StreamState::getOpened(Desc)); in evalFreopen()
591 StateRetNull->set<StreamMap>(StreamSym, StreamState::getOpenFailed(Desc)); in evalFreopen()
598 void StreamChecker::evalFclose(const FnDescription *Desc, const CallEvent &Call, in evalFclose() argument
601 SymbolRef Sym = getStreamArg(Desc, Call).getAsSymbol(); in evalFclose()
618 State = State->set<StreamMap>(Sym, StreamState::getClosed(Desc)); in evalFclose()
632 void StreamChecker::preFread(const FnDescription *Desc, const CallEvent &Call, in preFread() argument
635 SVal StreamVal = getStreamArg(Desc, Call); in preFread()
636 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFread()
657 void StreamChecker::preFwrite(const FnDescription *Desc, const CallEvent &Call, in preFwrite() argument
660 SVal StreamVal = getStreamArg(Desc, Call); in preFwrite()
661 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFwrite()
675 void StreamChecker::evalFreadFwrite(const FnDescription *Desc, in evalFreadFwrite() argument
679 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalFreadFwrite()
721 StateNotFailed->set<StreamMap>(StreamSym, StreamState::getOpened(Desc)); in evalFreadFwrite()
747 StreamState NewSS = StreamState::getOpened(Desc, NewES, !NewES.isFEof()); in evalFreadFwrite()
755 void StreamChecker::preFseek(const FnDescription *Desc, const CallEvent &Call, in preFseek() argument
758 SVal StreamVal = getStreamArg(Desc, Call); in preFseek()
759 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preFseek()
773 void StreamChecker::evalFseek(const FnDescription *Desc, const CallEvent &Call, in evalFseek() argument
776 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalFseek()
801 StateNotFailed->set<StreamMap>(StreamSym, StreamState::getOpened(Desc)); in evalFseek()
808 StreamState::getOpened(Desc, ErrorNone | ErrorFEof | ErrorFError, true)); in evalFseek()
814 void StreamChecker::evalFgetpos(const FnDescription *Desc, in evalFgetpos() argument
818 SymbolRef Sym = getStreamArg(Desc, Call).getAsSymbol(); in evalFgetpos()
843 void StreamChecker::evalFsetpos(const FnDescription *Desc, in evalFsetpos() argument
847 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalFsetpos()
868 StreamSym, StreamState::getOpened(Desc, ErrorNone, false)); in evalFsetpos()
875 StreamSym, StreamState::getOpened(Desc, ErrorNone | ErrorFError, true)); in evalFsetpos()
881 void StreamChecker::evalFtell(const FnDescription *Desc, const CallEvent &Call, in evalFtell() argument
884 SymbolRef Sym = getStreamArg(Desc, Call).getAsSymbol(); in evalFtell()
916 void StreamChecker::evalRewind(const FnDescription *Desc, const CallEvent &Call, in evalRewind() argument
919 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalRewind()
934 StreamState::getOpened(Desc, ErrorNone, false)); in evalRewind()
939 void StreamChecker::evalClearerr(const FnDescription *Desc, in evalClearerr() argument
943 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalClearerr()
956 StreamState::getOpened(Desc, ErrorNone, SS->FilePositionIndeterminate)); in evalClearerr()
960 void StreamChecker::evalFeofFerror(const FnDescription *Desc, in evalFeofFerror() argument
964 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalFeofFerror()
984 StreamSym, StreamState::getOpened(Desc, ErrorKind, in evalFeofFerror()
996 Desc, NewES, SS->FilePositionIndeterminate && !NewES.isFEof()))); in evalFeofFerror()
1000 void StreamChecker::preDefault(const FnDescription *Desc, const CallEvent &Call, in preDefault() argument
1003 SVal StreamVal = getStreamArg(Desc, Call); in preDefault()
1004 State = ensureStreamNonNull(StreamVal, Call.getArgExpr(Desc->StreamArgNo), C, in preDefault()
1015 void StreamChecker::evalSetFeofFerror(const FnDescription *Desc, in evalSetFeofFerror() argument
1019 SymbolRef StreamSym = getStreamArg(Desc, Call).getAsSymbol(); in evalSetFeofFerror()