Missing explicit instantiations in libstdc++ (was Re: Unreviewed

Benjamin Kosnik bkoz@redhat.com
Mon Dec 3 14:57:00 GMT 2001


> std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >::_Rep::_S_max_size(data)
> 
> or in mangled form
> 
> _ZNSbIhSt11char_traitsIhESaIhEE4_Rep11_S_max_sizeE

Oh. Note that src/string-inst.cc is instantiating std::string, which is 
std::basic_string<char>

not 

std::basic_string<unsigned char>

This (the unsigned instantiation) should be implicitly instantiated from 
the test case in question, namely 22_locale/collate.cc. Apparently it is 
not, for some reason.

Or, all char's are unsigned on HPUX, and there is something funky going 
on WRT CANONICAL_TYPE and mangled names where char is not mapping to 
unsigned char.

-benjamin



More information about the Libstdc++ mailing list