baloghadamsoftware added a comment. > Is there a significant gain behind doing that instead of doing a state split > immediately? It feels unnatural to delay the split. It doesn't accurately > represent how the code would run. Are we supposed to do this at every > precall? What about other checkers that may rely on this one?
The actual gain is that we somewhat reduce the exponential growth of the exploded graph. With such a Schrödinger's cat pattern we delay it to the point where it is actually checked, it checked at all. ================ Comment at: clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp:39 + /// There is an execution path with none of the error flags set. + bool NoError = true; + /// There is an execution path with EOF indicator set. ---------------- `bool NoError:1 = true` etc. Why not use bit fields for a struct of boolans? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78374/new/ https://reviews.llvm.org/D78374 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits