------- Comment #1 from jakub at gcc dot gnu dot org 2009-10-26 14:06 ------- Simpler testcase at -g -O -milp32: struct T { void foo () volatile { __sync_lock_release (&t); __sync_synchronize (); } bool t; }; int main () { T t = { false }; t.foo (); } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41801