HP Fortran Programmer Guide HP-UX 11i v1, HP-UX 11i v2, and HP-UX 11i v3 (B3908-90032,December 2012)
+f2003enables FORTRAN 2003 features supported by the compiler.+f2003
+fastallocatableenables a different representation for allocatable arrays in the
object code produced by the compiler. This alternate representation avoids problems
+fastallocatable
in optimizing code containing allocatable array references. Additionally, this alternate
representation for allocatable arrays is binary compatible with the old representation.
Uses a strict power table for converting floating constants with exponents. Use of strict
power table provides a more accurate floating point representation.
+fltconst_strict
+FPinitializes the flagsthat specify how runtime floating-point exceptions should be
trapped; uppercase flagsenable traps, lowercase flagsdisable traps. flags can
+FPflags
be concatenated to specify a desired behavior and may not contain spaces or tabs.
Valid values for flags are identified in Table 2-4.
By default, all traps are disabled. However, you can specifically disable a behavior
either by excluding the upper-case letter from flagsor by including the equivalent
lower-case letter (v,z,o,u,i,d) in flags. For example, the following command
lines are equivalent:
$ f90 +FPvZI test.f90
$ f90 +FPZI test.f90
If you are using PA1.1 libraries, you can dynamically change these settings at run
time by using thefpsetdefaultsor fpsetmaskroutines. For more information
about these routines, see the fpgetround (3M) man page and the HP-UX
Floating-Point Guide.
Enabling sudden underflow may cause the same program to compute different results
on different implementations of the PA-RISC 1.1and 2.0architectures. This is because
some hardware implementations have sudden underflow available, while others do
not. The +FPDoption enables the hardware to flush denormalized values to zero, but
it does not require that it do so.
Table 10 Values for the +FP option
MeaningValue
Trap on invalid floating-point operations. Examples of invalid floating-point operations include the following:V
• Arithmetic operation on NaNs
• Operations such as (+inf) + (-inf) and (+inf) - (+inf)
• Multiplication of 0 and infinity
• Division operations 0/0 and inf/inf
• Certain floating-point remainder operations
• Square root of a negative value
• Certain kinds of comparisons of unordered values Z
Trap on floating-point divide by zero.Z
Trap on floating-point overflow.O
Trap on floating-point underflow.U
Trap on floating-point operations that produce inexact results. Inexact result traps may occur whenever
roundoff is necessary to produce the result. For example, the fraction 1.0/3.0 produces an inexact trap
because there is no exact floating-point representation for this fraction.
I
Enable sudden underflow (flush to zero) of denormalized values on those PA-RISC systems greater than version
1.0 that have implemented sudden underflow. (That is, +FPD enables sudden underflow only if it is available
D
on the processor that is used at run time.) Denormalized values are those values whose absolute value is very
close to zero. For IEEE single precision data types, the largest denormalized value is approximately equal
to 2-126. For IEEE double precision data types, such values are approximately equal to 2 -1022. Sudden
underflow will cause some floating-point applications to run faster, with a possible loss of numerical accuracy
on numbers very close to zero.
+fp_exceptionis a compile time flag. It causes a descriptive message and a procedure
traceback to be issued to standard error when the HP-UX signals listed in Table 2-5 are generated.
+[no]fp_exception
26 Compiling and linking