[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-09-20 Thread Thomas Weißschuh via Phabricator via cfe-commits
t-8ch added inline comments. Comment at: clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp:538 + CallExpr::const_arg_range Args) { +for (const auto &[Param, Arg] : llvm::zip(FD->parameters(), Args)) { + if (!Param->getType()->isReferen

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-09-20 Thread Thomas Weißschuh via Phabricator via cfe-commits
t-8ch updated this revision to Diff 461799. t-8ch added a comment. - [analyzer] Treat values passed as parameter as escaped - [analyzer][deadstores] Handle member operator calls Handle calls to member operators Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.l

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-09-20 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added inline comments. Comment at: clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp:538 + CallExpr::const_arg_range Args) { +for (const auto &[Param, Arg] : llvm::zip(FD->parameters(), Args)) { + if (!Param->getType()->isReference

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-09 Thread Thomas Weißschuh via Phabricator via cfe-commits
t-8ch updated this revision to Diff 451117. t-8ch added a comment. - Inline tiny functions - Use structured binding - Rename findReferenceParameter -> findReferenceParameters Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131067/new/ https://reviews

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-09 Thread Thomas Weißschuh via Phabricator via cfe-commits
t-8ch added a comment. Comment at: clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp:537 + CallExpr::const_arg_range Args) { +for (const auto It : llvm::zip(FD->parameters(), Args)) { + if (!std::get<0>(It)->getType()->isReferenceTyp

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-09 Thread Balázs Benics via Phabricator via cfe-commits
steakhal accepted this revision. steakhal added a comment. This revision is now accepted and ready to land. In D131067#3705783 , @t-8ch wrote: > In D131067#3702044 , @steakhal > wrote: > >> Please, consider stati

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-09 Thread Thomas Weißschuh via Phabricator via cfe-commits
t-8ch updated this revision to Diff 451072. t-8ch added a comment. Rework tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131067/new/ https://reviews.llvm.org/D131067 Files: clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp clang/tes

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-08 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. Thanks! I've seen a couple false positives like this and I'm shocked that this wasn't already how things worked. I agree with @steakhal, we should add a test case that demonstrates an actual false positive suppressed by this patch. The tests that you've added are "FIXME" t

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-08 Thread Thomas Weißschuh via Phabricator via cfe-commits
t-8ch added a comment. @steakhal Thanks for your review! I think I have addressed all your points. In D131067#3702044 , @steakhal wrote: > Please, consider stating the motivation behind this change. This is now added. > For me, by looking at the modifi

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-08 Thread Thomas Weißschuh via Phabricator via cfe-commits
t-8ch updated this revision to Diff 450717. t-8ch marked 5 inline comments as done. t-8ch added a comment. Implement stylistic change requested by reviewers and add better description. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131067/new/ https

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-05 Thread Balázs Benics via Phabricator via cfe-commits
steakhal added inline comments. Comment at: clang/test/Analysis/dead-stores.cpp:225 +void functionReferenceParameter(int &i) { + i = 5; // no warning +} By checking it on godbolt, this line never raised a warning. https://godbolt.org/z/n7fP5od5q You must be ref

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-05 Thread Balázs Benics via Phabricator via cfe-commits
steakhal added a comment. Please, consider stating the motivation behind this change. For me, by looking at the modified test, it feels like we would lose legitimate findings (aka. true-positive reports) by applying this change. From my perspective, the store to `i` is //dead//, since it will be

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-04 Thread Gabor Marton via Phabricator via cfe-commits
martong accepted this revision. martong added a comment. This revision is now accepted and ready to land. Herald added a subscriber: rnkovacs. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131067/new/ https://reviews.llvm.org/D131067

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-04 Thread Thomas Weißschuh via Phabricator via cfe-commits
t-8ch updated this revision to Diff 449934. t-8ch added a comment. Hoisted common code into common function. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131067/new/ https://reviews.llvm.org/D131067 Files: clang/lib/StaticAnalyzer/Checkers/Dead

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-04 Thread Gabor Marton via Phabricator via cfe-commits
martong added a comment. Thanks, looks good with some nits. Comment at: clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp:556-558 +unsigned numParams = FD->getNumParams(); +for (unsigned i = 0; i < numParams; ++i) { + findReferenceParameter(FD->getParamDecl(i

[PATCH] D131067: [analyzer] Treat values passed as parameter as escaped

2022-08-03 Thread Thomas Weißschuh via Phabricator via cfe-commits
t-8ch created this revision. Herald added subscribers: steakhal, manas, ASDenysPetrov, martong, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. t-8ch requested review of this revision. Her