#include <limits.h>
#include <stdint.h>
#include <stdio.h>
#include <stdatomic.h>
Go to the source code of this file.
◆ TEST
| #define TEST |
( |
| A, |
|
|
| T, |
|
|
| name, |
|
|
| V1, |
|
|
| V2 ) |
Value:do { \
atomic_store(&
object, (
T)(V1)); \
printf(
name " exchange %lld\n", (
long long)
r); \
printf(
name " add %lld\n", (
long long)
r); \
printf(
name " sub %lld\n", (
long long)
r); \
printf(
name " or %lld\n", (
long long)
r); \
printf(
name " xor %lld\n", (
long long)
r); \
printf(
name " and %lld\n", (
long long)
r); \
atomic_store(&
object, (
T)0x5a); \
printf(
name " cas %lld %lld\n", \
(
long long)
r, (
long long)expected); \
do { \
printf(
name " cas weak %lld %lld %lld\n", \
(
long long)
r, (
long long)expected, \
} while (0)
#define atomic_fetch_xor(object, operand)
#define atomic_compare_exchange_weak(object, expected, desired)
#define atomic_compare_exchange_strong(object, expected, desired)
#define atomic_exchange(object, desired)
#define atomic_fetch_or(object, operand)
#define atomic_fetch_sub(object, operand)
#define atomic_load(object)
#define atomic_fetch_and(object, operand)
#define atomic_fetch_add(object, operand)
Definition at line 39 of file atomic.c.
Referenced by main().
◆ callback()
| static void callback |
( |
void | | ) |
|
|
static |
◆ main()
◆ called