Spec-Zone.ru › GNU Fortran 13

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 предназначены только для компонент, объявленных как allocatable, в комассивах типа derived. Первое значение устанавливает маркер без выделения памяти для компоненты allocatable. Второе значение выделяет только память для компоненты allocatable в комассиве типа derived. Маркер должен быть предварительно установлен с помощью REGISTER_ONLY. Это позволяет иметь компоненты allocatable, не выделенные на некоторых изображениях. Статус, выделена ли компонента allocatable на удаленном изображении, можно запросить с помощью _caf_is_present, который используется внутри функции ALLOCATED.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API