a.sidorin accepted this revision. a.sidorin added a comment. Thank you! Just some of nits inline.
================ Comment at: lib/StaticAnalyzer/Core/ExprEngine.cpp:394 + +bool ExprEngine::areTemporaryMaterializationsClear( + ProgramStateRef State, const LocationContext *FromLC, ---------------- ``` for (const auto &I : State->get<TemporaryMaterializations>()) { auto *LCtx = I.first.second; if (LCtx == FromLC || (LCtx->isParentOf(From) && (!To || To->isParentOf(LCtx))) return false; } return true; ``` is a bit shorter but less evident so I won't insist. ================ Comment at: lib/StaticAnalyzer/Core/ExprEngine.cpp:396 + ProgramStateRef State, const LocationContext *FromLC, + const LocationContext *ToLC) { + const LocationContext *LC = FromLC; ---------------- EndLC? (similar to iterators) ================ Comment at: lib/StaticAnalyzer/Core/ExprEngine.cpp:400 + assert(LC && "ToLC must be a parent of FromLC!"); + for (auto I : State->get<TemporaryMaterializations>()) + if (I.first.second == LC) ---------------- const auto &? ================ Comment at: lib/StaticAnalyzer/Core/ExprEngine.cpp:503 + Key.first->printPretty(Out, nullptr, PP); + if (Value) + Out << " : " << Value; ---------------- As I see from line 350, `Value` is always non-null. And there is same check on line 659. Am I missing something? https://reviews.llvm.org/D43497 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits