gcc-3.1 template inst. sometimes being emitted as global functions?

J.T. Conklin jtc@acorntoolworks.com
Wed Jun 26 19:19:00 GMT 2002


I'm doing the final polishing of a QNX/i386 target based on current
gcc-3_1-branch sources, and have a problem that I haven't been able to
solve on my own.  As the target isn't significantly different than any
of the many i386/ELF based targets, perhaps this problem has been seen
elsewhere.

For a handful of our source files, the `std::string::assign(char const*,
unsigned)' method is being instantiated and emitted in objects as a
global function, which results in multiple definition errors during
linking.  In all our other files, it's a unresolved reference (which
is satisfied by libstdc++.a).

All the source files are compiled with the same options.  I've not
been able to generate a cut down example of this (when I do, it's
emitted properly); or figured out what to look for in gcc's debug
dumps (the function appears to be there in *.00.rtl).

I realize that there isn't much tanglible information in this report,
but I do appreciate any help anyone can offer.

        --jtc

-- 
J.T. Conklin



More information about the Gcc-bugs mailing list