Szelethus marked 2 inline comments as done. Szelethus added inline comments.
================ Comment at: clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp:995 -void MallocChecker::checkBasicAlloc(CheckerContext &C, const CallExpr *CE, - ProgramStateRef State) const { - State = MallocMemAux(C, CE, CE->getArg(0), UndefinedVal(), State, AF_Malloc); - State = ProcessZeroAllocCheck(C, CE, 0, State); +void MallocChecker::checkBasicAlloc(const CallEvent &Call, + CheckerContext &C) const { ---------------- xazax.hun wrote: > What is the main reason of getting rid of the state parameter? I think this > could make using these functions more error prone overall as it would be > easier to introduce splits in the exploded graph this way (if we somehow > wanted to model a function as successive calls of some other functions). Refer to @NoQ's [[https://reviews.llvm.org/D68165?id=222257#inline-612842|earlier inline]]. > I think this could make using these functions more error prone overall as it > would be easier to introduce splits in the exploded graph this way (if we > somehow wanted to model a function as successive calls of some other > functions). Why would the removal of a `ProgramStateRef` parameter cause that? ================ Comment at: clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp:1641 ProgramStateRef MallocChecker::FreeMemAux( - CheckerContext &C, const Expr *ArgExpr, const Expr *ParentExpr, ProgramStateRef State, bool Hold, bool &IsKnownToBeAllocated, ---------------- xazax.hun wrote: > In functions where we only use `ArgExpr` to retrieve the corresponding `SVal` > we could pass the `SVal` in the first place. Long term, I plan to find a better value type for the `CallDescriptionMap` where information such as this could be retrieved easier, which is why I focused on nothing but the task at hand. While I would like to see `MallocChecker` in a healthier state, at times I find the development effort I'm putting into it questionable, so I'll probably stop at the point where I can comfortably split it. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75432/new/ https://reviews.llvm.org/D75432 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits