Szelethus marked 2 inline comments as done. Szelethus added inline comments.
================ Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:259 /// calls. bool isCalled(const CallDescription &CD) const; ---------------- NoQ wrote: > I don't fully understand how does overload resolution work in this case, > maybe rename the original function? Well, `isCalled` may now have an arbitrary number of arguments. The single argument version is this function, and the //n//-argument ones call this //n// times: `isCalled(A, B, C)` -> `isCalled(A) || isCalled(B) || isCalled(B)`. I guess I could rename the other one to `isAnyCalled`, but I think its fine. ================ Comment at: clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp:1006 const FunctionDecl *FD = C.getCalleeDecl(CE); - if (!FD) + if (!FD || FD->getKind() != Decl::Function) return; ---------------- kimgr wrote: > NoQ wrote: > > The `FD->getKind() != Decl::Function` part is super mega redundant here. > Sorry for jumping in from nowhere. AFAIK, this is the only way to detect free > vs member functions. It looks like this wants to discard member functions. > Are you sure it's redundant? Please do! Though I have a suspicion that if this isn't redundant, such a check should be done in `CallDescription`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D68163/new/ https://reviews.llvm.org/D68163 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits