https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83164
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 42810 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42810&action=edit gcc8-pr83164.patch So like this? It makes no sense to call types_compatible_p or 2x useless_type_conversion_p if TYPE_MODE is different, because we know the result - it will not be compatible. And anything else needs to be allowed due to the propagation of pointers.