https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116983
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I'm not sure we can derive anything from the pointer type (especially but not only because pointer conversions are useless in GIMPLE), like we e.g. try not to derive alignment from it. A lot of code will simply cast pointers to other pointer types, what really matters is which pointer types have been dereferenced. In the FAM case &p->array[0] or similar represents that dereferencing, the pointer then has to point to the FAM object, but mere declaration of pointer type on function arg doesn't mean much, there could be cast in the caller and in the callee too.