HP Fortran Version 3.2 Release Notes

HP Fortran Release Notes
Known Problems and Workarounds
Chapter 16
When creating a 64-bit shared executable (such as when +DD64 is specified) the +Z option
is enabled by default. The +Z option (equivalent to +pic=long) is the only PIC option
supported for 64-bit executables. If the +z option (equivalent to +pic=short) is specified
when creating 64-bit code, it instead maps to +Z.
Workaround: To avoid generating position independent code for 64-bit executables,
specify the following option:
-Wl,-noshared
Mixing the standard Fortran I/O operations with BUFFER IN and BUFFER OUT I/O on the
same logical unit number can confuse the input stream (READ), or corrupt the data file
(WRITE).
SoftBench support is not available.
Using the ON statement at optimization levels 2 and higher is restricted. When compiling
at optimization level 2 or greater, the optimizer does not take the behavior of procedures
called by the ON statement into account. Such procedures must meet the following criteria:
The ON procedure must not assume that any variable in the interrupted procedure or
in its caller has its current value. (The optimizer may have stored the variable in a
register until after the call to the interrupted procedure is complete.)
The ON procedure must not change the value of any variable in the interrupted
procedure or in its caller if the effect of the ON procedure is to return program control
to the point of interrupt.
NOTE These restrictions do not apply if you compile at optimization levels +O0
and +O1.
The +DS compile-line options do not accept any PA-RISC architecture models as
arguments, because the HP Fortran compiler for Itanium-based architectures does not
support the PA-RISC architecture.
The semantics for pointer arithmetic on Cray-style pointers is different on
Hewlett-Packard systems and on some Cray systems. HP Fortran implements Cray
pointers as BYTE pointers, while some Cray systems use word addressing.
Large source files occasionally cause internal errors in the HP Fortran compiler.
Workaround: If this occurs, split the file using fsplit and recompile.
The earlier versions of Fortran occasionally contained a 'wrong answer' problem that is
now detected by a compiler assert function at +O3 +Oparallel.
Workaround: To avoid this, use +O2 optimization instead of +O3.