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.