clang 20.0.0git
|
Go to the source code of this file.
Classes | |
struct | atomic_flag |
Macros | |
#define | ATOMIC_BOOL_LOCK_FREE __CLANG_ATOMIC_BOOL_LOCK_FREE |
#define | ATOMIC_CHAR_LOCK_FREE __CLANG_ATOMIC_CHAR_LOCK_FREE |
#define | ATOMIC_CHAR16_T_LOCK_FREE __CLANG_ATOMIC_CHAR16_T_LOCK_FREE |
#define | ATOMIC_CHAR32_T_LOCK_FREE __CLANG_ATOMIC_CHAR32_T_LOCK_FREE |
#define | ATOMIC_WCHAR_T_LOCK_FREE __CLANG_ATOMIC_WCHAR_T_LOCK_FREE |
#define | ATOMIC_SHORT_LOCK_FREE __CLANG_ATOMIC_SHORT_LOCK_FREE |
#define | ATOMIC_INT_LOCK_FREE __CLANG_ATOMIC_INT_LOCK_FREE |
#define | ATOMIC_LONG_LOCK_FREE __CLANG_ATOMIC_LONG_LOCK_FREE |
#define | ATOMIC_LLONG_LOCK_FREE __CLANG_ATOMIC_LLONG_LOCK_FREE |
#define | ATOMIC_POINTER_LOCK_FREE __CLANG_ATOMIC_POINTER_LOCK_FREE |
#define | atomic_init __c11_atomic_init |
#define | kill_dependency(y) (y) |
#define | atomic_thread_fence(order) __c11_atomic_thread_fence(order) |
#define | atomic_signal_fence(order) __c11_atomic_signal_fence(order) |
#define | atomic_is_lock_free(obj) __c11_atomic_is_lock_free(sizeof(*(obj))) |
#define | atomic_store(object, desired) __c11_atomic_store(object, desired, __ATOMIC_SEQ_CST) |
#define | atomic_store_explicit __c11_atomic_store |
#define | atomic_load(object) __c11_atomic_load(object, __ATOMIC_SEQ_CST) |
#define | atomic_load_explicit __c11_atomic_load |
#define | atomic_exchange(object, desired) __c11_atomic_exchange(object, desired, __ATOMIC_SEQ_CST) |
#define | atomic_exchange_explicit __c11_atomic_exchange |
#define | atomic_compare_exchange_strong(object, expected, desired) __c11_atomic_compare_exchange_strong(object, expected, desired, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) |
#define | atomic_compare_exchange_strong_explicit __c11_atomic_compare_exchange_strong |
#define | atomic_compare_exchange_weak(object, expected, desired) __c11_atomic_compare_exchange_weak(object, expected, desired, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) |
#define | atomic_compare_exchange_weak_explicit __c11_atomic_compare_exchange_weak |
#define | atomic_fetch_add(object, operand) __c11_atomic_fetch_add(object, operand, __ATOMIC_SEQ_CST) |
#define | atomic_fetch_add_explicit __c11_atomic_fetch_add |
#define | atomic_fetch_sub(object, operand) __c11_atomic_fetch_sub(object, operand, __ATOMIC_SEQ_CST) |
#define | atomic_fetch_sub_explicit __c11_atomic_fetch_sub |
#define | atomic_fetch_or(object, operand) __c11_atomic_fetch_or(object, operand, __ATOMIC_SEQ_CST) |
#define | atomic_fetch_or_explicit __c11_atomic_fetch_or |
#define | atomic_fetch_xor(object, operand) __c11_atomic_fetch_xor(object, operand, __ATOMIC_SEQ_CST) |
#define | atomic_fetch_xor_explicit __c11_atomic_fetch_xor |
#define | atomic_fetch_and(object, operand) __c11_atomic_fetch_and(object, operand, __ATOMIC_SEQ_CST) |
#define | atomic_fetch_and_explicit __c11_atomic_fetch_and |
#define | ATOMIC_FLAG_INIT { 0 } |
#define | atomic_flag_test_and_set(object) __c11_atomic_exchange(&(object)->_Value, 1, __ATOMIC_SEQ_CST) |
#define | atomic_flag_test_and_set_explicit(object, order) __c11_atomic_exchange(&(object)->_Value, 1, order) |
#define | atomic_flag_clear(object) __c11_atomic_store(&(object)->_Value, 0, __ATOMIC_SEQ_CST) |
#define | atomic_flag_clear_explicit(object, order) __c11_atomic_store(&(object)->_Value, 0, order) |
Typedefs | |
typedef enum memory_order | memory_order |
typedef struct atomic_flag | atomic_flag |
Enumerations | |
enum | memory_order { memory_order_relaxed = __ATOMIC_RELAXED , memory_order_acquire = __ATOMIC_ACQUIRE , memory_order_release = __ATOMIC_RELEASE , memory_order_acq_rel = __ATOMIC_ACQ_REL , memory_order_relaxed = __ATOMIC_RELAXED , memory_order_consume = __ATOMIC_CONSUME , memory_order_acquire = __ATOMIC_ACQUIRE , memory_order_release = __ATOMIC_RELEASE , memory_order_acq_rel = __ATOMIC_ACQ_REL , memory_order_seq_cst = __ATOMIC_SEQ_CST } |
Functions | |
void | atomic_thread_fence (memory_order) |
void | atomic_signal_fence (memory_order) |
typedef | _Atomic (_Bool) atomic_bool |
typedef | _Atomic (char) atomic_char |
typedef | _Atomic (signed char) atomic_schar |
typedef | _Atomic (unsigned char) atomic_uchar |
typedef | _Atomic (short) atomic_short |
typedef | _Atomic (unsigned short) atomic_ushort |
typedef | _Atomic (int) atomic_int |
typedef | _Atomic (unsigned int) atomic_uint |
typedef | _Atomic (long) atomic_long |
typedef | _Atomic (unsigned long) atomic_ulong |
typedef | _Atomic (long long) atomic_llong |
typedef | _Atomic (unsigned long long) atomic_ullong |
typedef | _Atomic (uint_least16_t) atomic_char16_t |
typedef | _Atomic (uint_least32_t) atomic_char32_t |
typedef | _Atomic (wchar_t) atomic_wchar_t |
typedef | _Atomic (int_least8_t) atomic_int_least8_t |
typedef | _Atomic (uint_least8_t) atomic_uint_least8_t |
typedef | _Atomic (int_least16_t) atomic_int_least16_t |
typedef | _Atomic (int_least32_t) atomic_int_least32_t |
typedef | _Atomic (int_least64_t) atomic_int_least64_t |
typedef | _Atomic (uint_least64_t) atomic_uint_least64_t |
typedef | _Atomic (int_fast8_t) atomic_int_fast8_t |
typedef | _Atomic (uint_fast8_t) atomic_uint_fast8_t |
typedef | _Atomic (int_fast16_t) atomic_int_fast16_t |
typedef | _Atomic (uint_fast16_t) atomic_uint_fast16_t |
typedef | _Atomic (int_fast32_t) atomic_int_fast32_t |
typedef | _Atomic (uint_fast32_t) atomic_uint_fast32_t |
typedef | _Atomic (int_fast64_t) atomic_int_fast64_t |
typedef | _Atomic (uint_fast64_t) atomic_uint_fast64_t |
typedef | _Atomic (intptr_t) atomic_intptr_t |
typedef | _Atomic (uintptr_t) atomic_uintptr_t |
typedef | _Atomic (size_t) atomic_size_t |
typedef | _Atomic (ptrdiff_t) atomic_ptrdiff_t |
typedef | _Atomic (intmax_t) atomic_intmax_t |
typedef | _Atomic (uintmax_t) atomic_uintmax_t |
_Bool | atomic_flag_test_and_set (volatile atomic_flag *) |
_Bool | atomic_flag_test_and_set_explicit (volatile atomic_flag *, memory_order) |
void | atomic_flag_clear (volatile atomic_flag *) |
void | atomic_flag_clear_explicit (volatile atomic_flag *, memory_order) |
#define ATOMIC_BOOL_LOCK_FREE __CLANG_ATOMIC_BOOL_LOCK_FREE |
Definition at line 36 of file stdatomic.h.
#define ATOMIC_CHAR16_T_LOCK_FREE __CLANG_ATOMIC_CHAR16_T_LOCK_FREE |
Definition at line 41 of file stdatomic.h.
#define ATOMIC_CHAR32_T_LOCK_FREE __CLANG_ATOMIC_CHAR32_T_LOCK_FREE |
Definition at line 42 of file stdatomic.h.
#define ATOMIC_CHAR_LOCK_FREE __CLANG_ATOMIC_CHAR_LOCK_FREE |
Definition at line 37 of file stdatomic.h.
#define atomic_compare_exchange_strong | ( | object, | |
expected, | |||
desired | |||
) | __c11_atomic_compare_exchange_strong(object, expected, desired, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) |
Definition at line 150 of file stdatomic.h.
#define atomic_compare_exchange_strong_explicit __c11_atomic_compare_exchange_strong |
Definition at line 151 of file stdatomic.h.
#define atomic_compare_exchange_weak | ( | object, | |
expected, | |||
desired | |||
) | __c11_atomic_compare_exchange_weak(object, expected, desired, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) |
Definition at line 153 of file stdatomic.h.
#define atomic_compare_exchange_weak_explicit __c11_atomic_compare_exchange_weak |
Definition at line 154 of file stdatomic.h.
#define atomic_exchange | ( | object, | |
desired | |||
) | __c11_atomic_exchange(object, desired, __ATOMIC_SEQ_CST) |
Definition at line 147 of file stdatomic.h.
#define atomic_exchange_explicit __c11_atomic_exchange |
Definition at line 148 of file stdatomic.h.
#define atomic_fetch_add | ( | object, | |
operand | |||
) | __c11_atomic_fetch_add(object, operand, __ATOMIC_SEQ_CST) |
Definition at line 156 of file stdatomic.h.
#define atomic_fetch_add_explicit __c11_atomic_fetch_add |
Definition at line 157 of file stdatomic.h.
#define atomic_fetch_and | ( | object, | |
operand | |||
) | __c11_atomic_fetch_and(object, operand, __ATOMIC_SEQ_CST) |
Definition at line 168 of file stdatomic.h.
#define atomic_fetch_and_explicit __c11_atomic_fetch_and |
Definition at line 169 of file stdatomic.h.
#define atomic_fetch_or | ( | object, | |
operand | |||
) | __c11_atomic_fetch_or(object, operand, __ATOMIC_SEQ_CST) |
Definition at line 162 of file stdatomic.h.
#define atomic_fetch_or_explicit __c11_atomic_fetch_or |
Definition at line 163 of file stdatomic.h.
#define atomic_fetch_sub | ( | object, | |
operand | |||
) | __c11_atomic_fetch_sub(object, operand, __ATOMIC_SEQ_CST) |
Definition at line 159 of file stdatomic.h.
#define atomic_fetch_sub_explicit __c11_atomic_fetch_sub |
Definition at line 160 of file stdatomic.h.
#define atomic_fetch_xor | ( | object, | |
operand | |||
) | __c11_atomic_fetch_xor(object, operand, __ATOMIC_SEQ_CST) |
Definition at line 165 of file stdatomic.h.
#define atomic_fetch_xor_explicit __c11_atomic_fetch_xor |
Definition at line 166 of file stdatomic.h.
#define atomic_flag_clear | ( | object | ) | __c11_atomic_store(&(object)->_Value, 0, __ATOMIC_SEQ_CST) |
Definition at line 195 of file stdatomic.h.
#define atomic_flag_clear_explicit | ( | object, | |
order | |||
) | __c11_atomic_store(&(object)->_Value, 0, order) |
Definition at line 196 of file stdatomic.h.
#define ATOMIC_FLAG_INIT { 0 } |
Definition at line 178 of file stdatomic.h.
#define atomic_flag_test_and_set | ( | object | ) | __c11_atomic_exchange(&(object)->_Value, 1, __ATOMIC_SEQ_CST) |
Definition at line 192 of file stdatomic.h.
#define atomic_flag_test_and_set_explicit | ( | object, | |
order | |||
) | __c11_atomic_exchange(&(object)->_Value, 1, order) |
Definition at line 193 of file stdatomic.h.
#define atomic_init __c11_atomic_init |
Definition at line 64 of file stdatomic.h.
#define ATOMIC_INT_LOCK_FREE __CLANG_ATOMIC_INT_LOCK_FREE |
Definition at line 45 of file stdatomic.h.
#define atomic_is_lock_free | ( | obj | ) | __c11_atomic_is_lock_free(sizeof(*(obj))) |
Definition at line 90 of file stdatomic.h.
#define ATOMIC_LLONG_LOCK_FREE __CLANG_ATOMIC_LLONG_LOCK_FREE |
Definition at line 47 of file stdatomic.h.
#define atomic_load | ( | object | ) | __c11_atomic_load(object, __ATOMIC_SEQ_CST) |
Definition at line 144 of file stdatomic.h.
#define atomic_load_explicit __c11_atomic_load |
Definition at line 145 of file stdatomic.h.
#define ATOMIC_LONG_LOCK_FREE __CLANG_ATOMIC_LONG_LOCK_FREE |
Definition at line 46 of file stdatomic.h.
#define ATOMIC_POINTER_LOCK_FREE __CLANG_ATOMIC_POINTER_LOCK_FREE |
Definition at line 48 of file stdatomic.h.
#define ATOMIC_SHORT_LOCK_FREE __CLANG_ATOMIC_SHORT_LOCK_FREE |
Definition at line 44 of file stdatomic.h.
#define atomic_signal_fence | ( | order | ) | __c11_atomic_signal_fence(order) |
Definition at line 86 of file stdatomic.h.
#define atomic_store | ( | object, | |
desired | |||
) | __c11_atomic_store(object, desired, __ATOMIC_SEQ_CST) |
Definition at line 141 of file stdatomic.h.
#define atomic_store_explicit __c11_atomic_store |
Definition at line 142 of file stdatomic.h.
#define atomic_thread_fence | ( | order | ) | __c11_atomic_thread_fence(order) |
Definition at line 85 of file stdatomic.h.
#define ATOMIC_WCHAR_T_LOCK_FREE __CLANG_ATOMIC_WCHAR_T_LOCK_FREE |
Definition at line 43 of file stdatomic.h.
#define kill_dependency | ( | y | ) | (y) |
Definition at line 77 of file stdatomic.h.
typedef struct atomic_flag atomic_flag |
typedef enum memory_order memory_order |
enum memory_order |
Definition at line 68 of file stdatomic.h.
typedef _Atomic | ( | _Bool | ) |
typedef _Atomic | ( | char | ) |
typedef _Atomic | ( | int | ) |
typedef _Atomic | ( | int_fast16_t | ) |
typedef _Atomic | ( | int_fast32_t | ) |
typedef _Atomic | ( | int_fast64_t | ) |
typedef _Atomic | ( | int_fast8_t | ) |
typedef _Atomic | ( | int_least16_t | ) |
typedef _Atomic | ( | int_least32_t | ) |
typedef _Atomic | ( | int_least64_t | ) |
typedef _Atomic | ( | int_least8_t | ) |
typedef _Atomic | ( | intmax_t | ) |
typedef _Atomic | ( | intptr_t | ) |
typedef _Atomic | ( | long long | ) |
typedef _Atomic | ( | long | ) |
typedef _Atomic | ( | ptrdiff_t | ) |
typedef _Atomic | ( | short | ) |
typedef _Atomic | ( | signed char | ) |
typedef _Atomic | ( | size_t | ) |
typedef _Atomic | ( | uint_fast16_t | ) |
typedef _Atomic | ( | uint_fast32_t | ) |
typedef _Atomic | ( | uint_fast64_t | ) |
typedef _Atomic | ( | uint_fast8_t | ) |
typedef _Atomic | ( | uint_least16_t | ) |
typedef _Atomic | ( | uint_least32_t | ) |
typedef _Atomic | ( | uint_least64_t | ) |
typedef _Atomic | ( | uint_least8_t | ) |
typedef _Atomic | ( | uintmax_t | ) |
typedef _Atomic | ( | uintptr_t | ) |
typedef _Atomic | ( | unsigned char | ) |
typedef _Atomic | ( | unsigned long long | ) |
typedef _Atomic | ( | unsigned long | ) |
typedef _Atomic | ( | unsigned short | ) |
typedef _Atomic | ( | wchar_t | ) |
void atomic_flag_clear | ( | volatile atomic_flag * | ) |
void atomic_flag_clear_explicit | ( | volatile atomic_flag * | , |
memory_order | |||
) |
_Bool atomic_flag_test_and_set | ( | volatile atomic_flag * | ) |
_Bool atomic_flag_test_and_set_explicit | ( | volatile atomic_flag * | , |
memory_order | |||
) |
void atomic_signal_fence | ( | memory_order | ) |
void atomic_thread_fence | ( | memory_order | ) |