Disagreed. These compatibility functions only show up with both: a) the compiler provides __has_include, and b) the platform has a newlib.h that defines _NEWLIB_VERSION.... so there is no silent surprise here, unless someone decides to add xlocale support to newlib.