Create a default rune table for libc++. Initial setting - never enabled. The expectation is that some targets (Android, cough) will enable it. Note that this is an implementation detail, not an interface change.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@231252 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1016,6 +1016,87 @@ extern "C" const int ** __ctype_tolower_loc();
|
|||||||
extern "C" const int ** __ctype_toupper_loc();
|
extern "C" const int ** __ctype_toupper_loc();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef _LIBCPP_HAS_DEFAULT_RUNE_TABLE
|
||||||
|
const ctype<char>::mask*
|
||||||
|
ctype<char>::classic_table() _NOEXCEPT
|
||||||
|
{
|
||||||
|
static _LIBCPP_CONSTEXPR const ctype<char>::mask builtin_table[table_size] = {
|
||||||
|
cntrl, cntrl,
|
||||||
|
cntrl, cntrl,
|
||||||
|
cntrl, cntrl,
|
||||||
|
cntrl, cntrl,
|
||||||
|
cntrl, cntrl | space | blank,
|
||||||
|
cntrl | space, cntrl | space,
|
||||||
|
cntrl | space, cntrl | space,
|
||||||
|
cntrl, cntrl,
|
||||||
|
cntrl, cntrl,
|
||||||
|
cntrl, cntrl,
|
||||||
|
cntrl, cntrl,
|
||||||
|
cntrl, cntrl,
|
||||||
|
cntrl, cntrl,
|
||||||
|
cntrl, cntrl,
|
||||||
|
cntrl, cntrl,
|
||||||
|
cntrl, cntrl,
|
||||||
|
space | blank | print, punct | print,
|
||||||
|
punct | print, punct | print,
|
||||||
|
punct | print, punct | print,
|
||||||
|
punct | print, punct | print,
|
||||||
|
punct | print, punct | print,
|
||||||
|
punct | print, punct | print,
|
||||||
|
punct | print, punct | print,
|
||||||
|
punct | print, punct | print,
|
||||||
|
digit | print | xdigit, digit | print | xdigit,
|
||||||
|
digit | print | xdigit, digit | print | xdigit,
|
||||||
|
digit | print | xdigit, digit | print | xdigit,
|
||||||
|
digit | print | xdigit, digit | print | xdigit,
|
||||||
|
digit | print | xdigit, digit | print | xdigit,
|
||||||
|
punct | print, punct | print,
|
||||||
|
punct | print, punct | print,
|
||||||
|
punct | print, punct | print,
|
||||||
|
punct | print, upper | xdigit | print | alpha,
|
||||||
|
upper | xdigit | print | alpha, upper | xdigit | print | alpha,
|
||||||
|
upper | xdigit | print | alpha, upper | xdigit | print | alpha,
|
||||||
|
upper | xdigit | print | alpha, upper | print | alpha,
|
||||||
|
upper | print | alpha, upper | print | alpha,
|
||||||
|
upper | print | alpha, upper | print | alpha,
|
||||||
|
upper | print | alpha, upper | print | alpha,
|
||||||
|
upper | print | alpha, upper | print | alpha,
|
||||||
|
upper | print | alpha, upper | print | alpha,
|
||||||
|
upper | print | alpha, upper | print | alpha,
|
||||||
|
upper | print | alpha, upper | print | alpha,
|
||||||
|
upper | print | alpha, upper | print | alpha,
|
||||||
|
upper | print | alpha, upper | print | alpha,
|
||||||
|
upper | print | alpha, punct | print,
|
||||||
|
punct | print, punct | print,
|
||||||
|
punct | print, punct | print,
|
||||||
|
punct | print, lower | xdigit | print | alpha,
|
||||||
|
lower | xdigit | print | alpha, lower | xdigit | print | alpha,
|
||||||
|
lower | xdigit | print | alpha, lower | xdigit | print | alpha,
|
||||||
|
lower | xdigit | print | alpha, lower | print | alpha,
|
||||||
|
lower | print | alpha, lower | print | alpha,
|
||||||
|
lower | print | alpha, lower | print | alpha,
|
||||||
|
lower | print | alpha, lower | print | alpha,
|
||||||
|
lower | print | alpha, lower | print | alpha,
|
||||||
|
lower | print | alpha, lower | print | alpha,
|
||||||
|
lower | print | alpha, lower | print | alpha,
|
||||||
|
lower | print | alpha, lower | print | alpha,
|
||||||
|
lower | print | alpha, lower | print | alpha,
|
||||||
|
lower | print | alpha, lower | print | alpha,
|
||||||
|
lower | print | alpha, punct | print,
|
||||||
|
punct | print, punct | print,
|
||||||
|
punct | print, cntrl,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
|
};
|
||||||
|
return builtin_table;
|
||||||
|
}
|
||||||
|
#else
|
||||||
const ctype<char>::mask*
|
const ctype<char>::mask*
|
||||||
ctype<char>::classic_table() _NOEXCEPT
|
ctype<char>::classic_table() _NOEXCEPT
|
||||||
{
|
{
|
||||||
@@ -1049,6 +1130,7 @@ ctype<char>::classic_table() _NOEXCEPT
|
|||||||
return NULL;
|
return NULL;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(__GLIBC__)
|
#if defined(__GLIBC__)
|
||||||
const int*
|
const int*
|
||||||
|
Reference in New Issue
Block a user