XL Fortran input files

The input files to the compiler are:

Source Files (.f or .F suffix)
All .f, .f77, .f90, .f95, .f03, .f08, and .F, .F77, .F90, .F95, .F03, and .F08 files are source files for compilation. The compiler compiles source files in the order you specify on the command line. If it cannot find a specified source file, the compiler produces an error message and proceeds to the next file, if one exists. Files with a suffix of .F are passed through the C preprocessor (cpp) before being compiled.

Include files also contain source and often have different suffixes from .f.

The fsuffix and cppsuffix attributes in Editing the default configuration file and -qsuffix let you select a different suffix.

Object Files (.o suffix)
All .o files are object files. After the compiler compiles the source files, it uses the ld command to link-edit the resulting .o files, any .o files that you specify as input files, and some of the .o and .a files in the product and system library directories. It then produces a single executable output file.
Related information: See Linking and Linking XL Fortran programs.

The osuffix attribute, which is described in Editing the default configuration file and -qsuffix, lets you select a different suffix.

Assembler Source Files (.s suffix)
The compiler sends any specified .s files to the assembler (as). The assembler output consists of object files that are sent to the linker at link time.
Related information: The ssuffix attribute, which is described in Editing the default configuration file and -qsuffix, lets you select a different suffix.
Archive or Library Files (.a suffix)
The compiler sends any specified library files (.a files) to the linker at link time. There are also AIX® and XL Fortran library files in the /usr/lib directory that are linked in automatically.
Related information: See -l, -L, and LIBPATH: Setting library search paths.
Shared Object Files (.so suffix)
These are object files that can be loaded and shared by multiple processes at run time. When a shared object is specified during linking, information about the object is recorded in the output file, but no code from the shared object is actually included in the output file.
Related information: See -brtl and -bdynamic, -bshared, and -bstatic.
Configuration Files (.cfg.nn suffix)
The contents of the configuration file determine many aspects of the compilation process, most commonly the default options for the compiler. You can use it to centralize different sets of default compiler options or to keep multiple levels of the XL Fortran compiler present on a system.

The default configuration file is /opt/IBM/xlf/15.1.3/etc/xlf.cfg.nn, where nn indicates the OS version the configuration file is for.

Related information: See Using custom compiler configuration files and -F for information about selecting the configuration file.
Module Symbol Files: modulename.mod
A module symbol file is an output file from compiling a module and is an input file for subsequent compilations of files that USE that module. One .mod file is produced for each module, so compiling a single source file may produce multiple .mod files.
Fortran 2008 beginsSubmodule Symbol Files: ancestormodulename_submodulename.smod
A submodule symbol file is an output file from compiling a submodule and is an input file for subsequent compilations of the descendant submodules. One .smod file is produced for each submodule, so compiling a single source file might produce multiple .smod files.

The submodule symbol file is not needed for compiling the ancestor module or any compilation units that access the ancestor module via use association.

Related information: See -qmoddir.
Fortran 2008 ends
Profile Data Files

The -qpdf1 option produces runtime profile information for use in subsequent compilations. This information is stored in one or more hidden files with names that match the pattern ".*pdf*" or ".*pdf_map*".

Related information: See -qpdf1, -qpdf2.


Voice your opinion on getting help information Ask IBM compiler experts a technical question in the IBM XL compilers forum Reach out to us