Fortran run-time messages have the following format:
forrtl: severity (number): message-text
where:
forrtl
Identifies the source as the Intel Fortran run-time system (Run-Time
Library or RTL).
severity
The severity levels are: severe, error,
warning, or info.
number
This is the message number; also the IOSTAT
value for I/O statements.
message-text
Explains the event that caused the message.
The following table explains the severity levels of run-time messages, in the order of greatest to least severity. The severity of the run-time error message determines whether program execution continues:
Severity | Description |
---|---|
severe |
Must be corrected. The program's execution is terminated when the error is encountered unless the program's I/O statements use the END, EOR, or ERR branch specifiers to transfer control, perhaps to a routine that uses the IOSTAT specifier. (See Using the END, EOR, and ERR Branch Specifiers and Using the IOSTAT Specifier and Fortran Exit Codes and Methods of Handling Errors.) For severe errors, stack trace information is produced by default, unless the environment variable FOR_DISABLE_STACK_TRACE is set. If the command line option -traceback (Linux* and Mac OS*) or /traceback (Windows*) is specified, the stack trace information contains program counters set to symbolic information. Otherwise, the information contains merely hexadecimal program counter information. In some cases stack trace information is also produced by the compiled code at run-time to provide details about the creation of array temporaries. If FOR_DISABLE_STACK_TRACE is set, no stack trace information is produced. |
error |
Should be corrected. The program might continue execution, but the output from this execution might be incorrect. For errors of severity type error, stack trace information is produced by default, unless the environment variable FOR_DISABLE_STACK_TRACE is set. If the command line option -traceback (Linux and Mac OS) or /traceback (Windows) is specified, the stack trace information contains program counters set to symbolic information. Otherwise, the information contains merely hexadecimal program counter information. In some cases stack trace information is also produced by the compiled code at run-time to provide details about the creation of array temporaries. If FOR_DISABLE_STACK_TRACE is set, no stack trace information is produced. |
warning |
Should be investigated. The program continues execution, but output from this execution might be incorrect. |
info |
For informational purposes only; the program continues. |
For a description of each Intel Fortran run-time error message, see Overview of Run-Time Error Messages and related topics.
The following example applies to Linux and Mac OS systems:
In some cases, stack trace information is produced by the compiled code at run time to provide details about the creation of array temporaries.
(If FOR_DISABLE_STACK_TRACE is set, no stack trace information is produced.)
The following program generates an error at line 12:
program ovf
real*4 x(5),y(5)
integer*4 i
x(1) = -1e32
x(2) = 1e38
x(3) = 1e38
x(4) = 1e38
x(5) = -36.0
do i=1,5
y(i) = 100.0*(x(i))
print *, 'x = ', x(i), ' x*100.0 = ',y(i)
end do
end
The following command line produces stack trace information for the program
executable.
> ifort -O0 -fpe0 -traceback
ovf.f90 -o ovf.exe
> ovf.exe
x = -1.0000000E+32
x*100.0
= -1.0000000E+34
forrtl: error (72): floating overflow
Image PC
Routine
Line
Source
ovf.exe 08049E4A
MAIN__
14
ovf.f90
ovf.exe 08049F08
Unknown
Unknown
Unknown
ovf.exe 400B3507
Unknown
Unknown
Unknown
ovf.exe 08049C51
Unknown
Unknown
Unknown
Abort
The following suppresses stack trace information because the FOR_DISABLE_STACK_TRACE
environment variable is set.
> setenv FOR_DISABLE_STACK_TRACE
true
> ovf.exe
x = -1.0000000E+32
x*100.0
= -1.0000000E+34
forrtl: error (72): floating overflow
Abort
The libifcore, libirc, and libm run-time libraries ship message catalogs. When a message by one of these libraries is to be displayed, the library searches for its message catalog in a directory specified by either the NLSPATH (Linux and Mac OS), or %PATH% (Windows) environment variable. If the message catalog cannot be found, the message is displayed in English.
The names of the three message catalogs are as follows:
libifcore message catalogs and related text message files | Linux and Mac OS | ifcore_msg.cat ifcore_msg.msg |
Windows | ifcore_msg.dll ifcore_msg.mc | |
libirc message catalogs and related text message files |
Linux and Mac OS | irc_msg.cat irc_msg.msg |
Windows | irc_msg.dll irc_msg.mc | |
libm message catalogs and related text message files |
Linux and Mac OS | libm.cat libm.msg |
Windows | libmUI.dll libmUI.mc |