gamesh411 wrote: My idea is to move the encoding of UB thanks to cross-subobject indexing out from the `RegionStore` and make it a concern of the checkers (and anyway, the encoding of this information is not exploited as of now, as the cross-subobject UB is not reported in any way before or after this change, so we are not losing anything by removing this responsibility/capability from the `RegionStore`).
Reasons for putting this change in the `RegionStore` and not in the checker code itself: 1. While technically UB, it seems to be a widely used pattern in real-world C codebases to depend on the flat layout of a multidimensional declaration being there and available. 2. It would be beneficial to model memory in the `RegionStore` without the added complication of determining whether a particular way of accessing that region is allowed by the language. https://github.com/llvm/llvm-project/pull/200044 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
