On Tue, 21 Jan 2020, Alexander Monakov wrote: > On Tue, 21 Jan 2020, Richard Biener wrote: > > > Fourth. That PNVI (I assume it's the whole pointer-provenance stuff) > > wants to get the "best" of both which can never be done since a compiler > > needs to have a way to be conservative - in this area it's conflicting > > conservative treatment which is impossible. > > This paragraph is unclear, I don't immediately see what the conflicting goals > are. The rest is clear enough given the previous discussions I saw. > > Did you mean the restriction that you cannot do arithmetic involving two > integers based on pointers, get a value corresponding to one of them, > cast it back and get a pointer suitable for accessing either of two > originally pointed-to objects? I don't see that as a conflict because > it places a restriction on users, not the compiler.
As far as I remember the discussions PNVI requires to track provenance for correctness, you may not miss or attach wrong provenance to a pointer and there's only "single" provenance, not "many" (aka, may point to A and B). I don't see how you can ever implement that. But maybe I'm misremembering. Richard.