This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: problem getting std::string::_Rep::_S_max_size and std::string::_Rep::_S_terminal under Tru64 linked
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: Brano Kendra <bke at molis dot sk>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Wed, 27 Nov 2002 11:19:32 -0600
- Subject: Re: problem getting std::string::_Rep::_S_max_size and std::string::_Rep::_S_terminal under Tru64 linked
- References: <189112383656.20021127164849@molis.sk>
>I'm using gcc ver. 2.97-tru64-010710 downloaded from
>www.tru64unix.compaq.com (now I'm trying to download
>and compile the newest 3.2.1 gcc).
Great. I'd suggest trying to get 3.2.1 up and running first, and then
dealing with this problem if you still have it. I know that gcc-3.2.0
worked on tru64, based on:
http://gcc.gnu.org/gcc-3.2/buildstat.html
So you should be able to get 3.2.1 working.
If you still have the problem, another solution is to add explicit
instantiations to get around weak linkage issues.
You should be able to use the same solution that
testsuite/21_strings/capacity.cc uses:
#if !__GXX_WEAK__
// Explicitly instantiate for systems with no COMDAT or weak support.
template
std::basic_string< A<B> >::size_type
std::basic_string< A<B> >::_Rep::_S_max_size;
template
A<B>
std::basic_string< A<B> >::_Rep::_S_terminal;
#endif
Of course, you'll have to changeup the explicit instantiations to be the
ones that you're missing (char, most probably.)
best,
benjamin