Dummy arguments have an explicit storage class of reference parameter or
value parameter. See %VAL and %REF for more details.

Pointee variables have an explicit storage class of pointee.

Variables for which the STATIC attribute is explicitly specified
have an explicit storage class of static.

Variables for which the AUTOMATIC attribute is explicitly
specified have an explicit storage class of automatic.

Variables that appear in a COMMON block have an explicit storage
class of common.

Variables for which the SAVE attribute is explicitly specified
have an explicit storage class of static, unless they also appear in a
COMMON statement, in which case their storage class is common.

Variables that appear in a DATA statement or are initialized in a
type declaration statement have an explicit storage class of static, unless
they also appear in a COMMON statement, in which case their storage
class is common.

Function result variables that are of type character or derived have the
explicit storage class of reference parameter.

Function result variables that do not have the SAVE or
STATIC attribute have an explicit storage class of automatic.

Automatic objects have an explicit storage class of controlled
automatic.

Allocatable objects have an explicit storage class of controlled.

A variable that does not satisfy any of the above, but that is equivalenced
with a variable that has an explicit storage class, inherits that explicit
storage class.

A variable that does not satisfy any of the above, and is not equivalenced
with a variable that has an explicit storage class, has an explicit storage
class of static if a SAVE statement with no list exists in the
scoping unit.

Implicitly:

If a variable does not have an explicit storage class, it can be assigned
an implicit storage class as follows:

Variables whose names begin with a letter, dollar sign or underscore that
appears in an IMPLICIT STATIC statement have a storage class of
static.

Variables whose names begin with a letter, dollar sign or underscore that
appears in an IMPLICIT AUTOMATIC statement have a storage class of
automatic.

In a given scoping unit, if a letter, dollar sign or underscore has not
been specified in an IMPLICIT STATIC or IMPLICIT AUTOMATIC
statement, the implicit storage class is the same as that in the host.

Variables declared in the specification part of a module are associated
with the static storage class.

A variable that does not satisfy any of the above but that is equivalenced
with a variable that has an implicit storage class, inherits that implicit
storage class.

Default:

All other variables have the default storage class:

Static, if you specified the -qsave=all compiler
option.

Static, for variables of derived type that have default initialization
specified, and automatic otherwise if you specify the -qsave=defaultinit compiler
option.

Automatic, if you specified the -qnosave compiler
option. This is the default setting.

See "-qsave Option" in the User's Guide for
details on the default settings with regard to the invocation
commands.