steakhal marked an inline comment as done.
steakhal added a comment.

In D115149#3182196 <https://reviews.llvm.org/D115149#3182196>, @ASDenysPetrov 
wrote:

> @steakhal
> Please provide a case which asserts before your patch.

I don't get this one. I've provided a bunch of tests, even annotated with 
`no-crash` comments where we crashed prior to this change.

In D115149#3181552 <https://reviews.llvm.org/D115149#3181552>, @NoQ wrote:

>> There is the reinterpret-cast operation which is capable of crossing these 
>> two domains, producing an expression that can participate in arithmetic 
>> operations, but on the abstract domain side, we still stick to Locs
>
> Such cast should turn the `loc::ConcreteInt` into a `nonloc::ConcreteInt` 
> with the same integral value.
>
> The distinction between Loc and NonLoc is very important. It's at the core of 
> our type correctness. We should fight tooth and nail to preserve it because 
> assertions about these things (such as the one removed here) help us discover 
> a lot of bugs in other places (such as genuinely misplacing a value).

Yes, it makes sense to look for bugs in the cast handling. Ideally, we should 
not transform `loc::ConcreteInt` to `nonloc::ConcreteInt` by hand. The 
reinterpret-cast should have done this transformation for us.
If that is fixed, I'm fine reverting this one. Sorry for rushing.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D115149/new/

https://reviews.llvm.org/D115149

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to