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