[PATCH] D88088: WIP [clang] improve accuracy of ExprMutAnalyzer

2020-10-06 Thread Jonas Toth via Phabricator via cfe-commits
JonasToth added a comment. @aaron.ballman I update the code a bit. This stuff is just a hydra :/ But i think incrementally the current version is better, but still not perfect. I update the clang-tidy part, too. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews

[PATCH] D88088: WIP [clang] improve accuracy of ExprMutAnalyzer

2020-10-06 Thread Jonas Toth via Phabricator via cfe-commits
JonasToth updated this revision to Diff 296546. JonasToth added a comment. Herald added a subscriber: steakhal. - document sections in the testcases, hopefully little more structure for comprehension - fix derived-to-base-cast OUTSIDE of an conditional operator - improve type-dependent callexpr,

[PATCH] D88088: WIP [clang] improve accuracy of ExprMutAnalyzer

2020-09-25 Thread Jonas Toth via Phabricator via cfe-commits
JonasToth updated this revision to Diff 294301. JonasToth added a comment. - fix typo that provided wrong argument to AST building Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88088/new/ https://reviews.llvm.org/D88088 Files: clang/lib/Analysis

[PATCH] D88088: WIP [clang] improve accuracy of ExprMutAnalyzer

2020-09-25 Thread Jonas Toth via Phabricator via cfe-commits
JonasToth updated this revision to Diff 294300. JonasToth added a comment. - address review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88088/new/ https://reviews.llvm.org/D88088 Files: clang/lib/Analysis/ExprMutationAnalyzer.cpp cl

[PATCH] D88088: WIP [clang] improve accuracy of ExprMutAnalyzer

2020-09-24 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 aside from a nit. Comment at: clang/lib/Analysis/ExprMutationAnalyzer.cpp:455 + const auto HasAnyNonConstIterator = + anyOf(allOf(hasMethod(allOf(has

[PATCH] D88088: WIP [clang] improve accuracy of ExprMutAnalyzer

2020-09-24 Thread Jonas Toth via Phabricator via cfe-commits
JonasToth updated this revision to Diff 294050. JonasToth marked 9 inline comments as done. JonasToth added a comment. - adress review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88088/new/ https://reviews.llvm.org/D88088 Files: clang

[PATCH] D88088: WIP [clang] improve accuracy of ExprMutAnalyzer

2020-09-24 Thread Jonas Toth via Phabricator via cfe-commits
JonasToth added inline comments. Comment at: clang/lib/Analysis/ExprMutationAnalyzer.cpp:455 + const auto HasAnyNonConstIterator = + anyOf(allOf(hasMethod(allOf(hasName("begin"), unless(isConst(, + unless(hasMethod(allOf(hasName("begin"), isConst(),

[PATCH] D88088: WIP [clang] improve accuracy of ExprMutAnalyzer

2020-09-24 Thread Jonas Toth via Phabricator via cfe-commits
JonasToth updated this revision to Diff 293967. JonasToth added a comment. - improve the expression matcher, to catch the expression in general ternary-operator cases, too - considered unresolved operator calls to be a modification - fix method calls with templates in some instances Repository:

[PATCH] D88088: WIP [clang] improve accuracy of ExprMutAnalyzer

2020-09-23 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added inline comments. Comment at: clang/lib/Analysis/ExprMutationAnalyzer.cpp:44 + InnerMatcher) { + // Unless the value is a derived class and is assigned to a + // reference to the base class. Other implicit casts should not Unless