Page MenuHomePhabricator

NoQ (Artem Dergachev)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Sat, Oct 17

NoQ added a comment to D89055: [analyzer] Wrong type cast occures during pointer dereferencing after type punning.

Aha, great, sounds like all casting can be made more correct, not just casting on store retrieve! Maybe it's worth celebrating through extra unittests on evalCast(). Thank you for looking into this.

Sat, Oct 17, 5:22 AM · Restricted Project

Tue, Oct 13

NoQ added inline comments to D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..
Tue, Oct 13, 10:56 AM · Restricted Project

Mon, Oct 12

NoQ added a comment to D88332: [WIP][Analyzer] PtrToIntegCastLibcChecker.
In D88332#2297374, @NoQ wrote:

Hmm, if we could add an interface to CallDescriptionMap to accept AnyCall instead of CallEvent then we could use it for path-insensitive checkers as well. That'd have saved some lines of code.

Sounds interesting but I lack context to imagine the details. Would the map be still initialized by some ASTVisitor?

Mon, Oct 12, 2:46 PM
NoQ added inline comments to D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..
Mon, Oct 12, 1:25 PM · Restricted Project

Thu, Oct 8

NoQ added a comment to D89055: [analyzer] Wrong type cast occures during pointer dereferencing after type punning.

This actually looks correct to me but i suggest a bit more investigation. Architecturally, it doesn't make sense to me that CastRetrievedVal() does anything beyond svalBuilder.dispatchCast(V, castTy). After all, there's only one way to cast a value from one type to another, and svalBuilder.dispatchCast(V, castTy) was supposed to be the ultimate method to do so.

Thu, Oct 8, 3:36 PM · Restricted Project

Wed, Oct 7

NoQ accepted D87043: [Analyzer] Fix for dereferece of smart pointer after branching on unknown inner pointer.

Looks great, thank you! I think you can commit it :)

Wed, Oct 7, 5:35 PM · Restricted Project

Mon, Oct 5

NoQ added a comment to D88477: [analyzer] Overwrite cast type in getBinding only if that was null originally.

i'm pretty worried about our ability to actually achieve that in the near future

Mon, Oct 5, 10:06 PM · Restricted Project
NoQ added a comment to D85528: [analyzer] Fix cast evaluation on scoped enums in ExprEngine.

With Z3 constraint manager you absolutely want your constraints to be as precise as possible. The only reason we don't add these casts is because it confuses the constraint manager a lot. With a better constraint manager we would have spared ourselves a lot of suffering in this area.

Mon, Oct 5, 9:46 PM · Restricted Project

Thu, Oct 1

NoQ added a comment to D85528: [analyzer] Fix cast evaluation on scoped enums in ExprEngine.

Aha, ok, thanks, I now understand what the problem is because I was able to run the test before the patch and see how the patch changes the behavior.

Thu, Oct 1, 9:03 PM · Restricted Project
NoQ added a comment to D88477: [analyzer] Overwrite cast type in getBinding only if that was null originally.

A value of an expression should have the same type and value-kind as the expression.

Thu, Oct 1, 8:13 PM · Restricted Project
NoQ added a comment to D88477: [analyzer] Overwrite cast type in getBinding only if that was null originally.

No, you got it all wrong again. I don't want to explain this one more time so let's talk about some basics: A value of an expression should have the same type and value-kind as the expression. Can we get there? How?

Thu, Oct 1, 6:53 PM · Restricted Project
NoQ added a comment to D86743: [analyzer] Ignore VLASizeChecker case that could cause crash.

But that's for a different bug, no? Even if that patch somehow dodges *this* crash, the underlying problem of us being unable to account for mutability of VLA sizes still remains to be addressed.

Thu, Oct 1, 1:36 AM · Restricted Project

Wed, Sep 30

NoQ added a comment to D88477: [analyzer] Overwrite cast type in getBinding only if that was null originally.

(in the latest message by "load" i mean the first load that produces a pointer (i.e., an ElementRegion) as the result)

Wed, Sep 30, 2:22 PM · Restricted Project
NoQ added a comment to D88477: [analyzer] Overwrite cast type in getBinding only if that was null originally.

I'm trying to say that the value produced by the load should not be the same as the stored value, because these two values are of different types. When exactly does the first value change into the second value is a different story; the current grand vision around which the code is written says that it changes during load, therefore it's the load code (step #2) that's to blame.

Wed, Sep 30, 2:20 PM · Restricted Project
NoQ added a comment to D88477: [analyzer] Overwrite cast type in getBinding only if that was null originally.

In the Summary's example, at location #2 the value of **p is &Element{SymRegion{reg_$0<int * a>},0 S64b,unsigned char} - which is exactly what we stored at line #1.

void test(int *a, char ***b, float *c) {
  *(unsigned char **)b = (unsigned char *)a; // #1
  if (**b == 0) // no-crash, #2
    ;
  // ...
}
Wed, Sep 30, 11:17 AM · Restricted Project
NoQ added a comment to D86743: [analyzer] Ignore VLASizeChecker case that could cause crash.

Yup, that's pretty bad.

Wed, Sep 30, 9:43 AM · Restricted Project
NoQ added a comment to D86743: [analyzer] Ignore VLASizeChecker case that could cause crash.

The last comment for that bug is D69726, but the bug is not closed to it seems to me that D69726 does not solve it, just takes a single step towards the solution.

Wed, Sep 30, 9:36 AM · Restricted Project
NoQ added a comment to D69726: [analyzer] DynamicSize: Store the dynamic size.

Thank you for reminding me of this patch. I still think it's a pretty important patch and i'm interested in getting it landed.

Wed, Sep 30, 9:30 AM · Restricted Project

Tue, Sep 29

NoQ added a comment to D88477: [analyzer] Overwrite cast type in getBinding only if that was null originally.

A load from a region of type T should always yield a value of type T because that's what a load is.

Tue, Sep 29, 12:13 PM · Restricted Project

Mon, Sep 28

NoQ added a comment to D77062: [analyzer] [NFC] Simplify CStringChecke::assumeZero function.

Nice, very interesting!

Mon, Sep 28, 11:00 AM · Restricted Project
NoQ added a comment to D87800: [WIP][Analyzer] find stack addresses leaked via out-params.

I also recommend using a specialized callback checkBind instead of pattern-matching binary operators specifically.

Mon, Sep 28, 10:13 AM
NoQ added a comment to D88070: [WIP][Analyzer] find stack addresses leaked via out-params - in checkEndFunction.

The code you've added looks correct. I suspect either heap invalidation or dead symbol elimination cleaning up the binding.

Mon, Sep 28, 10:11 AM
NoQ added a comment to D87800: [WIP][Analyzer] find stack addresses leaked via out-params.

Now, the current implementation still has false positives in the sense that it warns at every suspicious assignment without checking what is the actual state of LHS of such assignment at the point of return from the function.

Mon, Sep 28, 10:07 AM

Sun, Sep 27

NoQ added inline comments to D88332: [WIP][Analyzer] PtrToIntegCastLibcChecker.
Sun, Sep 27, 11:36 PM
NoQ added a comment to D88332: [WIP][Analyzer] PtrToIntegCastLibcChecker.

Hmm, if we could add an interface to CallDescriptionMap to accept AnyCall instead of CallEvent then we could use it for path-insensitive checkers as well. That'd have saved some lines of code.

Sun, Sep 27, 11:23 PM
NoQ added a comment to D88359: [analyzer][RFC] Complete rewrite of ArrayBoundCheckerV2.

We already have a similar simplification facility in SValBuilder created to solve the similar problem with iterator checkers. It fires up when it knows that the values it works with are limited to roughly 1/4 of their type's range and therefore none of the individual operations over them can potentially overflow (cf. D35109). It's currently off by default because performance was not properly evaluated and none of the on-by-default checkers rely on it. This is currently the intended approach to such issues. It was decided that constructing a custom solver for "non-overflowing but still bounded" arithmetic was not the right thing to do, mostly because it absolutely doesn't correspond to the actual run-time behavior of the program that we're supposed to be modeling.

Sun, Sep 27, 1:43 PM · Restricted Project

Thu, Sep 24

NoQ added a comment to D86743: [analyzer] Ignore VLASizeChecker case that could cause crash.

A VLA in a loop may have different size on each iteration of the loop. This looks very much related to https://bugs.llvm.org/show_bug.cgi?id=28450.

Thu, Sep 24, 12:15 AM · Restricted Project

Wed, Sep 23

NoQ added inline comments to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.
Wed, Sep 23, 9:45 PM · Restricted Project

Tue, Sep 22

NoQ added inline comments to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.
Tue, Sep 22, 1:24 PM · Restricted Project
NoQ added inline comments to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.
Tue, Sep 22, 1:08 AM · Restricted Project
NoQ requested changes to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.
Tue, Sep 22, 12:59 AM · Restricted Project

Mon, Sep 21

NoQ added inline comments to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.
Mon, Sep 21, 11:38 PM · Restricted Project
NoQ accepted D85424: [Analyzer] Crash fix for alpha.cplusplus.IteratorRange.

Uh-oh, so you're saying that you're actively modeling every single operator + and - on every single integer in the program even when they don't represent any iterators at all? How can a raw integer be an iterator to begin with, given that you can't dereference an integer? Is this caused by D82185? Can you defend against such situations by checking that the operand is a pointer before doing any operations?

Mon, Sep 21, 11:16 PM · Restricted Project
NoQ accepted D85351: [Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers.

Aha, yup, thanks, this looks good!

Mon, Sep 21, 10:50 PM · Restricted Project
NoQ requested changes to D85984: [analyzer] Add a new checker alpha.cplusplus.CPlusPlus11Lock.
Mon, Sep 21, 10:38 PM · Restricted Project
NoQ added inline comments to D77792: [analyzer] Extend constraint manager to be able to compare simple SymSymExprs.
Mon, Sep 21, 5:50 PM · Restricted Project
NoQ accepted D83259: [Analyzer][WebKit] UncountedLocalVarsChecker.

Thank you, i think this is good to land!

Mon, Sep 21, 1:36 PM

Sep 19 2020

NoQ added a comment to D83259: [Analyzer][WebKit] UncountedLocalVarsChecker.

(I.e., i don't have strong opinions about high-level design and will happily push the green button as soon as minor nits are addressed)

Sep 19 2020, 4:39 PM

Sep 18 2020

NoQ added a comment to D83259: [Analyzer][WebKit] UncountedLocalVarsChecker.

Sry! I'll try my best to keep up from now on.

Sep 18 2020, 1:00 AM
NoQ added a comment to D87800: [WIP][Analyzer] find stack addresses leaked via out-params.

My quick naive attempt of getting SVal of DeclRefExpr and checking if its MemRegion is in current stack frame didn't get very far because the returned SVal kind is undefined.

Sep 18 2020, 12:30 AM

Sep 8 2020

NoQ added inline comments to D84316: [analyzer][NFC] Split CStringChecker to modeling and reporting.
Sep 8 2020, 2:37 PM · Restricted Project
NoQ added inline comments to D86445: [analyzer][RFC] Simplify MetadataSymbol representation and resolve a CStringChecker FIXME.
Sep 8 2020, 1:06 PM · Restricted Project
NoQ added inline comments to D86445: [analyzer][RFC] Simplify MetadataSymbol representation and resolve a CStringChecker FIXME.
Sep 8 2020, 1:04 PM · Restricted Project
NoQ added inline comments to D85351: [Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers.
Sep 8 2020, 12:43 PM · Restricted Project
NoQ added inline comments to D85984: [analyzer] Add a new checker alpha.cplusplus.CPlusPlus11Lock.
Sep 8 2020, 1:50 AM · Restricted Project

Sep 5 2020

NoQ accepted D86736: [analyzer][NFC] Don't bind values to ObjCForCollectionStmt, replace it with a GDM trait.

This looks correct to me. Thanks a lot. This hack was surprisingly crude and i'm very glad that we now consistently use expressions in our Environment.

Sep 5 2020, 5:38 PM · Restricted Project

Sep 3 2020

NoQ added a comment to D86874: [analyzer] Fix ArrayBoundCheckerV2 false positive regarding size_t indexer.

What are types of each term in this expression?

Sep 3 2020, 12:09 AM · Restricted Project

Sep 2 2020

NoQ added a comment to D87043: [Analyzer] Fix for dereferece of smart pointer after branching on unknown inner pointer.

Nice catch, thx!

Sep 2 2020, 11:58 PM · Restricted Project

Aug 27 2020

NoQ accepted D86373: [analyzer] Add modeling for unique_ptr move constructor.

Yup, that's more like it!~

Aug 27 2020, 4:02 PM · Restricted Project
NoQ accepted D86027: [analyzer] Add bool operator modeling for unque_ptr.

I have no other concerns, i think this is good to go!

Aug 27 2020, 3:57 PM · Restricted Project
NoQ added inline comments to D85752: [Analyzer] Store the pointed/referenced type for dynamic casts.
Aug 27 2020, 11:43 AM · Restricted Project

Aug 25 2020

NoQ added a comment to D85984: [analyzer] Add a new checker alpha.cplusplus.CPlusPlus11Lock.

No-no, recursive locks are much more complicated than that, please do them separately. You'll have to discriminate between a real double lock / double unlock bug and an actual valid use of the recursive mutex in order to emit any warnings at all. That's completely different checker logic.

Aug 25 2020, 1:45 PM · Restricted Project
NoQ accepted D86293: [analyzer] Add modeling of Eq operator in smart ptr.

Looks amazing now.

Aug 25 2020, 1:14 PM · Restricted Project
NoQ added inline comments to D86027: [analyzer] Add bool operator modeling for unque_ptr.
Aug 25 2020, 1:10 PM · Restricted Project
NoQ added a comment to D85728: [Analyzer] Support for the new variadic isa<> and isa_and_not_null<> in CastValueChecker.

Hans is pinging us on Bugzilla because this patch is marked as a release blocker (and i believe that it indeed is). I think we should land these patches.

Aug 25 2020, 12:14 PM · Restricted Project
NoQ added inline comments to D86027: [analyzer] Add bool operator modeling for unque_ptr.
Aug 25 2020, 12:08 AM · Restricted Project

Aug 24 2020

NoQ added a comment to D86465: [analyzer][solver] Redesign constraint ranges data structure.

If the numbers are confirmed to be as good as what i've sneak-peeked so far, that should be pretty amazing. Also whoa, test coverage!~

Aug 24 2020, 11:48 PM · Restricted Project
NoQ added inline comments to D86445: [analyzer][RFC] Simplify MetadataSymbol representation and resolve a CStringChecker FIXME.
Aug 24 2020, 11:23 PM · Restricted Project

Aug 22 2020

NoQ added inline comments to D86027: [analyzer] Add bool operator modeling for unque_ptr.
Aug 22 2020, 12:12 AM · Restricted Project
NoQ accepted D86029: [analyzer] Add modeling for unque_ptr::get().

This patch looks correct to me at a glance. I think we should land it as is and debug/improve later.

Aug 22 2020, 12:06 AM · Restricted Project

Aug 21 2020

NoQ added a comment to D86295: [analyzer] Reorder the layout of MemRegion and cache by hand for optimal size.
In D86295#2229712, @NoQ wrote:

Heh, nice! Did you try to measure the actual impact of this change on memory and/or performance?

Eh, I don't really know how to bench this.

Aug 21 2020, 11:58 PM · Restricted Project
NoQ added a comment to D86293: [analyzer] Add modeling of Eq operator in smart ptr.

This looks outright correct to me. I have random suggestions on note text here and there.

Aug 21 2020, 5:53 PM · Restricted Project
NoQ added a comment to D86373: [analyzer] Add modeling for unique_ptr move constructor.

This is easier than D86293 because there's no old value in the freshly constructed smart pointer, right? I suspect that you can still re-use a lot of the implementation with D86293, at least partially.

Aug 21 2020, 5:44 PM · Restricted Project
NoQ added inline comments to D83259: [Analyzer][WebKit] UncountedLocalVarsChecker.
Aug 21 2020, 5:03 PM

Aug 20 2020

NoQ added a comment to D86295: [analyzer] Reorder the layout of MemRegion and cache by hand for optimal size.

Heh, nice! Did you try to measure the actual impact of this change on memory and/or performance?

Aug 20 2020, 7:40 PM · Restricted Project

Aug 17 2020

NoQ accepted D85796: [Analysis] Bug fix for exploded graph branching in evalCall for constructor.

Thanks!~

Aug 17 2020, 10:15 AM · Restricted Project

Aug 15 2020

NoQ added inline comments to D86027: [analyzer] Add bool operator modeling for unque_ptr.
Aug 15 2020, 6:36 PM · Restricted Project
NoQ accepted D86029: [analyzer] Add modeling for unque_ptr::get().

Excellent, thanks!

Aug 15 2020, 6:33 PM · Restricted Project
NoQ added inline comments to D86027: [analyzer] Add bool operator modeling for unque_ptr.
Aug 15 2020, 3:44 PM · Restricted Project
NoQ added inline comments to D85728: [Analyzer] Support for the new variadic isa<> and isa_and_not_null<> in CastValueChecker.
Aug 15 2020, 3:01 PM · Restricted Project
NoQ accepted D85752: [Analyzer] Store the pointed/referenced type for dynamic casts.
Aug 15 2020, 3:01 PM · Restricted Project
NoQ added inline comments to D85796: [Analysis] Bug fix for exploded graph branching in evalCall for constructor.
Aug 15 2020, 2:52 PM · Restricted Project

Aug 13 2020

NoQ added inline comments to D85796: [Analysis] Bug fix for exploded graph branching in evalCall for constructor.
Aug 13 2020, 9:40 PM · Restricted Project
NoQ added inline comments to D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..
Aug 13 2020, 10:08 AM · Restricted Project
NoQ updated the diff for D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..

The patch looks great. I guess the only remaining discussion remains as to whether this should be in libAnalysis, or somewhere else. Here is my take: Since clang-tidy, CSA, and some other parts of the compiler (like uninitialized variable warnings) are static analyzers within the same infrastructure, it makes sense for them to have a common library. I see that diagnostics aren't really analyses. libFrontend or libDriver, which, as I understand it contains most the diagnostics machinery for clang aren't viable alternatives because of the library dependencies. So, I think if libAnalysis was called libStaticAnalysisCommon, we would be golden, but that would screw over downstream developers for negligible gain. While I'm not terribly experiences in library layout design, for the time being, the move to libAnalysis seems appropriate.

Aug 13 2020, 10:07 AM · Restricted Project
NoQ added inline comments to D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..
Aug 13 2020, 12:06 AM · Restricted Project

Aug 12 2020

NoQ added inline comments to D85796: [Analysis] Bug fix for exploded graph branching in evalCall for constructor.
Aug 12 2020, 10:02 PM · Restricted Project
NoQ added inline comments to D85796: [Analysis] Bug fix for exploded graph branching in evalCall for constructor.
Aug 12 2020, 10:02 PM · Restricted Project
NoQ accepted D85728: [Analyzer] Support for the new variadic isa<> and isa_and_not_null<> in CastValueChecker.
Aug 12 2020, 2:13 PM · Restricted Project
NoQ accepted D85817: [analyzer] Fix crash with pointer to members values.

Aha, i see, fair enough!

Aug 12 2020, 1:48 PM · Restricted Project
NoQ added a comment to D85817: [analyzer] Fix crash with pointer to members values.

That's a fix for https://bugs.llvm.org/show_bug.cgi?id=46264.

Aug 12 2020, 9:31 AM · Restricted Project

Aug 11 2020

NoQ added a comment to D85796: [Analysis] Bug fix for exploded graph branching in evalCall for constructor.

I'm having second thoughts on re-using the existing builder. Most other runCheckers...() methods are building their own. Given how confusing this entire node builder business is, i believe we should not deviate from known working patterns.

Aug 11 2020, 5:36 PM · Restricted Project
NoQ added a comment to D85728: [Analyzer] Support for the new variadic isa<> and isa_and_not_null<> in CastValueChecker.

Could you also unforget the diff context? >.<

Aug 11 2020, 11:18 AM · Restricted Project
NoQ added a comment to D85752: [Analyzer] Store the pointed/referenced type for dynamic casts.

Yes, i completely agree that this is the right decision, thanks!

Aug 11 2020, 11:08 AM · Restricted Project
NoQ added a comment to D85431: [analyzer] Implement a new checker ThreadPrimitivesChecker.

You're on the right track but your checker repeats PthreadLockChecker word-by-word. Like, you can find answers to all your questions (eg., "how to use isLiveRegion?") by reading that checker. C++ functions aren't any different from C functions; that's an extremely minor difference that doesn't justify developing a new checker from scratch.

Aug 11 2020, 11:04 AM · Restricted Project

Aug 10 2020

NoQ added inline comments to D83259: [Analyzer][WebKit] UncountedLocalVarsChecker.
Aug 10 2020, 10:17 PM
NoQ accepted D84520: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker..

Also thanks, let's land!

Aug 10 2020, 10:08 PM · Restricted Project
NoQ closed D37809: [analyzer] PthreadLock: Refactor, use PostCall API. NFC..
Aug 10 2020, 8:33 PM
NoQ accepted D37809: [analyzer] PthreadLock: Refactor, use PostCall API. NFC..

This patch has already landed as rG152bc7ffdcd8f62b2279803642f162610154cd2e. I forgot the magic word.

Aug 10 2020, 8:33 PM
NoQ accepted D84600: [Analyzer] Support note tags for smart ptr checker.

Let's land this! Damn, we've learned a lot from this patch.

Aug 10 2020, 8:29 PM · Restricted Project
NoQ added a comment to D84520: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker..

Do the null pointer and invalid pointer dereference belong to the same checker, that is called NullDereference?

Aug 10 2020, 8:28 PM · Restricted Project
NoQ added a comment to D85431: [analyzer] Implement a new checker ThreadPrimitivesChecker.

Umm, why don't you extend PthreadLockChecker instead?

Aug 10 2020, 8:23 PM · Restricted Project

Aug 9 2020

NoQ added inline comments to D85424: [Analyzer] Crash fix for alpha.cplusplus.IteratorRange.
Aug 9 2020, 11:36 PM · Restricted Project
NoQ added a comment to D85528: [analyzer] Fix cast evaluation on scoped enums in ExprEngine.
In D85528#2203325, @NoQ wrote:

Because this patch changes the behavior of regular analysis (without Z3), i expect tests to reflect that.

What do you expect exactly?

REQUIRES: z3 is necessary for the refutation.
However, adding this requirement would not mean that this test will run if you have Z3 installed though.
You should add the extra llvm-lit param to enable such tests.
I don't want to repeat myself too much but D83677 describes all the details of this test infra fiasco.
I would appreciate some feedback there.

Aug 9 2020, 11:33 PM · Restricted Project
NoQ added inline comments to D84600: [Analyzer] Support note tags for smart ptr checker.
Aug 9 2020, 11:34 AM · Restricted Project

Aug 7 2020

NoQ accepted D83942: [analyzer][tests] Add a notion of project sizes.

I can't say any of my ideas about better naming are exceptionally bright. The existing scale seems perfectly reasonable.

Aug 7 2020, 4:57 PM · Restricted Project
NoQ added a comment to D85545: [Diagnostics] Diagnose missing comma in string array initialization.

Parentheses could work here

Yay great! Let's add such test?

Aug 7 2020, 1:28 PM · Restricted Project
NoQ added a comment to D85545: [Diagnostics] Diagnose missing comma in string array initialization.

What if the user did actually want to concatenate the strings? Eg., one of the strings in the list is long and clang-format suggests breaking it up for the 80-column limit which causes the new warning to appear. How would the user suppress the warning in this case?

Aug 7 2020, 12:59 PM · Restricted Project
NoQ updated the diff for D67422: [analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis..

Whoops fxd!

Aug 7 2020, 12:33 PM · Restricted Project
NoQ added a comment to D84520: [Analyzer] Improve invalid dereference bug reporting in DereferenceChecker..

Let's not change warning text without good reasons. Too few of us speak English well enough to check the articles. The original text seems concise and on-point.

Aug 7 2020, 11:19 AM · Restricted Project