[Bug libstdc++/32422] Problem reading floats with exponent marker but no exponent

2008-09-22 Thread paolo dot carlini at oracle dot com


--- Comment #5 from paolo dot carlini at oracle dot com  2008-09-23 00:49 
---
Fixed for 4.4.0.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32422




[Bug libstdc++/32422] Problem reading floats with exponent marker but no exponent

2008-09-22 Thread paolo at gcc dot gnu dot org


--- 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



[Bug libstdc++/32422] Problem reading floats with exponent marker but no exponent

2008-09-22 Thread paolo dot carlini at oracle dot com


--- Comment #3 from paolo dot carlini at oracle dot com  2008-09-22 17:25 
---
I'm fixing this, together with DR 23.


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |paolo dot carlini at oracle
   |dot org |dot com
 Status|SUSPENDED   |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32422



[Bug libstdc++/32422] Problem reading floats with exponent marker but no exponent

2008-08-19 Thread paolo dot carlini at oracle dot com


--- Comment #2 from paolo dot carlini at oracle dot com  2008-08-19 17:49 
---
*** Bug 37160 has been marked as a duplicate of this bug. ***


-- 

paolo dot carlini at oracle dot com changed:

   What|Removed |Added

 CC||jm at bourguet dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32422



[Bug libstdc++/32422] Problem reading floats with exponent marker but no exponent

2007-06-20 Thread pcarlini at suse dot de


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|NEW |SUSPENDED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32422



[Bug libstdc++/32422] Problem reading floats with exponent marker but no exponent

2007-06-20 Thread pcarlini at suse dot de


--- Comment #1 from pcarlini at suse dot de  2007-06-20 15:53 ---
This is a known behavior (we even have testcases for it): the issue is that
(for C++03 at least) we definitely want consistency with "C" scanf, and the
latter in many implementations behaves "incorrectly". See this glibc PR of
mine:

  http://sources.redhat.com/bugzilla/show_bug.cgi?id=1765

We can reconsider the issue in the C++0x context, not earlier than that.


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-06-20 15:53:53
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32422