[PATCH] D110625: [analyzer] canonicalize special case of structure/pointer deref

Balázs Benics via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 1 02:47:33 PDT 2021


steakhal added a comment.

In D110625#3035843 <https://reviews.llvm.org/D110625#3035843>, @ASDenysPetrov wrote:

> In D110625#3035616 <https://reviews.llvm.org/D110625#3035616>, @steakhal wrote:
>
>> WDYT Denys? Btw does the SVval::getType return a canonical type in all cases?
>
> `SVal::getType` returns a `QualType` which can be aliased and cv-qualified. So, it may mismatch in comparison `BT->getPointeeType() == elementType`. That is my concern.

I thought that `SVal::getType` should return an already canonical `QualType`. If it doesn't do that we would need to do canonicalization at each callsite, which is less than ideal IMO.
If it's not yet canonical, we should probably canonicalize within the `getType()` function probably. WDYT?

---

In D110625#3035866 <https://reviews.llvm.org/D110625#3035866>, @vabridgers wrote:

> I moved the test cases from ptr-arith.cpp to ptr-arith - using to typedef, and created an extra test case that uses const. I believe this may address all concerns discussed thus far? Please let me know if we need anything more and I'll get it done. Best!

I think your change is good, but we need to sort some things out before moving forward with that.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D110625



More information about the cfe-commits mailing list