brunodf-snps wrote:

> We're documenting a weaker guarantee than we implement, yes.

OK, thanks. I guess the wording "in Clang 20, [...] Clang now distinguishes 
different pointers by their pointee type, except as limited by the relaxations 
around qualifiers and `void*` described above" led me to believe this was 
intended as a description of what was currently implemented.

Anyway, and more importantly, does the choice to document a weaker guarantee 
mean that you expect that the TBAA implementation can be further refined in 
this respect? (Which does not seem hard.) Or is it too dangerous for Clang to 
have stricter aliasing rules than GCC? GCC does seem to consider `int*` and 
`void**` to alias, or so I conclude from the extra load of `*p1` in test1 here: 
https://godbolt.org/z/5jjh8MrP8


https://github.com/llvm/llvm-project/pull/122116
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to