7.1.2 caf_register_t
Указывает, какой тип комассивной переменной следует зарегистрировать.
typedef enum caf_register_t {
CAF_REGTYPE_COARRAY_STATIC,
CAF_REGTYPE_COARRAY_ALLOC,
CAF_REGTYPE_LOCK_STATIC,
CAF_REGTYPE_LOCK_ALLOC,
CAF_REGTYPE_CRITICAL,
CAF_REGTYPE_EVENT_STATIC,
CAF_REGTYPE_EVENT_ALLOC,
CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY,
CAF_REGTYPE_COARRAY_ALLOC_ALLOCATE_ONLY
}
caf_register_t; Значения CAF_REGTYPE_COARRAY_ALLOC_REGISTER_ONLY и CAF_REGTYPE_COARRAY_ALLOC_ALLOCATE_ONLY предназначены только для компонентов с распределением памяти в комассивах производного типа. Первое значение настраивает маркер без выделения памяти для компонента с распределением памяти. Второе значение выделяет память только для компонента с распределением памяти в комассиве производного типа. Маркер должен быть предварительно настроен с помощью REGISTER_ONLY. Это позволяет иметь компоненты с распределением памяти, не выделенные на некоторых изображениях. Статус, выделен ли компонент с распределением памяти на удалённом изображении, можно запросить с помощью _caf_is_present, который используется внутри ALLOCATED встроенной функции.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gfortran/caf_005fregister_005ft.html