Missing ATOMIC_*_LOCK_FREE tests

Forked from D17951, these tests should have been there but weren't.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@263798 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
JF Bastien
2016-03-18 17:48:58 +00:00
parent 798ec8436d
commit 4c51222b28

View File

@@ -11,6 +11,7 @@
// <atomic> // <atomic>
// #define ATOMIC_BOOL_LOCK_FREE unspecified
// #define ATOMIC_CHAR_LOCK_FREE unspecified // #define ATOMIC_CHAR_LOCK_FREE unspecified
// #define ATOMIC_CHAR16_T_LOCK_FREE unspecified // #define ATOMIC_CHAR16_T_LOCK_FREE unspecified
// #define ATOMIC_CHAR32_T_LOCK_FREE unspecified // #define ATOMIC_CHAR32_T_LOCK_FREE unspecified
@@ -19,12 +20,16 @@
// #define ATOMIC_INT_LOCK_FREE unspecified // #define ATOMIC_INT_LOCK_FREE unspecified
// #define ATOMIC_LONG_LOCK_FREE unspecified // #define ATOMIC_LONG_LOCK_FREE unspecified
// #define ATOMIC_LLONG_LOCK_FREE unspecified // #define ATOMIC_LLONG_LOCK_FREE unspecified
// #define ATOMIC_POINTER_LOCK_FREE unspecified
#include <atomic> #include <atomic>
#include <cassert> #include <cassert>
int main() int main()
{ {
assert(ATOMIC_BOOL_LOCK_FREE == 0 ||
ATOMIC_BOOL_LOCK_FREE == 1 ||
ATOMIC_BOOL_LOCK_FREE == 2);
assert(ATOMIC_CHAR_LOCK_FREE == 0 || assert(ATOMIC_CHAR_LOCK_FREE == 0 ||
ATOMIC_CHAR_LOCK_FREE == 1 || ATOMIC_CHAR_LOCK_FREE == 1 ||
ATOMIC_CHAR_LOCK_FREE == 2); ATOMIC_CHAR_LOCK_FREE == 2);
@@ -49,4 +54,7 @@ int main()
assert(ATOMIC_LLONG_LOCK_FREE == 0 || assert(ATOMIC_LLONG_LOCK_FREE == 0 ||
ATOMIC_LLONG_LOCK_FREE == 1 || ATOMIC_LLONG_LOCK_FREE == 1 ||
ATOMIC_LLONG_LOCK_FREE == 2); ATOMIC_LLONG_LOCK_FREE == 2);
assert(ATOMIC_POINTER_LOCK_FREE == 0 ||
ATOMIC_POINTER_LOCK_FREE == 1 ||
ATOMIC_POINTER_LOCK_FREE == 2);
} }