https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117164
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- For the aggregate return the type of the LHS and the type of the declared return type have to be compatible according to TYPE_CANONICAL.