diff options
author | theraven <theraven@FreeBSD.org> | 2013-02-07 15:45:28 +0000 |
---|---|---|
committer | theraven <theraven@FreeBSD.org> | 2013-02-07 15:45:28 +0000 |
commit | d19c702291ff3bd9e769a152e7db96e17f5167f7 (patch) | |
tree | 52637438fa031aa783147d9ac30dac90131dffdf /contrib/libc++/include/atomic | |
parent | 0ab90cb3f6b7aa6a5a725c5aadaee31d34eaca96 (diff) | |
download | FreeBSD-src-d19c702291ff3bd9e769a152e7db96e17f5167f7.zip FreeBSD-src-d19c702291ff3bd9e769a152e7db96e17f5167f7.tar.gz |
Import new libc++ to head. Various small fixes and cleanups.
MFC after: 2 weeks
Diffstat (limited to 'contrib/libc++/include/atomic')
-rw-r--r-- | contrib/libc++/include/atomic | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/contrib/libc++/include/atomic b/contrib/libc++/include/atomic index 6dffdb2..db67e76 100644 --- a/contrib/libc++/include/atomic +++ b/contrib/libc++/include/atomic @@ -33,6 +33,7 @@ template <class T> T kill_dependency(T y) noexcept; // lock-free property +#define ATOMIC_BOOL_LOCK_FREE unspecified #define ATOMIC_CHAR_LOCK_FREE unspecified #define ATOMIC_CHAR16_T_LOCK_FREE unspecified #define ATOMIC_CHAR32_T_LOCK_FREE unspecified @@ -41,6 +42,7 @@ template <class T> T kill_dependency(T y) noexcept; #define ATOMIC_INT_LOCK_FREE unspecified #define ATOMIC_LONG_LOCK_FREE unspecified #define ATOMIC_LLONG_LOCK_FREE unspecified +#define ATOMIC_POINTER_LOCK_FREE unspecified // flag type and operations @@ -472,6 +474,7 @@ template <class T> // Atomics for standard typedef types +typedef atomic<bool> atomic_bool; typedef atomic<char> atomic_char; typedef atomic<signed char> atomic_schar; typedef atomic<unsigned char> atomic_uchar; @@ -1454,6 +1457,7 @@ atomic_signal_fence(memory_order __m) _NOEXCEPT // Atomics for standard typedef types +typedef atomic<bool> atomic_bool; typedef atomic<char> atomic_char; typedef atomic<signed char> atomic_schar; typedef atomic<unsigned char> atomic_uchar; @@ -1499,14 +1503,16 @@ typedef atomic<uintmax_t> atomic_uintmax_t; // lock-free property -#define ATOMIC_CHAR_LOCK_FREE 0 -#define ATOMIC_CHAR16_T_LOCK_FREE 0 -#define ATOMIC_CHAR32_T_LOCK_FREE 0 -#define ATOMIC_WCHAR_T_LOCK_FREE 0 -#define ATOMIC_SHORT_LOCK_FREE 0 -#define ATOMIC_INT_LOCK_FREE 0 -#define ATOMIC_LONG_LOCK_FREE 0 -#define ATOMIC_LLONG_LOCK_FREE 0 +#define ATOMIC_BOOL_LOCK_FREE __GCC_ATOMIC_BOOL_LOCK_FREE +#define ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE +#define ATOMIC_CHAR16_T_LOCK_FREE __GCC_ATOMIC_CHAR16_T_LOCK_FREE +#define ATOMIC_CHAR32_T_LOCK_FREE __GCC_ATOMIC_CHAR32_T_LOCK_FREE +#define ATOMIC_WCHAR_T_LOCK_FREE __GCC_ATOMIC_WCHAR_T_LOCK_FREE +#define ATOMIC_SHORT_LOCK_FREE __GCC_ATOMIC_SHORT_LOCK_FREE +#define ATOMIC_INT_LOCK_FREE __GCC_ATOMIC_INT_LOCK_FREE +#define ATOMIC_LONG_LOCK_FREE __GCC_ATOMIC_LONG_LOCK_FREE +#define ATOMIC_LLONG_LOCK_FREE __GCC_ATOMIC_LLONG_LOCK_FREE +#define ATOMIC_POINTER_LOCK_FREE __GCC_ATOMIC_POINTER_LOCK_FREE #endif // !__has_feature(cxx_atomic) |