Daniel Jacobowitz <[EMAIL PROTECTED]> writes: > This should presumably be reported to GCC rather than to us... > Libstdc++ folks, please maintain the CC's. Any thoughts?
GCC is clearly behaving correctly. typedefs are resolved before mangling, since symbols that differ only in typedef usage must compare equal. I also can't see an error in libstdc++: if it uses the mbstate_t definition of the C library (as it should), it cannot influence how the mangled symbols will look like. So if there is an error, it is either in glibc (for making the primary name of the struct __mbstate_t), or in LSB (for not recognizing this fact). As a related note: if only the source standards were taken into account, the symbol should be mangled as _ZNKSt7codecvtIccNSt9mbstate_tEE11do_encodingEv std::codecvt<char, char, std::mbstate_t>::do_encoding() const since mbstate_t is in namespace std, in C++. Regards, Martin