Purpose
Specifies whether the compiler
will adhere to the Fortran 2003 IEEE arithmetic rules for the ieee_arithmetic and ieee_exceptions intrinsic
modules.
Syntax
.-strictieeemod---.
>>- -q--+-nostrictieeemod-+------------------------------------><
@PROCESS:
@PROCESS STRICTIEEEMOD | NOSTRICTIEEEMOD
Usage
When you specify
-qstrictieeemod,
the compiler adheres to the following rules:
- If there is an exception flag set on entry into a procedure that uses
the IEEE intrinsic modules, the flag is set on exit. If a flag is clear on
entry into a procedure that uses the IEEE intrinsic modules, the flag can
be set on exit.
- If there is an exception flag set on entry into a procedure that uses
the IEEE intrinsic modules, the flag clears on entry into the procedure and
resets when returning from the procedure.
- When returning from a procedure that uses the IEEE intrinsic modules,
the settings for halting mode and rounding mode return to the values they
had at procedure entry.
- Calls to procedures that do not use the ieee_arithmetic or ieee_exceptions intrinsic
modules from procedures that do use these modules, will not change the floating-point
status except by setting exception flags.
Since the above rules can impact performance, specifying –qnostrictieeemod will
relax the rules on saving and restoring floating-point status. This prevents
any associated impact on performance.