V3 static data in classes vs AIX

David Edelsohn dje@watson.ibm.com
Tue Jun 5 17:45:00 GMT 2001


>>>>> Benjamin Kosnik writes:

Ben> Right. Tru64 seems to need string::_M_rep::_S_max_size instantiations, 
Ben> for instance. Frankly, I'm surprised that Tru64 and AIX seem to 
Ben> need/require different instantiations. Why is this?

	AIX complains about _S_max_size as well -- as undefined, not as
duplicate symbols.

ld: 0711-317 ERROR: Undefined symbol: std::basic_string<unsigned char,
std::char_traits<unsigned char>, std::allocator<unsigned char> >::_Rep::_S_max_size

Ben> I would love a portibility document that explained linkage across file 
Ben> formats, giving examples of specific problem code. Static and static 
Ben> const data members (both integral and POD types as well as enums) seem to 
Ben> be a constantly shifting target in terms of the linkage g++ actually 
Ben> expects. 

	Anything that G++ decides to consider as COMDAT today (:^).

David



More information about the Libstdc++ mailing list