Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 3/22/2024
Public
Document Table of Contents

Call Library Routines

The following tables show Intel® Fortran Compiler library routine groups and the USE statement required to include the interface definitions for the routines in that group:

Routine

USE statement

Portability

USE IFPORT

POSIX*

USE IFPOSIX

Miscellaneous Runtime

USE IFCORE

The following are Windows only:

Routine

USE statement

Automation (AUTO)

USE IFAUTO

Component Object Model (COM)

USE IFCOM

Dialog

USE IFLOGM

Graphics

USE IFQWIN

National Language Support

USE IFNLS

QuickWin

USE IFQWIN

Serial port I/O

USE IFPORT

Language Reference section Runtime Library Routines lists topics that provide an overview of the different groups of library routines as well as calling syntax for the routines. For example, add the following USE statement before any data declaration statements, such as IMPLICIT NONE or INTEGER:

USE IFPORT

If you want to minimize compile time for source files that use the Intel® Fortran library routines, add the ONLY keyword to the USE statement. For example:

USE IFPORT, only: getenv

Using the ONLY keyword limits the number of interfaces for that group of library routines.

To view the actual interface definitions, view the .f90 file that corresponds to the .mod file. For example, if a routine requires a USE IFCORE, locate and use a text editor to view the file ifcore.f90 in the standard compiler INCLUDE directory.

You should avoid copying the actual interface definitions contained in the ifport.f90 (or ifcore.f90, ...) into your program because future versions of Intel® Fortran might change these interface definitions.

Similarly, some of the library interface .f90 files contain USE statements for a subgrouping of routines. However, if you specify a USE statement for such a subgroup, this module name may change in a future version of the Intel® Fortran Compiler. Although this will make compilation times faster, it might not be compatible with future versions of the compiler.