X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Fconfig%2Fos%2Fgnu-linux%2Fbits%2Fctype_noninline.h;fp=libstdc%2B%2B-v3%2Fconfig%2Fos%2Fgnu-linux%2Fbits%2Fctype_noninline.h;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=8f06d1397ee0cc397d9cf4a79263777f74401201;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h b/libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h deleted file mode 100644 index 8f06d139..00000000 --- a/libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h +++ /dev/null @@ -1,152 +0,0 @@ -// Locale support -*- C++ -*- - -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 -// Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// As a special exception, you may use this file as part of a free software -// library without restriction. Specifically, if other files instantiate -// templates or use macros or inline functions from this file, or you compile -// this file and link it with other files to produce an executable, this -// file does not by itself cause the resulting executable to be covered by -// the GNU General Public License. This exception does not however -// invalidate any other reasons why the executable file might be covered by -// the GNU General Public License. - -// -// ISO C++ 14882: 22.1 Locales -// - -// Information as gleaned from /usr/include/ctype.h - -#if _GLIBCPP_C_LOCALE_GNU - const ctype_base::mask* - ctype::classic_table() throw() - { - locale::classic(); - return _S_c_locale->__ctype_b; - } -#else - const ctype_base::mask* - ctype::classic_table() throw() - { - const ctype_base::mask* __ret; - char* __old = strdup(setlocale(LC_CTYPE, NULL)); - setlocale(LC_CTYPE, "C"); -#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) - __ret = *__ctype_b_loc(); -#else - __ret = __ctype_b; -#endif - setlocale(LC_CTYPE, __old); - free(__old); - return __ret; - } -#endif - -#if _GLIBCPP_C_LOCALE_GNU - ctype::ctype(__c_locale __cloc, const mask* __table, bool __del, - size_t __refs) - : __ctype_abstract_base(__refs), _M_del(__table != 0 && __del) - { - _M_c_locale_ctype = _S_clone_c_locale(__cloc); - _M_toupper = _M_c_locale_ctype->__ctype_toupper; - _M_tolower = _M_c_locale_ctype->__ctype_tolower; - _M_table = __table ? __table : _M_c_locale_ctype->__ctype_b; - } -#else - ctype::ctype(__c_locale, const mask* __table, bool __del, - size_t __refs) - : __ctype_abstract_base(__refs), _M_del(__table != 0 && __del) - { - char* __old=strdup(setlocale(LC_CTYPE, NULL)); - setlocale(LC_CTYPE, "C"); -#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) - _M_toupper = *__ctype_toupper_loc(); - _M_tolower = *__ctype_tolower_loc(); - _M_table = __table ? __table : *__ctype_b_loc(); -#else - _M_toupper = __ctype_toupper; - _M_tolower = __ctype_tolower; - _M_table = __table ? __table : __ctype_b; -#endif - setlocale(LC_CTYPE, __old); - free(__old); - _M_c_locale_ctype = _S_c_locale; - } -#endif - -#if _GLIBCPP_C_LOCALE_GNU - ctype::ctype(const mask* __table, bool __del, size_t __refs) : - __ctype_abstract_base(__refs), _M_del(__table != 0 && __del) - { - _M_c_locale_ctype = _S_c_locale; - _M_toupper = _M_c_locale_ctype->__ctype_toupper; - _M_tolower = _M_c_locale_ctype->__ctype_tolower; - _M_table = __table ? __table : _M_c_locale_ctype->__ctype_b; - } -#else - ctype::ctype(const mask* __table, bool __del, size_t __refs) : - __ctype_abstract_base(__refs), _M_del(__table != 0 && __del) - { - char* __old=strdup(setlocale(LC_CTYPE, NULL)); - setlocale(LC_CTYPE, "C"); -#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) - _M_toupper = *__ctype_toupper_loc(); - _M_tolower = *__ctype_tolower_loc(); - _M_table = __table ? __table : *__ctype_b_loc(); -#else - _M_toupper = __ctype_toupper; - _M_tolower = __ctype_tolower; - _M_table = __table ? __table : __ctype_b; -#endif - setlocale(LC_CTYPE, __old); - free(__old); - _M_c_locale_ctype = _S_c_locale; - } -#endif - - char - ctype::do_toupper(char __c) const - { return _M_toupper[static_cast(__c)]; } - - const char* - ctype::do_toupper(char* __low, const char* __high) const - { - while (__low < __high) - { - *__low = _M_toupper[static_cast(*__low)]; - ++__low; - } - return __high; - } - - char - ctype::do_tolower(char __c) const - { return _M_tolower[static_cast(__c)]; } - - const char* - ctype::do_tolower(char* __low, const char* __high) const - { - while (__low < __high) - { - *__low = _M_tolower[static_cast(*__low)]; - ++__low; - } - return __high; - }