http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51798
--- Comment #15 from David Edelsohn <dje at gcc dot gnu.org> 2012-01-26 19:42:47 UTC --- > calm down, a few places in libstdc++ use __sync_compare_and_swap directly > because there is no CAS in atomicity.h Jonathan, I do not know what you are reading into my comment. This has nothing to do with calmness, it is a statement of fact. If more places in libstdc++ use __sync intrinsics directly, then more places have regressed. It is unfortunate that the current implementation of libstdc++ did not localize the use of those intrinsics.