Next: _gfortran_caf_atomic_op, Previous: _gfortran_caf_atomic_ref, Up: Function ABI Documentation [Contents][Index]
_gfortran_caf_atomic_cas — Atomic compare and swapAtomic 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)
| token | intent(in) An opaque pointer identifying the coarray. | 
| offset | By which amount of bytes the actual data is shifted compared to the base address of the coarray. | 
| image_index | The ID of the remote image; must be a positive number; zero indicates the current image when used noncoindexed. | 
| old | intent(out) the value which the atomic variable had just before the cas operation. | 
| compare | intent(in) The value used for comparision. | 
| new_val | intent(in) The new value for the atomic variable,
assigned to the atomic variable, if compareequals the value of the
atomic variable. | 
| stat | intent(out) Stores the status STAT= and may be NULL. | 
| type | the data type, i.e. BT_INTEGER(1) orBT_LOGICAL(2). | 
| kind | The kind value (only 4; always int) |