HP Fortran for OpenVMS

HP Fortran for OpenVMS
For single precision, double precision, and quad-
precision COMPLEX data:
COMPLEX (KIND=4)
COMPLEX (KIND=8)
COMPLEX (KIND=16)
HP Fortran takes advantage of OpenVMS facilities to
include the following features and enhancements in both
HP Fortran 95/90 and HP Fortran 77:
Language elements for keyed and sequential access
to OpenVMS RMS indexed organization files
The ability to specify an OpenVMS text library mod-
ule in an INCLUDE statement
Support for calls to OpenVMS system service and
Run-Time Library procedures
Generation of symbol tables for the OpenVMS Sym-
bolic Debugger
LIB$ESTABLISH and LIB$REVERT are provided as
intrinsic functions for compatibility with HP Fortran
exception handling
Support for providing error diagnostics to the DEC
Language-Sensitive Editor component of DECset for
OpenVMS
FDML (Fortran Data Manipulation Language) support
(I64 only)
HP Fortran 77 contains the following extensions to the
FORTRAN 77 standard: (Alpha only)
Support for recursive subprograms
IMPLICIT NONE statements
INCLUDE statement
NAMELIST-directed I/O
DO WHILE and ENDDO statements
Use of exclamation point (!) for end of line comments
Generation of Cross Reference Listings
Support for NTT Technical Requirement TR550001,
Multivendor Integration Architecture (MIA) Version
1.1, Division 2, Part 3-2, Programming Language
FORTRAN
Support for automatic arrays
Support for the SELECT CASE - CASE - CASE DE-
FAULT - END SELECT statements
Support for the EXIT and CYCLE statements and for
construct names on DO - END DO statements
Reporting of unused and uninitialized variables
Support for DATE_AND_TIME intrinsic for obtaining
dates using a four-digit year format
HP Fortran 77 takes advantage of OpenVMS facilities
to include the following features and enhancements:
Support for translation of CDD/Repository records
into Fortran records for Fortran F77 on OpenVMS
Alpha and Fortran F90 on OpenVMS I64
Support for the extraction of program design infor-
mation in comments using the DEC Source Code
Analyzer component of DECset for OpenVMS
HP Fortran provides a multiphase optimizer that is capa-
ble of performing optimizations across entire programs.
Specific optimizations performed by both HP Fortran
95/90 and Compaq Fortran 77 include:
Constant folding
Optimizations of arithmetic IF, logical IF, and block
IF-THEN-ELSE
Global common subexpression elimination
Removal of invariant expressions from loops
Global allocation of general registers across program
units
In-line expansion of statement functions and routines
Optimization of array addressing in loops
Value propagation
Deletion of redundant and unreachable code
Loop unrolling
Thorough dependence analysis
Software pipelining to rearrange instructions between
different unrolled loop iterations
Optimized interface to intrinsic functions
Loop transformation optimizations that apply to array
references within loops, including:
Loop blocking
Loop distribution
Loop fusion
Loop interchange
Loop scalar replacement
Outer loop unrolling
Specific optimizations performed by HP Fortran 95/90
include:
Array temporary elimination
Both HP Fortran 95/90 and HP Fortran 77 are share-
able, re-entrant compilers that operate under the Open-
VMS operating system. They globally optimize source
programs while taking advantage of the native instruc-
tion set and the OpenVMS virtual memory system.
4