summaryrefslogtreecommitdiff
path: root/libstdc++-v3/config
diff options
context:
space:
mode:
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>2014-10-20 12:34:10 +0000
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>2014-10-20 12:34:10 +0000
commit5e9622e393626336522c922cc06bcb767a6db8f2 (patch)
tree65190088e95fb0df82c64df80812b362e21805e7 /libstdc++-v3/config
parent291e6474544a28996528ff77ac460e8831633a8b (diff)
* src/c++98/Makefile.am: Move ctype.cc, ctype_configure_char.cc and
ctype_members.cc to ... * src/c++11/Makefile.am: Here. * src/c++98/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. * src/c++98/ctype.cc: Move file to ... * src/c++11/ctype.cc: Here, define ctype_base::blank. * config/abi/pre/gnu.ver: Export ctype_base::blank. * config/locale/generic/ctype_members.cc (ctype<wchar_t>::_M_convert_to_wmask): Handle blank. Update comments. * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::_M_convert_to_wmask): Likewise. * config/os/aix/ctype_base.h (ctype_base::blank): Declare. * config/os/bionic/ctype_base.h (ctype_base::blank): Likewise. * config/os/bsd/darwin/ctype_base.h (ctype_base::blank): Declare. * config/os/bsd/darwin/ctype_inline.h (ctype<char>::is): Use blank. (ctype<wchar_t::do_is): Likewise. * config/os/bsd/dragonfly/ctype_base.h (ctype_base::blank): Declare. * config/os/bsd/dragonfly/ctype_inline.h (ctype<char>::is): Use blank. (ctype<wchar_t::do_is): Likewise. * config/os/bsd/freebsd/ctype_base.h (ctype_base::blank): Declare. * config/os/bsd/freebsd/ctype_inline.h (ctype<char>::is): Use blank. (ctype<wchar_t::do_is): Likewise. * config/os/bsd/netbsd/ctype_base.h (ctype_base::blank): Declare. * config/os/bsd/openbsd/ctype_base.h (ctype_base::blank): Likewise. * config/os/djgpp/ctype_base.h (ctype_base::blank): Likewise. * config/os/generic/ctype_base.h (ctype_base::blank): Declare. * config/os/generic/ctype_inline.h (ctype<char>::is): Use blank. * config/os/gnu-linux/ctype_base.h (ctype_base::blank): Declare. * config/os/hpux/ctype_base.h (ctype_base::blank): Likewise. * config/os/mingw32-w64/ctype_base.h (ctype_base::blank): Declare. * config/os/mingw32-w64/ctype_configure_char.cc (ctype<char>::classic_table()): Set blank bit for space and tab. * config/os/mingw32/ctype_base.h (ctype_base::blank): Declare. * config/os/mingw32/ctype_configure_char.cc (ctype<char>::classic_table()): Set blank bit for space and tab. * config/os/newlib/ctype_base.h (ctype_base::blank): Declare. * config/os/qnx/qnx6.1/ctype_base.h (ctype_base::blank): Likewise. * config/os/solaris/solaris2.10/ctype_base.h (ctype_base::blank): Likewise. * config/os/tpf/ctype_base.h (ctype_base::blank): Likewise. * config/os/uclibc/ctype_base.h (ctype_base::blank): Likewise. * config/os/vxworks/ctype_base.h (ctype_base::blank): Likewise. * include/bits/locale_facets.h (isblank): Define. * include/bits/localefwd.h (isblank): Declare. * testsuite/22_locale/classification/isblank.cc: New. * testsuite/22_locale/ctype_base/blank.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216464 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/config')
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver5
-rw-r--r--libstdc++-v3/config/locale/generic/ctype_members.cc11
-rw-r--r--libstdc++-v3/config/locale/gnu/ctype_members.cc9
-rw-r--r--libstdc++-v3/config/os/aix/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/bionic/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h1
-rw-r--r--libstdc++-v3/config/os/bsd/dragonfly/ctype_inline.h6
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/ctype_base.h2
-rw-r--r--libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/bsd/netbsd/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/bsd/openbsd/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/djgpp/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/generic/ctype_base.h1
-rw-r--r--libstdc++-v3/config/os/generic/ctype_inline.h7
-rw-r--r--libstdc++-v3/config/os/gnu-linux/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/hpux/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/mingw32-w64/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/mingw32-w64/ctype_configure_char.cc4
-rw-r--r--libstdc++-v3/config/os/mingw32/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/mingw32/ctype_configure_char.cc4
-rw-r--r--libstdc++-v3/config/os/newlib/ctype_base.h7
-rw-r--r--libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/tpf/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/uclibc/ctype_base.h3
-rw-r--r--libstdc++-v3/config/os/vxworks/ctype_base.h3
28 files changed, 94 insertions, 25 deletions
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 0559444a87b8..4c6d994197fe 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -513,7 +513,7 @@ GLIBCXX_3.4 {
_ZNSt5ctypeI[cw]*;
# std::ctype_base
- _ZNSt10ctype_base*;
+ _ZNSt10ctype_base[56][ac-z]*;
# std::ctype_byname
_ZNSt12ctype_bynameI[cw]*;
@@ -1473,6 +1473,9 @@ GLIBCXX_3.4.21 {
# std::basic_ios::operator bool() const
_ZNKSt9basic_iosI[cw]St11char_traitsI[cw]EEcvbEv;
+ # std::ctype_base::blank
+ _ZNSt10ctype_base5blankE;
+
} GLIBCXX_3.4.20;
diff --git a/libstdc++-v3/config/locale/generic/ctype_members.cc b/libstdc++-v3/config/locale/generic/ctype_members.cc
index 126c0f36b4fe..367a8931a55e 100644
--- a/libstdc++-v3/config/locale/generic/ctype_members.cc
+++ b/libstdc++-v3/config/locale/generic/ctype_members.cc
@@ -93,7 +93,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__ret = wctype("graph");
break;
default:
- __ret = __wmask_type();
+ // For some targets ctype_base::blank == ctype_base::space so check
+ // here to avoid a duplicate case error.
+ if (__m == blank)
+ __ret = wctype("blank");
+ else
+ __ret = __wmask_type();
}
return __ret;
};
@@ -133,7 +138,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
do_is(mask __m, char_type __c) const
{
bool __ret = false;
- // Generically, 15 (instead of 10) since we don't know the numerical
+ // Generically, 15 (instead of 11) since we don't know the numerical
// encoding of the various categories in /usr/include/ctype.h.
const size_t __bitmasksize = 15;
for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
@@ -152,7 +157,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{
for (;__lo < __hi; ++__vec, ++__lo)
{
- // Generically, 15 (instead of 10) since we don't know the numerical
+ // Generically, 15 (instead of 11) since we don't know the numerical
// encoding of the various categories in /usr/include/ctype.h.
const size_t __bitmasksize = 15;
mask __m = 0;
diff --git a/libstdc++-v3/config/locale/gnu/ctype_members.cc b/libstdc++-v3/config/locale/gnu/ctype_members.cc
index 043a53a8abb5..cd9604c73385 100644
--- a/libstdc++-v3/config/locale/gnu/ctype_members.cc
+++ b/libstdc++-v3/config/locale/gnu/ctype_members.cc
@@ -94,6 +94,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
case graph:
__ret = __wctype_l("graph", _M_c_locale_ctype);
break;
+ case blank:
+ __ret = __wctype_l("blank", _M_c_locale_ctype);
+ break;
default:
__ret = __wmask_type();
}
@@ -144,8 +147,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__ret = __iswctype_l(__c, _M_wmask[5], _M_c_locale_ctype);
else
{
- // Highest bitmask in ctype_base == 10, but extra in "C"
- // library for blank.
+ // Highest bitmask in ctype_base == 11
const size_t __bitmasksize = 11;
for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
if (__m & _M_bit[__bitcur])
@@ -168,8 +170,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{
for (; __lo < __hi; ++__vec, ++__lo)
{
- // Highest bitmask in ctype_base == 10, but extra in "C"
- // library for blank.
+ // Highest bitmask in ctype_base == 11
const size_t __bitmasksize = 11;
mask __m = 0;
for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
diff --git a/libstdc++-v3/config/os/aix/ctype_base.h b/libstdc++-v3/config/os/aix/ctype_base.h
index 012375f60004..de78205750ee 100644
--- a/libstdc++-v3/config/os/aix/ctype_base.h
+++ b/libstdc++-v3/config/os/aix/ctype_base.h
@@ -52,6 +52,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _ISCNTRL;
static const mask punct = _ISPUNCT;
static const mask alnum = _ISALPHA | _ISDIGIT;
+#if __cplusplus >= 201103L
+ static const mask blank = _ISBLANK;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/bionic/ctype_base.h b/libstdc++-v3/config/os/bionic/ctype_base.h
index 597509bef2a6..1b441a67995a 100644
--- a/libstdc++-v3/config/os/bionic/ctype_base.h
+++ b/libstdc++-v3/config/os/bionic/ctype_base.h
@@ -26,9 +26,7 @@
// ISO C++ 14882: 22.1 Locales
//
-// Information as gleaned from /usr/include/ctype.h, for solaris2.5.1
-
-// Support for Solaris 2.5.1
+// Information as gleaned from /usr/include/ctype.h
namespace std _GLIBCXX_VISIBILITY(default)
{
@@ -54,6 +52,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _C;
static const mask punct = _P;
static const mask alnum = _U | _L | _N;
+#if __cplusplus >= 201103L
+ static const mask blank = space;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_base.h b/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
index edf23e1c4770..b77ac70517ac 100644
--- a/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/darwin/ctype_base.h
@@ -54,6 +54,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _CTYPE_C;
static const mask punct = _CTYPE_P;
static const mask alnum = _CTYPE_A | _CTYPE_D;
+ static const mask blank = _CTYPE_B;
#else
// Older versions, including Free BSD 3.4, use this style of define.
static const mask upper = _U;
@@ -67,6 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _C;
static const mask punct = _P;
static const mask alnum = _A | _D;
+ static const mask blank = _B;
#endif
};
diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h b/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
index 1170e4eacd4d..5ae578994efd 100644
--- a/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
@@ -60,7 +60,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{
#if defined (_CTYPE_S) || defined (__istype)
*__vec = __maskrune (*__low, upper | lower | alpha | digit | xdigit
- | space | print | graph | cntrl | punct | alnum);
+ | space | print | graph | cntrl | punct | alnum
+ | blank);
#else
mask __m = 0;
if (this->is(upper, *__low)) __m |= upper;
@@ -75,6 +76,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
if (this->is(punct, *__low)) __m |= punct;
// Do not include explicit line for alnum mask since it is a
// pure composite of masks on FreeBSD.
+ if (this->is(blank, *__low)) __m |= blank;
*__vec = __m;
#endif
}
@@ -123,7 +125,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{
for (; __lo < __hi; ++__vec, ++__lo)
*__vec = __maskrune (*__lo, upper | lower | alpha | digit | xdigit
- | space | print | graph | cntrl | punct | alnum);
+ | space | print | graph | cntrl | punct | alnum
+ | blank);
return __hi;
}
diff --git a/libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h b/libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h
index a95b248d0162..856da8e57556 100644
--- a/libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/dragonfly/ctype_base.h
@@ -52,6 +52,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _CTYPE_C;
static const mask punct = _CTYPE_P;
static const mask alnum = _CTYPE_A | _CTYPE_D;
+ static const mask blank = _CTYPE_B;
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/bsd/dragonfly/ctype_inline.h b/libstdc++-v3/config/os/bsd/dragonfly/ctype_inline.h
index 984665ef9484..8e0f078fb66b 100644
--- a/libstdc++-v3/config/os/bsd/dragonfly/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/dragonfly/ctype_inline.h
@@ -59,7 +59,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
for (;__low < __high; ++__vec, ++__low)
{
*__vec = __maskrune (*__low, upper | lower | alpha | digit | xdigit
- | space | print | graph | cntrl | punct | alnum);
+ | space | print | graph | cntrl | punct | alnum
+ | blank);
}
return __high;
}
@@ -106,7 +107,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{
for (; __lo < __hi; ++__vec, ++__lo)
*__vec = __maskrune (*__lo, upper | lower | alpha | digit | xdigit
- | space | print | graph | cntrl | punct | alnum);
+ | space | print | graph | cntrl | punct | alnum
+ | blank);
return __hi;
}
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
index 9bd2a18dd3cb..ba6433ad30da 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
@@ -56,6 +56,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _CTYPE_C;
static const mask punct = _CTYPE_P;
static const mask alnum = _CTYPE_A | _CTYPE_D;
+ static const mask blank = _CTYPE_B;
#else
// Older versions, including Free BSD 3.4, use this style of define.
static const mask upper = _U;
@@ -69,6 +70,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _C;
static const mask punct = _P;
static const mask alnum = _A | _D;
+ static const mask blank = _B;
#endif
};
diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
index 939304a0dbb2..01530996e1fb 100644
--- a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
+++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
@@ -60,7 +60,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{
#if defined (_CTYPE_S) || defined (__istype)
*__vec = __maskrune (*__low, upper | lower | alpha | digit | xdigit
- | space | print | graph | cntrl | punct | alnum);
+ | space | print | graph | cntrl | punct | alnum
+ | blank);
#else
mask __m = 0;
if (this->is(upper, *__low)) __m |= upper;
@@ -75,6 +76,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
if (this->is(punct, *__low)) __m |= punct;
// Do not include explicit line for alnum mask since it is a
// pure composite of masks on FreeBSD.
+ if (this->is(blank, *__low)) __m |= blank;
*__vec = __m;
#endif
}
@@ -123,7 +125,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{
for (; __lo < __hi; ++__vec, ++__lo)
*__vec = __maskrune (*__lo, upper | lower | alpha | digit | xdigit
- | space | print | graph | cntrl | punct | alnum);
+ | space | print | graph | cntrl | punct | alnum
+ | blank);
return __hi;
}
diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
index f441d749c1f3..6cd339f443f3 100644
--- a/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
@@ -70,6 +70,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask punct = _CTYPE_P;
static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_N;
#endif
+#if __cplusplus >= 201103L
+ static const mask blank = space;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h b/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h
index 3599c95f317d..ad9799aaeb18 100644
--- a/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h
+++ b/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h
@@ -53,6 +53,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _C;
static const mask punct = _P;
static const mask alnum = _U | _L | _N;
+#if __cplusplus >= 201103L
+ static const mask blank = space;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/djgpp/ctype_base.h b/libstdc++-v3/config/os/djgpp/ctype_base.h
index b4befe1600bb..1be9767ed877 100644
--- a/libstdc++-v3/config/os/djgpp/ctype_base.h
+++ b/libstdc++-v3/config/os/djgpp/ctype_base.h
@@ -51,6 +51,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask xdigit = __dj_ISXDIGIT; // Hexadecimal numeric
static const mask alnum = __dj_ISALPHA | __dj_ISDIGIT; // Alphanumeric
static const mask graph = __dj_ISALPHA | __dj_ISDIGIT | __dj_ISPUNCT; // Graphical
+#if __cplusplus >= 201103L
+ static const mask blank = __dj_ISBLANK;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/generic/ctype_base.h b/libstdc++-v3/config/os/generic/ctype_base.h
index 8a8606b8f48d..c70c03f1ff55 100644
--- a/libstdc++-v3/config/os/generic/ctype_base.h
+++ b/libstdc++-v3/config/os/generic/ctype_base.h
@@ -52,6 +52,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = 1 << 8;
static const mask punct = 1 << 9;
static const mask alnum = (1 << 2) | (1 << 3); // alpha|digit
+ static const mask blank = 1 << 10;
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/generic/ctype_inline.h b/libstdc++-v3/config/os/generic/ctype_inline.h
index d150f31ad655..31c8c57a3e62 100644
--- a/libstdc++-v3/config/os/generic/ctype_inline.h
+++ b/libstdc++-v3/config/os/generic/ctype_inline.h
@@ -97,6 +97,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
case graph:
__testis = isgraph(__c);
break;
+#ifdef _GLIBCXX_USE_C99_CTYPE_TR1
+ case blank:
+ __testis = isblank(__c);
+ break;
+#endif
default:
__testis = false;
break;
@@ -117,7 +122,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
*__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
else
{
- // Highest bitmask in ctype_base == 10.
+ // Highest bitmask in ctype_base == 11.
const size_t __bitmasksize = 15;
for (;__low < __high; ++__vec, ++__low)
{
diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_base.h b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
index 8cd1d464fa20..e28ed945e6a3 100644
--- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h
+++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
@@ -57,6 +57,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _IScntrl;
static const mask punct = _ISpunct;
static const mask alnum = _ISalpha | _ISdigit;
+#if __cplusplus >= 201103L
+ static const mask blank = _ISblank;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/hpux/ctype_base.h b/libstdc++-v3/config/os/hpux/ctype_base.h
index f8b0f7c6cf3d..b093ffbcc3e2 100644
--- a/libstdc++-v3/config/os/hpux/ctype_base.h
+++ b/libstdc++-v3/config/os/hpux/ctype_base.h
@@ -52,6 +52,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _ISCNTRL;
static const mask punct = _ISPUNCT;
static const mask alnum = _ISALPHA | _ISDIGIT;
+#if __cplusplus >= 201103L
+ static const mask blank = _ISBLANK;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/mingw32-w64/ctype_base.h b/libstdc++-v3/config/os/mingw32-w64/ctype_base.h
index 7803422fb526..0780091196cc 100644
--- a/libstdc++-v3/config/os/mingw32-w64/ctype_base.h
+++ b/libstdc++-v3/config/os/mingw32-w64/ctype_base.h
@@ -58,6 +58,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = 1 << 8;
static const mask punct = 1 << 9;
static const mask alnum = (1 << 2) | (1 << 3); // alpha|digit
+#if __cplusplus >= 201103L
+ static const mask blank = 1 << 10;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/mingw32-w64/ctype_configure_char.cc b/libstdc++-v3/config/os/mingw32-w64/ctype_configure_char.cc
index 19456e0dd0d9..b1b4fa07a5ee 100644
--- a/libstdc++-v3/config/os/mingw32-w64/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/mingw32-w64/ctype_configure_char.cc
@@ -54,7 +54,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
cntrl /* ^F */,
cntrl /* ^G */,
cntrl /* ^H */,
- ctype_base::mask(space | cntrl) /* tab */,
+ ctype_base::mask(space | cntrl | blank) /* tab */,
ctype_base::mask(space | cntrl) /* LF */,
ctype_base::mask(space | cntrl) /* ^K */,
ctype_base::mask(space | cntrl) /* FF */,
@@ -77,7 +77,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
cntrl /* ^] */,
cntrl /* ^^ */,
cntrl /* ^_ */,
- ctype_base::mask(space | print) /* */,
+ ctype_base::mask(space | print | blank) /* */,
ctype_base::mask(punct | print) /* ! */,
ctype_base::mask(punct | print) /* " */,
ctype_base::mask(punct | print) /* # */,
diff --git a/libstdc++-v3/config/os/mingw32/ctype_base.h b/libstdc++-v3/config/os/mingw32/ctype_base.h
index 7803422fb526..0780091196cc 100644
--- a/libstdc++-v3/config/os/mingw32/ctype_base.h
+++ b/libstdc++-v3/config/os/mingw32/ctype_base.h
@@ -58,6 +58,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = 1 << 8;
static const mask punct = 1 << 9;
static const mask alnum = (1 << 2) | (1 << 3); // alpha|digit
+#if __cplusplus >= 201103L
+ static const mask blank = 1 << 10;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/mingw32/ctype_configure_char.cc b/libstdc++-v3/config/os/mingw32/ctype_configure_char.cc
index 19456e0dd0d9..b1b4fa07a5ee 100644
--- a/libstdc++-v3/config/os/mingw32/ctype_configure_char.cc
+++ b/libstdc++-v3/config/os/mingw32/ctype_configure_char.cc
@@ -54,7 +54,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
cntrl /* ^F */,
cntrl /* ^G */,
cntrl /* ^H */,
- ctype_base::mask(space | cntrl) /* tab */,
+ ctype_base::mask(space | cntrl | blank) /* tab */,
ctype_base::mask(space | cntrl) /* LF */,
ctype_base::mask(space | cntrl) /* ^K */,
ctype_base::mask(space | cntrl) /* FF */,
@@ -77,7 +77,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
cntrl /* ^] */,
cntrl /* ^^ */,
cntrl /* ^_ */,
- ctype_base::mask(space | print) /* */,
+ ctype_base::mask(space | print | blank) /* */,
ctype_base::mask(punct | print) /* ! */,
ctype_base::mask(punct | print) /* " */,
ctype_base::mask(punct | print) /* # */,
diff --git a/libstdc++-v3/config/os/newlib/ctype_base.h b/libstdc++-v3/config/os/newlib/ctype_base.h
index 29f527d8bf0c..1bf5beba0f15 100644
--- a/libstdc++-v3/config/os/newlib/ctype_base.h
+++ b/libstdc++-v3/config/os/newlib/ctype_base.h
@@ -26,10 +26,8 @@
// ISO C++ 14882: 22.1 Locales
//
-// Information as gleaned from /usr/include/ctype.h, for solaris2.5.1
+// Information as gleaned from /usr/include/ctype.h
-// Support for Solaris 2.5.1
-
namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
@@ -54,6 +52,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _C;
static const mask punct = _P;
static const mask alnum = _U | _L | _N;
+#if __cplusplus >= 201103L
+ static const mask blank = space;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
index bf7c7566cb29..c5e11826b2ce 100644
--- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
+++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
@@ -57,6 +57,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _BB;
static const mask punct = _PU;
static const mask alnum = _DI | _LO | _UP | _XA;
+#if __cplusplus >= 201103L
+ static const mask blank = _SP | _XB;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h b/libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h
index c584feea48d6..893b7320c55e 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.10/ctype_base.h
@@ -54,6 +54,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _ISCNTRL;
static const mask punct = _ISPUNCT;
static const mask alnum = _ISALPHA | _ISDIGIT;
+#if __cplusplus >= 201103L
+ static const mask blank = _ISBLANK;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/tpf/ctype_base.h b/libstdc++-v3/config/os/tpf/ctype_base.h
index d3b2a25d5c58..2089358de175 100644
--- a/libstdc++-v3/config/os/tpf/ctype_base.h
+++ b/libstdc++-v3/config/os/tpf/ctype_base.h
@@ -52,6 +52,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _IScntrl;
static const mask punct = _ISpunct;
static const mask alnum = _ISalpha | _ISdigit;
+#if __cplusplus >= 201103L
+ static const mask blank = _ISblank;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/uclibc/ctype_base.h b/libstdc++-v3/config/os/uclibc/ctype_base.h
index 39453afecb70..86a600750b39 100644
--- a/libstdc++-v3/config/os/uclibc/ctype_base.h
+++ b/libstdc++-v3/config/os/uclibc/ctype_base.h
@@ -59,6 +59,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _IScntrl;
static const mask punct = _ISpunct;
static const mask alnum = _ISalpha | _ISdigit;
+#if __cplusplus >= 201103L
+ static const mask blank = _ISblank;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/config/os/vxworks/ctype_base.h b/libstdc++-v3/config/os/vxworks/ctype_base.h
index bc105a2c53e6..4f92412d0c17 100644
--- a/libstdc++-v3/config/os/vxworks/ctype_base.h
+++ b/libstdc++-v3/config/os/vxworks/ctype_base.h
@@ -53,6 +53,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static const mask cntrl = _C_CONTROL;
static const mask punct = _C_PUNCT;
static const mask alnum = _C_UPPER | _C_LOWER | _C_NUMBER;
+#if __cplusplus >= 201103L
+ static const mask blank = _C_WHITE_SPACE;
+#endif
};
_GLIBCXX_END_NAMESPACE_VERSION