H.1 Compaq Fortran Language Extensions

This section summarizes the Compaq Fortran language extensions. Most extensions are available on all supported operating systems. However, some extensions are limited to one or more platforms. If an extension is limited, it is labeled.

Source Forms

The following are extensions to the methods and rules for source forms:

Names

The following are extensions to the Fortran 90 rules for names (see Section 2.1.2):

Character Sets

The following are extensions to the Fortran 90 character set:

Intrinsic Data Types

The following are data-type extensions (see Section 3.1):

BYTE  INTEGER*1  REAL*8 1 
LOGICAL*1  INTEGER*2  REAL*16 2 
LOGICAL*2  INTEGER*4  COMPLEX*8 
LOGICAL*4  INTEGER*8  COMPLEX*16 1 
LOGICAL*8  REAL*4  COMPLEX*32 2 
1 D_floating and G_floating implementations are available on OpenVMS systems only.
2 VMS, U*X

Constants

C strings are allowed in character constants as an extension (see Section 3.1.5.1).

Hollerith constants are allowed as an extension (see Section 3.3.4).

Expressions and Assignment

When operands of different intrinsic data types are combined in expressions, conversions are performed as necessary (see Section 4.1.1.2).

Binary, octal, hexadecimal, and Hollerith constants can appear wherever numeric constants are allowed (see Section 3.3).

The following are extensions allowed in logical expressions (see Section 4.1.4):

Specification Statements

The following specification attributes and statements are extensions:

Execution Control

The following control statements are extensions to Fortran 95 (see Chapter 7):

These are older Fortran features that have been deleted in Fortran 95. Compaq Fortran fully supports these features.

Compilation Control Statements

The following statements are extensions that can influence compilation (see Chapter 14):

Built-In Functions

The %VAL, %REF, %DESCR (VMS only), and %LOC built-in functions are extensions (see Section 8.8.9).

I/O Statements

The following I/O statements and specifiers are extensions:

I/O Formatting

The following are extensions allowed in I/O formatting:

File Operation Statements

The following statement specifiers and statements are extensions (see Chapter 13 for details on Tru64 UNIX, Linux, and Windows systems; Chapter 12 for details on OpenVMS systems):

Compiler Directives

The following general directives are extensions (see Section 15.1):

The following OpenMP Fortran API parallel directives are extensions available on Tru64 UNIX systems (see Section 15.2.3):

The following Compaq Fortran parallel directives are extensions available on Tru64 UNIX systems (see Section 15.2.4):

Intrinsic Procedures

The following intrinsic procedures are extensions available on all platforms (see Chapter 9):

ACOSD  DFLOAT  IISIGN  JMIN0 
AIMAX0  DFLOTI  IMAX0  JMIN1 
AIMIN0  DFLOTJ  IMAX1  JMOD 
AJMAX0  DIMAG  IMIN0  JMVBITS 
AJMIN0  DREAL  IMIN1  JNINT 
AND  DSIND  IMOD  JNOT 
ASIND  DTAND  IMVBITS  JZEXT 
ASM  EOF  ININT  LEADZ 
ATAN2D  ERRSNS  INOT  LOC 
ATAND  EXIT  INT1  LSHIFT 
BITEST  FASM  INT2  MALLOC 
BJTEST  FLOATI  INT4  MULT_HIGH 
CDABS  FLOATJ  ISHA  NWORKERS 
CDCOS  FP_CLASS  ISHC  OR 
CDEXP  FREE  ISHL  POPCNT 
CDLOG  HFIX  ISNAN  POPPAR 
CDSIN  IARGPTR  IZEXT  RAN 
CDSQRT  IBCHNG  JFIX  RANDU 
COSD  IDATE  JIAND  RSHIFT 
COTAN  IIABS  JIBCLR  SECNDS 
COTAND  IIAND  JIBITS  SIND 
DACOSD  IIBCLR  JIBSET  SIZEOF 
DASIND  IIBITS  JIDIM  TAND 
DASM  IIBSET  JIDINT  TIME 
DATAN2  IIDIM  JIDNNT  TRAILZ 
DATAN2D  IIDINT  JIEOR  XOR 
DATAND  IIDNNT  JINT  ZABS 
DATE  IIEOR  JIOR  ZCOS 
DCMPLX  IIFIX  JISHFT  ZEXP 
DCONJG  IINT  JISHFTC  ZEXT 
DCOSD  IIOR  JISIGN  ZLOG 
DCOTAN  IISHFT  JMAX0  ZSIN 
DCOTAND  IISHFTC  JMAX1  ZSQRT 

The following intrinsic procedures are extensions available on OpenVMS, Tru64 UNIX, and Linux systems (see Chapter 9):

CQABS  KIQNNT  QCOSH  QMOD 
CQCOS  QABS  QCOTAN  QNINT 
CQEXP  QACOS  QCOTAND  QREAL 
CQLOG  QACOSD  QDIM  QSIGN 
CQSIN  QASIN  QEXP  QSIN 
CQSQRT  QASIND  QEXT  QSIND 
DBLEQ  QATAN  QEXTD  QSINH 
IIQINT  QATAN2  QFLOAT  QSQRT 
IIQNNT  QATAN2D  QIMAG  QTAN 
IQINT  QATAND  QINT  QTAND 
IQNINT  QCMPLX  QLOG  QTANH 
JIQINT  QCONJG  QLOG10  SNGLQ 
JIQNNT  QCOS  QMAX1   
KIQINT  QCOSD  QMIN1   

The intrinsic procedure IARGCOUNT is an extension available on OpenVMS systems (see Chapter 9).

The argument KIND is an extension available in the following intrinsic procedures (see Chapter 9):

COUNT  LEN_TRIM  SHAPE  ZEXT 
INDEX  MAXLOC  SIZE    
LBOUND  MINLOC  UBOUND    
LEN  MAXLOC  VERIFY    

Additional Language Features

The following are language extensions that facilitate compatibility with other versions of Fortran:

Run-Time Library Routines

Run-time library module routines are available for Windows systems (see Appendix E). Some of these routines are also available as 3f library routines on Tru64 UNIX and Linux systems (see Appendix F).

In addition, run-time library routines are available for directed parallel decomposition on Tru64 UNIX systems (see Appendix F).


Previous Page Next Page Table of Contents