/* { dg-do compile } */ /* { dg-options "-mno-inline-atomics" } */ /* { dg-message "note: '__sync_fetch_and_nand' changed semantics in GCC 4.4" "fetch_and_nand" { target *-*-* } 0 } */ /* { dg-final { scan-assembler "\tcall\t__sync_fetch_and_add_1" } } */ /* { dg-final { scan-assembler "\tcall\t__sync_fetch_and_nand_1" } } */ /* { dg-final { scan-assembler "\tcall\t__sync_bool_compare_and_swap_1" } } */ char foo; char bar; char baz; int main () { __sync_fetch_and_add(&foo, 1); __sync_fetch_and_nand(&bar, 1); __sync_bool_compare_and_swap (&baz, 1, 2); }