Next: , Previous: , Up: Function ABI Documentation   [Contents][Index]

8.2.30 _gfortran_caf_atomic_cas — Atomic compare and swap


Atomic compare and swap of a kind-4 integer or logical variable. Assigns atomically the specified value to the atomic variable, if the latter has the value specified by the passed condition value.


void _gfortran_caf_atomic_cas (caf_token_t token, size_t offset, int image_index, void *old, void *compare, void *new_val, int *stat, int type, int kind)

tokenintent(in) An opaque pointer identifying the coarray.
offsetintent(in) By which amount of bytes the actual data is shifted compared to the base address of the coarray.
image_indexintent(in) The ID of the remote image; must be a positive number; zero indicates the current image when used noncoindexed.
oldintent(out) The value which the atomic variable had just before the cas operation.
compareintent(in) The value used for comparision.
new_valintent(in) The new value for the atomic variable, assigned to the atomic variable, if compare equals the value of the atomic variable.
statintent(out) Stores the status STAT= and may be NULL.
typeintent(in) the data type, i.e. BT_INTEGER (1) or BT_LOGICAL (2).
kindintent(in) The kind value (only 4; always int)