This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
g++ 4.0 AIX 5.2 globals objects not constructed properly
- From: "Andrews, Dean (END-CHI)" <dean dot andrews at endinfosys dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Wed, 2 Nov 2005 11:54:37 -0600
- Subject: g++ 4.0 AIX 5.2 globals objects not constructed properly
From: Andrews, Dean (END-CHI)
Sent: Wednesday, November 02, 2005 11:20 AM
To: 'gnu-help@gcc.gnu.org'
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++.