http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48014
--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot com> 2011-03-07 16:45:54 UTC --- Under POSIX, *_t is part of the implementation namespace rather than the user namespace if any POSIX header is included. (I don't know why this particular non-POSIX header ends up getting included.)