Page MenuHomePhabricator

NoQ (Artem Dergachev)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 3 2015, 9:16 AM (214 w, 4 d)

Recent Activity

Mon, Oct 7

NoQ added inline comments to D68093: [clang-scan-deps][static analyzer] Support for clang --analyze in scan-deps.
Mon, Oct 7, 5:48 PM · Restricted Project
NoQ accepted D68591: [analyzer] PR43551: Do not dereferce void* in UndefOrNullArgVisitor.

Thanks!!

Mon, Oct 7, 5:45 PM · Restricted Project

Wed, Oct 2

NoQ accepted D68199: [analyzer] DynamicTypeInfo: Simplify the API.

Yup, optional sounds perfect.

Wed, Oct 2, 4:15 PM · Restricted Project

Tue, Oct 1

NoQ added inline comments to D67706: [clang][analyzer] Using CallDescription in StreamChecker..
Tue, Oct 1, 12:45 PM · Restricted Project

Mon, Sep 30

NoQ added inline comments to D67079: [analyzer] CastValueChecker: Model inheritance.
Mon, Sep 30, 2:04 PM · Restricted Project
NoQ added inline comments to D67079: [analyzer] CastValueChecker: Model inheritance.
Mon, Sep 30, 1:46 PM · Restricted Project
NoQ added inline comments to D67079: [analyzer] CastValueChecker: Model inheritance.
Mon, Sep 30, 1:19 PM · Restricted Project
NoQ added a comment to D67079: [analyzer] CastValueChecker: Model inheritance.
  • CastVisitor is the new facility which decides whether the assumptions are appropriate.
  • The math is still WIP.
Mon, Sep 30, 1:06 PM · Restricted Project
NoQ added a comment to D68199: [analyzer] DynamicTypeInfo: Simplify the API.

I actually like the idea, it makes it consistent with other maps. But you'll need to clean up memory management here. Given that you can't modify the state in getDynamicTypeInfo(), i guess you'll have to resort to smart pointers.

Mon, Sep 30, 1:00 PM · Restricted Project
NoQ added inline comments to D67706: [clang][analyzer] Using CallDescription in StreamChecker..
Mon, Sep 30, 12:49 PM · Restricted Project

Sat, Sep 28

NoQ added inline comments to D68165: [analyzer][MallocChecker][NFC] Split checkPostCall up, deploy CallDescriptionMap.
Sat, Sep 28, 7:48 AM · Restricted Project

Fri, Sep 27

NoQ accepted D68163: [analyzer][MallocChecker][NFC] Change the use of IdentifierInfo* to CallDescription.

Fantastic, thanks!!

Fri, Sep 27, 7:01 PM · Restricted Project
NoQ added a comment to D68162: [analyzer][MallocChecker][NFC] Communicate the allocation family to auxiliary functions with parameters.

Thank you, fantastic finding!

Fri, Sep 27, 6:56 PM · Restricted Project
NoQ added inline comments to D68165: [analyzer][MallocChecker][NFC] Split checkPostCall up, deploy CallDescriptionMap.
Fri, Sep 27, 6:47 PM · Restricted Project
NoQ added a reviewer for D68172: Don't install example analyzer plugins: Szelethus.

+@Szelethus because i'm a bit out-of-the-loop on plugins: i very vaguely remember that we decided to put them into tests(?)

Fri, Sep 27, 6:20 PM · Restricted Project, Restricted Project
NoQ added a comment to D67706: [clang][analyzer] Using CallDescription in StreamChecker..

It seems like this patch is diffed against your latest commit, not the master branch.

Fri, Sep 27, 6:19 PM · Restricted Project

Mon, Sep 23

NoQ added inline comments to D67938: [static analyzer] Define __clang_analyzer__ macro in driver.
Mon, Sep 23, 7:05 PM · Restricted Project
NoQ added a comment to D67932: [analyzer] Fix accidentally skipping the call during inlined defensive check suppression..

Yeah, i think we should avoid such peeking and instead try to do everything in one pass. I.e., if we need to peek at the node above us, just make a visitor that delays the decision until it has precisely the information it needs. I guess i'll be slooowly moving in this direction.

Mon, Sep 23, 5:43 PM · Restricted Project
NoQ accepted D67938: [static analyzer] Define __clang_analyzer__ macro in driver.

Thanks! I like how it makes the option transparent to fellow developers by having it show up in the -### run-line.

Mon, Sep 23, 5:28 PM · Restricted Project
NoQ added inline comments to D67938: [static analyzer] Define __clang_analyzer__ macro in driver.
Mon, Sep 23, 4:47 PM · Restricted Project
NoQ accepted D67934: [static-analyzer] Remove --analyze-auto.

Burn it!

Mon, Sep 23, 2:30 PM · Restricted Project
NoQ created D67932: [analyzer] Fix accidentally skipping the call during inlined defensive check suppression..
Mon, Sep 23, 2:23 PM · Restricted Project
NoQ updated subscribers of D67682: [WIP] Add support for preprocessing sources for analyzer.

Can we always pass in -D from the driver instead?

Mon, Sep 23, 1:37 PM
NoQ accepted D67682: [WIP] Add support for preprocessing sources for analyzer.

Accept as soon as Alex's comment is addressed somehow :)

Mon, Sep 23, 1:35 PM

Thu, Sep 19

NoQ added a comment to D54823: [analyzer][MallocChecker][NFC] Document and reorganize some functions.

Is it just me or phabricator somehow refuses to display the changes since the last diff here? That's probably the commit diff is involved somehow. So i'm confused what exactly has changed >.<

Thu, Sep 19, 1:17 PM · Restricted Project, Restricted Project

Wed, Sep 18

NoQ added a comment to D67706: [clang][analyzer] Using CallDescription in StreamChecker..

You can go one step further to have a CallDescriptionMap, like in D62557. This would replace the whole chain of ifs with a map lookup (which is currently still a chain of ifs under the hood, but a lot less code anyway and we'll probably optimize it under the hood later).

Wed, Sep 18, 2:46 PM · Restricted Project
NoQ added a comment to D67480: [analyzer] Add 'freopen' support to SimpleStreamChecker..

Btw, evalCall is not deprecated. In fact, there are no alternatives for it in many cases.

Wed, Sep 18, 2:46 PM · Restricted Project
NoQ added a comment to D67682: [WIP] Add support for preprocessing sources for analyzer.

That's a nice twist, i like it!

Wed, Sep 18, 11:18 AM

Sep 13 2019

NoQ added a comment to D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.

FTR, we already have a similar Static Analyzer check, eg.: https://github.com/llvm-mirror/clang/blob/release_80/test/Analysis/dispatch-once.m#L15

Sep 13 2019, 6:54 PM · Restricted Project, Restricted Project, Restricted Project

Sep 12 2019

NoQ added inline comments to D59516: [analyzer] Add custom filter functions for GenericTaintChecker.
Sep 12 2019, 3:31 PM · Restricted Project
NoQ added a comment to D66714: [analyzer] Don't run the analyzer for -analyzer-list-enabled-checkers.

rC371781.

Sep 12 2019, 3:13 PM · Restricted Project, Restricted Project
NoQ added a comment to D66714: [analyzer] Don't run the analyzer for -analyzer-list-enabled-checkers.

Umm, this test fails for me locally because i see osx checkers displayed in the list. Which is weird because they're supposed to be enabled based on the target platform, not on the host platform.

Sep 12 2019, 2:59 PM · Restricted Project, Restricted Project
NoQ added a comment to D67480: [analyzer] Add 'freopen' support to SimpleStreamChecker..

SimpleStreamChecker is a historical tutorial example, i don't think we should be updating it other than for modernizing checker API use. It was supposed to handle a few simple examples correctly but it wasn't supposed to support all sorts of different APIs.

Sep 12 2019, 2:46 PM · Restricted Project
NoQ updated subscribers of D67140: [analyzer][NFC] Fix inconsistent references to checkers as "checks".

rL371773 - thanks @timshen!

Sep 12 2019, 2:25 PM · Restricted Project, Restricted Project
NoQ added a comment to D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..

...and the second is similar in nature, but in the actual code -- it doesn't doesn't feel natural to me that AnalyzerOptions is required to construct this, while at the same time we're trying to make diagnostics construction independent of the analyzer.

Sep 12 2019, 2:12 PM · Restricted Project
NoQ added a comment to D59516: [analyzer] Add custom filter functions for GenericTaintChecker.

I'd like the test cases to actually demonstrate the correct use of the filters and the correct behavior of the Analyzer when the filters are annotated correctly, but it looks to me that they either demonstrate behavior when the annotation is not used correctly, or we disagree about how the taint should work in the first place. Testing the behavior when the annotation is misplaced is fine (with enough comments and probably FIXMEs where applicable), but "positive" tests are more valuable because they are the actual common cases (hopefully).

Sep 12 2019, 1:23 PM · Restricted Project

Sep 11 2019

NoQ accepted D67473: [clang-tidy] Fix build with -DBUILD_SHARED_LIB=ON.

Aha, nice, thank you!!

Sep 11 2019, 5:58 PM · Restricted Project, Restricted Project
NoQ updated the diff for D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..

Unforget to actually move the consumer implementations to libAnalysis, not just their headers.

Sep 11 2019, 4:21 PM · Restricted Project
NoQ updated the diff for D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..

Clean up a tiny bit of dead code.

Sep 11 2019, 4:15 PM · Restricted Project
NoQ updated the diff for D67421: [analyzer] NFC: Move IssueHash to libAnalysis..

Rename BugType to WarningMessage, add comments.

Sep 11 2019, 4:00 PM · Restricted Project
NoQ updated the diff for D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..

Unforget to do the same for the text consumer. As a side effect, the factory function for the text consumer is no longer special, which will be less confusing when put in libAnalysis.

Sep 11 2019, 3:55 PM · Restricted Project
NoQ added a comment to D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis..

Looks great! Are we sure that PathDiagnostic.h is a good header name?

Sep 11 2019, 1:53 PM · Restricted Project, Restricted Project
NoQ added a comment to D67381: [analyzer] NFC: Move stack hints to a side map..

Side note, now that you had to work with the freshly rewritten file, do you have any feedback on it?

Sep 11 2019, 1:53 PM · Restricted Project, Restricted Project
NoQ added inline comments to D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic..
Sep 11 2019, 12:13 PM · Restricted Project, Restricted Project
NoQ added a comment to D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..

Hmm, does anybody want me to write an example tool that emits path diagnostics but doesn't link to libStaticAnalyzer*?

Sep 11 2019, 11:54 AM · Restricted Project
NoQ added a comment to D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..

Are you planning to move users of these options -- like PlistDiagnostics -- to libAnalysis?

Sep 11 2019, 11:39 AM · Restricted Project
NoQ added a comment to D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..
  • For these select 4 options that suffer compatibility issues, manually check AnalyzerOptions::ConfigTable.
Sep 11 2019, 11:35 AM · Restricted Project
NoQ added a comment to D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..

I do!

Sep 11 2019, 11:33 AM · Restricted Project
NoQ added inline comments to D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..
Sep 11 2019, 11:24 AM · Restricted Project
NoQ added a comment to D67421: [analyzer] NFC: Move IssueHash to libAnalysis..

The "bugtype" in IssueHash is specific to Static Analyzer (or at least not documented sufficiently abstractly).

Sep 11 2019, 11:24 AM · Restricted Project
NoQ added inline comments to D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic..
Sep 11 2019, 11:08 AM · Restricted Project, Restricted Project
NoQ added inline comments to D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic..
Sep 11 2019, 10:58 AM · Restricted Project, Restricted Project
NoQ added inline comments to D67381: [analyzer] NFC: Move stack hints to a side map..
Sep 11 2019, 10:56 AM · Restricted Project, Restricted Project

Sep 10 2019

NoQ created D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..
Sep 10 2019, 5:00 PM · Restricted Project
NoQ added a child revision for D67421: [analyzer] NFC: Move IssueHash to libAnalysis.: D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..
Sep 10 2019, 5:00 PM · Restricted Project
NoQ added a parent revision for D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis.: D67421: [analyzer] NFC: Move IssueHash to libAnalysis..
Sep 10 2019, 5:00 PM · Restricted Project
NoQ added a parent revision for D67421: [analyzer] NFC: Move IssueHash to libAnalysis.: D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..
Sep 10 2019, 4:50 PM · Restricted Project
NoQ added a child revision for D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions.: D67421: [analyzer] NFC: Move IssueHash to libAnalysis..
Sep 10 2019, 4:50 PM · Restricted Project
NoQ created D67421: [analyzer] NFC: Move IssueHash to libAnalysis..
Sep 10 2019, 4:49 PM · Restricted Project
NoQ added a parent revision for D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions.: D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis..
Sep 10 2019, 4:49 PM · Restricted Project
NoQ added reviewers for D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions.: alexfh, gribozavr.
Sep 10 2019, 4:49 PM · Restricted Project
NoQ added a child revision for D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis.: D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..
Sep 10 2019, 4:49 PM · Restricted Project, Restricted Project
NoQ created D67420: [analyzer] NFC: Separate PathDiagnosticConsumer options from AnalyzerOptions..
Sep 10 2019, 4:49 PM · Restricted Project
NoQ added inline comments to D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis..
Sep 10 2019, 4:38 PM · Restricted Project, Restricted Project
NoQ added a parent revision for D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis.: D67418: [analyzer] NFC: Move PathDiagnostic::resetDiagnosticLocationToMainFile to bug reporter..
Sep 10 2019, 4:37 PM · Restricted Project, Restricted Project
NoQ added a child revision for D67418: [analyzer] NFC: Move PathDiagnostic::resetDiagnosticLocationToMainFile to bug reporter.: D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis..
Sep 10 2019, 4:37 PM · Restricted Project, Restricted Project
NoQ created D67419: [analyzer] NFC: Move PathDiagnostic to libAnalysis..
Sep 10 2019, 4:37 PM · Restricted Project, Restricted Project
NoQ added a parent revision for D67418: [analyzer] NFC: Move PathDiagnostic::resetDiagnosticLocationToMainFile to bug reporter.: D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic..
Sep 10 2019, 4:30 PM · Restricted Project, Restricted Project
NoQ added a child revision for D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic.: D67418: [analyzer] NFC: Move PathDiagnostic::resetDiagnosticLocationToMainFile to bug reporter..
Sep 10 2019, 4:30 PM · Restricted Project, Restricted Project
NoQ created D67418: [analyzer] NFC: Move PathDiagnostic::resetDiagnosticLocationToMainFile to bug reporter..
Sep 10 2019, 4:30 PM · Restricted Project, Restricted Project
NoQ added a comment to D67140: [analyzer][NFC] Fix inconsistent references to checkers as "checks".

%select

Sep 10 2019, 10:25 AM · Restricted Project, Restricted Project

Sep 9 2019

NoQ added inline comments to D67079: [analyzer] CastValueChecker: Model inheritance.
Sep 9 2019, 8:14 PM · Restricted Project
NoQ added inline comments to D67079: [analyzer] CastValueChecker: Model inheritance.
Sep 9 2019, 8:00 PM · Restricted Project
NoQ added a comment to D67336: [analyzer][NFC] Introduce SuperChecker<>, a convenient alternative to Checker<> for storing subcheckers.

I have mixed feelings. Removing boilerplate is good, but the very fact that we're legalizing this pattern indicates that our checkers will keep bloating up, while i always wanted to actually split them instead (like, make sub-checkers into their own separate classes, possibly spread out into different files, kinda micro checkers as opposed to monolithic checkers (?)). But i guess it's about whoever gets things done first :)

Sep 9 2019, 6:55 PM · Restricted Project
NoQ accepted D67335: [analyzer][NFC] Refactor the checker registration unit test file.
Sep 9 2019, 6:42 PM · Restricted Project
NoQ added a comment to D64991: [analyzer][WIP] Implement a primitive reaching definitions analysis.

Hmm, we could make a redundant assignments checker: if a variable has multiple reaching definitions, but those all assign the same value, emit a warning. We could even use fixits with that.

void t(int a) {
  if (coin())
    a = 2; // note: reaching def
  else
    a = 2; // note: reaching def
  use(a); // warn: a is always 2 here
}
Sep 9 2019, 5:27 PM · Restricted Project
NoQ added a comment to D67140: [analyzer][NFC] Fix inconsistent references to checkers as "checks".

We should take a page from desktop software here. If the messages were in a separate file, there would be a lot of people capable of mass-editing them. When messages are hardcoded in the tool code, navigating and editing them requires more skill, and definitely a lot more jumping around.

Sep 9 2019, 5:24 PM · Restricted Project, Restricted Project
NoQ added a parent revision for D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic.: D67381: [analyzer] NFC: Move stack hints to a side map..
Sep 9 2019, 4:54 PM · Restricted Project, Restricted Project
NoQ added a child revision for D67381: [analyzer] NFC: Move stack hints to a side map.: D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic..
Sep 9 2019, 4:54 PM · Restricted Project, Restricted Project
NoQ created D67382: [analyzer] NFC: Move getStmt() and createEndOfPath() out of PathDiagnostic..
Sep 9 2019, 4:53 PM · Restricted Project, Restricted Project
NoQ created D67381: [analyzer] NFC: Move stack hints to a side map..
Sep 9 2019, 4:39 PM · Restricted Project, Restricted Project
NoQ added inline comments to D67024: [analyzer] NFC: Replace intrusive list of bug reports with a vector of pointers..
Sep 9 2019, 1:39 PM · Restricted Project, Restricted Project
NoQ added inline comments to D66572: [analyzer] NFC: BugReporter Separation Ep.I..
Sep 9 2019, 1:39 PM · Restricted Project, Restricted Project

Sep 6 2019

NoQ added a comment to D67156: [Analyzer] Debug Checkers for Container and Iterator Inspection.

I'm sadly not knowledgeable enough with CallDescriptionMap

Sep 6 2019, 6:24 PM · Restricted Project
NoQ added inline comments to D67156: [Analyzer] Debug Checkers for Container and Iterator Inspection.
Sep 6 2019, 5:07 PM · Restricted Project
NoQ added a comment to D67156: [Analyzer] Debug Checkers for Container and Iterator Inspection.

Yup, thanks, this is really nice!

Sep 6 2019, 5:07 PM · Restricted Project
NoQ updated the diff for D66572: [analyzer] NFC: BugReporter Separation Ep.I..

Just rebase.

Sep 6 2019, 3:51 PM · Restricted Project, Restricted Project
NoQ added inline comments to D65182: [analyzer] Add fix-it hint support..
Sep 6 2019, 1:47 PM · Restricted Project, Restricted Project
NoQ added inline comments to D65182: [analyzer] Add fix-it hint support..
Sep 6 2019, 1:37 PM · Restricted Project, Restricted Project

Sep 5 2019

NoQ updated the diff for D67024: [analyzer] NFC: Replace intrusive list of bug reports with a vector of pointers..

Fxd, thanks!

Sep 5 2019, 5:31 PM · Restricted Project, Restricted Project
NoQ added inline comments to D66572: [analyzer] NFC: BugReporter Separation Ep.I..
Sep 5 2019, 5:19 PM · Restricted Project, Restricted Project
NoQ updated the diff for D66572: [analyzer] NFC: BugReporter Separation Ep.I..

Fix most comments.

Sep 5 2019, 5:19 PM · Restricted Project, Restricted Project
NoQ added a comment to D67140: [analyzer][NFC] Fix inconsistent references to checkers as "checks".

If we're okay with the inconsistency but still feel like giving ourselves more work, adding proper punctuation to Static Analyzer diagnostics would at least make them grammatically correct. :-D

Sep 5 2019, 3:17 PM · Restricted Project, Restricted Project
NoQ added a comment to D67140: [analyzer][NFC] Fix inconsistent references to checkers as "checks".

I don't think it's a requirement (so long as the diagnostics are clear about the issue being diagnosed, I'm happy enough), but I think it's good for a tool to be self-consistent in its messaging. It's jarring that one part of the compiler emits diagnostics one way and another emits them a totally different way. It may be less of an impact for people who don't see the output from both at the same time, but that happens to be the use case I have.

Sep 5 2019, 2:34 PM · Restricted Project, Restricted Project

Sep 4 2019

NoQ added a comment to D66569: [analyzer] ccc-analyzer: handle --sysroot=/path in addition to --sysroot /path.

You don't have commit access, right? Do you want me to commit this patch for you?

Sep 4 2019, 3:05 PM · Restricted Project, Restricted Project
NoQ accepted D66569: [analyzer] ccc-analyzer: handle --sysroot=/path in addition to --sysroot /path.

I wish i had time to fix D55683 so that i could have you write tests for it :)

Sep 4 2019, 2:59 PM · Restricted Project, Restricted Project

Sep 3 2019

NoQ accepted D67140: [analyzer][NFC] Fix inconsistent references to checkers as "checks".

Yay thanks!!

Sep 3 2019, 10:51 PM · Restricted Project, Restricted Project
NoQ added inline comments to D66733: [analyzer] Add a checker option to detect nested dead stores.
Sep 3 2019, 10:42 PM · Restricted Project, Restricted Project
NoQ updated the diff for D65182: [analyzer] Add fix-it hint support..

Make fix-it hints attachable to any PathDiagnosticPiece, rather than to PathDiagnostic as a whole. This basically allows attaching a fixit to any note in the report. For now the plist consumer only supports attaching fixits to the warning itself, to path event pieces, and to extra note pieces; it's completely unclear what's the benefit of attaching fixits to other kinds of pieces.

Sep 3 2019, 6:44 PM · Restricted Project, Restricted Project
NoQ added inline comments to D66572: [analyzer] NFC: BugReporter Separation Ep.I..
Sep 3 2019, 4:42 PM · Restricted Project, Restricted Project