Merge branch 'for-4.9/block-irq' of git://git.kernel.dk/linux-block
[cascardo/linux.git] / tools / build / feature / test-sync-compare-and-swap.c
1 #include <stdint.h>
2
3 volatile uint64_t x;
4
5 int main(int argc, char *argv[])
6 {
7         uint64_t old, new = argc;
8
9         argv = argv;
10         do {
11                 old = __sync_val_compare_and_swap(&x, 0, 0);
12         } while (!__sync_bool_compare_and_swap(&x, old, new));
13         return old == new;
14 }