[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-04-07 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. Sorry for the late review. Comment at: clang/lib/Sema/SemaChecking.cpp:10294-10303 +void CheckFreeArgumentsPlus(Sema &S, const std::string &CalleeName, +const UnaryOperator *UnaryExpr) { + const auto *Lambda = dyn_cast( +

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-03-04 Thread Karl-Johan Karlsson via Phabricator via cfe-commits
Ka-Ka added a comment. Thanks for the information. I found the review now in https://reviews.llvm.org/D97512 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94640/new/ https://reviews.llvm.org/D94640 ___

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-03-04 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D94640#2603054 , @lebedev.ri wrote: >> <...> > > Is the patch still not reverted? > That should have happened almost a week ago. FWIW, the fix for the issue was just approved. Repository: rG LLVM Github Monorepo CHAN

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-03-04 Thread Roman Lebedev via Phabricator via cfe-commits
lebedev.ri added a comment. > <...> Is the patch still not reverted? That should have happened almost a week ago. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94640/new/ https://reviews.llvm.org/D94640 ___

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-03-04 Thread Karl-Johan Karlsson via Phabricator via cfe-commits
Ka-Ka added a comment. This patch seems to introduce warnings for the case #include #include void foo(void* ptr) { free((void*)(intptr_t) ptr); } something that gcc don't warn for (see https://godbolt.org/z/1WT9c6 ). As intptr_t is suppose to be used to pass pointers in I think its a bit

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-26 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb added a comment. In D94640#2590512 , @thakis wrote: > This seems to flag > https://source.chromium.org/chromium/chromium/src/+/master:third_party/libsync/src/sync.c;l=142?q=sync.c&ss=chromium > : > > info->sync_fence_info = (uint64_t) calloc(num_f

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-26 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. This seems to flag https://source.chromium.org/chromium/chromium/src/+/master:third_party/libsync/src/sync.c;l=142?q=sync.c&ss=chromium : info->sync_fence_info = (uint64_t) calloc(num_fences, sizeof(struct sync_fence_info)); if ((voi

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-25 Thread Christopher Di Bella via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG4f395db86b5c: adds more checks to -Wfree-nonheap-object (authored by cjdb). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94640/new/ https://reviews.llvm.or

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-25 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. LGTM, thank you for this! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94640/new/ https://reviews.llvm.org/D94640 __

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-24 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb updated this revision to Diff 326261. cjdb added a comment. applies @aaron.ballman's suggestion Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94640/new/ https://reviews.llvm.org/D94640 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-24 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:10252 namespace { -void CheckFreeArgumentsOnLvalue(Sema &S, const std::string &CalleeName, -const UnaryOperator *UnaryExpr, -const Var

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-23 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb updated this revision to Diff 325889. cjdb added a comment. applies @aaron.ballman's feedback Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94640/new/ https://reviews.llvm.org/D94640 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-23 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb marked an inline comment as done. cjdb added a comment. In D94640#2579447 , @aaron.ballman wrote: > In D94640#2560647 , @cjdb wrote: > >> fixes block expressions >> >> @aaron.ballman I'm not sure I follow what

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-22 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added reviewers: NoQ, Szelethus, rsmith. aaron.ballman added a comment. Herald added a subscriber: Charusso. In D94640#2560647 , @cjdb wrote: > fixes block expressions > > @aaron.ballman I'm not sure I follow what you're after re lambdas. Cou

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-22 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb marked an inline comment as done. cjdb added a comment. Ping. @aaron.ballman any further requests? I think this is good to land otherwise? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94640/new/ https://reviews.llvm.org/D94640 _

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-12 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb marked 3 inline comments as done. cjdb added inline comments. Comment at: clang/test/Analysis/free.c:84 + // expected-warning@-1{{Argument to free() is a block, which is not memory allocated by malloc()}} + // expected-warning@-2{{attempt to call free on non-heap object :

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-12 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb updated this revision to Diff 323414. cjdb added a comment. fixes block expressions @aaron.ballman I'm not sure I follow what you're after re lambdas. Could you please provide a test case that I can work with? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://revi

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-12 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/test/Analysis/free.c:84 + // expected-warning@-1{{Argument to free() is a block, which is not memory allocated by malloc()}} + // expected-warning@-2{{attempt to call free on non-heap object : block expression}} } --

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-11 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb added inline comments. Comment at: clang/test/Analysis/free.c:84 + // expected-warning@-1{{Argument to free() is a block, which is not memory allocated by malloc()}} + // expected-warning@-2{{attempt to call free on non-heap object : block expression}} } ---

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-10 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:10314 + switch (kind) { + case clang::CK_IntegralToPointer: // [[fallthrough]]; + case clang::CK_FunctionToPointerDecay: { cjdb wrote: > aaron.ballman wrote: > > > Done, but why?

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-08 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb updated this revision to Diff 38. cjdb marked 4 inline comments as done. cjdb added a comment. Herald added a subscriber: cfe-commits. addresses comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94640/new/ https://reviews.llvm.org/D94

[PATCH] D94640: adds more checks to -Wfree-nonheap-object

2021-02-08 Thread Christopher Di Bella via Phabricator via cfe-commits
cjdb added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:10267-10277 + if (const auto *Field = dyn_cast(D)) { S.Diag(UnaryExpr->getBeginLoc(), diag::warn_free_nonheap_object) << CalleeName << Field; +return; + } + + if (const auto *Func = dyn_c