Is it a silly bug or a contrived way of calling __sync_synchronize regardless of the required memory_order?
--- atomic_2.h 2009-12-04 11:23:26.000000000 +0200 +++ atomic_2.h 2009-12-04 11:23:35.000000000 +0200 @@ -108,7 +108,7 @@ { // write_mem_barrier(); _M_i = __v; - if (__m = memory_order_seq_cst) + if (__m == memory_order_seq_cst) __sync_synchronize(); } } -- Summary: atomic_2.h:111: = instead of == in if Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: to dot roma dot from dot bugcc at qwertty dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42273