Spec-Zone.ru › GNU Fortran 9

6.1.23 Атрибуты AUTOMATIC и STATIC

С -fdec-static GNU Fortran поддерживает расширенные атрибуты DEC STATIC и AUTOMATIC, чтобы обеспечить явное указание хранения сущности. Они следуют синтаксису атрибута стандарта Fortran SAVE.

STATIC точно эквивалентно SAVE, и указывает, что сущность должна быть выделена в статической памяти. В качестве примера, STATIC локальные переменные сохранят свои значения между вызовами функции.

Сущности, помеченные AUTOMATIC, будут иметь автоматическое стековое хранение, когда это возможно. AUTOMATIC является значением по умолчанию для локальных переменных, меньших, чем -fmax-stack-var-size, если не задано -fno-automatic. Этот атрибут переопределяет -fno-automatic, -fmax-stack-var-size и общие SAVE заявления.

Примеры:

subroutine f
  integer, automatic :: i  ! automatic variable
  integer x, y             ! static variables
  save
  ...
endsubroutine
subroutine f
  integer a, b, c, x, y, z
  static :: x
  save y
  automatic z, c
  ! a, b, c, and z are automatic
  ! x and y are static
endsubroutine
! Compiled with -fno-automatic
subroutine f
  integer a, b, c, d
  automatic :: a
  ! a is automatic; b, c, and d are static
endsubroutine

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-9.3.0/gfortran/AUTOMATIC-and-STATIC-attributes.html

Spec-Zone.ru

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