stack

Date:

02-06-2023

NAME

stack - allocate storage to the stack in the program unit containing the directive

SYNOPSIS

!DIR$ STACK

DESCRIPTION

The STACK directive causes storage to be allocated to the stack in the program unit that contains the directive. This directive overrides the -ev command line option in specific program units of a compilation unit. For more information about the -ev command line option, see -ddisable and -eenable in the crayftn(1) man page.

Data specified in the specification part of a module or in a DATA statement is always allocated to static storage. This directive has no effect on this static storage allocation.

All SAVE statements are honored in program units that also contain a STACK directive. This directive does not override the SAVE statement.

If the compiler finds a STACK directive and a SAVE statement without any objects specified in the same program unit, a warning message is issued.

The following rules apply when using this directive:

  • It must be specified within the scope of a program unit.

  • If it is specified in the specification part of a module, a message is issued. The STACK directive is allowed in the scope of a module procedure.

  • If it is specified within the scope of an interface body, a message is issued.

SEE ALSO

intro_directives(7)

Cray Fortran Reference Manual