OSDN Git Service

2003-12-12 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Dec 2003 19:44:17 +0000 (19:44 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Dec 2003 19:44:17 +0000 (19:44 +0000)
commit91807d21fa86627105bb0afa437547451e818021
treea54b8363ab8d9576e500c8c1d21398142cdd9d19
parent6709b66022d744eae37aca908b25943accc7432c
2003-12-12  Paolo Carlini  <pcarlini@suse.de>
    Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/13341
* include/bits/locale_facets.h (ctype<wchar_t>): Declare
_M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
* src/ctype.cc (ctype<wchar_t>::ctype(size_t),
ctype<wchar_t>::ctype(__c_locale, size_t)): Use
_M_initialize_ctype to fill _M_narrow and _M_widen.
(ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
Likewise.
* config/locale/generic/ctype_members.cc (do_narrow, do_widen)
Use _M_narrow and _M_widen when possible, instead of calling
wctob and btowc, respectively.
(_M_initialize_ctype): Define, it fills at construction time
_M_narrow and _M_widen.
* config/locale/gnu/ctype_members.cc: Likewise.
* testsuite/performance/narrow_widen_wchar_t.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74580 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/config/locale/generic/ctype_members.cc
libstdc++-v3/config/locale/gnu/ctype_members.cc
libstdc++-v3/include/bits/locale_facets.h
libstdc++-v3/src/ctype.cc
libstdc++-v3/testsuite/performance/narrow_widen_wchar_t.cc [new file with mode: 0644]