The `#else` case (waaaaaaay down at the bottom) already does this... my mistake.
> It was my belief that the underlying OS/C library would provide these defines. > My goal was to get the same results as if you were calling islower, etc in > the C library. > > Is that not true for Android, etc? For Android and newlib the problem is that the mask of the table isn't wide enough, so we run in to cases where we don't have `m & n == 0` for any `m` and `n` in the `ctype_base` masks. `_CTYPE_R`, for example, is `_CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_D | _CTYPE_B`, rather than just `1 << 1`. For those implementations that have this issue, we can just fall through to the `#else` case and use the defaults. jroelofs: you should submit that test case to keep us honest. I think we already have some tests that do that, but they're in tests that require more locale support (any) than some platforms (bionic, newlib) provide, so they don't get run. REPOSITORY rL LLVM http://reviews.llvm.org/D8129 EMAIL PREFERENCES http://reviews.llvm.org/settings/panel/emailpreferences/ _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
