Built-in Function: Changes the form of an actual argument. It passes an argument by descriptor.
Syntax
You must specify %DESCR in the actual argument list of a CALL statement or function reference. You cannot use it in any other context.
The following table lists the Compaq Fortran defaults for argument passing, and the allowed uses of %DESCR:
Actual Argument Data Type | Default | %DESCR |
---|---|---|
Expressions: | ||
Logical | REF | Yes |
Integer | REF | Yes |
REAL(4) | REF | Yes |
REAL(8) | REF | Yes |
REAL(16) 1 | REF | Yes |
COMPLEX(4) | REF | Yes |
COMPLEX(8) | REF | Yes |
COMPLEX(16) 1 | REF | Yes |
Character | DESCR 2 | Yes |
Hollerith | REF | No |
Aggregate 2 | REF | No |
Derived | REF | No |
Array Name: | ||
Numeric | REF | Yes |
Character | DESCR 2 | Yes |
Aggregate 3 | REF | No |
Derived | REF | No |
Procedure Name: | ||
Numeric | REF | Yes |
Character | DESCR 2 | Yes |
1 VMS, U*X
2 On Tru64 UNIX, Linux, and Windows systems, a character argument is passed by address and hidden length. 3 In Compaq Fortran record structures |
The %DESCR, %VAL, and %REF functions override related cDEC$ ATTRIBUTE settings.