diff --git a/libcxx/include/__locale b/libcxx/include/__locale index c5c078756ce3..5ccd795b8774 100644 --- a/libcxx/include/__locale +++ b/libcxx/include/__locale @@ -356,7 +356,7 @@ public: #elif defined(__EMSCRIPTEN__) || defined(__NetBSD__) typedef unsigned short mask; #elif defined(__ANDROID__) - typedef char mask; + typedef unsigned char mask; #endif static const mask space = _CTYPE_S; static const mask print = _CTYPE_R; diff --git a/libcxx/src/locale.cpp b/libcxx/src/locale.cpp index 148fe42a2f76..e626528fc566 100644 --- a/libcxx/src/locale.cpp +++ b/libcxx/src/locale.cpp @@ -1038,7 +1038,7 @@ ctype::classic_table() _NOEXCEPT #elif defined(_AIX) return (const unsigned int *)__lc_ctype_ptr->obj->mask; #elif defined(__ANDROID__) - return _ctype_ + 1; + return reinterpret_cast(_ctype_) + 1; #else // Platform not supported: abort so the person doing the port knows what to // fix