FRTN-OSF FORTAUE01052 F77 _ F90 Compiler V5.2__UNIX ECO Summary
TITLE: FRTN-OSF FORTAUE01052 F77 _ F90 Compiler V5.2__UNIX ECO Summary
Copyright (c) Compaq Computer Corporation 1999. All rights reserved.
Modification Date: 2-AUG-99
Modification Type: New Kit
PRODUCT: DIGITAL Fortran for DIGITAL UNIX[R] V5.2
COMPONENTS: Fortran 77
Fortran 90
(decfort, fort, fsplit, f90_split, decfort90, libFutil.a,
libUfor.a, libfor.a, libots3.a)
OP/SYS: DIGITAL UNIX V4.0 - V5.0
SOURCE: Compaq Computer Corporation
ECO INFORMATION:
ECO Kit Name: FORTAUE01052
ECO Kits Superseded by This ECO Kit: None
ECO Kit Approximate Size: 149280 Blocks
76431360 Bytes
Kit Applies To: Digital FORTRAN V5.2 on
Digital UNIX V4.0 - V5.0
System/Cluster Reboot Necessary: No
Rolling Re-boot Supported: Information Not Available
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 V5.2 on UNIX V4.0 - V5.0. This kit
addresses the following problems:
Problems Addressed in the FORTAUE01052 Kit:
This kit contains an update of DIGITAL Fortran V5.2 (including Fortran
95/90 and Fortran 77 compilers and the DIGITAL Extended Math Library) to
correct problems discovered in the compilers and run-time library since
the V5.2 release. You must have DIGITAL Fortran V5.2 installed before
installing this update.
o The following changes were made to the Fortran 95/90 compiler:
- Correct a problem with PACK when the first argument is a
two-dimensional slice of a three-dimensional array.
- Correct problem with ADJUSTL, ADJUSTR and COTAN with array
element arguments.
- Fix internal compiler error for certain uses of LL* intrinsics.
- Prevent internal compiler error when the size of a return value
is based on a call to a pure function with the argument to this
function.
- Correct problems with nested uses of SPREAD intrinsic.
- Make ASSOCIATED return the correct result when the target is an
element of a deferred-shape array.
- Correct a problem with a USE..ONLY of some symbols from an
EQUIVALENCE group in a module. Previously, the compiler might
generate an external reference to the wrong symbol.
- Correct a problem with EOSHIFT of a structure array with a
multidimensional structure component.
- Eliminate the unnecessary use of temporary array copies in many
cases.
- Add support for specific names IMVBITS, JMVBITS and KMVBITS
(already documented).
- Correct a problem where calling an ELEMENTAL routine with a
pointer array may give incorrect results.
- Fix transfer intrinsic where the MOLD is a character substring
with non-zero base, e.g., TRANSFER(X, CH(I1:I2))
- Fix problem where CSHIFT of an array of derived type generated
bad code.
- Correct problem with pointer assignment when the
right-hand-side is an array of derived types.
- Correct problems involving function return value whose size
depends on properties of input arguments.
- Fix problem that caused internal compiler error with RESHAPE.
- Fix problem where IBCLR of mixed-kind arguments got wrong answer.
- When fpp is invoked, have it also look in the current directory
for include files.
- Correct problem with I/O of a slice of an assumed-size array.
- Issue error message for lexically nested parallel regions.
- In listing summary, list zero-length COMMON PSECTs.
- Eliminate spurious warning when passing a POINTER or
assumed-shape array in COMMON to a routine with a compatible
dummy argument declaration.
- Fix internal compiler error involving array-valued functions
with entry points.
- Generate correct code for unusual (and non-standard) dummy
aliasing case involving an EQUIVALENCEd variable passed as an
argument.
- Fix problem with incorrect code for a call to ALLOCATE or
DEALLOCATE where STAT= is specified using an array element.
- Fix internal compiler error for certain programs which CALL a
function.
- Correct compiler abort with ASSOCIATED (X,(Y))
- Don't give standards warning for ELEMENTAL PURE.
- Consider FORALL index variables "used" for /warn=unused purposes.
- Disallow leading underscore in identifiers, as documented.
- Correct problem with implied DO loop in non-INTEGER array
constructors in initialization expressions.
- Allow expression involving array constructors in an
initialization expression.
- %LOC is treated the same as LOC for type checking purposes.
- Correct problem involving generic routine resolution.
- SEQUENCE now byte-packs fields, as the documentation says.
- Correct compiler abort with RESHAPE in initialization expression.
- Correct compiler abort for case with defined operators.
- Correct compiler abort for syntax error X(;,:)
- Give appropriate error if DO loop variable is too small for range.
- Correct compiler abort for LEN_TRIM(array) in initialization
expression.
- Correct compiler abort for SIZE(non-array).
- Correct problems with ISHFT(array) in initialization expression.
- Allow SHAPE in initialization expression.
- Don't give standards warning for use of INDEX in initialization
expression.
- Consider statement function dummy argument "used" for -warn
unused.
- Correct compiler abort for invalid syntax in a Variable Format
Expression
- Correct compiler abort for module procedure with ENTRY.
- Allow full set of F95-permitted intrinsic functions in
specification expressions.
- Correct compiler abort with invalid VFE in FORMAT.
- Correct problem with accessibility of MODULE symbols when two
modules define the symbol but one has marked it PRIVATE.
- Correct compiler abort for certain programs when -i8 and -wsf
specified.
- Correct problem with missing and duplicate alignment warnings.
- Allow repeated NULL() in DATA initialization when variables have
different types.
- Correct spurious "shapes do not conform" error.
- Correct compiler abort for invalid program using wrong component
in ASSOCIATED.
- When -names:as_is specified, don't make IMPLICIT case-sensitive.
- Give standards warning for Q exponent letter in floating literals.
- Generate correct code for generic which replaces MIN or MAX.
- Give more reasonable error message when variable used as control
construct name.
- Eliminate spurious message for vector-valued subscript in defined
assignment.
- Give error if INTENT not properly specified for defined
assignment.
- Correct internal compiler error for overloaded MAX.
- Eliminate spurious warning for FORALL.
- Give warning when INTENT(IN) argument modified in PURE FUNCTION.
- Eliminate spurious error for valid DATA with array subscript.
- Allow ORDER in RESHAPE to be non-constant.
- Fix compiler abort with RESHAPE.
- Don't give unused warning for TARGET argument used in pointer
assignment.
- Properly distinguish STRUCTUREs with the same name in different
CONTAINed routines.
- Allow NULL() to initialize a pointer to derived type.
- Incorrect warning for variable IF when -omp specified.
- Don't give unused warning for array constructor implied-DO variable.
- Allow INTRINSIC :: name (new in F95)
- Eliminate spurious standards warning for certain obscure uses of
UNPACK.
- Eliminate compiler abort when transformational intrinsic used
(illegally) in statement function.
- Raise limit of number of items in a FORMAT from 200 to 2048.
- Disallow invalid INTENT keywords
- Allow CALL of a typed identifier (DIGITAL Fortran 77 extension)
- Correct problem where USE-associated identifiers aren't seen in
certain cases involving renaming.
- Correctly evaluate CEIL intrinsic when used in a specification
expression.
- Allow SIZE intrinsic to be overloaded.
- Don't issue spurious "function value has not been defined"
warning for case involving ENTRY and RESULT.
- Fix internal compiler error involving defined assignment.
- Fix problem with incorrect CHARACTER initialization values and
CHAR function.
- Disallow array constructor being used to initialize a scalar.
- Allow ALLOCATE/DEALLOCATE of argument to PURE SUBROUTINE.
- Fix problem for certain uses of period separators for derived
type fields.
- Eliminate spurious syntax error for use-associated variable in
NAMELIST.
- Eliminate spurious syntax error for certain uses of variable
format expression in FMT=.
- Allow as an extension the use of a name previously seen in a CALL
statement as an actual argument without an EXTERNAL statement or
explicit interface.
- Eliminate spurious overflow message for MS-style base-2 constant.
- Correct problem with generic routine matching.
- Correct internal compiler error when function return value used
in statement function expression.
o The following changes were made to the Fortran 77 compiler:
- Do not issue an alignment warning for variables equivalenced into
a common block seen inside a cdec$ OPTION /warn=noalign.
- A USEROPEN routine may have side effects (modify COMMON variables).
- Get better optimizations for READ/WRITEs which do NOT modify
variables like ASSOCIATE_VARIABLES or through USEROPEN routines.
- Fix -convert to take ONLY its most recent argument (so that
command line overrides any DECFORT_INIT settings.
- Avoid ACCVIO when RECORD statement conflicts with previous use of
name.
o The following changes were made to the f77 driver:
- Link against libm_ev6.a for "-arch ev6" plus "-non_shared".
o The following changes were made to the run-time support:
- A memory leak was fixed in the run-time support when a list
directed read that used a run-time format encountered a
conversion error.
- For direct and keyed access formatted read operations where the
input list and format specification require more data than the
input record contains and with F90 input padding required, the
run-time library did not properly handle character string input
- The Fortran runtime was writing past the end of an internal
string in the support routine for PAUSE with the potential of
generating an access violation or segmentation fault.
- List-directed READ's of a large file could sometimes cause an
access violation in the Fortran runtime library.
- CPU_TIME was returning a negative value if the cpu time was
greater than 36 minutes. This problem has been fixed by using
the GETRUSAGE system routine instead of the C clock routine to
obtain the process time.
- Under some situations, the performance when writing out very
large amounts of data using formatted output has been improved.
- When performing a list directed read of a character variable and
the next character being read in is an asterisk "*", the run-time
support was interpreting the asterisk as a repeat character. The
proper interpretation is that it is the start of a non-delimited
string. The run-time support was modified to provide the proper
interpretation.
- If -check nooutput_conversion was specified or defaulted, the
run-time library did not totally ignore an output conversion
error. It only inhibited the outputting of the run-time
diagnostic message when a conversion error occurred. Any IOSTAT=
variable was still set to reflect the error (63) and any ERR=
branch was still taken. When an output conversion error occurs
now with /check:nooutput_conversion specified, the run-time
library will fill the output field with asterisk's (as before)
and continue as if no error occurred, i.e., any ERR= branch will
not be taken and any IOSTAT= variable will reflect success.
- The run-time support was not properly advancing to a new record
when format reversion was in affect when ADVANCE='NO' was
specified. The RTL support was modified to properly advance to
the next record under these circumstances and now adheres to the
Fortran 95 Language standard.
o The following changes were made to the DIGITAL Extended Math Library:
Changes were made to the following BLAS routines to eliminate
undeserved segmentation faults:
SGER, DGER, CGERC, CGERU, ZGERC, ZGERU
Changes were made to the following LAPACK routines to eliminate
undeserved segmentation faults:
SSBEVX, SSPEVX, SSTEBZ, SSTEVX, SSYEVX
DSBEVX, DSPEVX, DSTEBZ, DSTEVX, DSYEVX
CHBEVX, CHEEVX, CHPEVX
ZHBEVX, ZHEEVX, ZHPEVX
Users can now include DXMLDEF.FOR in a free-format Fortran 90
compilation.
Users can now safely include dxmldef.h multiple times in a single
compilation. It may also be included in a C++ compilation.
Complete release notes, including those for the V5.2 release, are provided
by the kit in /usr/cmplrs/fort/relnotes and /usr/cmplrs/fort90/relnotes .
INSTALLATION NOTES:
To install the ECO kit, perform the following steps:
1. Log in as superuser (login name root) to the system where you will
update DIGITAL Fortran.
2. Create a temporary directory to hold the unpacked distribution files and
change to that directory:
mkdir forteco
cd forteco
3. Copy the ECO kit distribution file into the current directory:
cp /xxx/xxx/DFA521.tar .
Where /xxx/xxx/ is the location of the kit file.
4. Unpack the ECO kit distribution file into the current directory:
tar xmpf DFA521.tar
5. Use the setld command to perform the installation:
setld -l .
The subsets available are:
DFABASE521 DIGITAL Fortran 95 and 77 V5.2 ECO 01 for DIGITAL UNIX
Alpha Systems
DFADOC521 DIGITAL Fortran v5.2 ECO 01 Release Notes and Man Pages
DFARTL385 DIGITAL Fortran Runtime Support for DIGITAL UNIX
Systems
OTABASE205 DIGITAL Compiled Code Support Library #205
XMDLOA351 the serial DXML archive library and shared library
XMDPLL351 the parallel DXML shared library
For further installation details, see the DIGITAL Fortran Installation
Guide for DIGITAL UNIX Systems. After installation, you may remove the
temporary directory created in step 2.
A reboot is not required after installation.
If you have problems installing this ECO kit, please report the problem
to your local Compaq support center or send Internet mail with details
(and a log of the installation attempt) to fortran@compaq.com.
For more information on Compaq Fortran products, please visit our web
site at http://www.compaq.com/fortran.
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:
dfa521.README
dfa521.CHKSUM
dfa521.CVRLET_TXT
dfa521.tar
dfa521.CVRLET_TXT
|