Page MenuHomePhabricator
Feed Advanced Search

Today

xazax.hun accepted D62883: [analyzer] Track terminator conditions on which a tracked expressions depends.

Artem had some comments that are not marked as done, but LGTM!

Tue, Jun 25, 6:37 AM · Restricted Project

Thu, Jun 20

xazax.hun added a comment to D62883: [analyzer] Track terminator conditions on which a tracked expressions depends.
  • Now using CFGBlock::getTerminatorConditionExpr()
  • Uniqueing already tracked conditions as an (Expr, ExplodedNode) pair instead of on Expr
Thu, Jun 20, 5:03 PM · Restricted Project

Wed, Jun 19

xazax.hun added inline comments to D63227: [analyzer] Better timers..
Wed, Jun 19, 9:39 PM · Restricted Project, Restricted Project

Fri, Jun 14

xazax.hun added a comment to D62883: [analyzer] Track terminator conditions on which a tracked expressions depends.

I looked at bug path with the Optional. I did not debug into the analyzer but my intuition is the following: DefChainEnd is interesting. TerminatedPaths is the control dependency of DefChainEnd. And there are probably other things that are the control and/or value dependency of TerminatedPaths . One trick we could try is to limit the number of dependencies we track. For example, we could try what happens if we only track the immediate control dependencies of the original interesting region/symbol and does not add more control dependency recursively.

Fri, Jun 14, 6:03 AM · Restricted Project

Thu, Jun 13

xazax.hun added inline comments to D63227: [analyzer] Better timers..
Thu, Jun 13, 12:36 AM · Restricted Project, Restricted Project
xazax.hun accepted D63227: [analyzer] Better timers..

Looks good :) More diagnostics are always welcome.

Thu, Jun 13, 12:33 AM · Restricted Project, Restricted Project

Thu, Jun 6

xazax.hun added a comment to D59555: [analyzer] Add yaml parser to GenericTaintChecker.

Generally looks good, some nits inline. Please mark comments you already solved as done.

Thu, Jun 6, 2:24 AM · Restricted Project

Wed, Jun 5

xazax.hun requested changes to D62883: [analyzer] Track terminator conditions on which a tracked expressions depends.
Wed, Jun 5, 2:38 AM · Restricted Project
xazax.hun added a comment to D62611: [analyzer][Dominators] Add unittests.

Oh, I realized later that code I commented on were only moved from somewhere else. If you feel like tackling these comments feel free to do so in a separate patch so this one stays clean (no changes to moved code).

Wed, Jun 5, 2:20 AM · Restricted Project
xazax.hun added a comment to D62619: [analyzer][IDF] Add a control dependency calculator + a new debug checker.

I did not check the algorithm as you planned changes to that. I only did a quick review of the interface which might also be rendered obsolete once you update this patch.

Wed, Jun 5, 2:13 AM · Restricted Project
xazax.hun accepted D62557: [analyzer] Modernize CStringChecker to use CallDescriptions..

Nice one :)

Wed, Jun 5, 1:59 AM · Restricted Project
xazax.hun requested changes to D62441: [analyzer] NFC: Introduce a convenient CallDescriptionMap class..
Wed, Jun 5, 1:59 AM · Restricted Project
xazax.hun accepted D62556: [analyzer] NFC: CallDescription: Implement describing C library functions..

Once Aleksei's comments are resolved it is good to go. My comments are notes and not requests.

Wed, Jun 5, 1:46 AM · Restricted Project
xazax.hun added a comment to D62885: [analyzer] Add werror flag for analyzer warnings.

The only problem I see with this approach is that it is an all or nothing thing at the moment. Most of the checks in CSA can have false positives and people usually do not want to fail a build due to a false positive finding. This would force the users to do two separate passes with the static analyzer, one with the checks as errors enabled and one with the rest of the checks. The former run should not include any path sensitive checks as they are never free of false positives (due to the infeasible path problem).

Wed, Jun 5, 1:33 AM · Restricted Project, Restricted Project

May 11 2019

xazax.hun added a comment to D59798: [analyzer] Add analyzer option to limit the number of imported TUs.

Mostly looks good, I have two slightly related nits.

May 11 2019, 12:08 AM · Restricted Project

Apr 29 2019

xazax.hun accepted D61285: [analyzer] SmartPtrModeling: Fix a null dereference..

LG! These mistakes are so easy to make. Maybe we should add nullability annotations (or use optionals) in the future? (Or just make every non-null pointer a reference and make it a convention to always check for nulls?)

Apr 29 2019, 6:00 PM · Restricted Project
xazax.hun accepted D61264: Fix inconsistency in calculating DIAG_START values.

LGTM! Thanks for thefix.

Apr 29 2019, 5:38 PM · Restricted Project, Restricted Project

Apr 23 2019

xazax.hun accepted D61002: <<Replace this line with your revision title> [analyzer][CrossTU][NFC] Fix sanitizer test failure.

Feel free to commit such trivial fixes without reviews. Alternatively, you could use LLVM_FALLTHROUGH, but I have no strong preference in this case.

Apr 23 2019, 5:06 AM · Restricted Project

Apr 22 2019

xazax.hun added a comment to D46421: [analyzer][CrossTU] Extend CTU to VarDecls with initializer.

Looks good, thanks. Can you commit this or do you need someone to commit it on your behalf?

Apr 22 2019, 9:12 AM · Restricted Project

Apr 14 2019

xazax.hun added inline comments to D60507: [clang-tidy] new check: bugprone-unhandled-self-assignment.
Apr 14 2019, 7:44 AM · Restricted Project, Restricted Project, Restricted Project
xazax.hun added inline comments to D60507: [clang-tidy] new check: bugprone-unhandled-self-assignment.
Apr 14 2019, 6:34 AM · Restricted Project, Restricted Project, Restricted Project

Apr 11 2019

xazax.hun accepted D46421: [analyzer][CrossTU] Extend CTU to VarDecls with initializer.

I have one question, once it is resolved I am fine with committing this.

Apr 11 2019, 2:11 AM · Restricted Project

Apr 5 2019

xazax.hun added a comment to D46421: [analyzer][CrossTU] Extend CTU to VarDecls with initializer.

I cannot think of other users, so I would prefer to put it in the CTU lib for now.

Apr 5 2019, 9:23 AM · Restricted Project
xazax.hun added a comment to D46421: [analyzer][CrossTU] Extend CTU to VarDecls with initializer.

Okay so I would suggest to go ahead and commit this. Rebased it succeeds without modification.

Still leaves the open problems with the redecls. Should I add the failing test from https://reviews.llvm.org/D46421#1375147 in the same commit marked as expected to fail? Or what is the procedure here?

Apr 5 2019, 7:03 AM · Restricted Project

Apr 2 2019

xazax.hun added a comment to D58121: [analyzer][WIP] Attempt to fix traversing bindings of non-base regions in ClusterAnalysis.
In D58121#1452483, @NoQ wrote:

Mmm. I'm also pretty pinned down (it's seasonal), so i'm thinking of temporarily reverting :( until one of us gets to fixing the accidental effect on escaping, 'cause it just keeps biting us. Like, i wholeheartedly appreciate the work and i have already noticed a few times how it makes things better and loved it, it just seems to accidentally have something missing that nobody could predict, and i'll be super eager to get it back in.

Apr 2 2019, 10:34 PM · Restricted Project

Mar 27 2019

xazax.hun added inline comments to D58367: [analyzer] NFC: Improve upon the concept of BugReporterVisitor..
Mar 27 2019, 12:59 PM · Restricted Project, Restricted Project

Mar 21 2019

xazax.hun added a comment to D58121: [analyzer][WIP] Attempt to fix traversing bindings of non-base regions in ClusterAnalysis.

First of all, sorry for the inactivity regarding this patch.

Mar 21 2019, 4:27 AM · Restricted Project

Mar 18 2019

xazax.hun added a comment to D59457: [analyzer][NFC] Use capital variable names, move methods out-of-line, rename some in CheckerRegistry.

I did not check the patch yet but wanted to point out that we might not want to rush about renaming all the variables until the community decides on the coding guideline, see https://reviews.llvm.org/D59251

Mar 18 2019, 2:18 PM · Restricted Project, Restricted Project

Mar 14 2019

xazax.hun added a comment to D57860: [analyzer] Validate checker option names and values.

Did we test all the codepaths including the package level configs? If not, please add some package level config option related tests.
Otherwise the patch looks good to me after all the comments are resolved.

Mar 14 2019, 5:20 AM · Restricted Project, Restricted Project

Mar 9 2019

xazax.hun accepted D58367: [analyzer] NFC: Improve upon the concept of BugReporterVisitor..

It is an interesting idea to use this facility for trackExpressionValue. But I would expect such a mechanism to trigger quite often. I wonder if the memory consumption would increase significantly by storing a lambda for almost every binding for each path.
Right now we reclaim the memory after we finished analyzing a top-level function. If memory proves to be a problem, we could maybe reclaim memory for every non-buggy path analyzed? Of course, I prefer the simplicity of the current solution and hope that we never need to consider more complicated cleanup logic :)

Mar 9 2019, 1:15 AM · Restricted Project, Restricted Project

Feb 28 2019

xazax.hun accepted D57906: [CTU] Do not allow different CPP dialects in CTU.

LGTM! I think we should commit this as is for now but maybe adding a TODO comment to summarize the problem would be nice. Maybe we could have an isSameDialect or similar method within LangOpts, so it is harder to break this code.

Feb 28 2019, 7:07 AM · Restricted Project

Feb 25 2019

xazax.hun accepted D58604: [clang-tidy] misc-string-integer-assignment: ignore toupper/tolower.

LGTM! Thanks for working on this.

Feb 25 2019, 4:50 AM · Restricted Project, Restricted Project, Restricted Project
xazax.hun added a comment to D58606: [clang-tidy] misc-string-integer-assignment: fix false positive.

The change looks good but it would be great to have a regression test as well.

Feb 25 2019, 4:49 AM · Restricted Project, Restricted Project, Restricted Project

Feb 14 2019

xazax.hun added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

Reviving this now that I have some cycles to work on this.

So I tried running this on csa-testbench projects but I didn't have much success. I always run into a bunch of build/env related errors:

python run_experiments.py --config myconfig.json

15:05:20 [libcxx] Checking out project... 
[ERROR] Unknown option: json

15:05:22 [libcxx] LOC: ?.
15:05:22 [libcxx] Generating build log... 
15:05:22 [libcxx_master] Analyzing project... 
[ERROR] Traceback (most recent call last):
  File "/local/mnt/workspace/mgrang/comm_analyzer/CodeChecker/cc_bin/CodeChecker.py", line 20, in <module>
    from shared.ttypes import RequestFailed
ImportError: No module named shared.ttypes
Feb 14 2019, 2:10 AM · Restricted Project, Restricted Project

Feb 12 2019

xazax.hun updated the diff for D58121: [analyzer][WIP] Attempt to fix traversing bindings of non-base regions in ClusterAnalysis.
  • Fix test failures.
Feb 12 2019, 8:53 AM · Restricted Project
xazax.hun added a comment to D57230: [analyzer] Toning down invalidation a bit.

Experimental patch is up in https://reviews.llvm.org/D58121
Unfortunately, it is not perfect yet.

Feb 12 2019, 7:26 AM · Restricted Project, Restricted Project
xazax.hun created D58121: [analyzer][WIP] Attempt to fix traversing bindings of non-base regions in ClusterAnalysis.
Feb 12 2019, 7:26 AM · Restricted Project

Feb 11 2019

xazax.hun added a comment to D57230: [analyzer] Toning down invalidation a bit.

I think I might have a theory, but I would like to discuss it as I am not familiar with the internals bindings.

Feb 11 2019, 9:20 AM · Restricted Project, Restricted Project
xazax.hun accepted D57890: [analyzer] Fix in self assignment checker.

Just wanted to make sure I get it right. You did not add a test since it is only reproducible with an internal (non-upstreamed) checker. Since the change is trivial, I think it is ok to commit this without a test.

Feb 11 2019, 3:20 AM · Restricted Project
xazax.hun accepted D57922: [analyzer] Insert checker options into AnalyzerOption::ConfigTable.

LG!

Feb 11 2019, 3:20 AM · Restricted Project, Restricted Project
xazax.hun added a comment to D57855: [analyzer][NFC] Reimplement checker options.

We have examples/analyzer-plugin. I would prefer to add an example option to the example plugin so people do see how to do this when they are registering a checker from a plugin.

Feb 11 2019, 3:16 AM · Restricted Project
xazax.hun accepted D57579: [analyzer][WIP] Enable subcheckers to possess checker options.

LGTM! But having a lit test that fails before and passes after would be great.

Feb 11 2019, 2:33 AM · Restricted Project

Feb 7 2019

xazax.hun added a comment to D57230: [analyzer] Toning down invalidation a bit.
In D57230#1387834, @NoQ wrote:

There seem to be a few regressions - weird memory leaks of inner objects in C++ destructors. Trying to investigate/reproduce.

Feb 7 2019, 1:48 AM · Restricted Project, Restricted Project

Feb 1 2019

xazax.hun accepted D57619: [analyzer] Canonicalize variable declarations in VarRegion objects..

Looks good, nice catch. :)

Feb 1 2019, 3:10 PM · Restricted Project, Restricted Project
xazax.hun added a comment to D46421: [analyzer][CrossTU] Extend CTU to VarDecls with initializer.

Thank you for working on this!

Feb 1 2019, 6:54 AM · Restricted Project
Herald added a project to D46421: [analyzer][CrossTU] Extend CTU to VarDecls with initializer: Restricted Project.
In D46421#1374807, @NoQ wrote:

At the same time, i don't have any test cases for the actual change in behavior that such canonicalization causes. If the test case that you had in mind is indeed demonstrating this problem, i'd love to have it. If it turns out that your test case doesn't allow us to demonstrate the problem without CTU, then probably it has something to do with ASTImporter accidentally canonicalizing the the declaration in DeclRefExpr more rarely than the vanilla AST.

This seems unrelated to CTU. The following subset of my test demonstrates this:

// RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection -verify %s

void clang_analyzer_eval(int);

extern const int extInt;

int main()
{
    clang_analyzer_eval(extInt == 2); // expected-warning{{TRUE}}
}

extern const int extInt = 2;
Breakpoint 1, (anonymous namespace)::RegionStoreManager::getBindingForVar (this=0xa7b420, B=..., R=0xa7d348)
    at /data/work/commitllvm/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp:1948
1948        if (const Expr *Init = VD->getAnyInitializer()) {
(gdb) p VD->getInit()
$1 = (const clang::Expr *) 0x0
(gdb) p VD->getAnyInitializer()
$2 = (const clang::Expr *) 0xa4b630
Feb 1 2019, 6:36 AM · Restricted Project
xazax.hun added inline comments to D57579: [analyzer][WIP] Enable subcheckers to possess checker options.
Feb 1 2019, 6:32 AM · Restricted Project

Jan 29 2019

xazax.hun added a comment to D57230: [analyzer] Toning down invalidation a bit.

Thanks for all the reviews. Do you have any preference about the spelling of the annotation mentioned in the description?

Jan 29 2019, 2:32 AM · Restricted Project, Restricted Project

Jan 28 2019

xazax.hun added a comment to D57230: [analyzer] Toning down invalidation a bit.

I tried to creduce one file where the result differed and this is the result:

typedef struct {
  int a;
  int b
} c;
d;
e(c *f) {
  d < f->a;
  c g;
  h(&g.b);
  e(&g);
}
Jan 28 2019, 8:18 AM · Restricted Project, Restricted Project

Jan 26 2019

xazax.hun added a comment to D57230: [analyzer] Toning down invalidation a bit.
In D57230#1372523, @NoQ wrote:
In D57230#1372275, @NoQ wrote:

Do you have success reducing false positives using creduce? My problem usually is that we cannot tell if a reduction rendered a false positive into a true positive.

False positives - no. Improvements and regressions - totally! Just run two different clangs in the creduce test and check that there's a difference in results.

Jan 26 2019, 11:23 AM · Restricted Project, Restricted Project
xazax.hun updated the diff for D57230: [analyzer] Toning down invalidation a bit.
  • Added some tests
Jan 26 2019, 7:46 AM · Restricted Project, Restricted Project
xazax.hun added a comment to D57230: [analyzer] Toning down invalidation a bit.
In D57230#1372275, @NoQ wrote:

Could you share reproducible examples for these, probably in the form of FIXME tests? Given that they are "regressions", they are easy to creduce down to a small repro by using the test "there is still a change in behavior on this file".

Jan 26 2019, 7:43 AM · Restricted Project, Restricted Project

Jan 25 2019

xazax.hun updated the summary of D57230: [analyzer] Toning down invalidation a bit.
Jan 25 2019, 4:46 AM · Restricted Project, Restricted Project
xazax.hun created D57230: [analyzer] Toning down invalidation a bit.
Jan 25 2019, 4:42 AM · Restricted Project, Restricted Project

Jan 21 2019

xazax.hun added a comment to D35068: [analyzer] Detect usages of unsafe I/O functions.

To add an analogy, Clang Tidy will not require C++ Core Guidelines related checks to be evaluated on projects that are not following the guidelines as the results are meaningless for those projects.

Jan 21 2019, 1:07 AM · Restricted Project
xazax.hun added a comment to D35068: [analyzer] Detect usages of unsafe I/O functions.

I've evaluated this checker on LLVM+Clang, there were only a few (about 15) warnings, because of the C11 flag check at the beginning of the checker body. However, if this check was removed, number of the warnings would be increased significantly. I wouldn't say the findings were real security issues, most of the warnings were about usages of deprecated functions, which has not been considered unsecure (but which may cause problems if the code is modified in an improper way in the future).

My problem is that LLVM+Clang isn't really a C (nor a C11) project, and I think judging this checker on it is a little misleading. Could you please test it on some C11 projects? I think tmux uses C11.

Edit: it doesn't, but CMake is mostly a C project and it does!

Jan 21 2019, 1:05 AM · Restricted Project

Jan 17 2019

xazax.hun accepted D35068: [analyzer] Detect usages of unsafe I/O functions.

Any objections to commit this?
I think this is quiet coding guideline specific check which is useful for a set of security critical projects. As this is an opt in kind of check, I think it does no harm to have it upstream.

Jan 17 2019, 3:10 AM · Restricted Project

Jan 16 2019

xazax.hun accepted D56632: [analyzer] Track region liveness only through base regions..

Thanks, LGTM! It is interesting to see if we need to traverse all the super regions in scanReachableSymbols, but if we need to change something there, I would prefer that to be in a separate patch.
If visiting the whole super region chain proved to be redundant I would recommend removing it for clarity regardless of having a performance impact.

Jan 16 2019, 3:59 AM

Jan 14 2019

xazax.hun added a comment to D56632: [analyzer] Track region liveness only through base regions..

I really like all this detective work and it would be sad to have it forgotten. I would love to see some of your comments in the documentation of symbol reaper.
More specifically:

Jan 14 2019, 8:34 AM

Jan 8 2019

xazax.hun accepted D56441: [analyzer][CrossTU][NFC] Generalize to external definitions instead of external functions.

Some nits inline. Otherwise looks good to me.

Jan 8 2019, 7:15 AM

Dec 18 2018

xazax.hun added a comment to D55804: [analyzer] C++17: Fix leak false positives when an object with destructor is returned from the top frame..

Is there any downsides for using symbolic region for the construction target? For me that would make perfect sense, since this is often modelled by passing the address of the target into the callee. The programmer could do RVO like thing by hand, so modeling automatic and manual RVO the same way would be the least surprising in my opinion.

Dec 18 2018, 12:46 AM

Dec 14 2018

xazax.hun added a comment to D46421: [analyzer][CrossTU] Extend CTU to VarDecls with initializer.

Sorry for the delay. The changes are looking good to me, although I think it might be worth to split this up into two patch, one NFC with the renaming, and one that actually introduces the changes.

Dec 14 2018, 5:31 AM · Restricted Project
xazax.hun created D55697: [analyzer] Assume that we always have a SubEngine available.
Dec 14 2018, 2:02 AM · Restricted Project

Dec 7 2018

xazax.hun accepted D55131: [CTU] Add more lit tests and better error handling.

LG!

Dec 7 2018, 7:38 AM
xazax.hun accepted D55134: [CTU] Add triple/lang mismatch handling.

LG!

Dec 7 2018, 7:27 AM
xazax.hun accepted D55135: [CTU][Analyzer]Add DisplayCTUProgress analyzer switch.

While Static Analyzer is the only client of CTU library at the moment, we might have more in the future. I would not use the phrase ANALYZE in the log message. Once this is resolved the rest looks good.

Dec 7 2018, 5:13 AM

Dec 6 2018

xazax.hun added a comment to D55388: [analyzer] MoveChecker Pt.8: Add checks for dereferencing a smart pointer after move..

Hm. I wonder if it would also make sense to model e.g. the get method to return nullptr for moved from smart ptrs. This could help null dereference checker and also aid false path prunning.

Dec 6 2018, 10:55 PM

Dec 5 2018

xazax.hun accepted D55280: [CTU] Make loadExternalAST return with non nullptr on success.

LG!

Dec 5 2018, 2:49 AM

Dec 4 2018

xazax.hun added inline comments to D55134: [CTU] Add triple/lang mismatch handling.
Dec 4 2018, 10:34 AM
xazax.hun added a comment to D55135: [CTU][Analyzer]Add DisplayCTUProgress analyzer switch.

Having an analyzer config option makes sense.

Dec 4 2018, 7:07 AM
xazax.hun requested changes to D55134: [CTU] Add triple/lang mismatch handling.
Dec 4 2018, 7:06 AM
xazax.hun accepted D55133: [CTU] Add statistics.

The code LGTM! I am not good at wordsmithing, but if the descriptions of the statistics are not clear enough, I agree that they should be rephrased.

Dec 4 2018, 7:00 AM
xazax.hun accepted D55132: [CTU] Add asserts to protect invariants.
Dec 4 2018, 5:56 AM
xazax.hun accepted D55129: [CTU] Eliminate race condition in CTU lit tests.

After the review comment is resolved, the rest LGTM!

Dec 4 2018, 5:53 AM

Dec 3 2018

xazax.hun updated the diff for D52984: [analyzer] Checker reviewer's checklist.
  • Addressed further comments.
Dec 3 2018, 7:29 AM · Restricted Project

Nov 27 2018

xazax.hun accepted D53280: [analyzer] Emit an error for invalid -analyzer-config inputs.

Overall looks good to me, some minor comments inline.

Nov 27 2018, 8:51 AM

Nov 23 2018

xazax.hun accepted D52795: [analyzer][PlistMacroExpansion] Part 3.: Macro arguments are expanded.

Some minor comment inline. Otherwise looks good.

Nov 23 2018, 5:42 AM

Nov 17 2018

xazax.hun added a comment to D54557: [analyzer] MoveChecker Pt.2: Restrict the warning to STL objects and locals..
In D54557#1300654, @NoQ wrote:

It would be great to have a way to extend the list of (possibly non-stl) types to check. But I do understand that the analyzer does not have a great way to set such configuration options right now.

Do you envision room for another attribute here? I.e., a class attribute that says "this object is always unsafe to use after move, unless a method annotated with reinitializes is called"?

Nov 17 2018, 2:31 AM

Nov 15 2018

xazax.hun accepted D54557: [analyzer] MoveChecker Pt.2: Restrict the warning to STL objects and locals..

It would be great to have a way to extend the list of (possibly non-stl) types to check. But I do understand that the analyzer does not have a great way to set such configuration options right now.

Nov 15 2018, 4:50 AM
xazax.hun accepted D54556: [analyzer] MoveChecker Pt.1: Give MisusedMovedObject checker a more consistent name..

Looks good. Do we plan to detect problems other than use after move? Maybe it would be worth to synchronize with the tidy checker name use-after-move or is it going to cause more confusion?

Nov 15 2018, 4:45 AM

Nov 12 2018

xazax.hun added a comment to D54429: [analyzer] Creating standard Sphinx documentation.

I do like the idea of moving the Clang Static Analyzer documentation to where the rest of the tools are documented. I believe the original reason the analyzer had a separate homepage is due to it was off by default in clang at the beginning and users downloaded it from the separate page.

Nov 12 2018, 8:41 AM · Restricted Project
xazax.hun updated the diff for D52984: [analyzer] Checker reviewer's checklist.
  • Use the term checker instead of check.
Nov 12 2018, 4:57 AM · Restricted Project

Nov 10 2018

xazax.hun added inline comments to D52984: [analyzer] Checker reviewer's checklist.
Nov 10 2018, 7:14 AM · Restricted Project
xazax.hun updated the diff for D52984: [analyzer] Checker reviewer's checklist.
  • Move the checklist up before additional info in the HTML file.
  • Fix minor nits.
  • Add missing bullet points (thanks @Szelethus for noticing)
Nov 10 2018, 7:11 AM · Restricted Project
xazax.hun added inline comments to D52984: [analyzer] Checker reviewer's checklist.
Nov 10 2018, 6:52 AM · Restricted Project

Nov 6 2018

xazax.hun added a comment to D52795: [analyzer][PlistMacroExpansion] Part 3.: Macro arguments are expanded.

I would love to see a test with deeper macro in macro expansion and larger number of arguments, with some of the arguments unused. Some minor nits inline, otherwise looks good.

Nov 6 2018, 1:30 AM

Nov 2 2018

xazax.hun updated the diff for D52984: [analyzer] Checker reviewer's checklist.

This new version based on the bullets by NoQ. I also included some additional ones from other lists and added some new ones, e.g. the NamedDecl::getName will fail if the name of the decl is not a single token. I also reordered a bit. Advice that is more advanced and guidelines that are less likely to be violated should be closer to the bottom of the list.

Nov 2 2018, 7:31 AM · Restricted Project
xazax.hun accepted D53995: [analyzer] Drastically simplify the tblgen files used for checkers.

LGTM, but let's wait for @NoQ before committing.

Nov 2 2018, 5:09 AM
xazax.hun added a comment to D52790: [analyzer][PlistMacroExpansion] New flag to convert macro expansions to events.

I also would like to see in a tool how this would look like as an event before committing :) Just a sanity check to make sure this feature makes sense. Could you post a screenshot of CodeChecker or any other tool using this feature?

Nov 2 2018, 5:04 AM
xazax.hun accepted D52986: [analyzer][PlistMacroExpansion] Part 4.: Support for __VA_ARGS__.

One question otherwise looks good.

Nov 2 2018, 5:03 AM
xazax.hun accepted D52988: [analyzer][PlistMacroExpansion] Part 5.: Support for # and ##.
Nov 2 2018, 4:58 AM
xazax.hun added inline comments to D52795: [analyzer][PlistMacroExpansion] Part 3.: Macro arguments are expanded.
Nov 2 2018, 4:56 AM
xazax.hun accepted D52794: [analyzer][PlistMacroExpansion] Part 2.: Retrieving the macro name and primitive expansion.

One question and one nit otherwise looks good. Feel free to commit once those are resolved without another round of reviews.

Nov 2 2018, 4:49 AM
xazax.hun added inline comments to D53692: [analyzer] Evaluate all non-checker config options before analysis.
Nov 2 2018, 4:34 AM

Nov 1 2018

xazax.hun updated the diff for D53979: [analyzer][CTU] Correctly signal in the function index generation tool if there was an error.
  • Remove yet another dependency from the tool that is no longer used.
Nov 1 2018, 8:38 AM
xazax.hun created D53979: [analyzer][CTU] Correctly signal in the function index generation tool if there was an error.
Nov 1 2018, 8:35 AM

Oct 31 2018

xazax.hun added a comment to D52794: [analyzer][PlistMacroExpansion] Part 2.: Retrieving the macro name and primitive expansion.

Please add a test case where a bug path goes through a macro definition and this macro is undefed at the end of the translation unit.

Oct 31 2018, 7:16 AM
xazax.hun accepted D52742: [analyzer][PlistMacroExpansion] Part 1.: New expand-macros flag.

LGTM! Thanks, I think it is much easier to understand what is going on this way.

Oct 31 2018, 6:51 AM

Oct 30 2018

xazax.hun accepted D52730: [analyzer] ConversionChecker: handle floating point.

LGTM!
I only wonder if this should be on by default or guarded by a config option. I do not have strong feelings about any of the options though.

Oct 30 2018, 5:27 AM

Oct 29 2018

xazax.hun added inline comments to D53810: [analyzer][NFC] Refactor PlistDiagnostics to use a class instead of passing 9 parameters around.
Oct 29 2018, 8:20 AM