If no floating-point option is specified, any floating divide-by-zero, overflow or invalid operand exception will cause the execution of the program to be terminated (with an informative message and usually a core dump). Occurrence of floating underflow may be reported on normal termination of the program. On hardware supporting IEEE 754 standard arithmetic gradual underflow with denormalised numbers will be enabled. Note that this mode of operation is the only one available on hardware which does not support IEEE 754.
If the -ieee=full
option is specified, non-stop arithmetic is enabled;
thus REAL
variables may take on the values +Infinity, −Infinity and NaN
(Not-a-Number).
If any of the floating exceptions listed above are detected by the hardware
during execution, this fact will be reported on normal termination.
The -ieee=full option must be specified when compiling
the main program
and has global effect; that is, it affects the entire executable program.
If the -ieee=nonstd option is specified, floating-point exceptions are handled in the default manner (i.e. execution is terminated). However, gradual underflow is not enabled, so results which would have produced a denormalised number produce zero instead. This option can only be used on hardware for which this mode of operation is faster. Like -ieee=full, the -ieee=nonstd option must be specified when compiling the main program and has global effect.