Page MenuHomePhabricator
Feed Advanced Search

Yesterday

NoQ added a comment to D66404: [CFG] Make destructor calls more accurate.

Whoaaa, at a glance this looks absolutely fantastic. I'll get back to this tomorrow to take a more careful look.

Sun, Aug 18, 10:19 PM · Restricted Project

Fri, Aug 16

NoQ accepted D66044: Extend -Wtautological-overlap-compare to accept negative values and integer conversions.

*appreciates CFG tests*

Fri, Aug 16, 4:46 PM
NoQ accepted D66045: Improve detection of same value in comparisons.

Thanks from me as well.

Fri, Aug 16, 4:37 PM
NoQ accepted D66046: Add new tautological compare warning for bitwise-or with a non-zero constant.

Looks great, thank you!

Fri, Aug 16, 4:34 PM
NoQ accepted D66333: [analyzer] NonNullParamChecker and CStringChecker parameter number in checker message.

Thanks! I'm happy to accept this as soon as other reviewers are happy.

Fri, Aug 16, 1:22 PM · Restricted Project
NoQ added a comment to D66338: [CGP] Drop no op intrinsic calls.

Side note: As shown in this example, attribute((const)) on declarations seems like a bad idea. User may add attribute((const)), then in the future introduce a side effect aaaand... compiler is happy, optimizers are happy, no warnings, weird binary. Can clang-tidy catch it? @aaron.ballman @NoQ GCC folks claim this is hard to do and say attribute((const)) is a best effort thing - you simply shouldn't do a mistake.

Fri, Aug 16, 1:14 PM · Restricted Project

Thu, Aug 15

NoQ added a comment to D65453: [analyzer] Improve the accuracy of the Clang call graph analysis.

Thanks! This looks very useful.

Thu, Aug 15, 3:02 PM · Restricted Project
NoQ added a comment to D66267: [analyzer] TrackConstraintBRVisitor: Do not track unknown values.

Shouldn't we just delete this entire visitor altogether and merge it into ConditionBRVisitor (like, eventually, not right now)? It seems to be a relic of the past.

Thu, Aug 15, 2:33 PM · Restricted Project
NoQ accepted D66267: [analyzer] TrackConstraintBRVisitor: Do not track unknown values.

This code is super messy. It'd be great to actually test this change on something to see if it has any unwanted side effects.

Thu, Aug 15, 2:33 PM · Restricted Project

Wed, Aug 14

NoQ added a comment to D60281: [analyzer] Add docs for cplusplus.InnerPointer.

Cute!!

Wed, Aug 14, 8:26 PM · Restricted Project, Restricted Project
NoQ accepted D66261: [analyzer] Warn about -analyzer-configs being meant for development purposes only.

Thanks, i appreciate!

Wed, Aug 14, 5:17 PM · Restricted Project, Restricted Project
NoQ accepted D60281: [analyzer] Add docs for cplusplus.InnerPointer.

One more quick question: Who is Husi???

Wed, Aug 14, 5:12 PM · Restricted Project, Restricted Project
NoQ added inline comments to D60281: [analyzer] Add docs for cplusplus.InnerPointer.
Wed, Aug 14, 4:34 PM · Restricted Project, Restricted Project
NoQ added a comment to D65182: [analyzer] Add fix-it hint support..

Hmm, why the need for checker options? Why not have them by default? If fixits are an experimental feature, maybe we should have a global enable-fixits config. But I don't insist :)

Wed, Aug 14, 4:05 PM · Restricted Project
NoQ added a comment to D62445: [test] Fix plugin tests.

I didn't make much progress so far, but i marked the test as // UNSUPPORTED: darwin in rC368765, so the buildbot is now green starting with http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/6519/.

Wed, Aug 14, 3:50 PM · Restricted Project, Restricted Project
NoQ updated the diff for D65361: [analyzer] Trust global initializers when analyzing main()..

Fxd.

Wed, Aug 14, 3:45 PM · Restricted Project
NoQ added a comment to D63279: [Analyzer] Unroll for-loops where the upper boundary is a variable with know value.

A quick archaeological dig suggests that i had no concerns with turning on unrolling by default back in 2017: http://lists.llvm.org/pipermail/cfe-dev/2017-August/055221.html - and i don't think i had any new concerns since then. I guess it'll be beneficial to make one more large-codebase run to make sure it still works, but other than that the only reason it's not enabled by default yet is because we forgot to do that :( This patch is good but not a must-have to turn loop unrolling on by default.

Wed, Aug 14, 3:30 PM · Restricted Project
NoQ updated the diff for D65182: [analyzer] Add fix-it hint support..

Add a "not implemented yet" assertion for kinds of fixits that are not supported as of that patch (but will definitely need to be supported in the future).

Wed, Aug 14, 1:57 PM · Restricted Project
NoQ added inline comments to D65724: [analyzer] Don't make ConditionBRVisitor events prunable when the condition is an interesting field.
Wed, Aug 14, 1:57 PM · Restricted Project
NoQ added inline comments to D66042: [analyzer] Analysis: Silence checkers.
Wed, Aug 14, 1:52 PM · Restricted Project, Restricted Project
NoQ added inline comments to D65453: [analyzer] Improve the accuracy of the Clang call graph analysis.
Wed, Aug 14, 1:44 PM · Restricted Project
NoQ added inline comments to D66042: [analyzer] Analysis: Silence checkers.
Wed, Aug 14, 1:44 PM · Restricted Project, Restricted Project
NoQ added a comment to D65453: [analyzer] Improve the accuracy of the Clang call graph analysis.

For me ddd() doesn't call c::c(). I can fix it by adding the following code:

void VisitCXXConstructExpr(CXXConstructExpr *CE) {
  addCalledDecl(CE->getConstructor());
  VisitChildren(CE);
}

I don't see why it would work without that code, as CXXConstructExpr isn't a sub-class of CallExpr. So that's another obvious omission in the CallGraph.

Wed, Aug 14, 1:44 PM · Restricted Project
NoQ added inline comments to D65182: [analyzer] Add fix-it hint support..
Wed, Aug 14, 1:21 PM · Restricted Project
NoQ accepted D66042: [analyzer] Analysis: Silence checkers.

Guys, thank you so much for working on establishing consensus on this change.
*bows*

Wed, Aug 14, 1:05 PM · Restricted Project, Restricted Project

Tue, Aug 13

NoQ updated the diff for D65182: [analyzer] Add fix-it hint support..

Rebase!

Tue, Aug 13, 7:07 PM · Restricted Project
NoQ updated the diff for D64274: [analyzer] VirtualCallChecker overhaul..

Make the checkers independent and extract modeling into a dependency.

Tue, Aug 13, 6:56 PM · Restricted Project
NoQ updated the diff for D64274: [analyzer] VirtualCallChecker overhaul..

I'll merge D65180 into this patch because it's otherwise too painful to update. Like, D65180 untangles bug types and controls enabledness by initializing bug types, but in order to untangle the checkers into a pair with a common dependency, i already need such control, and i don't want to implement a temporary solution only to discard it immediately.

Tue, Aug 13, 6:14 PM · Restricted Project
NoQ abandoned D65180: [analyzer] VirtualCallChecker: Improve warning messages..

Merged into D64274.

Tue, Aug 13, 6:14 PM · Restricted Project
NoQ accepted D65287: [analyzer][CFG] Don't track the condition of asserts.

Wish granted!

Tue, Aug 13, 5:52 PM · Restricted Project, Restricted Project
NoQ accepted D66131: [analyzer] Don't track the condition of foreach loops.

Do it! 8)

Tue, Aug 13, 5:17 PM · Restricted Project
NoQ added inline comments to D65287: [analyzer][CFG] Don't track the condition of asserts.
Tue, Aug 13, 5:13 PM · Restricted Project, Restricted Project
NoQ updated the diff for D65349: [analyzer] Be more careful with destructors of non-regions..

Fxd!

Tue, Aug 13, 4:28 PM · Restricted Project
NoQ added inline comments to D65250: [analyzer] exploded-graph-rewriter: Improve user-friendliness..
Tue, Aug 13, 4:01 PM · Restricted Project, Restricted Project
NoQ added a comment to D65453: [analyzer] Improve the accuracy of the Clang call graph analysis.

Hmm, the patch doesn't pass its own test for me, could you double-check?

Tue, Aug 13, 3:39 PM · Restricted Project
NoQ added a comment to D66042: [analyzer] Analysis: Silence checkers.

I'm convinced, let's keep everything as is but turn this into an -analyzer-config flag. We generally wanted to reduce the number of frontend flags because they are more taxing on backwards compatibility, so it makes perfect sense.

Tue, Aug 13, 2:52 PM · Restricted Project, Restricted Project
NoQ added a comment to D66042: [analyzer] Analysis: Silence checkers.
Tue, Aug 13, 2:25 PM · Restricted Project, Restricted Project
NoQ added a comment to D66042: [analyzer] Analysis: Silence checkers.

Yup. We will be able to present the drastic improvement made on LLVM analyses, while giving us some breathing room to polish a long-term solution. I suspect -analyzer-config silence-checkers=core -analyzer-config silence-checkers=something.Else wont work (I believe the last value will be used in the invocation), but if only scan-build is using it, we can do -analyzer-config silence-checkers=core,something.Else.

Tue, Aug 13, 1:53 PM · Restricted Project, Restricted Project
NoQ accepted D66014: [analyzer] Avoid unnecessary enum range check on LValueToRValue casts.

Thanks!

Tue, Aug 13, 1:50 PM · Restricted Project
NoQ added a comment to D66042: [analyzer] Analysis: Silence checkers.

I really appreacite your ideas. It is unbelievable you guys bring up 20 different ideas for 5 LOC. I cannot really argue about any idea, as every of them could be a possible solution. I have to pick the right solution, and drop the other 19. I believe with that in mind what is an experimental feature and how we support to use the Analyzer, none of the 19 ideas would born. I did not want to refuse that many ideas, but I have to, because we could pick at most 1 to implement per patch. That is why I really try to emphasize it is under that experimental feature umbrella and we have to think no more about that patch from that point: since the beginning.

Given our discussion, we've thrown out all but 1 of the 4, by the way (fixing the actual problem, making this a config, creating checker/package options, solving this in scan-build only), ideas. Make this a config. You're correct, thats about 5 LOC change in this patch, at which point I'd be happy to accept :)

Tue, Aug 13, 1:25 PM · Restricted Project, Restricted Project
NoQ added a comment to D66042: [analyzer] Analysis: Silence checkers.

Should this be different with clang and this patch?

Tue, Aug 13, 1:18 PM · Restricted Project, Restricted Project

Mon, Aug 12

NoQ added a comment to D66042: [analyzer] Analysis: Silence checkers.

I'd like to hear @Szelethus's opinion one more time on this patch. I'm perfectly fine with abandoning the idea and going for in-checker suppressions, simply because there's at least one strong opinion against it and i don't want to push this further, but i just honestly think this patch is a good idea. This discussion has so far been very useful regardless, at least to me personally.

Mon, Aug 12, 9:17 PM · Restricted Project, Restricted Project
NoQ added inline comments to D66014: [analyzer] Avoid unnecessary enum range check on LValueToRValue casts.
Mon, Aug 12, 4:50 PM · Restricted Project
NoQ added a comment to D66049: [analyzer] PR41729: Fix some false positives and improve strlcat and strlcpy modeling.

Oh, these false positives! Thanks!!

Mon, Aug 12, 4:28 PM · Restricted Project
NoQ added a comment to D66042: [analyzer] Analysis: Silence checkers.

use it locally

Mon, Aug 12, 3:57 PM · Restricted Project, Restricted Project
NoQ added inline comments to D66045: Improve detection of same value in comparisons.
Mon, Aug 12, 3:48 PM
NoQ added inline comments to D66046: Add new tautological compare warning for bitwise-or with a non-zero constant.
Mon, Aug 12, 3:31 PM
NoQ accepted D66044: Extend -Wtautological-overlap-compare to accept negative values and integer conversions.

Looks great, thanks! I'd appreciate direct CFG tests for the part that changes the CFG (cf. test/Analysis/cfg.cpp), but i don't insist. Let's make sure @jfb is happy and commit :)

Mon, Aug 12, 3:08 PM
NoQ added a comment to D66042: [analyzer] Analysis: Silence checkers.

if we add this flag, people responsible for developing interafaces for the analyzer might end up using it.

Mon, Aug 12, 2:48 PM · Restricted Project, Restricted Project
NoQ added a comment to D66042: [analyzer] Analysis: Silence checkers.
In D66042#1624081, @NoQ wrote:

+@alexfh because clang-tidy now finally has a way of safely disabling core checkers without causing crashes all over the place! Would you like to take the same approach as we picked in scan-build, i.e. when the user asks to disable a core checker, silence it instead?

clang-tidy's native way to enable/disable diagnostics is applied to the static analyzer twice: first time when the list of enabled checkers is created (and then core checkers are always added to that list), and the second time - to each diagnostic generated by the static analyzer (this time the original check name filter is applied, without core checkers). This already works consistently from a user's perspective: https://gcc.godbolt.org/z/MEvSsP

Are there any benefits in using the new CheckerSilenceVector mechanism in clang-tidy?

Mon, Aug 12, 2:15 PM · Restricted Project, Restricted Project
NoQ added a comment to D65575: [analyzer] Mention whether an event is about a condition in a bug report part 1.

A little early, gentle ping :) I'm getting kinda paranoid with the size of the stack, and how much I struggled with commiting last time.

Mon, Aug 12, 12:52 PM · Restricted Project
NoQ added inline comments to D66014: [analyzer] Avoid unnecessary enum range check on LValueToRValue casts.
Mon, Aug 12, 12:24 PM · Restricted Project

Sun, Aug 11

NoQ added a comment to D66042: [analyzer] Analysis: Silence checkers.

StringRef("osx.cocoa.RetainCountBase").startswith("osx.cocoa.RetainCount") is true, so there is no real issue until we manage the prefixes well. I assume that the user who knows how to disable/silence a checker, knows where to read how to disable/silence it. At least with scan-build there will not be pitfalls with disabling the core modeling.

Sun, Aug 11, 8:35 PM · Restricted Project, Restricted Project
NoQ added a comment to D66042: [analyzer] Analysis: Silence checkers.

My idea here was that this new feature isn't going to be user-facing. We aren't promising to support all combinations of enabled-disabled-silenced-dependent-registercheckerhacks, but instead use the new feature when we know it'll do exactly what we want. It is going to be up to the user-facing UI to decide how to use this feature, but not up to the end-users who simply want to silence diagnostics.

Sun, Aug 11, 8:23 PM · Restricted Project, Restricted Project
NoQ added inline comments to D66014: [analyzer] Avoid unnecessary enum range check on LValueToRValue casts.
Sun, Aug 11, 8:13 PM · Restricted Project

Fri, Aug 9

NoQ added a reviewer for D66044: Extend -Wtautological-overlap-compare to accept negative values and integer conversions: NoQ.
Fri, Aug 9, 8:19 PM
NoQ added a reviewer for D66046: Add new tautological compare warning for bitwise-or with a non-zero constant: NoQ.
Fri, Aug 9, 8:19 PM
NoQ added a reviewer for D66045: Improve detection of same value in comparisons: NoQ.

I like where this is going! I'll add myself so that not to forget to review the CFG bits next week.

Fri, Aug 9, 8:16 PM
NoQ accepted D66042: [analyzer] Analysis: Silence checkers.

But i definitely like it how smooth this patch turned out to be!

Fri, Aug 9, 8:11 PM · Restricted Project, Restricted Project
NoQ added inline comments to D66042: [analyzer] Analysis: Silence checkers.
Fri, Aug 9, 8:06 PM · Restricted Project, Restricted Project
NoQ added inline comments to D65287: [analyzer][CFG] Don't track the condition of asserts.
Fri, Aug 9, 7:59 PM · Restricted Project, Restricted Project
NoQ added reviewers for D66042: [analyzer] Analysis: Silence checkers: alexfh, Szelethus.

+@alexfh because clang-tidy now finally has a way of safely disabling core checkers without causing crashes all over the place! Would you like to take the same approach as we picked in scan-build, i.e. when the user asks to disable a core checker, silence it instead?

Fri, Aug 9, 7:15 PM · Restricted Project, Restricted Project
NoQ added inline comments to D65182: [analyzer] Add fix-it hint support..
Fri, Aug 9, 7:05 PM · Restricted Project
NoQ updated the diff for D65182: [analyzer] Add fix-it hint support..

Fix un-singed options.

Fri, Aug 9, 7:04 PM · Restricted Project
NoQ updated the diff for D65361: [analyzer] Trust global initializers when analyzing main()..

Fxd!

Fri, Aug 9, 3:49 PM · Restricted Project
NoQ added inline comments to D65361: [analyzer] Trust global initializers when analyzing main()..
Fri, Aug 9, 3:49 PM · Restricted Project
NoQ updated the diff for D65182: [analyzer] Add fix-it hint support..
  • Hide all current fixits behind a checker option, have them off by default. They're not tested enough yet.
  • Suppress the dead stores fixit when the initializer has a side effect.
  • Implement fixits-as-remarks for testing purposes. This is better than nothing, but i'd rather have something similar to clang-tidy where the test applies fixits and tests the resulting code.
  • Add documentation for BugReport::addFixItHint().
Fri, Aug 9, 3:22 PM · Restricted Project
NoQ requested review of D64274: [analyzer] VirtualCallChecker overhaul..
Fri, Aug 9, 1:37 PM · Restricted Project
NoQ added a comment to D64274: [analyzer] VirtualCallChecker overhaul..

If either checker emits an error, the current implementation would say it originates from cplusplus.PureVirtualCall. Could you please create a new ProgramPointTag with the correct checker name for optin.cplusplus.VirtualCall? You may retrieve that name through CheckerManager::getCurrentCheckName().

Fri, Aug 9, 1:37 PM · Restricted Project
NoQ updated the diff for D65180: [analyzer] VirtualCallChecker: Improve warning messages..
  • Fix checker names for consumers that display them (eg., clang-tidy). Add a test.
  • Change bug descriptions: "Call to virtual function during construction or destruction" -> "Pure virtual method call" | "Unexpected loss of virtual dispatch"
  • Remove the suggestion to explicitly qualify the call. It is incorrect for nested stack frames, as it may affect the behavior when the same function is called from elsewhere.
  • Make the category reusable, fix capitalization to stay similar to other bug categories.
Fri, Aug 9, 1:33 PM · Restricted Project
NoQ accepted D65453: [analyzer] Improve the accuracy of the Clang call graph analysis.

This will slightly skew Static Analyzer exploration order, not necessarily in a good way, as default arguments and (sometimes) default initializers are not modeled properly. But this doesn't sound dangerous, because whether functions will be analyzed at top level doesn't depend on where they're positioned in the CallGraph, but instead on whether they've been actually visited during symbolic execution. So it's mostly about order rather than coverage. So i'm not worried.

Fri, Aug 9, 12:52 PM · Restricted Project
NoQ added a comment to D65453: [analyzer] Improve the accuracy of the Clang call graph analysis.

Do you have commit access or should i commit this for you?

Fri, Aug 9, 12:52 PM · Restricted Project

Thu, Aug 8

NoQ accepted D65889: [analyzer] CastValueChecker: Model castAs(), getAs().

Aha, ok!

Thu, Aug 8, 6:31 PM · Restricted Project, Restricted Project
NoQ added inline comments to D65889: [analyzer] CastValueChecker: Model castAs(), getAs().
Thu, Aug 8, 1:11 PM · Restricted Project, Restricted Project
NoQ added a comment to D65889: [analyzer] CastValueChecker: Model castAs(), getAs().

Looking good now! I still recommend eventually adding tests with casts of references.

Thu, Aug 8, 12:59 PM · Restricted Project, Restricted Project

Wed, Aug 7

NoQ added inline comments to D65212: [analyzer] Fix exporting SARIF files from scan-build on Windows.
Wed, Aug 7, 5:18 PM · Restricted Project
NoQ added inline comments to D65287: [analyzer][CFG] Don't track the condition of asserts.
Wed, Aug 7, 3:19 PM · Restricted Project, Restricted Project
NoQ accepted D65578: [analyzer][NFC] Make sure that the BugReport is not modified during the construction of non-visitor pieces.
Wed, Aug 7, 3:13 PM · Restricted Project, Restricted Project
NoQ accepted D65723: [analyzer][NFC] Add different interestingness kinds.
Wed, Aug 7, 3:10 PM · Restricted Project
NoQ accepted D65725: [analyzer] Mention whether an event is about a condition in a bug report part 2.

Accept as long as we agree on the wording as part of D65575.

Wed, Aug 7, 3:03 PM · Restricted Project
NoQ added a comment to D65724: [analyzer] Don't make ConditionBRVisitor events prunable when the condition is an interesting field.

Nice!!

Wed, Aug 7, 2:59 PM · Restricted Project
NoQ accepted D65461: [OPENMP]Add support for analysis of linear variables and step..

Thx again!

Wed, Aug 7, 2:29 PM · Restricted Project, Restricted Project
NoQ added inline comments to D65889: [analyzer] CastValueChecker: Model castAs(), getAs().
Wed, Aug 7, 1:54 PM · Restricted Project, Restricted Project
NoQ added inline comments to D65889: [analyzer] CastValueChecker: Model castAs(), getAs().
Wed, Aug 7, 10:48 AM · Restricted Project, Restricted Project
NoQ added inline comments to D65889: [analyzer] CastValueChecker: Model castAs(), getAs().
Wed, Aug 7, 10:39 AM · Restricted Project, Restricted Project

Tue, Aug 6

NoQ accepted D65663: [analyzer] ConditionBRVisitor: Fix HTML PathDiagnosticPopUpPieces.

Yay!

Tue, Aug 6, 5:37 PM · Restricted Project, Restricted Project
NoQ added inline comments to D65663: [analyzer] ConditionBRVisitor: Fix HTML PathDiagnosticPopUpPieces.
Tue, Aug 6, 4:43 PM · Restricted Project, Restricted Project

Fri, Aug 2

NoQ accepted D65484: [analyzer][NFC] Refactoring BugReporter.cpp P5.: Compact mile long function invocations into objects.

*bows down to those who bestow documentation upon this code*

Fri, Aug 2, 7:13 PM · Restricted Project, Restricted Project
NoQ accepted D65382: [analyzer][NFC] Refactoring BugReporter.cpp P4.: If it can be const, make it const.

Do it!

Fri, Aug 2, 6:47 PM · Restricted Project, Restricted Project
NoQ added a comment to D65663: [analyzer] ConditionBRVisitor: Fix HTML PathDiagnosticPopUpPieces.

Aha, aha, looks reasonable. If we're describing a variable, we should only highlight that variable.

Fri, Aug 2, 6:44 PM · Restricted Project, Restricted Project
NoQ added a comment to D62445: [test] Fix plugin tests.

Ugh, there seems to be one more forgotten buildbot with plugins problems: http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/6406/consoleText

Fri, Aug 2, 6:24 PM · Restricted Project, Restricted Project
NoQ accepted D65650: [Analyzer] Iterator Checkers - Fix for Crash on Iterator Differences.

Fair enough!

Fri, Aug 2, 4:51 PM · Restricted Project

Thu, Aug 1

NoQ accepted D65487: [analyzer][NFC] Refactoring BugReporter.cpp P6.: Completely get rid of interestingness propagation.

I thereby confirm that i've no idea what was this code about.

Thu, Aug 1, 1:59 PM · Restricted Project, Restricted Project
NoQ accepted D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value.

Sry, should have approved this ages ago >.<

Thu, Aug 1, 1:56 PM · Restricted Project, Restricted Project
NoQ added a comment to D65575: [analyzer] Mention whether an event is about a condition in a bug report part 1.

Fantastic! Let's open the wording bikeshed season?

Thu, Aug 1, 1:36 PM · Restricted Project
NoQ accepted D65587: [analyzer] StackFrameContext: Add NodeBuilderContext::blockCount() to its profile.

Ah, omission of the century :/

Thu, Aug 1, 12:40 PM · Restricted Project, Restricted Project

Wed, Jul 31

NoQ added a comment to D62525: [Analyzer] Add new visitor to the iterator checkers.

The problem is that the transition is added in the top level function but iterator position adjustments happen in the lower level ones. Data flow is one-way, top-down. For example, an insertion happens into a vector that invalidates all the iterators at and after the position where it is inserted. In this case handleInsert() calls a function that iterates all the active iterator positions and calls other one that invalidates the ones affected by the insertion. To propagate back the list of iterators invalidated would be too complex. Increments and decrements are even worse. Thus here the correct way seems to find the relevant transitions in a visitor instead of trying to figure out what note tags to add at each transition.

Mhm, I personally find this reasoning sufficient.

Wed, Jul 31, 3:59 PM · Restricted Project
NoQ added a comment to D65382: [analyzer][NFC] Refactoring BugReporter.cpp P4.: If it can be const, make it const.

Most managers are stateful because they also store the elements they manage (e.g. ProgramStateManager stores states, SValBuilder owns other managers such as SymbolManager that stores symbols etc.)

Wed, Jul 31, 8:00 AM · Restricted Project, Restricted Project

Mon, Jul 29

NoQ added a comment to D65182: [analyzer] Add fix-it hint support..

Hmm, I was thinking on the same for some time but I wonder how many checkers could find the correct fixits? Maybe the removal fixits of double frees or double file closes, but I am afraid that for most of our path-sensitive checks there are no obvious fixits. Even clang-tidy cannot provide a fixit for most of its findings. However, generally I like the idea, even for the few checkers it can be applied to.

Mon, Jul 29, 7:28 PM · Restricted Project
NoQ added inline comments to D65239: [analyzer] RangeConstraintManager: Apply constraint ranges of bitwise operations.
Mon, Jul 29, 7:17 PM · Restricted Project