HP Fortran v 3.0 Release Notes

HP Fortran Release Notes
Known Problems and Workarounds
Chapter 1 7
When creating 64-bit shared executables (such as when +DD64 is specified) the +Z option
is on 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 not generate 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 above is restricted. When compiling
at optimization level 2 or above, the optimizer makes assumptions about the program that
do not take into account the behavior of procedures called by the ON statement. Such
procedures must therefore be “well-behaved”; they 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 placed the variable in a
register to be stored there 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.
Pointer arithmetic on Cray-style pointers has different semantics on Hewlett-Packard
machines than on some Cray machines. HP Fortran implements Cray pointers as BYTE
pointers, while some Cray machines 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 previous versions of Fortran occasionally contained a 'wrong answer' problem that is
now caught by a compiler assert function at +O3 +Oparallel.