> Most of the linux targets are actually __GXX_TYPEINFO_EQUALITY_INLINE 1 > and thus perhaps if we want to maintain some ABI compatibility with 3.4-ish > inlined typeid comparisons, we might need to export _ZTS* for _ZTI* > that could somehow be emitted for user code too.
Right, for C++98 types. > Thus perhaps the _ZT[IS][PK]*[no] change is right, but we can only do it > only for the builtin types (and, clearly we've been doing that in the past, > for decltype(nullptr)/_Decimal{32,64,128}/char{16,32}_t. > > If/when we decide to break ABI for C++, we could just make all _ZTS* symbols > hidden. ... so for the new builtin C++0X types where there is no prior compat issue, _ZTS* can be elided in the current ABI. The for libstdc++.so > 6 we can do much better on a lot of this stuff. I'm trying to store intelligence about the future in gnu-versioned-namespace.ver. I need to add a note about this to the abi docs. But I can do that later and get out of the critical path for you and RC2. -benjamin