Is it legal to have fields with the same name across different anonymous structures inside one union?
union Foo
{
    struct
    {
        int bar;
    };
    struct
    {
        int bar;
    };
};
MSVC does in fact allow this while GCC doesn't.
 
    