global anonymous unions must be declared static
An anonymous union has global scope but is not declared static.
Example
union { int i; }; // error, not static static union { int j; }; // OK union U { int i; }; // OK, not anonymous