Allows some control over floating-point exception handling for the main program at run-time.
Windows: Floating-Point > Floating-Point
Exception Handling
Linux: None
Mac OS: Floating-Point > Floating-Point
Exception Handling
IA-32 architecture, Intel® 64 architecture, IA-64 architecture
Linux and Mac OS: | -fpen |
Windows: | /fpe:n |
n | Specifies the floating-point exception handling. Possible values are: | |
0 | Floating-point invalid, divide-by-zero,
and overflow exceptions are enabled. If any such exceptions occur, execution
is aborted. This option sets the -ftz (Linux and
Mac OS) or /Qftz (Windows) option; therefore underflow
results will be set to zero unless you explicitly specify -no-ftz
(Linux and Mac OS) or /Qftz- (Windows). On systems using IA-64 architecture, underflow behavior is equivalent to specifying option -ftz or /Qftz. On systems using IA-32 or Intel® 64 architecture, underflow results from SSE instructions, as well as x87 instructions, will be set to zero. By contrast, option -ftz or /Qftz only sets SSE underflow results to zero. To get more detailed location information about where the error occurred, use option traceback. | |
1 | All floating-point exceptions are disabled. On systems using IA-64 architecture, underflow behavior is equivalent to specifying option -ftz or /Qftz. On systems using IA-32 or Intel® 64 architecture, underflow results from SSE instructions, as well as x87 instructions, will be set to zero. | |
3 | All floating-point exceptions are disabled. Floating-point underflow is gradual, unless you explicitly specify a compiler option that enables flush-to-zero, such as -ftz or /Qftz, O3, or O2 on systems using IA-32 or Intel® 64 architecture. This setting provides full IEEE support. |
-fpe3 or /fpe:3 | All floating-point exceptions are disabled. Floating-point underflow is gradual, unless you explicitly specify a compiler option that enables flush-to-zero. |
This option allows some control over floating-point exception handling for the main program at run-time. This includes whether exceptional floating-point values are allowed and how precisely run-time exceptions are reported.
The fpe option affects how the following conditions are handled:
When floating-point calculations result in a divide by zero, overflow, or invalid operation.
When floating-point calculations result in an underflow.
When a denormalized number or other exceptional number (positive infinity, negative infinity, or a NaN) is present in an arithmetic expression.
When enabled exceptions occur, execution is aborted and the cause of the abort reported to the user. If compiler option traceback is specified at compile time, detailed information about the location of the abort is also reported.
This option does not enable underflow exceptions, input denormal exceptions, or inexact exceptions.
None
ftz, Qftz compiler option
traceback compiler option
Floating-point Operations: Using the -fpe or /fpe Compiler Option