Page MenuHomePhabricator
Feed Advanced Search

Today

vsavchenko added inline comments to D107366: [analyzer] Adjust JS code of analyzer's HTML report for IE support..
Thu, Aug 5, 2:13 AM · Restricted Project
vsavchenko added a comment to D107366: [analyzer] Adjust JS code of analyzer's HTML report for IE support..

Now it captures (and makes bold) one extra arrow from the previous note.
Correct example attached!

Thu, Aug 5, 2:12 AM · Restricted Project
vsavchenko requested changes to D107366: [analyzer] Adjust JS code of analyzer's HTML report for IE support..

Oh, wait! I found a bug!

Thu, Aug 5, 2:09 AM · Restricted Project

Yesterday

vsavchenko accepted D107366: [analyzer] Adjust JS code of analyzer's HTML report for IE support..

Works in Firefox on macOS as well!

Great!
@vsavchenko , any suggestions?

Wed, Aug 4, 1:59 PM · Restricted Project
vsavchenko added a comment to D107366: [analyzer] Adjust JS code of analyzer's HTML report for IE support..

Can you please also attach an HTML file just to verify that it works?

Wed, Aug 4, 4:00 AM · Restricted Project
vsavchenko added a comment to D106823: [analyzer][solver] Iterate to a fixpoint during symbol simplification with constants.

Looking great!
I have a couple of nit picks and I kind of want to check that it doesn't affect the performance on a different set of projects as well.

Wed, Aug 4, 2:17 AM · Restricted Project

Tue, Aug 3

vsavchenko added inline comments to D104647: [analyzer] Support SVal::getType for pointer-to-member values.
Tue, Aug 3, 7:57 AM · Restricted Project
vsavchenko added inline comments to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.
Tue, Aug 3, 7:40 AM · Restricted Project
vsavchenko added a comment to D107339: [analyzer] Retrieve a character from StringLiteral as an initializer for constant arrays..

That looks interesting!
Can you please add tests, though?

Tue, Aug 3, 4:08 AM · Restricted Project

Mon, Aug 2

vsavchenko committed rG9e02f58780ab: [analyzer] Highlight arrows for currently selected event (authored by vsavchenko).
[analyzer] Highlight arrows for currently selected event
Mon, Aug 2, 9:32 AM
vsavchenko committed rG97bcafa28deb: [analyzer] Add control flow arrows to the analyzer's HTML reports (authored by vsavchenko).
[analyzer] Add control flow arrows to the analyzer's HTML reports
Mon, Aug 2, 9:32 AM
vsavchenko closed D92928: [analyzer] Highlight arrows for currently selected event.
Mon, Aug 2, 9:31 AM · Restricted Project
vsavchenko closed D92639: [analyzer] Add control flow arrows to the analyzer's HTML reports.
Mon, Aug 2, 9:31 AM · Restricted Project
vsavchenko added a comment to D92928: [analyzer] Highlight arrows for currently selected event.

Or, we can find another symbiotic way. You can make changes the way without painfull part of thinking about IE. And I will prepare the next patch adjusting it. Thus, revisions would be smaller. That's would be easier for you to test all the things before the load. I will take a charge for IE part on my own and prepare a new revision.

Mon, Aug 2, 9:13 AM · Restricted Project

Thu, Jul 29

vsavchenko accepted D107026: [Clang] Add support for attribute 'escape'.

Awesome, I have nothing to add at this point!
Let's still wait for @aaron.ballman to check it.

Thu, Jul 29, 1:55 PM · Restricted Project
vsavchenko added inline comments to D105821: [analyzer] [WIP] Model destructor for std::unique_ptr.
Thu, Jul 29, 5:52 AM · Restricted Project
vsavchenko added inline comments to D105821: [analyzer] [WIP] Model destructor for std::unique_ptr.
Thu, Jul 29, 4:13 AM · Restricted Project
vsavchenko added a comment to D107026: [Clang] Add support for attribute 'escape'.

Great job! It looks good, but I have a couple of minor tweaks.

Thu, Jul 29, 4:03 AM · Restricted Project

Tue, Jul 27

vsavchenko accepted D106739: [analyzer] Add option to SATest.py for extra checkers.
Tue, Jul 27, 7:09 AM · Restricted Project
vsavchenko added a comment to D106739: [analyzer] Add option to SATest.py for extra checkers.

Looks good! Thanks!

Tue, Jul 27, 7:06 AM · Restricted Project

Fri, Jul 23

vsavchenko accepted D106285: [Analyzer][solver] Fix inconsistent equivalence class data.

Oh, I didn't accept it? Sorry!

Fri, Jul 23, 2:52 AM · Restricted Project

Thu, Jul 22

vsavchenko added a comment to D106131: Fix FindZ3.cmake to support static libraries and Windows.

It looks reasonable to me, but I can't say that I'm an expert here, and I'm definitely not a frequent z3 user.

Thu, Jul 22, 4:00 AM · Restricted Project
vsavchenko accepted D106416: [analyzer] Fix build dependency issues for SATest.

Awesome! Thanks!

Thu, Jul 22, 2:01 AM · Restricted Project

Wed, Jul 21

vsavchenko added a comment to D106296: [analyzer] Fix for faulty namespace test in SmartPtrModelling.

Can we please land the fix?

Wed, Jul 21, 3:34 AM · Restricted Project

Tue, Jul 20

vsavchenko added a comment to D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator.

Here is the proof of correctness of the algorithm using Z3: https://gist.github.com/weirdsmiley/ad6a9dbf3370e96d29f9e90068931d25

Tue, Jul 20, 11:58 PM · Restricted Project
vsavchenko added inline comments to D106367: [ADT][NFC] Correct the wrong header comment of ImmutableSet::add_internal.
Tue, Jul 20, 8:52 AM · Restricted Project
vsavchenko added a comment to D92928: [analyzer] Highlight arrows for currently selected event.

I want to say that I really appreciate the effort you put into finding all the workarounds for IE, but it makes adding new features here incredibly painful because IE doesn't seem to support anything. And the majority of developers (on Linux and on MacOS) have literally no way to test it. What we gain from supporting IE for non-existing users, we lose in the ability to actually improve this code!

Tue, Jul 20, 7:59 AM · Restricted Project
vsavchenko added a comment to D92928: [analyzer] Highlight arrows for currently selected event.

Maybe I'm missing something, but do we really need to care about IE? The last version was released in 2013, and even Microsoft itself stops supporting IE. Why should we care? Is there anyone who uses old deprecated browser that is not maintained? classList thing was here for almost 4 years and no one seemed to care. Am I missing something here?

Tue, Jul 20, 7:52 AM · Restricted Project
vsavchenko accepted D106296: [analyzer] Fix for faulty namespace test in SmartPtrModelling.

Great, LGTM!
But let's wait for @xazax.hun anyways

Tue, Jul 20, 3:02 AM · Restricted Project
vsavchenko added inline comments to D106296: [analyzer] Fix for faulty namespace test in SmartPtrModelling.
Tue, Jul 20, 2:53 AM · Restricted Project
vsavchenko added inline comments to D106296: [analyzer] Fix for faulty namespace test in SmartPtrModelling.
Tue, Jul 20, 1:52 AM · Restricted Project
vsavchenko added a comment to D106296: [analyzer] Fix for faulty namespace test in SmartPtrModelling.

Also, I tested this fix on a set of open-source projects and I don't see any problems.

Tue, Jul 20, 1:15 AM · Restricted Project
vsavchenko added a comment to D106285: [Analyzer][solver] Fix inconsistent equivalence class data.

Ah, I see now! I think we could've put together a somewhat easier test knowing what's wrong, but it's not important at all.
Thanks for addressing this issue!

Tue, Jul 20, 1:12 AM · Restricted Project
vsavchenko added a comment to D106136: [Analyzer][solver] Fix equivalence class invariant violation in removeDeadBindings.

Thanks for taking your time to take a look. And I accept your statements. Nevertheless, let me explain my motivation.

I thought that a class is trivial if it has only one member. And it seemed perfectly logical to not store equivalence classes with one member. I.e a equals to a does not hold any meaningful information it just takes precious memory. When we add a new constraint we take careful steps to avoid adding a new class with one member. However, when remove dead kicks in, suddenly we end up having classes stored with one member, which is a somewhat inconsistent design IMHO. Perhaps some better documentation could have helped.

Representative symbol gives its equivalence class an ID. We use this ID for everything, for comparing and for mapping. Since we live in a persistent world, we can't just change this ID at some point, it will basically mean that we want to replace a class with another class. So, all maps where this class participated (constraints, class, members, disequality) should remove the old class and add the new class. This is a huge burden. You need to carefully do all this, and bloat existing data structures.

Trivial class is an optimization for the vast majority of symbols that never get into any classes. We still need to associate constraints with those. This is where implicit Symbol to Class conversion comes in handy.

Now let's imagine that something else is merged into it. We are obliged to officially map the symbol to its class, and the class to its members. When this happens, it goes into the data structure FOREVER. And when in the future, with only one member, instead of keeping something that we already have from other versions of the data structure, you decide to remove the item from the class map, you actually use more memory when it was there! This is how persistent data structures work, different versions of the same data structure share data. And I'm not even talking here about the fact that you now need to replace the class with one ID with the class with another ID in every relationship.

You can probably measure memory footprint in your example and see it for yourself.

Yeah, makes sense. Thanks for taking more time for further explanations. Still, IMHO, the definition of a trivial class needs a clear written documentation in the code itself, so other developers can easier understand and maintain this code. I am going to create an NFC patch that summarizes this discussion in a comment attached to the isTrivial function.

Tue, Jul 20, 1:08 AM · Restricted Project
vsavchenko added inline comments to D106296: [analyzer] Fix for faulty namespace test in SmartPtrModelling.
Tue, Jul 20, 1:05 AM · Restricted Project

Fri, Jul 16

vsavchenko added a comment to D106136: [Analyzer][solver] Fix equivalence class invariant violation in removeDeadBindings.

Thanks for taking your time to take a look. And I accept your statements. Nevertheless, let me explain my motivation.

I thought that a class is trivial if it has only one member. And it seemed perfectly logical to not store equivalence classes with one member. I.e a equals to a does not hold any meaningful information it just takes precious memory. When we add a new constraint we take careful steps to avoid adding a new class with one member. However, when remove dead kicks in, suddenly we end up having classes stored with one member, which is a somewhat inconsistent design IMHO. Perhaps some better documentation could have helped.

Fri, Jul 16, 10:22 AM · Restricted Project
vsavchenko requested changes to D106136: [Analyzer][solver] Fix equivalence class invariant violation in removeDeadBindings.
Fri, Jul 16, 3:14 AM · Restricted Project
vsavchenko added a comment to D106136: [Analyzer][solver] Fix equivalence class invariant violation in removeDeadBindings.

Thanks for working on it, but it is a quite large change that I don't get the motivation for (it doesn't even fix the recently found bug).

Fri, Jul 16, 3:10 AM · Restricted Project
vsavchenko added inline comments to D106102: [analyzer][solver] Introduce reasoning for not equal to operator.
Fri, Jul 16, 1:53 AM · Restricted Project

Thu, Jul 15

vsavchenko added inline comments to D103096: [analyzer] Implement cast for ranges of symbolic integers..
Thu, Jul 15, 9:36 AM · Restricted Project
vsavchenko added inline comments to D103096: [analyzer] Implement cast for ranges of symbolic integers..
Thu, Jul 15, 9:15 AM · Restricted Project
vsavchenko accepted D106063: [Analyzer][solver] Remove unused functions.

Yes, let's do this! Thanks for addressing it!

Thu, Jul 15, 6:53 AM · Restricted Project
vsavchenko added a comment to D103096: [analyzer] Implement cast for ranges of symbolic integers..

Made ignoreCast non-virtual.
P.S. IMO, this change is not something that can be taken as a pattern, though.

Thu, Jul 15, 12:40 AM · Restricted Project

Wed, Jul 14

vsavchenko added inline comments to D103096: [analyzer] Implement cast for ranges of symbolic integers..
Wed, Jul 14, 10:38 AM · Restricted Project
vsavchenko added a comment to D103096: [analyzer] Implement cast for ranges of symbolic integers..
// 1. `VisitSymbolCast`.
// Get a range for main `reg_$0<int x>` - [-2147483648, 2147483647]
// Cast main range to `short` - [-2147483648, 2147483647] -> [-32768, 32767].
// Now we get a valid range for further bifurcation - [-32768, 32767].
Wed, Jul 14, 4:24 AM · Restricted Project

Tue, Jul 13

vsavchenko committed rG60bd8cbc0c84: [analyzer][solver][NFC] Refactor how we detect (dis)equalities (authored by vsavchenko).
[analyzer][solver][NFC] Refactor how we detect (dis)equalities
Tue, Jul 13, 11:01 AM
vsavchenko committed rGf26deb4e6ba7: [analyzer][solver][NFC] Introduce ConstraintAssignor (authored by vsavchenko).
[analyzer][solver][NFC] Introduce ConstraintAssignor
Tue, Jul 13, 11:01 AM
vsavchenko closed D105693: [analyzer][solver][NFC] Refactor how we detect (dis)equalities.
Tue, Jul 13, 11:01 AM · Restricted Project
vsavchenko closed D105692: [analyzer][solver][NFC] Introduce ConstraintAssignor.
Tue, Jul 13, 11:01 AM · Restricted Project
vsavchenko added a comment to D103096: [analyzer] Implement cast for ranges of symbolic integers..

OK, thanks for putting a summary. I now got a good idea why you need both.
At the same time, take a look at D105692. I'm about to land it and I think it's going to be useful for you.

Tue, Jul 13, 10:40 AM · Restricted Project
vsavchenko added inline comments to D105693: [analyzer][solver][NFC] Refactor how we detect (dis)equalities.
Tue, Jul 13, 10:35 AM · Restricted Project
vsavchenko updated the diff for D105693: [analyzer][solver][NFC] Refactor how we detect (dis)equalities.

Fix comments

Tue, Jul 13, 10:35 AM · Restricted Project
vsavchenko updated the diff for D105692: [analyzer][solver][NFC] Introduce ConstraintAssignor.

Fix comments

Tue, Jul 13, 10:32 AM · Restricted Project
vsavchenko added inline comments to D103096: [analyzer] Implement cast for ranges of symbolic integers..
Tue, Jul 13, 8:01 AM · Restricted Project
vsavchenko added inline comments to D103096: [analyzer] Implement cast for ranges of symbolic integers..
Tue, Jul 13, 6:59 AM · Restricted Project
vsavchenko added a comment to D103096: [analyzer] Implement cast for ranges of symbolic integers..

I'll allocate some time to get into your summary, but for now here are my concerns about SymbolRangeInferrer and VisitSymbolCast.

Tue, Jul 13, 6:48 AM · Restricted Project
vsavchenko accepted D105421: [analyzer] Handle << operator for std::unique_ptr.

Removed stupid mistakes

Tue, Jul 13, 2:36 AM · Restricted Project

Mon, Jul 12

vsavchenko committed rG1af97c9d0b02: [analyzer] LoopUnrolling: fix crash when a loop counter is captured in a lambda… (authored by AbbasSabra).
[analyzer] LoopUnrolling: fix crash when a loop counter is captured in a lambda…
Mon, Jul 12, 7:06 AM
vsavchenko closed D102273: [analyzer] LoopUnrolling: fix crash when a loop counter is captured in a lambda by reference.
Mon, Jul 12, 7:06 AM · Restricted Project
vsavchenko added inline comments to D105421: [analyzer] Handle << operator for std::unique_ptr.
Mon, Jul 12, 6:30 AM · Restricted Project

Fri, Jul 9

vsavchenko added a comment to D103096: [analyzer] Implement cast for ranges of symbolic integers..

@vsavchenko

Why did you write it this way!?

I want the map contains only valid constraints at any time, so we can easely get them without traversing with all variants intersecting with each other. I'm gonna move updateExistingConstraints logic to VisitSymbolCast. I think your suggestion can even improve the feature and cover some more cases. I'll add more tests in the next update. Thanks!

Fri, Jul 9, 10:56 AM · Restricted Project
vsavchenko added inline comments to D105692: [analyzer][solver][NFC] Introduce ConstraintAssignor.
Fri, Jul 9, 9:00 AM · Restricted Project
vsavchenko added a comment to D103096: [analyzer] Implement cast for ranges of symbolic integers..

@vsavchenko

I still want to hear a good explanation why is it done this way. Here c is mapped to (char)x, and we have [-10, 10] directly associated with it, but we also have (short)x associated with [8, 8]. Why can't VisitSymbolCast look up constraints for (short)x it already looks up for constraints for different casts already.

Hm, you've confused me. I'll make some debugging and report.

Fri, Jul 9, 8:09 AM · Restricted Project
vsavchenko added a comment to D103096: [analyzer] Implement cast for ranges of symbolic integers..

Generally, with this patch we kinda have several constraints for each cast of a single symbol. And we shall care for all of that constraints and timely update them (if possible).
For instance, we have int x and meet casts of this symbol in code:

int x;
(char)x; // we can reason about the 1st byte
(short)x; // we can reason about the 2 lowest bytes
(ushort)x; // we can reason about the 2 lowest bytes (in this case we may not store for unsigned separately, as we already stored 2 bytes for signed)

That's like we have a knowledge of a lower part of the integer. And every time we have a new constraints, for example, for (short)x; (aka 2 bytes) then we have to update all the constraints that have two bytes or lower ((char)xin this case) as well to make them consistent.

Fri, Jul 9, 8:07 AM · Restricted Project
vsavchenko added a comment to D103096: [analyzer] Implement cast for ranges of symbolic integers..

That's not the question I'm asking. Why do you need to set constraints for other symbolic expressions, when SymbolicInferrer can look them up on its own? Which cases will fail if we remove that part altogether?

I see. Here is what fails in case if we don't update other constraints:

void test(int x) {
  if ((char)x > -10 && (char)x < 10) {
    if ((short)x == 8) {
      // If you remove updateExistingConstraints,
      // then `c` won't be 8. It would be [-10, 10] instead.
      char c = x;
      if (c != 8)
        clang_analyzer_warnIfReached(); // should no-warning, but fail
    }
  }
}
Fri, Jul 9, 7:43 AM · Restricted Project
vsavchenko requested review of D105693: [analyzer][solver][NFC] Refactor how we detect (dis)equalities.
Fri, Jul 9, 4:51 AM · Restricted Project
vsavchenko requested review of D105692: [analyzer][solver][NFC] Introduce ConstraintAssignor.
Fri, Jul 9, 4:50 AM · Restricted Project
vsavchenko added a comment to D103096: [analyzer] Implement cast for ranges of symbolic integers..
Fri, Jul 9, 3:47 AM · Restricted Project
vsavchenko added a comment to D103096: [analyzer] Implement cast for ranges of symbolic integers..

Can you please explain why you do the same thing in two different ways?

Fri, Jul 9, 3:11 AM · Restricted Project
vsavchenko accepted D102273: [analyzer] LoopUnrolling: fix crash when a loop counter is captured in a lambda by reference.

Great! Thanks for addressing all of the comments!

Fri, Jul 9, 2:25 AM · Restricted Project
vsavchenko added a comment to D105421: [analyzer] Handle << operator for std::unique_ptr.

Great, thanks for addressing my comments! I still have a couple of minor suggestions though.

Fri, Jul 9, 1:35 AM · Restricted Project

Thu, Jul 8

vsavchenko added a comment to D105421: [analyzer] Handle << operator for std::unique_ptr.

Good job, great to see how you are going through the whole list of methods!

Thu, Jul 8, 1:19 AM · Restricted Project

Wed, Jul 7

vsavchenko accepted D105447: [analyzer] Allow cmake options to be passed to satest container.

Awesome, thanks!

Wed, Jul 7, 11:07 AM · Restricted Project
vsavchenko added a comment to D105552: [analyzer][NFC] NoStoreFuncVisitor: Compact parameters for region pretty printing into a class.

Honestly, I don't really see how this is better.
IMO Printer is something that prints, it should be everything that it does. It can accept different parameters tweaking how it prints in its constructor, but if it is a region printer, you should give it a region, and it should print it. It's not a one-use thing.

Wed, Jul 7, 7:54 AM · Restricted Project

Jul 6 2021

vsavchenko added inline comments to D103096: [analyzer] Implement cast for ranges of symbolic integers..
Jul 6 2021, 9:07 AM · Restricted Project
vsavchenko added a comment to D103096: [analyzer] Implement cast for ranges of symbolic integers..

This is a very complicated patch, I think we'll have to iterate on it quite a lot.
Additionally, we have to be sure that this doesn't crash our performance.

Jul 6 2021, 4:12 AM · Restricted Project
vsavchenko added inline comments to D105436: [analyzer][solver] Use all sources of constraints.
Jul 6 2021, 3:10 AM · Restricted Project
vsavchenko added inline comments to D105436: [analyzer][solver] Use all sources of constraints.
Jul 6 2021, 2:46 AM · Restricted Project
vsavchenko committed rG6017cb31bb35: [analyzer][solver] Use all sources of constraints (authored by vsavchenko).
[analyzer][solver] Use all sources of constraints
Jul 6 2021, 1:09 AM
vsavchenko closed D105436: [analyzer][solver] Use all sources of constraints.
Jul 6 2021, 1:09 AM · Restricted Project
vsavchenko added inline comments to D105447: [analyzer] Allow cmake options to be passed to satest container.
Jul 6 2021, 12:52 AM · Restricted Project

Jul 5 2021

vsavchenko added a comment to D105436: [analyzer][solver] Use all sources of constraints.

I compared issues produced by this patch to the issues produced before that on all projects from clang/utils/analyzer/projects, and didn't find any difference.

Jul 5 2021, 9:41 AM · Restricted Project
vsavchenko requested review of D105436: [analyzer][solver] Use all sources of constraints.
Jul 5 2021, 9:37 AM · Restricted Project

Jul 2 2021

vsavchenko added inline comments to D105273: [analyzer] Introduce range-based reasoning for subtraction operator.
Jul 2 2021, 11:56 AM · Restricted Project
vsavchenko added inline comments to D105340: [analyzer] Produce SymbolCast symbols for integral types in SValBuilder::evalCast.
Jul 2 2021, 8:17 AM · Restricted Project
vsavchenko added a comment to D105340: [analyzer] Produce SymbolCast symbols for integral types in SValBuilder::evalCast.

Also, although the test is very extensive, it is pretty lopsided at the same time. C-style cast is only one case out of the myriad of all explicit and, more importantly, implicit casts.

Jul 2 2021, 8:13 AM · Restricted Project
vsavchenko added a comment to D105273: [analyzer] Introduce range-based reasoning for subtraction operator.

Hey Manas! Great job, you put this together real quick!

Jul 2 2021, 8:10 AM · Restricted Project
vsavchenko added inline comments to D105340: [analyzer] Produce SymbolCast symbols for integral types in SValBuilder::evalCast.
Jul 2 2021, 6:29 AM · Restricted Project
vsavchenko added inline comments to D105340: [analyzer] Produce SymbolCast symbols for integral types in SValBuilder::evalCast.
Jul 2 2021, 4:14 AM · Restricted Project
vsavchenko added a comment to D105340: [analyzer] Produce SymbolCast symbols for integral types in SValBuilder::evalCast.

Hey, thanks for starting on splitting into more pieces!

Jul 2 2021, 3:29 AM · Restricted Project

Jun 30 2021

vsavchenko accepted D105167: [analyzer] Fix HTML report deduplication..

This is incredible! Thanks for addressing it! I've encountered this many times.

Jun 30 2021, 6:42 AM
vsavchenko added inline comments to D105125: [analyzer][NFC] Inline ExprEngine::handleLVectorSplat().
Jun 30 2021, 6:28 AM · Restricted Project
vsavchenko added inline comments to D105125: [analyzer][NFC] Inline ExprEngine::handleLVectorSplat().
Jun 30 2021, 5:41 AM · Restricted Project
vsavchenko added inline comments to D105125: [analyzer][NFC] Inline ExprEngine::handleLVectorSplat().
Jun 30 2021, 4:39 AM · Restricted Project
vsavchenko added inline comments to D105125: [analyzer][NFC] Inline ExprEngine::handleLVectorSplat().
Jun 30 2021, 3:46 AM · Restricted Project
vsavchenko added a comment to D104550: [analyzer] Implement getType for SVal.

@vsavchenko One of the added tests is failing on our 32 bit Armv7 Thumb bot: https://lab.llvm.org/buildbot/#/builders/170/builds/61

/home/tcwg-buildslave/worker/clang-thumbv7-full-2stage/llvm/clang/unittests/StaticAnalyzer/SValTest.cpp:169: Failure
Expected equality of these values:
  Context.UnsignedLongTy
    Which is: unsigned long
  A.getType(Context)
    Which is: unsigned int
[  FAILED  ] SValTest.GetLocAsIntType (22 ms)
[----------] 1 test from SValTest (22 ms total)

A 32/64 bit issue?

Jun 30 2021, 3:06 AM · Restricted Project
vsavchenko committed rGc818cb96ad4a: [analyzer][satest][NFC] Relax dependencies requirements (authored by vsavchenko).
[analyzer][satest][NFC] Relax dependencies requirements
Jun 30 2021, 2:50 AM
vsavchenko added a comment to D105125: [analyzer][NFC] Inline ExprEngine::handleLVectorSplat().

+1 for fallthrough

Jun 30 2021, 1:38 AM · Restricted Project
vsavchenko accepted D105017: [analyzer] LValueToRValueBitCasts should evaluate to an r-value.

Oh, wow, that's awesome! Thanks!

Jun 30 2021, 1:37 AM · Restricted Project

Jun 29 2021

vsavchenko accepted D105101: [analyzer] Make CheckerManager::hasPathSensitiveCheckers() complete again.

Great! Thanks for the detailed explanation in your Summary.
I agree that there should be a runtime check, but it doesn't seem viable as long as Checker.h is organized the way it is organized now.

Jun 29 2021, 6:48 AM · Restricted Project