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.
Related information: See Passing Fortran files through the C preprocessor.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.
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.
- 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.
- 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.
Submodule 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.
- 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.