Library /sys$common/syshlp/helplib.hlb  —  FORTRAN  Data  Expressions  Initialization
  An initialization expression must evaluate at compile time to a
  constant.  It is used to specify an initial value for an entity.

  In an initialization expression, each operation is intrinsic and
  each operand is one of the following:

   o  A constant or subobject of a constant

   o  An array constructor where each element, and the bounds and
      strides of each implied-do are expressions whose primaries are
      initialization expressions

   o  A structure constructor whose components are initialization
      expressions

   o  An elemental intrinsic function reference of type integer or
      character, whose arguments are initialization expressions of
      type integer or character

   o  A reference to one of the following inquiry functions:

          BIT_SIZE      MINEXPONENT
          DIGITS        PRECISION
          EPSILON       RADIX
          HUGE          RANGE
          ILEN          SHAPE
          KIND          SIZE
          LBOUND        TINY
          LEN           UBOUND
          MAXEXPONENT

      Each function argument must be one of the following:

          - An initialization expression
          - A variable whose kind type parameter and bounds
              are not assumed or defined by an ALLOCATE statement,
              pointer assignment, or an expression that is not an
              initialization expression

   o  A reference to one of the following transformational functions
      (each argument must be an initialization expression):

          REPEAT
          RESHAPE
          SELECTED_INT_KIND
          SELECTED_REAL_KIND
          TRANSFER
          TRIM

   o  A reference to the transformational function NULL

   o  An implied-do variable within an array constructor where the
      bounds and strides of the corresponding implied-do are
      initialization expressions

   o  Another initialization expression enclosed in parentheses

  Each subscript, section subscript, and substring starting and
  ending point must be an initialization expression.

  In an initialization expression, the exponential operator (**) must
  have a power of type integer.

  If an initialization expression invokes an inquiry function for a
  type parameter or an array bound of an object, the type parameter
  or array bound must be specified in a prior specification statement
  (or to the left of the inquiry function in the same statement).
Close Help