HP Fortran v3.1 Release Notes

HP Fortran Release Notes
Previous Fixes
Chapter 122
There was a compile-time assert from initialized private types.
There was a compiler abort with complicated aliased variables.
PHSS_30775 (11.22)/PHSS_30776 (11.23)
An enhancement was made to allow unary +/- after binary +/-.
DPRIVATETYPE was incorrectly implemented as an unaligned byte array.
Occasionally, lbound/ubound received wrong answers for zero size array dimensions.
•The +nocheckuf option caused a compiler abort.
The handling of A(:) versus A(numeric:numeric) was reevaluated.
Wrong answers were occasionally received from an array assignment with dependence.
The compiler aborted when compiling a DO statement that used a PARAMETER as its start,
stop, or step attribute.
Calling a generic intrinsic with an INTEGER*2 argument now calls the INTEGER*2 version
of the intrinsic and if necessary, interprets other arguments that are constants as
INTEGER*2 constants.
There was a syntax error when the imaginary part of a complex constant ended with a
space.
Wrong answers were received from Cray targets as DO loop bounds and high optimization
levels.
•Ucode-2 from int2 + iand(int2,int4) was incorrect.
•The C$PAR directive is now allowed as comments in +Oopenmp mode.
There were incorrect bounds of character string arrays.
When using shift count equal to the number of bits in the integer value, rshift should
have returned “0” but did not.
Fortran on Itanium-based platforms uses /opt/langtools/lbin/cpp to preprocess
some source files, but the Fortran install bundle did not verify that it is present on the
system.
There was a compile-time assert.
PHSS_30521 (11.22)/PHSS_30522 (11.23)
Wrong answers were received from FORALL containing loop-varying shapes at all
optimization levels.