1e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project#include <stdio.h>
2e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project
3e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project
4e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Projectextern int __atomic_dec(volatile int* addr);
5e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project
6e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Projectint main(int argc, const char *argv[])
7e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project{
8e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project    int x = 5;
9e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project
10e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project    while (x > -20) {
11e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project        printf("old_x=%d\n", __atomic_dec(&x));
12e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project        printf("x=%d\n", x);
13e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project    }
14e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project
15e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project    printf ("OK\n");
16e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project    return 0;
17e16cb84e2324f05334d18dcf5956f20f44262b62The Android Open Source Project}
18