[Bug libstdc++/28278] formatted I/O and calliing width(0)

2010-12-27 Thread mikeus at hotmail dot ru
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28278

Michael mikeus at hotmail dot ru changed:

   What|Removed |Added

 CC||mikeus at hotmail dot ru

--- Comment #1 from Michael mikeus at hotmail dot ru 2010-12-27 11:25:51 UTC 
---
Can anybody fix this bug?

--- code: ---
#includeiostream
using namespace std;

int main()
{
  cout.setf(ios_base::fixed);
  cout.precision(3);
  cout.width(20);
  cout.fill('#');

  cout  (double)1.123456789  endl;
  cout  (double)0.123456789  endl;
  cout  (double)10.123456789  endl;
}
-

--- output: ---
###1.123
0.123
10.123
---

--- expected: ---
###1.123
###0.123
##10.123
-

It's just sad... :^(((


[Bug libstdc++/28278] formatted I/O and calliing width(0)

2010-12-27 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28278

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2010-12-27 
12:12:13 UTC ---
The snippet you posted has nothing to do with the issue discussed here, which
is about *when exactly* calling width(0) toward the end of the insertion
operation (there are minor inconsistencies in the Standard detectable when the
insertion proper throws). But in any case, per the letter of both C++03 and
C++0x , during the arithmetic insertion at some point width(0) has to be
called, normally by the num_put facet in Stage 3. Thus the behavior we are
implementing vs your snippet is already Ok, no bug to fix (if you want a
practical check, Sun Studio behaves the same).


[Bug libstdc++/28278] formatted I/O and calliing width(0)

2006-10-07 Thread pcarlini at suse dot de


-- 

pcarlini at suse dot de changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-10-08 01:17:34
   date||


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