In compatibility.h, there are a lot of compiler- and architecture dependent switches. Relying on the GCC atomic operations would make this much cleaner.
-- Summary: [parallel mode] Atomic operations compatibility layer needs cleanup Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: singler at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34106