https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112716
uecker at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |uecker at gcc dot gnu.org --- Comment #2 from uecker at gcc dot gnu.org --- . Inside the same TU there are different types. But note that this is across TUs where the structs with same tag and and compatible members are supposed to be compatible (they could come from a shared header). I would assume these rules hold also for the GNU extension. In C23 the structs will be compatible also inside a TU (without GNU extensions, but I I think the same rules should then also apply to structs with the GNU extension).