https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118765
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Created attachment 60390 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60390&action=edit simplified testcase If we don't have WORKS defined, then GCC works. Once you add another definition of `union bar` or `q_t` after the 2nd one compiling starts to fail. That is the 3rd definition of either will fail but 2 will work.