HP Fortran v3.1 Release Notes

HP Fortran Release Notes
Current Fixes
Chapter 118
Excepting top-level nonmodules, +auto_ivar is disabled.
Performance enhancement request to link with lapack and veclib when -Wl,
-aarchive_shared is used and these libraries exist on the system.
Memory directives are now processed correctly when they are in modules containing
routines.
Supports optional positional arguments.
Compiler no more assumes that 1-element array oversubscripted has 1-element.
Compiler used to assert parsing character var*len.
Compiler gave inferior performance for static-sized array arguments.
Now, BE asserted on bridge does not generate ucode2 for zero sized arrays case.
Subroutine prolog code was nullifying pointers that are in modules, that were not saved.
This caused associated intrinsic to get wrong answers.
lnblnk intrinsic has been added in this version.
Compiler gave error when Cray pointer is used with derived type.
Compiler does not go into infinite loop when processing two zero sized arrays that are
equivalent to one another.
Compiler does not give an internal error with a logical if statement.
Compiler gave internal error with bad string pointer in module.
Performance problem with aliasing, which is not necessary with 1-character strings is
now overcome.
PA-RISC
The following current resolutions are for PA-RISC systems:
PHSS_33164 (11.11)
A new directive, !DEC PACK:[|1|2|4], is added to F90 to support the similar feature in
DEC compiler.
len(b//b) returned len(b) where it should have returned len(b)*2. This happened
when b was a character array (character*5, dimension(1) :: b).
Changed getimpval and setimpval to use void * pointers, instead of specific type
pointers. This should inhibit memcpy inlining with the new cc or c++ compiler at +O3.
Changed +Oprofile=collect:all to collect both arc and dcache.