------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-04-17 14:30 ------- Subject: Bug 20914
CVSROOT: /cvs/gcc Module name: gcc Changes by: [EMAIL PROTECTED] 2005-04-17 14:30:37 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/bits: locale_facets.tcc Added files: libstdc++-v3/testsuite/22_locale/num_put/put/char: 20914.cc libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t: 20914.cc Log message: 2005-04-17 Paolo Carlini <[EMAIL PROTECTED]> PR libstdc++/20914 * include/bits/locale_facets.tcc (__int_to_char(_CharT*, _ValueT, const _CharT*, ios_base::fmtflags, bool)): Don't deal with numeric base or sign here, instead... (_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)): ... here, after adding the grouping. This fixes the bug and also allows to clean-up the code dealing with integer types. (_M_group_int(const char*, size_t, _CharT, ios_base&, _CharT*, _CharT*, int&)): Simplify, remove bits dealing with numeric base. (__int_to_char(_CharT*, unsigned long, const _CharT*, ios_base::fmtflags), __int_to_char(_CharT*, unsigned long long, const _CharT*, ios_base::fmtflags)): Remove hackish fix for libstdc++/15565. (__int_to_char(_CharT*, long, const _CharT*, ios_base::fmtflags), __int_to_char(_CharT*, long long, const _CharT*, ios_base::fmtflags)): Simplify, don't pass the sign. (_M_insert_float(_OutIter, ios_base&, _CharT, char, _ValueT)): Deal with a sign at the beginning of __cs; robustify the grouping check. * testsuite/22_locale/num_put/put/char/20914.cc: New. * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.2973&r2=1.2974 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/locale_facets.tcc.diff?cvsroot=gcc&r1=1.212&r2=1.213 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20914