ymandel added a comment.

another thought: please verify that `createStorageLoction` and `createValue` 
can correctly handle union types. Otherwise, you'll likely end up with other 
(surprising) crashes in the system. E.g. 
https://github.com/llvm/llvm-project/blob/781eabeb40b8e47e3a46b0b927784e63f0aad9ab/clang/lib/Analysis/FlowSensitive/Transfer.cpp#L457
assumes that the base of a member expression is an `AggregateStorageLocation`, 
which means that in the case that `this` is such a base and it's a union type, 
you need to be sure that `createStorageLocation` has allocated an 
`AggregateStorageLocation`.

Unfortunately, we don't have written down anywhere (aside from the code itself) 
the invariants we require.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D140696

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

Reply via email to