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