]> git.ipfire.org Git - thirdparty/gcc.git/commit - libstdc++-v3/include/bits/locale_facets.tcc
PR libstdc++/32422, DR 23 [Ready in R60]
authorPaolo Carlini <paolo.carlini@oracle.com>
Tue, 23 Sep 2008 00:47:02 +0000 (00:47 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 23 Sep 2008 00:47:02 +0000 (00:47 +0000)
commit5ef46f95596c600cf4d17bf98f4804e6bd53cfc5
tree9d02f6e05a6a1e62f93b452749b09a474b553c86
parent441154b19b1e998fe06a8f9045df8b69fa5ca274
PR libstdc++/32422, DR 23 [Ready in R60]

2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

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.

From-SVN: r140574
17 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/config/locale/generic/c_locale.cc
libstdc++-v3/config/locale/gnu/c_locale.cc
libstdc++-v3/doc/xml/manual/intro.xml
libstdc++-v3/include/bits/locale_facets.tcc
libstdc++-v3/testsuite/22_locale/num_get/get/char/10.cc
libstdc++-v3/testsuite/22_locale/num_get/get/char/12.cc
libstdc++-v3/testsuite/22_locale/num_get/get/char/15.cc
libstdc++-v3/testsuite/22_locale/num_get/get/char/16.cc
libstdc++-v3/testsuite/22_locale/num_get/get/char/22131.cc
libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/10.cc
libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/12.cc
libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/15.cc
libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/16.cc
libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/22131.cc
libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc
libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc