The GCC build farm has just received some SPARC hardware new enough to run modern Solaris (hostname gcc106), so if wrasse were moved over there we could finally assume all systems have POSIX 2008 (AKA SUSv4)'s locale_t.
It's slightly annoying that Windows has locale_t but doesn't have uselocale(). It does have thread-local locales via another API, though. I wonder how hard it would be to get to a point where all systems have uselocale() too, by supplying a replacement. I noticed that some other projects eg older versions of LLVM libcxx do that. I see from one of their discussions[1] that it worked, except that thread-local locales are only available with one of the MinGW C runtimes and not another. We'd have to get to the bottom of that. [1] https://reviews.llvm.org/D40181