# E.2 Platform-Specific Extensions

This section summarizes the Compaq Fortran 77 extensions that are available on certain platforms. The extensions are labeled to show which platform or platforms they apply to.

Compilation Control Statements

The following extensions influencing compilation are available (see Section 1.6):

- DICTIONARY statement (VMS only)

         DICTIONARY 'cdd-path [/[NO]LIST]'

- INCLUDE statement syntax to include a text library (VMS only):

         INCLUDE '[text-lib] (module-name) [/[NO]LIST]'

- OPTIONS statement options:

                   { ALL (VAX only)                    }

                   { [NO]ACCURACY_SENSITIVE (VAX only) }

                   { [NO]BACKSLASH (Alpha only)        }

         /ASSUME = { [NO]DUMMY_ALIASES (VAX only)      }

                   { [NO]UNDERSCORE (U*X, NT)          }

                   { NONE (VAX only)                   }

                            { ALL        }

                            { [NO]INLINE }

         /BLAS (VAX only) = { [NO]MAPPED }

                            { NONE       }

         /NOBLAS (VAX only)

                  { [NO]ALIGNMENT (VAX only)  }

         /CHECK = { [NO]ASSERTIONS (VAX only) }

                                      { D_FLOAT    }

         /FLOAT (VMS on Alpha only) = { G_FLOAT    }

                                      { IEEE_FLOAT }

         /[NO]G_FLOATING (VMS only)

Data Types

The following data type extensions are available (see Section 2.1):

- INTEGER*8 and LOGICAL*8 (Alpha only)

- REAL*8: D_floating and G_floating implementations (VMS only)

- REAL*16 (VMS, U*X)

- COMPLEX*16: D_floating and G_floating implementations (VMS only)

Data Items (Alpha only)

The letter Q in double precision constants is an allowed extension (see Section 2.2.1.2).

Character Constants (Alpha only)

You can use the quotation mark character (") as a delimiter for character constants (see Section 2.2.1.6).

Control Statements (Alpha only)

The following additional control constructs and statements are available:

- The CASE construct (see Section 5.2)

- CYCLE (see Section 5.4.3)

- EXIT (see Section 5.4.4)

Built-In Functions (VMS only)

You can specify the extension %DESCR (see Section 6.1.2.1).

I/O Statements (VMS only)

The following I/O statement extensions are available:

- A key-field-value specifier as a control list parameter (see Section 7.1.1.7)

- A key-of-reference specifier as a control list parameter (see Section 7.1.1.8)

- Indexed READ statement (see Section 7.2.3)

- Indexed WRITE statement (see Section 7.3.3)

Auxiliary I/O Statements (VMS only)

The following auxiliary I/O statement extensions are available:

- INQUIRE statement specifiers (see Section 9.5):

  - ACCESS value: 'KEYED'

  - KEYED

  - ORGANIZATION value: 'INDEXED'

- OPEN statement keywords (see Section 9.6):

  - ACCESS value: 'KEYED'

  - EXTENDSIZE

  - INITIALSIZE

  - KEY

  - NOSPANBLOCKS

  - ORGANIZATION value: 'INDEXED'

  - SHARED

Compiler Directives

The following compiler directive extensions are available:

General Directives (see Section 11.2)
ASSERT[1] (VAX only) |
INIT_DEP_FWD (VAX only) |
NOVECTOR (VAX only) |
OPTIONS (Alpha only) |
Parallel Directives (VAX only) (see Section 11.3)
CONTEXT_SHARED | PRIVATE
CONTEXT_SHARED_ALL | PRIVATE_ALL
DO_PARALLEL | SHARED
LOCKON | SHARED_ALL
LOCKOFF |
[1] ASSERT can also be in statement form. For more information, see your performance guide.

Additional Language Features (Alpha only)

You can specify C-style escape sequences (see Section A.10.

Character Sets (VAX only)

You can specify the radix-50 constants and character set extensions (see Section B.3).

Intrinsic Procedures

The following intrinsic procedure extensions are available (see Section C.2):

- FP_CLASS (Alpha only)

- ISNAN (Alpha only)

REAL*16 Generic Functions (VMS, U*X)
IQINT | QEXT |  |
IQNINT | QFLOAT |  |
REAL*16 Specific Functions (VMS, U*X)
DBLEQ | QASIND | QEXP | QSIGN
IIQINT | QATAN | QEXTD | QSIN
IIQNNT | QATAND | QINT | QSIND
JIQINT | QATAN2 | QLOG | QSINH
JIQNNT | QATAN2D | QLOG10 | QSQRT
QABS | QCOS | QMAX1 | QTAN
QACOS | QCOSD | QMIN1 | QTAND
QACOSD | QCOSH | QMOD | QTANH
QASIN | QDIM | QNINT | SNGLQ
INTEGER*8 Specific Functions (Alpha only)
AKMAX0 | KIBCLR | KIFIX | KMIN0
AKMIN0 | KIBITS | KINT | KMIN1
BKTEST | KIBSET | KIOR | KMOD
DFLOTK | KIDIM | KISHFT | KNINT
FLOATK | KIDINT | KISIGN | KNOT
KIABS | KIDNNT | KMAX0 | KZEXT
KIAND | KIEOR | KMAX1 |

Basic Linear Algebraic Routines (VAX only)

The following Basic Linear Algebraic Routines (BLAS) are available (see Section C.3):

IxAMAX | xASUM | xNORM2 | xSET
IxAMIN | xAXPY | xNRM2 | xSUM
IxMAX | xCOPY | xNRSQ | xSWAP
IxMIN | xDOTx | xROT | xVCAL
xAMAX | xMAX | xROTG | xZAXPY
xAMIN | xMIN | xSCAL |

Compiler Option for Case-Sensitivity (Alpha only)

You can specify the compiler option NAMES to make names case-sensitive (see Section E.4 and your user manual).

Previous Page Next Page Table of Contents