SEARCH CONTACT US SUPPORT SERVICES PRODUCTS STORE
United States    
COMPAQ STORE | PRODUCTS | SERVICES | SUPPORT | CONTACT US | SEARCH
gears
compaq support options
support home
software & drivers
ask Compaq
reference library
support forum
frequently asked questions
support tools
warranty information
service centers
contact support
product resources
parts for your system
give us feedback
associated links
.
} what's new
.
} contract access
.
} browse patch tree
.
} search patches
.
} join mailing list
.
} feedback
.
patches by topic
.
} DOS
.
} OpenVMS
.
} Security
.
} Tru64 Unix
.
} Ultrix 32
.
} Windows
.
} Windows NT
.
connection tools
.
} nameserver lookup
.
} traceroute
.
} ping
DEC Fortran FORTAVE01073 F77 _ F95/90 Compilers Alpha ECO Summary

TITLE: DEC Fortran FORTAVE01073 F77 _ F95/90 Compilers Alpha ECO Summary Copyright (c) Compaq Computer Corporation 2000. All rights reserved. Modification Date: 11-OCT-2000 Modification Type: New Kit PRODUCT: Compaq Fortran for OpenVMS Systems OP/SYS: OpenVMS Alpha COMPONENT: F90$MAIN.EXE FORT$MAIN.EXE DEC$FORRTL.EXE SOURCE: Compaq Computer Corporation ECO INFORMATION: ECO Kit Name: FORTAVE01073 ECO Kits Superseded by This ECO Kit: None ECO Kit Approximate Size: 16,170 Blocks Kit Applies To: OpenVMS Alpha V7.1 and higher Compaq Fortran for OpenVMS Systems V7.3 System/Cluster Reboot Necessary: No Rolling Re-boot Supported: Not Applicable Installation Rating: INSTALL_UNKNOWN Kit Dependencies: The following remedial kit(s) must be installed BEFORE installation of this kit: None In order to receive all the corrections listed in this kit, the following remedial kits should also be installed: None ECO KIT SUMMARY: An ECO kit exists for Fortran 77 and Fortran 95/90 Compilers on OpenVMS Alpha V7.1 and higher. This kit contains an update of Compaq Fortran V7.3 (including Fortran 95/90 and Fortran 77 compilers) to correct problems discovered in the compilers and run-time library since the V7.3 release. Compaq Fortran V7.3 must be installed on the system before this update can be installed. o The following changes were made to the Fortran 95/90 compiler: o Some important information to note about this release: o An end-of-file condition on READ no longer triggers an ERR= branch - this is to conform with clearer wording in the recent standard. If an EOF condition occurs and there is no END= or IOSTAT=, an error is signalled. o The Compaq Extended Math Library (CXML) routines are not updated in this ECO 01 Compaq Fortran kit. o The new INT_PTR_KIND() intrinsic returns the kind of an integer pointer (ie, 8 for Tru64 UNIX/Alpha). o An optional KIND argument is now allowed on the intrinsics LEN, SHAPE, SIZE, UBOUND, LBOUND, MAXLOC, MINLOC, INDEX, LEN_TRIM, SCAN, and VERIFY. This allows these intrinsics to return a result that is other than default integer kind. o The following corrections have been made: o Eliminate internal compiler error for case involving EQUIVALENCEd POINTER variables not in COMMON. o Fix problem which could cause incorrect code to be generated for certain uses of PACK, RESHAPE and UNPACK, primarily with CHARACTER arguments. o Speed up compilation of initialized nested structures. o Fix problem with incorrect code generated for use of nested SPREAD intrinsic. o Correct problem where DO loop with loop ending value of the largest integer value would instead create an infinite loop. o Eliminate internal compiler errors for use of defined assignment in FORALL. o Speed up compilation where very large MODULEs are repeatedly used. Further work in this area remains. o Correct problem with PACK intrinsic where array is array of structures with an array field with constant subscript/substring values. o Improve generated code for SPREAD intrinsic. o Improve generated code for array reductions. o Improve generated code for UBOUND, LBOUND, SELECTED_ INT_KIND, SELECTED_REAL_KIND when the argument(s) are constants. o Improve generated code for SIZEOF when bounds are constants. o When generating temporary copies of arrays, don't allocate them in 64-bit space unless we know that 64-bit addresses are acceptable. o Eliminate internal compiler error for certain cases of integer (not F90) POINTER as a module variable. o Reduce severity of "variable has not been used" diagnostic to "informational". o Improve generated code for MINVAL/MAXVAL. o Improve generated code for SIZE(A(:)). o Improve generated code for SIZE with array argument that has vector subscripts. o Add new INT_PTR_KIND() intrinsic which returns the kind of an integer pointer (either 4 or 8). o Eliminate internal compiler error for use of allocatable array reference in a variable format expression. o Improve generated code for ILEN. o An end-of-file condition on READ no longer triggers an ERR= branch - this is to conform with clearer wording in the recent standard. If an EOF condition occurs and there is no END= or IOSTAT=, an error is signalled. o Add a NUL to the end of non-C character literals. This will not be reflected in the "length" of the constant. o %VAL/%REF now overrides any mechanism specified in an explicit interface. o Improve compile time performance when USEing a module which contains a large COMMON block with many (thousands) of EQUIVALENCEd variables. o Allow general CHARACTER expressions for the MOLD argument of the TRANSFER intrinsic. o Correct problem that prevented scalar numeric variables and array elements which appeared in the iolist of an output statement (WRITE, etc.) from participating in uninitialized variable analysis. o Add support for /CCDEFAULT switch. o In OPEN statement, if STATUS is not specified, default to UNKNOWN unless /NOF77 is specified, in which case default to NEW. o Eliminate internal compiler error for case involving EQUIVALENCEd POINTER variables not in COMMON. o Missing !DEC$ ENDIF no longer causes compiler abort. o Correct rules for when SAVE in a PURE procedure is allowed or not. o Correct parse of assignment to field of RECORD whose name begins with TYPE. o Eliminate E-level error when a BLOCK DATA subprogram name is the same as that of a COMMON block. A future revision will cause an appropriate diagnostic to appear. o Issue clearer error message when a module name is repeated in a USE statement. o Eliminate problem where UBOUND gave wrong value in certain cases. o Allow substrings in left hand side of FORALL. o Give proper error when a PARAMETER constant is CALLed. o Give proper error when a variable is CALLed. o In assignment statements, make sure that real constants are evaluated using the precision appropriate for their syntax (single/double/quad). o Fix problem which could cause incorrect code to be generated for certain uses of PACK, RESHAPE and UNPACK, primarily with CHARACTER arguments. o Correct f77 driver problems, such as invalid syntax passed to cpp when a .F file was compiled. o Speed up compilation of initialized nested structures. o Fix problem with incorrect code generated for use of nested SPREAD intrinsic. o Eliminate internal compiler errors for use of defined assignment in FORALL. o Speed up compilation where very large MODULEs are repeatedly used. Further work in this area remains. o Correct problem with PACK intrinsic where array is array of structures with an array field with constant subscript/substring values. o Improve generated code for SPREAD intrinsic. o Improve generated code for array reductions. o Improve generated code for UBOUND, LBOUND, SELECTED_ INT_KIND, SELECTED_REAL_KIND when the argument(s) are constants. o Improve generated code for SIZEOF when bounds are constants. o Eliminate internal compiler error for certain cases of integer (not F90) POINTER as a module variable. o Reduce severity of "variable has not been used" diagnostic to "informational". o Improve generated code for MINVAL/MAXVAL. o Improve generated code for SIZE(A(:)). o Improve generated code for SIZE with array argument that has vector subscripts. o Add new INT_PTR_KIND() intrinsic which returns the kind of an integer pointer (either 4 or 8). o Eliminate internal compiler error for use of allocatable array reference in a variable format expression. o Improve generated code for ILEN. o An end-of-file condition on READ no longer triggers an ERR= branch - this is to conform with clearer wording in the recent standard. If an EOF condition occurs and there is no END= or IOSTAT=, an error is signalled. o Add a NUL to the end of non-C character literals. This will not be reflected in the "length" of the constant. This matches the Compaq Fortran 77 behavior, which was undocumented. o %VAL/%REF now overrides any mechanism specified in an explicit interface. o Generate much better code for certain array constructors (such as (/0,I=1,500000/) and allow lowerbound, upperbound and stride to have different KINDs. o If /warn=declarations is specified, do not issue diagnostic for use of IMPLICIT NONE. o Eliminate internal compiler error for EOSHIFT with constant array argument. o Eliminate internal compiler error for program fragment that is "ifdef-ed out". o Report error for kind mismatch where an ac-value in an array constructor is an expression of a different kind than the other literal ac-values. o Report error for assumed-size array passed as actual to deferred-shape array. o Eliminate compiletime error for use of AIMAG in initialization expression when /real_size=128 is specified. o Eliminate internal compiler error for format in a PRINT statement being an expression with concatenation. o DFOR$PREFETCH, DFOR$PREFETCH_MODIFY, DFOR$PREFETCH_ EVICT_NEXT intrinsics now supported for Alpha processors. o Generate correct values for a PARAMETER array whose element values are computed in an implied DO loop involving indexing into another PARAMETER array. o Correct bad parse of .NE. as record field name. o Allow a dummy argument that has an INTENT attribute specified to be specified in a NAMELIST list. o Give standards warning for kind mismatch between source and pad arguments in RESHAPE. o Long source lines are now correctly compiled when standards checking is requested (warning is still given.) o Correct problem with incorrect error given for a particular complex module renaming case. o Allow as an extension (as does Compaq Fortran 77) a LOGICAL argument to an intrinsic which expects INTEGER. o Correctly parse format which contains ">" characters and a variable format expression. o Eliminate internal compiler error for a particularly complex and deeply nested structure reference in an IF. o Don't give error for passing section of an assumed size array to a deferred shape array. o Improve compilation speed for certain large DATA statements. o Eliminate internal compiler error for a certain complicated FORALL. o Correct problem with PUBLIC/PRIVATE attributes of a COMMON block in a MODULE. o Allow (A .EQ. .NOT. B) (an extension). o Correct problem with some COMPLEX*32 initialization expressions. o Eliminate spurious unused variable diagnostic for variable used in pointer assignment. o Correct problem where asking for standards checking disabled /define o Fix a case where two NaNs sometimes compared as equal. o Eliminate many unnecessary copies of assumed-shape arrays when passed as arguments to explicit shape arrays by keeping track of whether or not the array is known to be contiguous. o Automatically force the alignment of a COMMON block to be at least as large as that required by the widest variable in the COMMON block. o Fix a number of problems with WHERE inside of FORALL. o Make defined assignment in FORALL work properly. o Generate correct code for CSHIFT of a non-contiguous array slice. o Allow user-defined types to be named BYTE and DOUBLECOMPLEX. o Improve generated code for mixed COMPLEX-REAL multiplication and division. o In array constructors with only one implied-DO, and nothing else, avoid creating an unnecessary temp. o Allow SIZEOF(allocatable-array) o Improve generated code for SIZEOF(array) o Allow directory names specified with -module to be longer than 23 characters. o Prevent incorrect collapsing of implied-DO loop in an I/O statement where there are nested loops and the implied-DO variable of one loop is used as a bound of an inner loop. o When the error limit has been exceeded (default 30), simply suppress further messages rather than exiting the compiler. This means that the object file will get deleted appropriately, the listing file created, and subsequent source files on the command line will be processed. o Re-allow complex constants to be passed by value. The real and imaginary parts are passed as separate arguments. o Allow character array valued function as a format specifier. o Allow debugging of a character function whose length is computed based on the length of a passed-length character argument. o Solve a set of problems where the length of a character function is computed using a dummy array argument. o The use of an INTENT(OUT) argument with LOC is now considered a "definition" for the purpose of uninitialized variable checking. Also, the use of LOC(ARRAY(N)) is now considered a "use" of ARRAY for unused variable checking. o Eliminate internal compiler error for structure with %FILL component in module procedure. o When standards checking is requested, do not give a warning for fixed-form source line exactly 72 columns long. o Eliminate internal compiler error for assignment statement with variable whose name starts with an underscore. (Such names are not allowed, but a reasonable error should have been given.) o Correct the problem where if a program unit contains two internal subroutines which both use host-association to access the same variable, the second one gets an inappropriate error. o Eliminate internal compiler error for declaration of a derived type array with an initializer that is an implied-DO array constructor. o Eliminate inappropriate error message for initialization expression of an implied-DO array constructor of length zero. o When standards checking is enabled, give one warning, not three, for a !DEC$ ATTRIBUTES directive. o Generate correct code for certain cases involving overloading of the .AND. and .OR. operators. o Allow Variable Format Expression in a character literal when the I/O list has a subscripted array element. o Eliminate compiler abort with incorrect program that names the enclosing program unit in an ONLY clause. o Allow the extension syntax '101'B for a binary literal. o Correctly handle whitespace in -omp conditional compilation lines. o Fix problem where $INTEGER directive was not being properly handled. o Add support for KIND= keyword in MINLOC/MAXLOC o Add suppprt for KIND= keyword in various string intrinsics. o Prevent compiler abort for incorrect attempt to pass unsupported datatypes by value. o Properly report invalid declaration EXTERNAL,INTEGER and recover so that remainder of program is properly parsed. o Give standards warning for non-standard placement of NAMELIST. o Eliminate internal compiler error for particular type of concatenation of substrings when Fortran 95 standards checking is requested. o When converting a negative REAL value to COMPLEX, use +0.0 as the imaginary part rather than -0.0. o Allow PARAMETER constant in ALIGN= specification of !DEC$ PSECT. o Don't give shape mismatch for correct-shape RESHAPE in initialization expression. o Don't give inappropriate alignment warnings for certain convoluted EQUIVALENCE/ COMMON combinations. o Eliminate internal compiler error for initialization expression which contains a constant expression in a structure constructor. o Allow EXTERNAL :: FOO o The following changes were made to the Fortran 77 compiler: - /fast sets /arch=host/optimize=tune=host o The following changes were made to the run-time support: - An end-of-file or end-of-record status is no longer treated as an error status. This change was done to adhere to the Fortran 90 language standard. Prior to this change, if there was an ERR= specified and no END=|EOR= for a READ operation and the READ encountered an end-of-file or end-of-record situation, the ERR= path would be followed. With this change, this situation would now result in a fatal message being generated. - The runtime library now contains support for a new environment variable, FOR$CONVERT_ that allows a user to associate a foreign data conversion option with files of a particular file extension. See the documentation for more details. Complete release notes, including those for the V7.3 release, are provided by the kit in SYS$HELP:FORTRAN.RELEASE_NOTES INSTALLATION NOTES: To install the ECO kit, perform the following steps: 1. Log in to the SYSTEM account or an account with the SYSPRV, CMKRNL, SYSNAM and SYSLCK privileges available. 2. If the ECO kit was provided as a file with a file type ending with EXE, that is a compressed archive. RUN the file to expand into two .PCSI kits. For example, if the kit file is FORTAVE01073.DCX_AXPEXE: $ RUN FORTAVE01073.DCX_AXPEXE Two files will be created: DEC-AXP-FORRTLECO_01_073-V0703-626-4.PCSI DEC-AXP-FORTECO_01_073-V0703-1-4.PCSI 3. Enable the SYSPRV, CMKRNL, SYSNAM and SYSLCK privileges: $ SET PROCESS /PRIVILEGE=(SYSPRV,CMKRNL,SYSNAM,SYSLCK) 4. Install the RTL and compiler updates $ PRODUCT INSTALL FORRTLECO_01_073 /SOURCE=disk:[dir] /HELP $ PRODUCT INSTALL FORTECO_01_073 /SOURCE=disk:[dir] /HELP where "disk:[dir]" is the disk and directory where the .PCSI files are located. For further installation details, see the Compaq Fortran Installation Guide for OpenVMS Alpha Systems. The system does not need to be rebooted after this kit is installed. All trademarks are the property of their respective owners.



This patch can be found at any of these sites:

Colorado Site
Georgia Site



Files on this server are as follows:

fortave01073.README
fortave01073.CHKSUM
fortave01073.CVRLET_TXT
fortave01073.zip
fortave01073.CVRLET_TXT

privacy and legal statement