tr1::unordered_set<double> bizarre rounding behavior (x86)
Michael Veksler
VEKSLER@il.ibm.com
Tue Jul 5 20:36:00 GMT 2005
There is one more thing to consider: the ABI.
By changing the code in the header file will break the ABI
of tr1::unordered_set. Code compiled with older gcc and
newer and fixed-gcc will not interoperate.
I don't see an easy path to avoid ABI breakage this time,
however how about preparing for future breakage when
std::tr1::hash<T> changes again?
Maybe move all the specialized hash<T> code from
tr/functional into libstdc++.so? Maybe move specialized
hashtable<double>, unordered_XXX<float> and friends into
libstdc++.so? This way, when hash<T> and
std::equal_to<double> change again, the ABI will be not
as affected.
Michael.
More information about the Gcc
mailing list