This manual contains the complete description of the Compaq Fortran (formerly DIGITAL Fortran) programming language, which includes Fortran 90, High Performance Fortran, and many Fortran 95 language features. It contains information on language syntax and semantics, on adherence to various Fortran standards, and on extensions to those standards.

This manual applies to the following:

For details on the features of the compilers and how to improve the run-time performance of Fortran programs, see your user manual or programmer's guide.

For more information on the Compaq Fortran products, see

Intended Audience

This manual is intended for experienced applications programmers who have a basic understanding of Fortran concepts and the Fortran 90 language, and are using Compaq Fortran in either a single-platform or multiplatform environment.

Some familiarity with parallel programming concepts and your operating system is helpful. This manual is not a Fortran or programming tutorial.

Structure of this Document

This manual consists of the following chapters and appendixes:

Associated Documents

The following documents contain information directly related to the topics in this manual:

Other Sources of Information

This section alphabetically lists some commercially published documents that provide reference or tutorial information on Fortran 90, Fortran 95, and High Performance Fortran:

Compaq does not endorse these books or recommend them over other books on the same subjects.

Platform Labels

A platform is a combination of operating system and central processing unit (CPU) that provides a distinct environment in which to use a product (in this case, a language). This manual contains information for the following language platforms:

Language  Operating System  CPU 
Compaq Fortran[1]   OpenVMS  Alpha 
  Tru64 UNIX[2]  Alpha 
  Microsoft Windows NT  Alpha 
  Microsoft Windows NT  Intel 
  Windows 95  Intel 
  Windows 98  Intel 

[1] Formerly the DIGITAL Fortran language.
[2] Formerly the DIGITAL UNIX operating system.

Information in this manual applies to all supported platforms unless it is otherwise labeled for a specific platform, as follows:

VMS  Applies to OpenVMS on Alpha processors 
U*X  Applies to Tru64 UNIX on Alpha processors 
Alpha  Applies to OpenVMS, Tru64 UNIX, and Microsoft Windows NT on Alpha processors 
WNT  Applies to Microsoft Windows NT on Alpha and Intel processors. 
W9*  Applies to Windows 95 and Windows 98 on Intel processors 
x86  Applies to Windows NT, Windows 95, and Windows 98 on Intel processors 

For example, the ALIGN directive (Section is labeled "(U*X only)", so this directive is valid only for Tru64 UNIX operating systems on Alpha processors.

Send Us Your Comments

Compaq welcomes your comments on this or any other Compaq Fortran manual. You can send comments to us in the following ways:

If you have suggestions for improving particular sections or find any errors, please indicate the title, order number, and section numbers. Compaq also welcomes general comments.

Getting Help from Compaq

If you have a customer support contract and have comments or questions about Compaq Fortran software, you can contact Compaq's Customer Support Center (CSC), preferably using electronic means such as DSNlink. In the United States, customers can call the CSC at 1-800-354-9000.

Conventions Used in this Manual

Table 1 describes the conventions used in this manual.

Table 1 Conventions Used in This Manual

Convention  Meaning 
{      }
Large braces enclose lists from which you must choose one item. For example:
{ STATUS    }
{ DISP      }
. . .
In code examples, a horizontal ellipsis means that not all of the statements are shown. In syntax forms, the symbol means that the item preceding the ellipsis can be repeated. For example:
s[,s] . . .
[ ]  Square brackets enclose items that are optional in statements; for example:

In examples, square brackets are used to show arrays. 

A vertical ellipsis in a figure means that not all of the statements are shown. 
INTRINSIC D_LINES   Uppercase letters indicate statement keywords, and OpenVMS compiler options. 
monospaced   This typeface indicates a compiler option, Tru64 UNIX command, or pathname, and is also used in examples of source code. 
compiler option  This term refers to OpenVMS qualifiers, Tru64 UNIX flags, and Windows NT and Windows 9* command line options that can be used on the compiler command line. 
cat(1)   Cross-references to online reference pages include the appropriate section number in parentheses. For example, a reference to cat(1) indicates that you can find the material on the cat command in Section 1 of the reference pages. To read online reference pages, use the man command. Your operating system documentation also includes reference page descriptions. 
extensions   Dark teal type indicates extensions to the Fortran 90 Standard. These extensions may or may not be implemented by other compilers that conform to the language standard.
Fortran  This term refers to language information that is common to ANSI FORTRAN 77, ANSI/ISO Fortran 90, and Compaq Fortran. 
Fortran 90  This term refers to language information that is common to ANSI/ISO Fortran 90 and Compaq Fortran. 
Fortran 95  This term refers to language information that is common to ANSI/ISO Fortran 95 and Compaq Fortran. 
Compaq Parallel Software Environment  This term refers to an optional license and software that allows parallel execution of programs. Without this option, programs can only execute on a single processor, either as a scalar (non-parallel) program or as a (special case) single processor parallel program.  
integer  This term refers to the INTEGER(KIND=1), INTEGER(KIND=2), INTEGER (INTEGER(KIND=4)), and INTEGER(KIND=8) data types as a group. 
real  This term refers to the REAL (REAL(KIND=4)), DOUBLE PRECISION (REAL(KIND=8)), and REAL(KIND=16) data types as a group. 
REAL  This term refers to the default data type of objects declared to be REAL. REAL is equivalent to REAL(KIND=4), unless a compiler option specifies otherwise. 
complex  This term refers to the COMPLEX (COMPLEX(KIND=4)) and DOUBLE COMPLEX (COMPLEX(KIND=8)) data types as a group. 
logical  This term refers to the LOGICAL(KIND=1), LOGICAL(KIND=2), LOGICAL (LOGICAL(KIND=4)), and LOGICAL(KIND=8) data types as a group. 
Compaq Fortran, DIGITAL Fortran These terms refer to the same language. 
OpenVMS, VMS  These terms refer to the same operating system. 
Tru64 UNIX, DIGITAL UNIX   These terms refer to the same operating system. 
(VMS only)  Italicized type is used in platform labels and to emphasize text. (For more information, see Platform Labels in this Preface.) 
<Tab> This symbol indicates a nonprinting tab character. 

Next Page Table of Contents