diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-30 10:45:54 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-30 10:45:54 +0000 |
commit | 809249a04b187136006b82f98a6912198f571445 (patch) | |
tree | 2f1ffdb3fbc3d340a6ec8cac2f8367729741d38e /libstdc++-v3/config/locale | |
parent | e880317333e757fcdc8a0db3de090b79737cd92c (diff) | |
download | gcc-809249a04b187136006b82f98a6912198f571445.tar.gz |
2009-06-30 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40511
* config/locale/gnu/c_locale.cc: Don't use LC_CTYPE_MASK together
with glibc2.2.x.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149089 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/config/locale')
-rw-r--r-- | libstdc++-v3/config/locale/gnu/c_locale.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libstdc++-v3/config/locale/gnu/c_locale.cc b/libstdc++-v3/config/locale/gnu/c_locale.cc index 4864d25cd34..80ef9c740d2 100644 --- a/libstdc++-v3/config/locale/gnu/c_locale.cc +++ b/libstdc++-v3/config/locale/gnu/c_locale.cc @@ -155,7 +155,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) if (__dup == __c_locale(0)) __throw_runtime_error(__N("locale::facet::_S_lc_ctype_c_locale " "duplocale error")); +#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) __c_locale __changed = __newlocale(LC_CTYPE_MASK, __s, __dup); +#else + __c_locale __changed = __newlocale(1 << LC_CTYPE, __s, __dup); +#endif if (__changed == __c_locale(0)) { __freelocale(__dup); |