As seen here http://source.winehq.org/source/include/winnt.h#L152, we seem to be going through a lot of trouble to enable anonymous structs and unions for those compilers that support it. Why do this, especially when we need to name them anyway for those that don't?
My reason for asking is that I'm doing a casual ANSI sweep of the code, and anonymous unions are causing problems (they're not allowed). I could just put in a test for __STRICT_ANSI__ and disable them if found, but that feels like gaming the system, and it's not a standard macro anyway. The best way (other than just naming all the structs/unions) is to test for __STDC__, but GCC includes that one even when not using -ansi mode.
Thoughts?