GCC atomic memory access built-in functions (IBM extension)
This section provides reference information for atomic memory access built-in functions whose behavior corresponds to that provided by GNU Compiler Collection (GCC). In a program with multiple threads, you can use these functions to atomically and safely modify data in one thread without interference from other threads.
These built-in functions manipulate data atomically, regardless of how many processors are installed in the host machine.
In the prototype of each function, the parameter types T, U, and V can be of pointer or integral type. U and V can also be of real floating-point type, but only when T is of integral type. The following tables list the integral and floating-point types that are supported by these built-in functions.
| signed char | unsigned char |
| short int | unsigned short int |
| int | unsigned int |
| long int | unsigned long int |
| long long int | unsigned long long int |
bool |
_Bool |
| float | double |
| long double |
In the prototype of each function, the ellipsis (...) represents an optional list of parameters. XL C/C++ ignores these optional parameters and protects all globally accessible variables.
The GCC atomic memory access built-in functions are grouped into the following categories.
bool
_Bool

