This turned out to be my original hunch... Inlining behavior is slightly different. Previous version seem to auto-inline the following:
svector<string>::svector<string>(unsigned size) : nitems_(size) { }
Whereas, GCC3.3 needs to be told to do so as:
inline blah blah...
That's all fine and dandy, but it should be legal to out-line the constructor. I'll apply the work-around, but this will come up again somewhere else.
So how does the code get fixed so that out-lining works as well?
-----Original Message-----
From: Mike Ruff [mailto:mruff68@xxxxxxxxx]
Sent: Tuesday, July 22, 2003 2:51 PM
To: gcc-help@xxxxxxxxxxx
Cc: steve@xxxxxxxxxx
Subject: New GLOB symbol with gcc3.3 but previous versions??? (Compiling
Icarus)
Hey all,
I've narrower this down to a global symbol being generated in GCC3.3 but not with previous versions 2.96, 3.2.3.
The symbol in question is: _ZN7svectorISsEC1Ej
$ c++filt _ZN7svectorISsEC1Ej svector<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >
::svector[in-charge](unsigned)
[25] | 200| 100|FUNC |GLOB |0 |2 |_ZN7svectorISsEC1Ej
I've attached a preprocessed file so you can try it too...
Any ideas?
Thanks, Mike
__________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com
-- Steve Williams "The woods are lovely, dark and deep. steve at icarus.com But I have promises to keep, http://www.icarus.com and lines to code before I sleep, http://www.picturel.com And lines to code before I sleep."