bug or not

Anthony Christopher' anthonyc@blarg.net
Sun Sep 21 05:14:00 GMT 2003


 > uname -a
Linux princess 2.4.20 #1 SMP Mon Apr 7 17:32:00 PDT 2003 i686 unknown
 > /usr/local/bin/g++ --version
g++ (GCC) 3.2.2
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 > cat gccbug.cc
#include <string>
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
   for(int i = 9; i < 11; i++){
     // When I use the constructor for ostringstream with a string
     // argument I get nothing in the string.
     string outBuffer;
     ostringstream outStr(outBuffer);
     outStr << "The number is " << i;
     cout << outBuffer << endl;
     // When I use the default constructor and the str() function to
     // refer to the internal string I get what I expect.
     ostringstream mydefault;
     mydefault << "Default gets me " << i;
     cout << mydefault.str() << endl;
   }
   return 0;
}
 > /usr/local/bin/g++ -Wall -o strange gccbug.cc
 > echo "XXXX start of output file XXXX" > junk
 > ./strange >> junk
 > echo "XXXX end of output file XXXX" >> junk
 > cat -A junk
XXXX start of output file XXXX$
$
Default gets me 9$
$
Default gets me 10$
XXXX end of output file XXXX$


Is this a bug or have I messed up?

I am not subscribed to this mailing list so please reply
to me directly or CC me.

No unusual flags used in building gcc.

Anthony Christopher



More information about the Gcc-help mailing list