]> git.ipfire.org Git - thirdparty/gcc.git/commit - libstdc++-v3/config/locale/generic/ctype_members.cc
re PR libstdc++/11723 (ctype<wchar_t>::do_is(mask, wchar_t) is slow)
authorPaolo Carlini <pcarlini@suse.de>
Tue, 16 Dec 2003 11:00:52 +0000 (11:00 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 16 Dec 2003 11:00:52 +0000 (11:00 +0000)
commit9a1349b9209349989a0b776fe0683c21b197776e
treea5de1c73e744245f5ae1f7ee38776eaa37b059eb
parenta0c68737027348fb9ae1ff4a5a33a10d269962bb
re PR libstdc++/11723 (ctype<wchar_t>::do_is(mask, wchar_t) is slow)

2003-12-16  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/11723
* include/bits/locale_facets.h: Add _M_bit and _M_wmask,
used to speed up the computation of ctype::do_is.
* config/locale/generic/ctype_members.cc
(_M_initialize_ctype): Fill _M_bit and _M_wmask.
(ctype::do_is): Use _M_bit and _M_wmask.
* config/locale/gnu/ctype_members.cc: Likewise.
* testsuite/performance/is_wchar_t.cc: New.

* testsuite/performance/narrow_widen_wchar_t.cc: Tweak
string literal (incorrect citation ;)

* include/bits/locale_facets.h: Minor tweaks, const
correctness, unsigned -> size_t.

From-SVN: r74686
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/testsuite/performance/is_wchar_t.cc [new file with mode: 0644]
libstdc++-v3/testsuite/performance/narrow_widen_char.cc
libstdc++-v3/testsuite/performance/narrow_widen_wchar_t.cc