--- Comment #4 from paolo at gcc dot gnu dot org 2008-09-23 00:47 ---
Subject: Bug 32422
Author: paolo
Date: Tue Sep 23 00:47:02 2008
New Revision: 140574
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=140574
Log:
2008-09-23 Paolo Carlini <[EMAIL PROTECTED]>
PR libstdc++/32422, DR 23 [Ready in R60]
* config/locale/gnu/c_locale.cc (__convert_to_v(const char*, float&,
ios_base::iostate&, const __c_locale&), __convert_to_v(const char*,
double&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
char*, long double&, ios_base::iostate&, const __c_locale&)): Implement
DR 23 and deal correctly with broken exponents.
* config/locale/generic/c_locale.cc (__convert_to_v(const char*,
float&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
char*, double&, ios_base::iostate&, const __c_locale&),
__convert_to_v(const char*, long double&, ios_base::iostate&, const
__c_locale&)): Likewise.
* include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
_InIter, ios_base&, ios_base::iostate&, _ValueT&)): Likewise.
(num_get<>::_M_extract_float(_InIter, _InIter, ios_base&,
ios_base::iostate&, string&): Change grouping check to set instead of
OR failbit; do not check for eofbit here...
(num_get<>::do_get(iter_type, iter_type, ios_base&,
ios_base::iostate&, float&), num_get<>::do_get(iter_type, iter_type,
ios_base&, ios_base::iostate&, double&), num_get<>::do_get(iter_type,
iter_type, ios_base&, ios_base::iostate&, long double&),
num_get<>::__do_get(iter_type, iter_type, ios_base&,
ios_base::iostate&, double&)): ... do it here instead.
(num_get<>::do_get(iter_type, iter_type, ios_base&,
ios_base::iostate&, bool&)): Implement DR 23.
(num_get<>::do_get(iter_type, iter_type, ios_base&,
ios_base::iostate&, void*&)): Adjust.
* doc/xml/manual/intro.xml: Add and entry for DR 23.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
Adjust.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
Likewise.
* testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
* testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
* testsuite/22_locale/num_get/get/char/10.cc: Likewise.
* testsuite/22_locale/num_get/get/char/12.cc: Likewise.
* testsuite/22_locale/num_get/get/char/15.cc: Likewise.
* testsuite/22_locale/num_get/get/char/16.cc: Likewise.
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/locale/generic/c_locale.cc
trunk/libstdc++-v3/config/locale/gnu/c_locale.cc
trunk/libstdc++-v3/doc/xml/manual/intro.xml
trunk/libstdc++-v3/include/bits/locale_facets.tcc
trunk/libstdc++-v3/testsuite/22_locale/num_get/get/char/10.cc
trunk/libstdc++-v3/testsuite/22_locale/num_get/get/char/12.cc
trunk/libstdc++-v3/testsuite/22_locale/num_get/get/char/15.cc
trunk/libstdc++-v3/testsuite/22_locale/num_get/get/char/16.cc
trunk/libstdc++-v3/testsuite/22_locale/num_get/get/char/22131.cc
trunk/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/10.cc
trunk/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/12.cc
trunk/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/15.cc
trunk/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/16.cc
trunk/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/22131.cc
trunk/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc
trunk/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32422