8.2.9 _gfortran_caf_deregister — Deregistering coarrays

Description:

Called to free or deregister the memory of a coarray; the processor calls this function for automatic and explicit deallocation. In case of an error, this function shall fail with an error message, unless the STAT variable is not null. The library is only expected to free memory it allocated itself during a call to _gfortran_caf_register.

Syntax:

void caf_deregister (caf_token_t *token, caf_deregister_t type, int *stat, char *errmsg, size_t errmsg_len)

Arguments:
token the token to free.
type the type of action to take for the coarray. A CAF_DEREGTYPE_COARRAY_DEALLOCATE_ONLY is allowed only for allocatable or pointer components of derived type coarrays. The action only deallocates the local memory without deleting the token.
stat intent(out) Stores the STAT=; may be NULL
errmsg intent(out) When an error occurs, this will be set to an error message; may be NULL
errmsg_len the buffer size of errmsg.
NOTES

For nonalloatable coarrays this function is never called. If a cleanup is required, it has to be handled via the finish, stop and error stop functions, and via destructors.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.4.0/gfortran/_005fgfortran_005fcaf_005fderegister.html