[Bug libstdc++/22265] Non -native type entry is getting added to an STL Map incorrectly

chris at bubblescope dot net gcc-bugzilla@gcc.gnu.org
Fri Jul 1 09:12:00 GMT 2005


------- Additional Comments From chris at bubblescope dot net  2005-07-01 09:12 -------
on 4.0.0, ppc-darwin I don't see this problem.

On x86-cygwin 3.4.4 I do, but I don't think it has anything to do with map, or
net, or anything.

Consider the following program below. It prints:

bat:bat

on x86-cygwin 3.4.4

and

bat:zat

on ppc-darwin current CVS

inet_ntoa returns a char* to a fixed internal buffer which contains the decoded
net string. You are calling this function twice in one statement, and if you
print the pointers you are returned you'll find (or at least I find, and I can't
see how it could be otherwise) that these pointers are identical.

Now another question, which I'm not 100% certain at the moment and am happy to
have input on, is what about output this program should give, or if it is undefined.

#include <iostream>
char foo[10]="cat";
char* writestring()
{
 foo[0]='b';
 return foo;
}

char* write2()
{
 foo[0]='z';
 return foo;
}


int main(void)
{ std::cout << writestring() << ":" << write2() << std::endl; } 

-- 


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



More information about the Gcc-bugs mailing list