]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - tools/build/feature/test-sync-compare-and-swap.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[mirror_ubuntu-focal-kernel.git] / tools / build / feature / test-sync-compare-and-swap.c
1 // SPDX-License-Identifier: GPL-2.0
2 #include <stdint.h>
3
4 volatile uint64_t x;
5
6 int main(int argc, char *argv[])
7 {
8 uint64_t old, new = argc;
9
10 argv = argv;
11 do {
12 old = __sync_val_compare_and_swap(&x, 0, 0);
13 } while (!__sync_bool_compare_and_swap(&x, old, new));
14 return old == new;
15 }