Author: Marco Antognini Date: 2022-05-02T17:50:10+02:00 New Revision: f34639828f5a99e6d724c092cc164be0c30a9f71
URL: https://github.com/llvm/llvm-project/commit/f34639828f5a99e6d724c092cc164be0c30a9f71 DIFF: https://github.com/llvm/llvm-project/commit/f34639828f5a99e6d724c092cc164be0c30a9f71.diff LOG: [Analyzer] Minor cleanups in StreamChecker Remove unnecessary conversion to Optional<> and incorrect assumption that BindExpr can return a null state. Reviewed By: steakhal Differential Revision: https://reviews.llvm.org/D124681 Added: Modified: clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp Removed: ################################################################################ diff --git a/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp index 099e70aaf7eca..b16e1f012251d 100644 --- a/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp @@ -672,24 +672,19 @@ void StreamChecker::evalFreadFwrite(const FnDescription *Desc, if (!IsFread || (OldSS->ErrorState != ErrorFEof)) { ProgramStateRef StateNotFailed = State->BindExpr(CE, C.getLocationContext(), *NMembVal); - if (StateNotFailed) { - StateNotFailed = StateNotFailed->set<StreamMap>( - StreamSym, StreamState::getOpened(Desc)); - C.addTransition(StateNotFailed); - } + StateNotFailed = + StateNotFailed->set<StreamMap>(StreamSym, StreamState::getOpened(Desc)); + C.addTransition(StateNotFailed); } // Add transition for the failed state. - Optional<NonLoc> RetVal = makeRetVal(C, CE).castAs<NonLoc>(); - assert(RetVal && "Value should be NonLoc."); + NonLoc RetVal = makeRetVal(C, CE).castAs<NonLoc>(); ProgramStateRef StateFailed = - State->BindExpr(CE, C.getLocationContext(), *RetVal); - if (!StateFailed) - return; - auto Cond = C.getSValBuilder() - .evalBinOpNN(State, BO_LT, *RetVal, *NMembVal, - C.getASTContext().IntTy) - .getAs<DefinedOrUnknownSVal>(); + State->BindExpr(CE, C.getLocationContext(), RetVal); + auto Cond = + C.getSValBuilder() + .evalBinOpNN(State, BO_LT, RetVal, *NMembVal, C.getASTContext().IntTy) + .getAs<DefinedOrUnknownSVal>(); if (!Cond) return; StateFailed = StateFailed->assume(*Cond, true); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits