IBM Open XL Fortran input files

This section lists input files to the IBM® Open XL Fortran compiler.

The input files to the compiler are:

Source Files (.f or .F suffix or its variation)
All .f, .f77, .f90, .f95, .f03, .f08, , .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 that contains the uppercase letter 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 IBM Open 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 IBM Open 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 IBM Open XL Fortran compiler present on a system.

The default configuration file is /opt/IBM/openxlf/17.1.0/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
Raw Profile Data Files

The -qprofile-generate option produces runtime profile information for use in subsequent compilations. This information is stored in one or more files with names that by default match the pattern default_*.profraw. The files must be processed by ibm-llvm-profdata into a merged profile data file before the information can be used by subsequent compilations with the -qprofile-use option.

Related information: See -qprofile-generate and -qprofile-use.