locale_facets.tcc (num_get::do_get(bool&)): Fail as soon as the begins of both truena...
authorPaolo Carlini <pcarlini@suse.de>
Mon, 15 Dec 2003 16:56:42 +0000 (16:56 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Mon, 15 Dec 2003 16:56:42 +0000 (16:56 +0000)
commitca13fb7f5daa9b61ed9c94c74c326ca437ef6b78
treea5a075673330f5abd003895df2113fd69e3dac4b
parent3a5c1f603eabdf9e21e91882180dec0de7b5a757
locale_facets.tcc (num_get::do_get(bool&)): Fail as soon as the begins of both truename and falsename stop to match...

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

* include/bits/locale_facets.tcc (num_get::do_get(bool&)):
Fail as soon as the begins of both truename and falsename
stop to match; always leave __beg one position beyond the
last char successfully matched.
* testsuite/22_locale/num_get/get/char/8.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.

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

* include/bits/locale_facets.h (_M_widen): Reserve space
for all the possible widened chars.
* config/locale/generic/ctype_members.cc (_M_initialize_ctype):
Compute at construction time all the possible widened chars.
(do_widen): Tweak, simplify.
* config/locale/gnu/ctype_members.cc: Likewise.
* testsuite/performance/narrow_widen_wchar_t.cc: Add tests
for the array versions.

From-SVN: r74636
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/include/bits/locale_facets.tcc
libstdc++-v3/testsuite/22_locale/num_get/get/char/8.cc [new file with mode: 0644]
libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/8.cc [new file with mode: 0644]
libstdc++-v3/testsuite/performance/narrow_widen_wchar_t.cc