[PATCH] D124681: [Analyzer] Minor cleanups in StreamChecker
This revision was automatically updated to reflect the committed changes. Closed by commit rGf34639828f5a: [Analyzer] Minor cleanups in StreamChecker (authored by mantognini). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124681/new/ https://reviews.llvm.org/D124681 Files: clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp Index: clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp === --- clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp +++ clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp @@ -672,24 +672,19 @@ if (!IsFread || (OldSS->ErrorState != ErrorFEof)) { ProgramStateRef StateNotFailed = State->BindExpr(CE, C.getLocationContext(), *NMembVal); -if (StateNotFailed) { - StateNotFailed = StateNotFailed->set( - StreamSym, StreamState::getOpened(Desc)); - C.addTransition(StateNotFailed); -} +StateNotFailed = +StateNotFailed->set(StreamSym, StreamState::getOpened(Desc)); +C.addTransition(StateNotFailed); } // Add transition for the failed state. - Optional RetVal = makeRetVal(C, CE).castAs(); - assert(RetVal && "Value should be NonLoc."); + NonLoc RetVal = makeRetVal(C, CE).castAs(); 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(); + State->BindExpr(CE, C.getLocationContext(), RetVal); + auto Cond = + C.getSValBuilder() + .evalBinOpNN(State, BO_LT, RetVal, *NMembVal, C.getASTContext().IntTy) + .getAs(); if (!Cond) return; StateFailed = StateFailed->assume(*Cond, true); Index: clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp === --- clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp +++ clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp @@ -672,24 +672,19 @@ if (!IsFread || (OldSS->ErrorState != ErrorFEof)) { ProgramStateRef StateNotFailed = State->BindExpr(CE, C.getLocationContext(), *NMembVal); -if (StateNotFailed) { - StateNotFailed = StateNotFailed->set( - StreamSym, StreamState::getOpened(Desc)); - C.addTransition(StateNotFailed); -} +StateNotFailed = +StateNotFailed->set(StreamSym, StreamState::getOpened(Desc)); +C.addTransition(StateNotFailed); } // Add transition for the failed state. - Optional RetVal = makeRetVal(C, CE).castAs(); - assert(RetVal && "Value should be NonLoc."); + NonLoc RetVal = makeRetVal(C, CE).castAs(); 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(); + State->BindExpr(CE, C.getLocationContext(), RetVal); + auto Cond = + C.getSValBuilder() + .evalBinOpNN(State, BO_LT, RetVal, *NMembVal, C.getASTContext().IntTy) + .getAs(); 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
[PATCH] D124681: [Analyzer] Minor cleanups in StreamChecker
steakhal accepted this revision. steakhal added a comment. This revision is now accepted and ready to land. Looks great, thanks. Land it. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124681/new/ https://reviews.llvm.org/D124681 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D124681: [Analyzer] Minor cleanups in StreamChecker
mantognini created this revision. Herald added subscribers: manas, steakhal, ASDenysPetrov, martong, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a project: All. mantognini added reviewers: NoQ, balazske, Szelethus. mantognini published this revision for review. mantognini added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. For reference, the modified code was introduced with https://reviews.llvm.org/D80015. Any feedback is appreciated. Remove unnecessary conversion to Optional<> and incorrect assumption that BindExpr can return a null state. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D124681 Files: clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp Index: clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp === --- clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp +++ clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp @@ -672,24 +672,19 @@ if (!IsFread || (OldSS->ErrorState != ErrorFEof)) { ProgramStateRef StateNotFailed = State->BindExpr(CE, C.getLocationContext(), *NMembVal); -if (StateNotFailed) { - StateNotFailed = StateNotFailed->set( - StreamSym, StreamState::getOpened(Desc)); - C.addTransition(StateNotFailed); -} +StateNotFailed = +StateNotFailed->set(StreamSym, StreamState::getOpened(Desc)); +C.addTransition(StateNotFailed); } // Add transition for the failed state. - Optional RetVal = makeRetVal(C, CE).castAs(); - assert(RetVal && "Value should be NonLoc."); + NonLoc RetVal = makeRetVal(C, CE).castAs(); 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(); + State->BindExpr(CE, C.getLocationContext(), RetVal); + auto Cond = + C.getSValBuilder() + .evalBinOpNN(State, BO_LT, RetVal, *NMembVal, C.getASTContext().IntTy) + .getAs(); if (!Cond) return; StateFailed = StateFailed->assume(*Cond, true); Index: clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp === --- clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp +++ clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp @@ -672,24 +672,19 @@ if (!IsFread || (OldSS->ErrorState != ErrorFEof)) { ProgramStateRef StateNotFailed = State->BindExpr(CE, C.getLocationContext(), *NMembVal); -if (StateNotFailed) { - StateNotFailed = StateNotFailed->set( - StreamSym, StreamState::getOpened(Desc)); - C.addTransition(StateNotFailed); -} +StateNotFailed = +StateNotFailed->set(StreamSym, StreamState::getOpened(Desc)); +C.addTransition(StateNotFailed); } // Add transition for the failed state. - Optional RetVal = makeRetVal(C, CE).castAs(); - assert(RetVal && "Value should be NonLoc."); + NonLoc RetVal = makeRetVal(C, CE).castAs(); 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(); + State->BindExpr(CE, C.getLocationContext(), RetVal); + auto Cond = + C.getSValBuilder() + .evalBinOpNN(State, BO_LT, RetVal, *NMembVal, C.getASTContext().IntTy) + .getAs(); 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