 Software Product % Description                             
 			    Compaq   8 PRODUCT NAME:  Compaq Fortran 77 for OpenVMS VAX Systems SPD 25.16.51  C ___________________________________________________________________   I PRODUCT NAME:  Compaq Fortran 77 for OpenVMS VAX Systems     SPD 25.16.51    DESCRIPTION   C Compaq Fortran 77 is an implementation of full language FORTRAN-77, D conforming to American National Standard FORTRAN, ANSI X3.9-1978. ItB includes optional support for programs conforming to the previous I standard, ANSI X3.9-1966. Compaq Fortran 77 meets the Federal Information J Processing Standard Publication (FIPS-69-1) requirements by conforming to E the ANSI Standard and by including a flagger. The flagger optionally  K produces diagnostic messages for compile-time elements that do not conform  J to the Full-Level ANSI FORTRAN X3.9-1978 Standard. Compaq Fortran 77 also L conforms to the International Standard ISO 1539-1980(E) and to MIL-STD 1753.  E Compaq Fortran 77 includes the following language enhancements to the  ANSI/ISO standard:   o  INCLUDE statement  < o  Use of the exclamation point (!) for end of line comments  A o  31-character identifiers that can include dollar sign ($) and      underscore (_)   C                                                       NOVEMBER 1999           o  IMPLICIT NONE statement  D o  Explicit specification of storage allocation units for data types?    such as LOGICAL*4, INTEGER*4, REAL*4, REAL*8, and COMPLEX*8.   J o  A set of data types beyond those specified by full language FORTRAN-77:  C    -  1-byte and 2-byte short integers (BYTE, INTEGER*1, INTEGER*2)   =    -  1-byte and 2-byte short logicals (LOGICAL*1, LOGICAL*2)   (    -  Quadruple-precision real (REAL*16)  ;    -  Double-precision complex (DOUBLE COMPLEX, COMPLEX*16)   I o  Composite data declarations using STRUCTURE, END STRUCTURE, and RECORD H    statements, and access to record components through field references.  K o  POINTER declaration for integer pointer variables (often called CRAY[TM]     pointers)  " o  AUTOMATIC and STATIC statements   o  VOLATILE statement   5 o  Data initialization in type declaration statements   E o  Binary, octal and hexadecimal bit constants to initialize LOGICAL, F    REAL, and INTEGER values and participate in arithmetic and logical     expressions  ! o  DO WHILE and END DO statements   2 o  Built-in functions %DESCR, %LOC, %REF, and %VAL   o  Bit manipulation functions    o  NAMELIST-directed I/O  ? o  Z and O format edit descriptors applicable to all data types    o  ENCODE and DECODE statements   4 o  ACCEPT, TYPE, and REWRITE input/output statements  - o  DEFINE FILE, UNLOCK, and DELETE statements   "                                  2         C o  Language elements for keyed and sequential access to OpenVMS RMS     indexed organization files    o  Debug statements in source   G o  Directives to control listing page titles and subtitles, object file C    identification field, COMMON and record field alignment and some     attributes of common blocks  2 Compaq Fortran 77 includes the following features:  G o  Support of DATE_AND_TIME intrinsic for obtaining dates using a four-     digit year format  2 o  Reporting of unused and uninitialized variables  $ o  Support for recursive subprograms  " o  Support for stack-based storage  C o  Support for reading and writing binary data files in non-native  B    formats, including IEEE (little-endian and big-endian), IBM[R]     System\360, and CRAY[R]  3 o  USEROPEN subroutine invocation at file OPEN time   D o  Support for NTT Technical Requirement TR550001, Multivendor Inte-A    gration Architecture (MIA) Version 1.1, Division 2, Part 3-2,      Programming Language Fortran   B o  Generation of a source listing file with optional machine code *    representation of the executable source  9 o  Support for calls to OpenVMS system service procedures    o  Generation of shareable code   @ o  Generation of symbol tables for the OpenVMS Symbolic Debugger  ) o  Generation of Cross Reference Listings   H o  Support for providing error diagnostics to the DEC Language-SensitiveE    Editor component and cross-reference information to the DEC Source 0    Code Analyzer component of DECset for OpenVMS  "                                  3         D o  Support for low-level program design, including the processing ofD    pseudocode and the extraction of design information from comments(    when used in conjunction with DECset.  D o  Support for translation of Oracle CDD/Repository[TM] records into!    Fortran STRUCTURE declarations   A o  Generation of optional diagnostic messages for extensions not  <    supported by Compaq's ULTRIX and VAXELN operating systems  @ o  The ability to provide diagnostics for language features not 2    supported by Compaq Fortran on Alpha platforms.  < o  Suport for up to 255 actual arguments in a CALL statement  ; o  Support for up to 508 named COMMON blocks per subprogram   F o  I/O unit numbers can be any integer value in the range of 0 and 119  D The Compaq Fortran 77 compiler provides a multi-phase optimizer thatC is capable of performing optimizations across entire program units.   ) Specific optimizations performed include:    o  Constant folding   E o  Optimizations of arithmetic IF, logical IF, and block IF-THEN-ELSE   * o  Global common subexpression elimination  + o  In-line expansion of statement functions   . o  Removal of invariant expressions from loops  , o  Optimization of array addressing in loops   o  Value propagation  - o  Deletion of redundant and unreachable code   - o  Optimized interface to intrinsic functions   A o  Improved generated code for references to dummy arguments and      variables in COMMON  E o  Improved generated code for operations involving COMPLEX variables   "                                  4         C o  Specially optimized scalar code for routines that process large  A    arrays which can significantly reduce page faults and improve  >    application performance (selectable with /OPTIMIZE=LEVEL=4)  F Compaq Fortran 77 for OpenVMS VAX Systems has additional features thatG support developing applications that take advantage of the VAX vector   ) processors or multiprocessor VAX systems.   H o  Support for automatic generation of VAX vector-processor instructions  H o  Support for automatic and manual decomposition of programs to improve8    performance on multiple-processor OpenVMS VAX systems  . o  Multi-level vectorization and decomposition  C o  Vectorization of DO loops with both INTEGER*4 and INTEGER*2 loop     control variables  D o  Vectorization of many intrinsic mathematic functions for operands  H o  Optimized vector code generation for solving dense systems of linear     equations   o  Thorough dependence analysis   E o  Compile-time performance analysis to choose the best vectorization     and/or decomposition method  G o  Integration of vector and scalar optimizations of INTEGER*4, REAL*4, *    REAL*8, COMPLEX*8, and COMPLEX*16 types  D o  An ASSERT statement to provide additional information to the com-D    piler about the program. The ASSERT statement can be used in someF    programs to achieve a high degree of vectorization and/or automaticC    decomposition. The ASSERT statement can optionally generate code F    to verify the assertions at run time, if desired. ASSERT statementsE    can be specified in directive form for portability and will be ig- ?    nored by other compilers since they will appear as comments.   "                                  5         E o  The INIT_DEP_FWD directive allows vector processing for many loops E    that would otherwise not qualify due to unknown data dependencies. C    As this directive may change the meaning of the program, Compaq  H    Computer Corporation does not warrant execution results conforming to4    the Fortran standard when this directive is used.  I o  The NOVECTOR directive to allow the programmer to control the presence 6    and level of vectorization in each nest of DO-loops  G o  The /MATH_LIBRARY qualifier to support performance optimized vector      math functions   J o  The /CHECK=ALIGNMENT qualifier to suppress vector alignment exceptions     at run time  9 o  Generation of diagnostics for vectorization inhibitors   C    -  Though some vector inhibition diagnostics will display in the D       listing and on the terminal, the DEC Language-Sensitive EditorD       component of the DEC Language-Sensitive Editor/DEC Source CodeC       Analyzer is required to display all the vector inhibition di- *       agnostics generated by the compiler.  G Compaq Fortran 77 supports the following native VAX floating point data  types:  F -  32-bit F_floating data type, with an 8-bit exponent and 23-bit man-E    tissa, which provides a range of approximately 0.29E-38 to 1.70E38 0    and a precision of typically 7 decimal digits  F -  64-bit D_floating data type, with an 8-bit exponent and 56-bit man-E    tissa, which provides a range of approximately 0.29E-38 to 1.70E38 1    and a precision of typically 16 decimal digits   G -  64-bit G_floating data type, with an 11-bit exponent and 53-bit man- G    tissa, which provides a range of approximately 0.56E-308 to 0.90E308 1    and a precision of typically 15 decimal digits   E -  128-bit H_floating data type, with a 15-bit exponent and a 113-bit L    mantissa, which provides a range of approximately 0.84E-4932 to 0.59E49321    and a precision of typically 33 decimal digits   "                                  6         C The shareable, re-entrant compiler operates under the OpenVMS oper- D ating system. It globally optimizes source programs while taking ad-D vantage of the native instruction set and the OpenVMS virtual memory system.    Run-Time Library Redistribution   E The Compaq Fortran 77 kit may include updated Run-Time Library share- F able images. Compaq grants the user a nonexclusive royalty-free world-D wide right to reproduce and distribute the executable version of the5 Run-Time Library (the "RTLs") provided that the user:   E o  distributes the RTLs only in conjunction with and as a part of the C    user's software application product which is designed to operate     in the OpenVMS environment;  D o  does not use the name, logo, or trademarks from Digital or Compaq5    to market the user's software application product;   E o  includes copyright notice from Compaq for Compaq Fortran 77 on the E    user's product disk label and/or on the title page of the documen- /    tation for software application product; and   I o  agrees to indemnify, hold harmless, and defend Compaq from and against C    any claims or lawsuits, including attorney's fees, that arise or H    result from the use or distribution of the software application prod-E    uct. Except as expressly provided herein, Compaq grants no implied K    or express license under any of its patents, copyrights, trade secrets,  H    trademarks, or any license or other proprietary interests and rights.  O The Run-Time Library image file names are FORRTL.EXE, MTHRTL.EXE, UVMTHRTL.EXE, L and VMTHRTL.EXE. Three of these (MTHRTL.EXE, UVMTHRTL.EXE, and VMTHRTL.EXE) J must be distributed together in order to ensure proper execution behavior.        "                                  7          HARDWARE REQUIREMENTS   B Processors Supported by Compaq Fortran 77 for OpenVMS VAX Systems:  D Any VAX system that is capable of running OpenVMS VAX Version 5.4 or higher.    Processors Not Supported:   6             MicroVAX I, VAXstation I, VAXstation 8000,"             VAX-11/725, VAX-11/782   Processors Restrictions:  J A TK50 Tape Drive is required for standalone MicroVAX 2000 and VAXstation 
 2000 systems.   C ___________________________________________________________________   C Table_1:_Disk_Space_Requirements_(Block_Cluster_Size_=_1)__________   C TASK________VAX____________________________________________________   " Installation16,000 blocks (8.0 MB)  C Permanent:__11,000_blocks_(5.5_MB)_________________________________   E These counts refer to the disk space required on the system disk. The D sizes are approximate; actual sizes may vary depending on the user's8 system environment, configuration, and software options.  * Parallel Processing Hardware Requirements:  E Multiprocessor VAX systems are required for parallel execution of de- D composed DO-loops. However, applications that are compiled using theC Compaq Fortran 77 parallel processing options will run correctly on  single-processor systems.   ( Vector Processing Hardware Requirements:  "                                  8         D Vector-processor equipped VAX systems are required for proper execu-D tion of vectorized DO-loops. However, applications that are compiledC using the vector-processing options will run on all VAX processors, C using the VAX Vector Instruction Emulation Facility (VVIEF) that is E supplied with OpenVMS. Execution using the VVIEF may be significantly - slower than recompiling for scalar execution.    OPTIONAL HARDWARE   F Compaq Fortran 77 for OpenVMS supports the optional vector processing @ hardware on the VAX 9000 and the VAX 6000 Model 400 and VAX 6000 Model 500 processors.   E Floating point intensive applications should be run on configurations G with the appropriate hardware support for the floating point data types K being used. Consult the base operating system Software Product Description  J (SPD) for the Floating Point Accelerator or other floating point hardware # appropriate for your configuration.     CLUSTER ENVIRONMENT  C This layered product is fully supported when installed on any valid J and licensed VMScluster* configuration without restrictions. The HARDWARE I REQUIREMENTS sections of this product's Software Product Description and  M System Support Addendum detail any special hardware required by this product.   K * VMScluster configurations are fully described in the VMScluster Software  L Product Description (SPD 29.78.xx) and include CI, Ethernet, SCSI and Mixed  Interconnect configurations.   SOFTWARE REQUIREMENTS   + o  OpenVMS VAX Operating System V5.4 - V7.2             "                                  9          OpenVMS VAX Tailoring   D The following OpenVMS classes are required for full functionality of this layered product:    o  OpenVMS Required Saveset    o  Programming Support   o  Utilities   OPTIONAL SOFTWARE   & o  CDD/Repository* for VMS V3.0 - V5.3  I    Note: The reference to CDD/Repository refers to all the CDD products:  4    VAX CDD, VAX CDD/Plus, and Oracle CDD/Repository.  E o  DEC Language-Sensitive Editor/DEC Source Code Analyzer V3.1 - V4.6   8 o  Digital Extended Math Library V1.0 - V2.9 for OpenVMS   GROWTH CONSIDERATIONS   D The minimum hardware/software requirements for any future version ofC this product may be different from the requirements for the current  version.   DISTRIBUTION MEDIA  3 9-track 1600 BPI magnetic tape, TK50 Streaming Tape   L This product is also available as part of the OpenVMS Consolidated Software % Distribution on CD-ROM (QA-VWJ8A-A8).   E The software documentation for this product is also available as part 6 of the OpenVMS Online Documentation Library on CD-ROM.    "                                 10          ORDERING INFORMATION  ) Compaq Fortran 77 for OpenVMS VAX Systems    Software Licenses:      Personal Use: QL-100AA-2B    Concurrent Use: QL-100AA-3B$    Unlimited System Use: QL-100A*-**,    Software Media/Documentation: QA-100A*-**2    Software Documentation (Hard Copy): QA-100AA-GZ)    Software Product Services: QT-100A*-**   L * Denotes variant fields. For additional information on available licenses, 9 services, and media, refer to the appropriate price book.    SOFTWARE LICENSING  E This software is only furnished under a license. For more information G about Compaq's licensing terms and policies, contact your local Compaq   office.   $ License Management Facility Support:  F This layered product supports the OpenVMS License Management Facility.  C License units for this product are allocated on an Unlimited System / Use plus Personal Use and Concurrent Use basis.   E Each Personal Use license allows one identified individual to use the G layered product. Each Concurrent Use license allows any one individual o% at a time to use the layered product.   I For more information on the OpenVMS License Management Facility refer to e> the appropriate OpenVMS Operating System SPD or documentation.        "                                 11      A   SOFTWARE PRODUCT SERVICESe  N A variety of service options are available from Compaq. For more information, ! contact your local Compaq office.-   YEAR 2000 READY     This product is Year 2000 Ready.  E Year 2000 Ready is defined: "Year 2000 Ready" products are defined bytC Compaq as products capable of accurately processing, providing, andeD /or receiving date data from, into and between the twentieth and theC twenty-first centuries, and the years 1999 and 2000, including leaprG year calculations, when used in accordance with the associated product  I documentation and provided that all hardware, firmware and software used aL in combination with such products properly exchange accurate date data with 
 the products.o  N For additional information visit the DIGITAL Brand area on Compaq's Year 2000 J Ready web site located at http://www.compaq.com/year2000/warranties3.html.   SOFTWARE WARRANTY   F This software is provided by Compaq with a 90 day conformance warrantyF in accordance with the Compaq warranty terms applicable to the license	 purchase.    TRADEMARK INFORMATION   N Compaq, the COMPAQ logo, DEC, DECnet, DIGITAL, VAX, and VMS are registered in % the U.S. Patent and Trademark Office.C  D CI, DEC Fortran, DECset, DECwindows, Digital, MicroVAX, OpenVMS, TK,M ULTRIX, VAXELN, VAXft, VAXserver, VAXstation, and VMScluster, are trademarks t! of Digital Equipment Corporation.I  > CRAY is a registered trademark of Cray Research, Incorporated.      "                                 12      L  G IEEE is a registered trademark of the Institute of Electrical and Elec-C tronics Engineers, Inc.s  A Motif is a registered trademark of Open Software Foundation, Inc.s  M IBM is a registered trademark of International Business Machines Corporation.t  ; Oracle CDD/Repository is a trademark of Oracle Corporation.   8 1999 Digital Equipment Corporation. All rights reserved.                                                          "                                 13