[PATCH] D63538: [analyzer][CFG] Return the correct terminator condition

2019-06-20 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 205909. Szelethus added a comment. Addressing reviewer feedback! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63538/new/ https://reviews.llvm.org/D63538 Files: clang/include/clang/Analysis/CFG.h clang/lib/Analysis/CFG.cpp Index: clang/lib/A

[PATCH] D62883: [analyzer] Track conditions of terminator statements on which the reported node depends on

2019-06-20 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 205916. Szelethus marked an inline comment as done. Szelethus added a comment. - Now using `CFGBlock::getTerminatorConditionExpr()` - Uniqueing already tracked conditions as an (`Expr`, `ExplodedNode`) pair instead of on `Expr` - Add a `TODO:` about caching

[PATCH] D62611: [analyzer][Dominators] Add unittests

2019-06-20 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Gentle ping :^) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62611/new/ https://reviews.llvm.org/D62611 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-

[PATCH] D62619: [analyzer][IDF] Add a control dependency calculator + a new debug checker

2019-06-20 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 205917. Szelethus added a comment. Rebase on previous patches. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62619/new/ https://reviews.llvm.org/D62619 Files: clang/include/clang/Analysis/Analyses/Dominators.h clang/include/clang/Analysis/CFG

[PATCH] D62883: [analyzer] Track conditions of terminator statements on which the reported node depends on

2019-06-21 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 205954. Szelethus added a comment. - Collect only `ExplodedNode`s. Lesson learned! - Add a `TODO:` in `trackExpressionValue` about maybe tracking conditions to all bug locations, rather than only for tracked variables. CHANGES SINCE LAST ACTION https://

[PATCH] D63642: [analyzer] Add a debug analyzer config to place an event for each tracked condition

2019-06-21 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus created this revision. Szelethus added reviewers: NoQ, baloghadamsoftware, xazax.hun, Charusso, rnkovacs, dcoughlin. Szelethus added a project: clang. Herald added subscribers: cfe-commits, gamesh411, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, szepet, whisperity. Exactly what it s

[PATCH] D62883: [analyzer] Track terminator conditions on which a tracked expressions depends

2019-06-21 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. In D62883#1554339 , @NoQ wrote: > In D62883#1553248 , @Szelethus wrote: > > > - Add a `TODO:` in `trackExpressionValue` about maybe tracking conditions > > to all bug locations, rather th

[PATCH] D62883: [analyzer] Track terminator conditions on which a tracked expressions depends

2019-06-21 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Woohoo! Thanks for everything, this is the most fun I've had working on this project! Let's wait for @xazax.hun to have the final say. In D62883#1554494 , @NoQ wrote: > It should be pretty easy to implement, just add your new v

[PATCH] D62883: [analyzer] Track terminator conditions on which a tracked expressions depends

2019-06-21 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus marked an inline comment as done. Szelethus added inline comments. Comment at: clang/test/Analysis/track-control-dependency-conditions.cpp:1-8 +// RUN: %clang_analyze_cc1 %s -verify -DTRACKING_CONDITIONS \ +// RUN: -analyzer-config track-conditions=true \ +// RUN: -

[PATCH] D62883: [analyzer] Track terminator conditions on which a tracked expressions depends

2019-06-25 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus marked an inline comment as done. Szelethus added a comment. I usually do the final update right before commiting. There still are non-accepted dependencies, who knows what'll happen. Comment at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h:157

[PATCH] D62611: [analyzer][Dominators] Add unittests

2019-06-25 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus marked an inline comment as done. Szelethus added inline comments. Comment at: clang/unittests/Analysis/CFGDominatorTree.cpp:22-32 +template struct FindStmt { + bool operator()(const CFGElement &E) { +if (auto S = E.getAs()) + return isa(S->getStmt()); +r

[PATCH] D64030: [analyzer] Support kfree in MallocChecker

2019-07-01 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus accepted this revision. Szelethus added a comment. Nice. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64030/new/ https://reviews.llvm.org/D64030 ___ cfe-commits mailing list cfe-commits@list

[PATCH] D62619: [analyzer][IDF] Add a control dependency calculator + a new debug checker

2019-07-02 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Gentle ping :^) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62619/new/ https://reviews.llvm.org/D62619 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-

[PATCH] D63538: [analyzer][CFG] Return the correct terminator condition

2019-07-02 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus planned changes to this revision. Szelethus added a comment. Something's off. `test/Analysis/edges-new.mm` fails, but I don't remember any test failures at home -- I'll investigate. Before this patch: F9448950: image.png After this patch: F9448940: i

[PATCH] D62619: [analyzer][IDF] Add a control dependency calculator + a new debug checker

2019-07-02 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Can you formally accept then? :) (I'll address inlines before commiting of course!) In D62619#1566693 , @kuhar wrote: > The non-static-analyzer bits look good to me, I added a few nits. Thank you! This part of the project was

[PATCH] D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls

2019-07-02 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. I'd love to chip in later, if you don't mind, but here is just a couple things that caught my mind that I'd like to share before falling asleep ;) Comment at: clang/include/clang/StaticAnalyzer/Checkers/Checkers.td:98-100 +// The APIModeling package

[PATCH] D63920: [CTU] Add support for virtual functions

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. In D63920#1568031 , @martong wrote: > In D63920#1566035 , > @baloghadamsoftware wrote: > > > Try to set analyzer option `IPAMode` to something different from its > > default value which

[PATCH] D59798: [analyzer] Add analyzer option to limit the number of imported TUs

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added inline comments. Comment at: test/Analysis/ctu-import-threshold.c:1-5 +// Ensure analyzer option 'ctu-import-threshold' is a recognized option. +// +// RUN: %clang_cc1 -analyze -analyzer-config ctu-import-threshold=30 -verify %s +// +// expected-no-diagnostics ---

[PATCH] D62507: [Dominators] PR42041: Skip nullpointer successors

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL365026: [Dominators] PR42041: Skip nullpointer successors (authored by Szelethus, committed by ). Changed prior to commit: https://reviews.llvm.org/D62507?vs=201994&id=207753#toc Repository: rL LLVM

[PATCH] D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. This checker seems to only check LLVM functions, but doesn't check whether these methods lie in the LLVM namespace. Is this intended? Comment at: clang/include/clang/StaticAnalyzer/Checkers/Checkers.td:98-100 +// The APIModeling package is for checke

[PATCH] D62551: [analyzer][Dominator] Add post dominator tree builder for the CFG + a debug checker

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL365028: [analyzer][Dominator] Add post dominators to CFG + a new debug checker (authored by Szelethus, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior

[PATCH] D62611: [analyzer][Dominators] Add unittests

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 207759. Szelethus added a comment. Fixes according to reviewer comments! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62611/new/ https://reviews.llvm.org/D62611 Files: clang/unittests/Analysis/CFGBuildResult.h clang/unittests/Analysis/CFGDom

[PATCH] D63538: [analyzer][CFG] Return the correct terminator condition

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus requested review of this revision. Szelethus added a comment. This revision is now accepted and ready to land. Seems fine over here let's see what happens if I try to land it? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63538/new/ https://reviews.llvm.org/D63538 _

[PATCH] D63538: [analyzer][CFG] Return the correct terminator condition

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL365036: [analyzer][CFG] Return the correct terminator condition (authored by Szelethus, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit: ht

[PATCH] D63538: [analyzer][CFG] Return the correct terminator condition

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus reopened this revision. Szelethus added a comment. This revision is now accepted and ready to land. Causes crashes on Sema. Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63538/new/ https://reviews.llvm.org/D63538 __

[PATCH] D63920: [CTU] Add support for virtual functions

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. In D63920#1568269 , @martong wrote: > So, we would like to have a test which indicates that we can inline a virtual > function from another TU. These tests are at line 110 and 111. > > At line 113 we would like to have a test wh

[PATCH] D63538: [CFG] Add a new function to get the proper condition of a CFGBlock

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 207833. Szelethus retitled this revision from "[analyzer][CFG] Return the correct terminator condition" to "[CFG] Add a new function to get the proper condition of a CFGBlock". Szelethus edited the summary of this revision. Szelethus added a comment. Let's

[PATCH] D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added inline comments. Comment at: clang/include/clang/StaticAnalyzer/Checkers/Checkers.td:98-100 +// The APIModeling package is for checkers that model APIs. These checkers are +// always turned on; this package is intended for API modeling that is not +// controlled b

[PATCH] D64153: [analyzer] exploded-graph-rewriter: Add a grayscale mode.

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus accepted this revision. Szelethus added a comment. BRILLIANT Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64153/new/ https://reviews.llvm.org/D64153 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D63538: [CFG] Add a new function to get the proper condition of a CFGBlock

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 207902. Szelethus added a comment. - Bail out if the actual terminator isn't a branch - Bail out if the number of successors is less than 2 - LLVM-ify the code as suggested! - Add some unit tests (I mean, you can kinda see how it was duct taped together, bu

[PATCH] D63538: [CFG] Add a new function to get the proper condition of a CFGBlock

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 207904. Szelethus added a comment. Add one more assert to `GetExprText`. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63538/new/ https://reviews.llvm.org/D63538 Files: clang/include/clang/Analysis/CFG.h clang/lib/Analysis/CFG.cpp clang/uni

[PATCH] D63915: [analyzer] ReturnValueChecker: Model the guaranteed boolean return value of function calls

2019-07-03 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. This checker isn't in alpha -- did you evaluate it on LLVM? Other than that, looks great! Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:1119 - const T *lookup(const CallEvent &Call) const { + Optional lookup(const

[PATCH] D63920: [CTU] Add support for virtual functions

2019-07-04 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus accepted this revision. Szelethus added a comment. This revision is now accepted and ready to land. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63920/new/ https://reviews.llvm.org/D63920 _

[PATCH] D62883: [analyzer] Track terminator conditions on which a tracked expressions depends

2019-07-04 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 208084. Szelethus marked 6 inline comments as done. Szelethus added a comment. - Add two more test cases when a "Returning value" note is meaningful, and one where it's not - Fix inlines! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62883/new/ h

[PATCH] D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value

2019-07-04 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus created this revision. Szelethus added reviewers: NoQ, xazax.hun, rnkovacs, baloghadamsoftware, dcoughlin, Charusso. Szelethus added a project: clang. Herald added subscribers: cfe-commits, gamesh411, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, szepet, whisperity. During the evalua

[PATCH] D63538: [CFG] Add a new function to get the proper condition of a CFGBlock

2019-07-05 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL365177: [CFG] Add a new function to get the proper condition of a CFGBlock (authored by Szelethus, committed by ). Changed prior to commit: https://reviews.llvm.org/D63538?vs=207904&id=208130#toc Repos

[PATCH] D62611: [analyzer][Dominators] Add unittests

2019-07-05 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL365179: [analyzer][Dominators][NFC] Add unit tests (authored by Szelethus, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews

[PATCH] D62619: [analyzer][IDF] Add a control dependency calculator + a new debug checker

2019-07-05 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Szelethus marked 11 inline comments as done. Closed by commit rL365197: [analyzer][IDF] Add a control dependency calculator + a new debug checker (authored by Szelethus, committed by ). Herald added a project: LLVM. Herald a

[PATCH] D62883: [analyzer] Track terminator conditions on which a tracked expressions depends

2019-07-05 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL365207: [analyzer] Track terminator conditions on which a tracked expression depends (authored by Szelethus, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed

[PATCH] D63642: [analyzer] Add a debug analyzer config to place an event for each tracked condition

2019-07-05 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGb55745606fa6: [analyzer] Add a debug analyzer config to place an event for each tracked… (authored by Szelethus). Changed prior to commit: https://reviews.llvm.org/D63642?vs=205966&id=208171#toc Reposi

[PATCH] D63538: [CFG] Add a new function to get the proper condition of a CFGBlock

2019-07-05 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. In D63538#1571418 , @RKSimon wrote: > @Szelethus This is causing problems on windows buildbots > http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast > - revert? Apologies, I thought my followup

[PATCH] D63538: [CFG] Add a new function to get the proper condition of a CFGBlock

2019-07-05 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. In D63538#1571451 , @Szelethus wrote: > Since the followup patches test this roughly anyways, and the fact that the > AST's lifetime ends right after the CFG's construction makes the remaining > tests pretty much pointless, if

[PATCH] D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value

2019-07-05 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus marked 2 inline comments as done. Szelethus added a comment. In D64232#1570938 , @NoQ wrote: > I'm slightly worried that we're fighting the symptoms rather than the root > cause here: why were these values tracked that far in the first place whe

[PATCH] D64270: [analyzer][NFC] Prepare visitors for different tracking kinds

2019-07-05 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus created this revision. Szelethus added reviewers: NoQ, xazax.hun, rnkovacs, Charusso, baloghadamsoftware, dcoughlin. Szelethus added a project: clang. Herald added subscribers: cfe-commits, gamesh411, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, szepet, whisperity. When we're tracki

[PATCH] D64271: [analyzer] Don't track the right hand side of the last store for conditions

2019-07-05 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus created this revision. Szelethus added reviewers: NoQ, xazax.hun, baloghadamsoftware, rnkovacs, Charusso, dcoughlin. Szelethus added a project: clang. Herald added subscribers: cfe-commits, gamesh411, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, szepet, whisperity. Szelethus added a

[PATCH] D64272: [analyzer] Note last writes to a condition only in a nested stackframe

2019-07-05 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus created this revision. Szelethus added reviewers: NoQ, xazax.hun, rnkovacs, dcoughlin, Charusso, baloghadamsoftware. Szelethus added a project: clang. Herald added subscribers: cfe-commits, gamesh411, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, szepet, whisperity. Szelethus added a

[PATCH] D64287: [analyzer] Track the right hand side of the last store unconditionally

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus created this revision. Szelethus added reviewers: NoQ, xazax.hun, rnkovacs, baloghadamsoftware, Charusso. Szelethus added a project: clang. Herald added subscribers: cfe-commits, gamesh411, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, szepet, whisperity. The following code snippet t

[PATCH] D64271: [analyzer] Don't track the right hand side of the last store for conditions

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus abandoned this revision. Szelethus added a comment. You're right. If condition tracking only adds necessary information anyways, this shouldn't hurt that much anyways. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64271/new/ https://revi

[PATCH] D64272: [analyzer] Note last writes to a condition only in a nested stackframe

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 208275. Szelethus added a comment. Rebase after D64271 being abandoned. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64272/new/ https://reviews.llvm.org/D64272 Files: clang/include/clang/StaticAnalyzer/Core/Bu

[PATCH] D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 208276. Szelethus added a comment. Rebase. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64232/new/ https://reviews.llvm.org/D64232 Files: clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp clang/test/Analysis/diagnostics/find_last_store.c

[PATCH] D64274: [analyzer] VirtualCallChecker overhaul.

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus requested changes to this revision. Szelethus added a comment. This revision now requires changes to proceed. I happen to have very recent analyses on a couple projects, I'll throw this in: LLVM+Clang+Clang-tools-extra

[PATCH] D63279: [Analyzer] Unroll for-loops where the upper boundary is a variable with know value

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added inline comments. Comment at: lib/StaticAnalyzer/Core/LoopUnrolling.cpp:214-216 + const Expr *BoundExpr = CondOp->getLHS()->IgnoreParenImpCasts(); + if (BoundExpr == Matches[0].getNodeAs("boundVarOperand")) +BoundExpr = CondOp->getRHS()->IgnoreParenImpCasts()

[PATCH] D62619: [analyzer][IDF] Add a control dependency calculator + a new debug checker

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added inline comments. Comment at: clang/include/clang/Analysis/Analyses/Dominators.h:230 + + virtual void releaseMemory() { +PostDomTree.releaseMemory(); kuhar wrote: > If the virtual function is introduced by ManagesAnalysis, isn't it better to

[PATCH] D64274: [analyzer] VirtualCallChecker overhaul.

2019-07-09 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. In D64274#1574118 , @NoQ wrote: > Mmm, no, not really; it seems that if i introduce a checker dependency, i > also have to put the option onto the base checker, otherwise the checker name > wouldn't match when i do > `getCheck

[PATCH] D64374: [analyzer] CastValueChecker: Model casts

2019-07-09 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added inline comments. Comment at: clang/include/clang/StaticAnalyzer/Checkers/Checkers.td:279 + HelpText<"Model implementation of custom RTTIs">, + Documentation; + This checker only does modeling, but isn't hidden. Should we hide it? CHANGES SINCE

[PATCH] D64454: [clang-tidy] Adding static analyzer check to list of clang-tidy checks

2019-07-10 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Just thinking aloud! We were tinkering with the idea of a checker creator script similar to what clang-tidy has, that could help on this potentially. Is generating the rst code with Tblgen a feasable approach? At first glance, it sounds like a nightmare to implement,

[PATCH] D64274: [analyzer] VirtualCallChecker overhaul.

2019-07-10 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Please know that I'm currently out of town, so it'll be a while before I can formally accept. Its on top of my list when I get home though! :^) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64274/new/ https://reviews.llvm.org/D64274 ___

[PATCH] D64494: [analyzer]Add user docs rst

2019-07-10 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. I guess any time we modify analyzer stuff, we may invite the main analyzer developers to the patch review as well. In any case, LGTM, if this really is a beginning of porting the already existing documentation to sphinx. Repository: rL LLVM CHANGES SINCE LAST ACT

[PATCH] D64494: [analyzer]Add user docs rst

2019-07-10 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Np, please leave it in! :) Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64494/new/ https://reviews.llvm.org/D64494 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm

[PATCH] D64543: [Docs] Add standardized header links to analyzer doc

2019-07-11 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus accepted this revision. Szelethus added a comment. This revision is now accepted and ready to land. Woohoo! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64543/new/ https://reviews.llvm.org/D64543 __

[PATCH] D57858: [analyzer] Add a new frontend flag to display all checker options

2019-05-12 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 199188. Szelethus added a comment. - Make the educated observation that the code for formatted output is duplicated for `-analyzer-checker-help`, `-analyzer-config-help` and this patch, reuse it via the new static function `AnalyzerOptions::printFormatted

[PATCH] D57858: [analyzer] Add a new frontend flag to display all checker options

2019-05-12 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. In D57858#1498651 , @NoQ wrote: > Also, for CodeChecker purposes wouldn't you rather have a machine-readable > dump? My main purpose was readability in the terminal, but I will need to think about that eventually. The current

[PATCH] D61839: [analyzer][WIP] Hide developer-only checker/package options by default

2019-05-12 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus created this revision. Szelethus added reviewers: NoQ, dcoughlin, xazax.hun, rnkovacs, Charusso, a_sidorin, baloghadamsoftware. Szelethus added a project: clang. Herald added subscribers: cfe-commits, gamesh411, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, szepet, whisperity. Szeleth

[PATCH] D57858: [analyzer] Add a new frontend flag to display all checker options

2019-05-12 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a subscriber: o.gyorgy. Szelethus added a comment. In D57858#1498640 , @NoQ wrote: > So, like, the global picture is as follows. In our case the Driver (i.e., > --analyze) is not much more user facing than frontend flags. It's still > fai

[PATCH] D59465: [analyzer] Add a test plugin for checker option handling

2019-05-13 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Ping^2 CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59465/new/ https://reviews.llvm.org/D59465 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D59464: [analyzer] Add an example plugin for checker dependency handling

2019-05-13 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Ping^3 CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59464/new/ https://reviews.llvm.org/D59464 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D57858: [analyzer] Add a new frontend flag to display all checker options

2019-05-13 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. In D57858#1500635 , @NoQ wrote: > In D57858#146 , @dkrupp wrote: > > > Some alpha checkers are considerably more mature than others and are quite > > usable. In our experience, there

[PATCH] D61814: [CFG] NFC: Remove implicit conversion from CFGTerminator to Stmt *, make it a variant class instead.

2019-05-14 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus accepted this revision. Szelethus added a comment. LGTM! Comment at: clang/include/clang/Analysis/CFG.h:514 + CFGTerminator() { assert(!isValid()); } + CFGTerminator(Stmt *S, Kind K = StmtBranch) : Data(S, K) {} Can we add something to check that

[PATCH] D57858: [analyzer] Add a new frontend flag to display all checker options

2019-05-15 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. In D57858#1502052 , @NoQ wrote: > In D57858#1501065 , @dkrupp wrote: > > > These are the alpha checkers that we are testing in Ericsson: > > > Hmm, if you don't mind i'll take this to cfe-

[PATCH] D61816: [CFG] [analyzer] pr41300: Add a branch to skip virtual base initializers when they are handled by the superclass.

2019-05-15 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Exquisite detective work as always! I read a bit of the standard, your summary, the bugreport and the new test cases, and I feel confident that I have a good understanding of the problem and your solution, though I didn't dig through the details just yet. At a first g

[PATCH] D54757: [clang-tidy] new check: bugprone-branch-clone

2019-05-15 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rCTE360779: [clang-tidy] new check: bugprone-branch-clone (authored by Szelethus, committed by ). Changed prior to commit: https://reviews.llvm.org/D54757?vs=198025&id=199611#toc Repository: rCTE Clang

[PATCH] D59464: [analyzer] Add an example plugin for checker dependency handling

2019-05-15 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL360799: [analyzer] Add a test for plugins using checker dependencies (authored by Szelethus, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D59464: [analyzer] Add an example plugin for checker dependency handling

2019-05-15 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus reopened this revision. Szelethus added a comment. This revision is now accepted and ready to land. Ugh. Reverted in rC360805 . Buildbots don't seem to be able to find the new plugins. Repository: rL LLVM CHANGES SINCE LAST ACTION https://review

[PATCH] D61816: [CFG] [analyzer] pr41300: Add a branch to skip virtual base initializers when they are handled by the superclass.

2019-05-16 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Hmmm, how about this? #include struct VBase1 { VBase1() { std::cout << "VBase1()\n"; } VBase1(int) { std::cout << "VBase1(int)\n"; } }; struct VBase2 { VBase2() { std::cout << "VBase2()\n"; } VBase2(std::string) { std::cout << "VBase2(std:

[PATCH] D59464: [analyzer] Add an example plugin for checker dependency handling

2019-05-16 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL360891: Reland "[analyzer] Add an example plugin for checker dependency handling" (authored by Szelethus, committed by ). Changed prior to commit: https://reviews.llvm.org/D59464?vs=199663&id=199807#toc

[PATCH] D59465: [analyzer] Add a test plugin for checker option handling

2019-05-16 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rL360910: [analyzer] Add a test plugin for checker option handling (authored by Szelethus, committed by ). Herald added a pr

[PATCH] D59464: [analyzer] Add an example plugin for checker dependency handling

2019-05-16 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus marked an inline comment as done. Szelethus added a comment. In D59464#1505200 , @phosek wrote: > All our bots are failing which seems to have been caused by the latest reland: > > FAIL: Clang :: Analysis/checker-plugins.c (297 of 14793) > **

[PATCH] D59464: [analyzer] Add an example plugin for checker dependency handling

2019-05-16 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Also, am I supposed to receive a mail from your buildbots? I unfortunately received none. Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59464/new/ https://reviews.llvm.org/D59464 ___ cfe-co

[PATCH] D59464: [analyzer] Add an example plugin for checker dependency handling

2019-05-16 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. In D59464#1505435 , @phosek wrote: > In D59464#1505323 , @Szelethus wrote: > > > I started to land other patches as well that depend on this one -- I won't > > object, but I'd prefer to f

[PATCH] D59464: [analyzer] Add an example plugin for checker dependency handling

2019-05-16 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus marked 2 inline comments as done. Szelethus added a comment. If there's a cmake variable for fuchsia, Could you please try to add them here? (see inlines) I don't have access to that particular platform. Comment at: cfe/trunk/test/Analysis/plugins/CheckerDependencyH

[PATCH] D59464: [analyzer] Add an example plugin for checker dependency handling

2019-05-16 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus marked an inline comment as done. Szelethus added inline comments. Comment at: cfe/trunk/test/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt:4 + +if(LLVM_ENABLE_PLUGINS AND (WIN32 OR CYGWIN)) + target_link_libraries(CheckerDependencyHandlingAnalyzerPlugin P

[PATCH] D59464: [analyzer] Add an example plugin for checker dependency handling

2019-05-16 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. In that case, feel free to revert this. If around 11:00 CET time I tried to recommit with a possible fix (while watching your bots), would that be an issue? Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59464/new/ https://reviews.llvm.o

[PATCH] D62050: [Analysis] Only run plugins tests if plugins are actually enabled

2019-05-16 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus accepted this revision. Szelethus added a comment. This revision is now accepted and ready to land. Thank you so much! :) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62050/new/ https://reviews.llvm.org/D62050

[PATCH] D61816: [CFG] [analyzer] pr41300: Add a branch to skip virtual base initializers when they are handled by the superclass.

2019-05-17 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added inline comments. Comment at: clang/lib/Analysis/CFG.cpp:1434-1438 + // For C++ constructor add initializers to CFG. Virtual base classes may have + // already been initialized by the superclass. Make a branch so that it was + // possible to jump straight to non

[PATCH] D57922: [analyzer] Insert checker options into AnalyzerOption::ConfigTable

2019-05-17 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Szelethus marked an inline comment as done. Closed by commit rL361006: [analyzer] Insert checker options into AnalyzerOption::ConfigTable (au

[PATCH] D57922: [analyzer] Insert checker options into AnalyzerOption::ConfigTable

2019-05-17 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. I committed but changed the moves to copies. Singel `CheckerRegisrty::CmdLineOption` is only filled with `StringRef`s, it shouldn't really matter. Comment at: lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp:314 insertOptionToCollection(StringRef Fu

[PATCH] D57860: [analyzer] Validate checker option names and values

2019-05-17 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rL361011: [analyzer] Validate checker option names and values (authored by Szelethus, committed by ). Herald added a project

[PATCH] D59195: [analyzer] Remove the default value arg from getChecker*Option

2019-05-17 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rL361042: [analyzer] Remove the default value arg from getChecker*Option (authored by Szelethus, committed by ). Herald adde

[PATCH] D62092: [analyzer] Create the beta package that is more stable than alpha, move unix.cstring.OutOfBounds there

2019-05-17 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus created this revision. Szelethus added reviewers: NoQ, dkrupp, o.gyorgy, dcoughlin, Charusso, a.sidorin, xazax.hun, rnkovacs. Szelethus added a project: clang. Herald added subscribers: cfe-commits, gamesh411, donat.nagy, mikhail.ramalho, szepet, baloghadamsoftware, whisperity. As per

[PATCH] D62093: [analyzer] Divide checkers into 3 categories: released, alpha, developer

2019-05-17 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus created this revision. Szelethus added reviewers: NoQ, dcoughlin, dkrupp, o.gyorgy, xazax.hun, rnkovacs, Charusso, a.sidorin. Szelethus added a project: clang. Herald added subscribers: cfe-commits, gamesh411, donat.nagy, mikhail.ramalho, szepet, baloghadamsoftware, whisperity. Szelethu

[PATCH] D61839: [analyzer] Hide developer-only checker/package options by default

2019-05-17 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 200127. Szelethus retitled this revision from "[analyzer][WIP] Hide developer-only checker/package options by default" to "[analyzer] Hide developer-only checker/package options by default". Szelethus added a comment. - Hide several more checkers - Rename

[PATCH] D62094: [analyzer] Categorize checker/plugin options into 3 categories, same as for checkers

2019-05-17 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus created this revision. Szelethus added reviewers: NoQ, dcoughlin, rnkovacs, xazax.hun, Charusso, a_sidorin, dkrupp, o.gyorgy. Szelethus added a project: clang. Herald added subscribers: cfe-commits, gamesh411, donat.nagy, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, whisperit

[PATCH] D62093: [analyzer] Divide checkers into 3 categories: released, alpha, developer

2019-05-18 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added a comment. Let's come to a consensus on this, and followup patches, but as soon as that's done, this REALLY NEEDS to be documented in the release notes. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62093/new/ https://reviews.llvm.org/D62093 _

[PATCH] D61570: [analyzer] PR41753: Include complex integer types in NonLoc::isCompoundType

2019-05-18 Thread Kristóf Umann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL361099: [analyzer] PR41753: Include complex integer types in NonLoc::isCompoundType (authored by Szelethus, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed p

[PATCH] D61816: [CFG] [analyzer] pr41300: Add a branch to skip virtual base initializers when they are handled by the superclass.

2019-05-18 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus requested changes to this revision. Szelethus added a comment. This revision now requires changes to proceed. The more I think about this, the more I think it would be great to see this tested :) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61816/new/ https://reviews.llvm.or

[PATCH] D62093: [analyzer] List checkers in 3 categories: released, alpha, developer

2019-05-22 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus marked an inline comment as done. Szelethus added inline comments. Comment at: lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp:527-530 +// developer checkers even in the alpha output. For example, +// alpha.cplusplus.IteratorModeling is a modeling checker, hence

[PATCH] D62092: [analyzer] Create the beta package that is more stable than alpha, move unix.cstring.OutOfBounds there

2019-05-22 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus abandoned this revision. Szelethus added a comment. Let's put the idea of the beta package to rest for now. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62092/new/ https://reviews.llvm.org/D62092 ___ cfe-c

[PATCH] D62093: [analyzer] List checkers in 3 categories: released, alpha, developer

2019-05-22 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 200854. Szelethus added a comment. Removed the beta phase as discussed on the mailing list. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62093/new/ https://reviews.llvm.org/D62093 Files: include/clang/Driver/CC1Options.td include/clang/Stati

[PATCH] D62093: [analyzer] List checkers in 3 categories: released, alpha, developer

2019-05-22 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 200855. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62093/new/ https://reviews.llvm.org/D62093 Files: include/clang/Driver/CC1Options.td include/clang/StaticAnalyzer/Checkers/CheckerBase.td include/clang/StaticAnalyzer/Core/AnalyzerOptions.

[PATCH] D62094: [analyzer] List checker/plugin options in 3 categories: released, alpha, developer

2019-05-22 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 200856. Szelethus added a comment. Removed the beta phase as discussed on the mailing list. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62094/new/ https://reviews.llvm.org/D62094 Files: include/clang/Driver/CC1Options.td include/clang/Stati

<    1   2   3   4   5   6   7   8   9   10   >