Instead of calling __isascii and friends directly, what about hiding these all somewhere in libc++/include/support/newlib and libc++/src/support/newlib? That seems to be how they've been smoothing over differences in various libcs so far.