[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#169161: libstdc++5: Questionable type usage in mangled names



Daniel Jacobowitz <dan@debian.org> 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



Reply to: