/* We used to reject this because types differentiating only in TYPE_REF_CAN_ALIAS_ALL were deemed incompatible. */ /* { dg-do compile } */ struct sockaddr; struct sockaddr *f (void); struct __attribute__((may_alias)) sockaddr { int j; }; struct sockaddr * f (void) { return #ifndef __cplusplus (void *) #endif 0; }