Language Reference

This document contains the complete description of the Intel® Fortran programming language, which includes Fortran 2018, Fortran 2008, Fortran 2003, Fortran 95, and Fortran 90. It contains information on language syntax and semantics, on adherence to various Fortran standards, and on extensions to those standards.

For information about the Fortran standards, visit the Fortran Standards Committee website.

This manual is intended for experienced applications programmers who have a basic understanding of Fortran concepts and the Standard Fortran language.

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

Note

macOS is no longer supported for Intel® Fortran Compiler Classic (ifort).

This document contains the following sections:

Section

Content

New Language Features

Describes any general new features for this release and points you to summaries of Fortran Standard features, such as Fortran 2018 features.

New Features for ifx

Describes the major new features that have been added for ifx in this release.

Language Reference Conventions

Describes language conventions that are used in the Language Reference.

Program Elements and Source Forms

Describes Fortran program elements, the Fortran character set, and source forms.

Data Types, Constants, and Variables

Describes intrinsic data types and constants, derived data types, and variables (scalars, arrays, and coarrays).

Expressions and Assignment Statements

Summarizes forms of Fortran expressions and describes assignment statements, which are used to define or redefine variables.

Specification Statements

Summarizes the various specification statements, which are used to declare the attributes of data objects. Also discusses various type declarations and array declarations.

Dynamic Allocation

Summarizes dynamic allocation for data objects, and the effects of allocation and deallocation on variables, allocatable arrays, and pointer targets.

Execution Control

Summarizes constructs (such as DO constructs) and statements (such as branch statements and image control statements) that can transfer control within a program.

Program Units and Procedures

Describes program units (including modules, module procedures, and intrinsic modules), subroutines and functions, argument association, and procedure interfaces.

Intrinsic Procedures

Describes argument keywords used in intrinsic procedures, and provides an overview of intrinsic procedures. Also includes categories and lists of intrinsic procedures.

Data Transfer I/O Statements

Summarizes data transfer input/output (I/O) statements, including components of data transfer I/O statements, forms for READ and WRITE statements, and user-defined derived-type I/O.

I/O Formatting

Describes the rules for I/O formatting, such as specification format and format descriptors (data, control, and string edit).

File Operation I/O Statements

Summarizes auxiliary I/O statements INQUIRE and OPEN that you can use to perform file operations, such as file inquiry, and file connection and positioning.

Compilation Control Statements

Summarizes compilation control statements INCLUDE and OPTIONS.

Directive Enhanced Compilation

Summarizes general compiler directives and OpenMP* Fortran compiler directives, including syntax for both. Also includes relevant rules for both kinds of directives.

Scope and Association

Describes scope, which refers to the area in which a name is recognized, and association, which allows different names to refer to the same entity in a particular region of a program.

Deleted and Obsolescent Language Features

Describes deleted and obsolescent features specified in various Fortran standards.

Additional Language Features

Describes some statements and language features supported for programs written in older versions of Fortran.

Additional Character Sets

Describes the additional character sets that you can use in programs.

Data Representation Models

Describes data representation models for numeric intrinsic functions, and the model for bit data.

Library Modules and Runtime Library Routines

Summarizes Fortran library modules and the runtime library routines.

Summary of Language Extensions

Summarizes Intel® Fortran extensions to the ANSI/ISO Fortran 2003 Standard.

A to Z Reference

Contains language summary tables and descriptions of all Intel® Fortran statements, intrinsics, directives, and module library routines.

While most descriptions are listed in alphabetical order within this section, the following routines have their own sections:

Glossary

Contains abbreviated definitions of some commonly used terms in this manual.

For a summary of Fortran 2018 features in this release, see Fortran 2018 Features.

For a summary of Fortran 2008 features in this release, see Fortran 2008 Features.

For a summary of Fortran 2003 features in this release, see Fortran 2003 Features.