From: Andrews, Dean (END-CHI) Sent: Wednesday, November 02, 2005 11:20 AM To: 'gnu-help@xxxxxxxxxxx' Subject: g++ 4.0 AIX 5.2 globals objects not constructed properly I obtained g++ from http://aixpdslib.seas.ucla.edu/, first tried this with 3.3.2 (which, on Sun, accepted all the same sources). Got a core with error similar to: 0xd3191688 in std::string::assign (this=<incomplete type>, __str=<incomplete type>) and the stack trace stops at the entry into the std::string The document at http://www-128.ibm.com/developerworks/eserver/articles/gnu.html said that I needed to be on 3.4 or later to pass structures by value so upgraded to 4.0.0. And got the same problems (as well has having to add a lot of this-> inside of templates). Tracked this down to an assignment to a std::string subclass that was a global that was being assigned a value. Replace them with const char *x = null, and got past them. But I also have an object which is a specialization of std::list. When it first is accessed, empty returns false, and clear and size enter an indeterminate loop. compile options are: g++ -g -fno-for-scope -D_THREAD_SAFE link options are: g++ -Xlinker -bloadmap:loadmap -g -Xlinker -brtl -Xlinker -bminimal-toc -L/usr/lib/threads This file is actually processed twice by g++, once with -E, and this output passed to Oracle's ProC, that output is processed again by g++.