This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
gcc-3.1 template inst. sometimes being emitted as global functions?
- From: jtc at acorntoolworks dot com (J.T. Conklin)
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Jun 2002 17:08:48 -0700
- Subject: gcc-3.1 template inst. sometimes being emitted as global functions?
- Reply-to: jtc at acorntoolworks dot com
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