1*58b9f456SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 2*58b9f456SAndroid Build Coastguard Worker // 3*58b9f456SAndroid Build Coastguard Worker // The LLVM Compiler Infrastructure 4*58b9f456SAndroid Build Coastguard Worker // 5*58b9f456SAndroid Build Coastguard Worker // This file is dual licensed under the MIT and the University of Illinois Open 6*58b9f456SAndroid Build Coastguard Worker // Source Licenses. See LICENSE.TXT for details. 7*58b9f456SAndroid Build Coastguard Worker // 8*58b9f456SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 9*58b9f456SAndroid Build Coastguard Worker // 10*58b9f456SAndroid Build Coastguard Worker // UNSUPPORTED: libcpp-has-no-threads 11*58b9f456SAndroid Build Coastguard Worker 12*58b9f456SAndroid Build Coastguard Worker // <atomic> 13*58b9f456SAndroid Build Coastguard Worker 14*58b9f456SAndroid Build Coastguard Worker // #define ATOMIC_BOOL_LOCK_FREE unspecified 15*58b9f456SAndroid Build Coastguard Worker // #define ATOMIC_CHAR_LOCK_FREE unspecified 16*58b9f456SAndroid Build Coastguard Worker // #define ATOMIC_CHAR16_T_LOCK_FREE unspecified 17*58b9f456SAndroid Build Coastguard Worker // #define ATOMIC_CHAR32_T_LOCK_FREE unspecified 18*58b9f456SAndroid Build Coastguard Worker // #define ATOMIC_WCHAR_T_LOCK_FREE unspecified 19*58b9f456SAndroid Build Coastguard Worker // #define ATOMIC_SHORT_LOCK_FREE unspecified 20*58b9f456SAndroid Build Coastguard Worker // #define ATOMIC_INT_LOCK_FREE unspecified 21*58b9f456SAndroid Build Coastguard Worker // #define ATOMIC_LONG_LOCK_FREE unspecified 22*58b9f456SAndroid Build Coastguard Worker // #define ATOMIC_LLONG_LOCK_FREE unspecified 23*58b9f456SAndroid Build Coastguard Worker // #define ATOMIC_POINTER_LOCK_FREE unspecified 24*58b9f456SAndroid Build Coastguard Worker 25*58b9f456SAndroid Build Coastguard Worker #include <atomic> 26*58b9f456SAndroid Build Coastguard Worker #include <cassert> 27*58b9f456SAndroid Build Coastguard Worker main()28*58b9f456SAndroid Build Coastguard Workerint main() 29*58b9f456SAndroid Build Coastguard Worker { 30*58b9f456SAndroid Build Coastguard Worker assert(ATOMIC_BOOL_LOCK_FREE == 0 || 31*58b9f456SAndroid Build Coastguard Worker ATOMIC_BOOL_LOCK_FREE == 1 || 32*58b9f456SAndroid Build Coastguard Worker ATOMIC_BOOL_LOCK_FREE == 2); 33*58b9f456SAndroid Build Coastguard Worker assert(ATOMIC_CHAR_LOCK_FREE == 0 || 34*58b9f456SAndroid Build Coastguard Worker ATOMIC_CHAR_LOCK_FREE == 1 || 35*58b9f456SAndroid Build Coastguard Worker ATOMIC_CHAR_LOCK_FREE == 2); 36*58b9f456SAndroid Build Coastguard Worker assert(ATOMIC_CHAR16_T_LOCK_FREE == 0 || 37*58b9f456SAndroid Build Coastguard Worker ATOMIC_CHAR16_T_LOCK_FREE == 1 || 38*58b9f456SAndroid Build Coastguard Worker ATOMIC_CHAR16_T_LOCK_FREE == 2); 39*58b9f456SAndroid Build Coastguard Worker assert(ATOMIC_CHAR32_T_LOCK_FREE == 0 || 40*58b9f456SAndroid Build Coastguard Worker ATOMIC_CHAR32_T_LOCK_FREE == 1 || 41*58b9f456SAndroid Build Coastguard Worker ATOMIC_CHAR32_T_LOCK_FREE == 2); 42*58b9f456SAndroid Build Coastguard Worker assert(ATOMIC_WCHAR_T_LOCK_FREE == 0 || 43*58b9f456SAndroid Build Coastguard Worker ATOMIC_WCHAR_T_LOCK_FREE == 1 || 44*58b9f456SAndroid Build Coastguard Worker ATOMIC_WCHAR_T_LOCK_FREE == 2); 45*58b9f456SAndroid Build Coastguard Worker assert(ATOMIC_SHORT_LOCK_FREE == 0 || 46*58b9f456SAndroid Build Coastguard Worker ATOMIC_SHORT_LOCK_FREE == 1 || 47*58b9f456SAndroid Build Coastguard Worker ATOMIC_SHORT_LOCK_FREE == 2); 48*58b9f456SAndroid Build Coastguard Worker assert(ATOMIC_INT_LOCK_FREE == 0 || 49*58b9f456SAndroid Build Coastguard Worker ATOMIC_INT_LOCK_FREE == 1 || 50*58b9f456SAndroid Build Coastguard Worker ATOMIC_INT_LOCK_FREE == 2); 51*58b9f456SAndroid Build Coastguard Worker assert(ATOMIC_LONG_LOCK_FREE == 0 || 52*58b9f456SAndroid Build Coastguard Worker ATOMIC_LONG_LOCK_FREE == 1 || 53*58b9f456SAndroid Build Coastguard Worker ATOMIC_LONG_LOCK_FREE == 2); 54*58b9f456SAndroid Build Coastguard Worker assert(ATOMIC_LLONG_LOCK_FREE == 0 || 55*58b9f456SAndroid Build Coastguard Worker ATOMIC_LLONG_LOCK_FREE == 1 || 56*58b9f456SAndroid Build Coastguard Worker ATOMIC_LLONG_LOCK_FREE == 2); 57*58b9f456SAndroid Build Coastguard Worker assert(ATOMIC_POINTER_LOCK_FREE == 0 || 58*58b9f456SAndroid Build Coastguard Worker ATOMIC_POINTER_LOCK_FREE == 1 || 59*58b9f456SAndroid Build Coastguard Worker ATOMIC_POINTER_LOCK_FREE == 2); 60*58b9f456SAndroid Build Coastguard Worker } 61