This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: V3 static data in classes vs AIX
- To: David Edelsohn <dje at watson dot ibm dot com>
- Subject: Re: V3 static data in classes vs AIX
- From: Benjamin Kosnik <bkoz at redhat dot com>
- Date: Wed, 6 Jun 2001 18:41:26 -0700 (PDT)
- cc: Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>, Alexandre Oliva <aoliva at redhat dot com>, Mark Mitchell <mark at codesourcery dot com>, gdr at codesourcery dot com, libstdc++ at gcc dot gnu dot org
> string-inst.o includes the symbol:
> 25412 T std::string::_Rep::_S_max_size
>
> but I am getting errors for 21_strings/capacity.cc:
> std::basic_string<A<B>, std::char_traits<A <B> >, std::allocator<A<B> > >::_Rep::_S_max_size
Hmm.
include/bits/basic_string.tcc has:
template<typename _CharT, typename _Traits, typename _Alloc>
const typename basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
_Rep::_S_max_size = (((npos - sizeof(_Rep))/sizeof(_CharT)) - 1) / 4;
So it's defined, or should be. Maybe implicit instantiations of class
templates doesn't instantiate nested class static data on AIX?
-benjamin