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

Martin v. Loewis martin@v.loewis.de
Thu Nov 14 23:06:00 GMT 2002

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

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

As a related note: if only the source standards were taken into
account, the symbol should be mangled as 

std::codecvt<char, char, std::mbstate_t>::do_encoding() const

since mbstate_t is in namespace std, in C++.


More information about the Gcc-bugs mailing list