Hi,
On Fri, Aug 1, 2008 at 2:50 AM, Mat Marcus
I then conclude that the C++ ABI is fully compatible between 4.0 and 4.2
Right.
[snip, then user hypothesizes as to why there are problems with boost under gcc 4.2/libstdc++ 4.0 on current Apple systems]
This is the case because boost assumes that a 4.2 compiler implies 4.2 libraries in flies such as boost/detail/atomic_count_gcc.hpp:
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2)) # include
#else # include #endif Yes, this is a bug or faulty assumption in boost.
[snip]
The 4.2 library issue is a bug in Boost, not a problem with our compiler. I'd suggest raising the issue on one of the boost mailing lists and see what they say.
Comments? Mat
From Debian GNU/Linux ABI transition history, I found that gcc 3.0, 3.1, 3.2, 3.3 have C++ ABI compatibility (libstdc++5) and gcc > 3.4 also have C++ ABI compatibility (libstdc++6). (Of cource this may not apply on other OSs.)
Note that gcc major version don't jump simultaneously with C++ ABI update. Regards, -- Ryo IGARASHI rigarash@gmail.com