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
FRTN-OSF FORTAUE02041 F77 _ F90 Compiler DIGITAL UNIX ECO Summary

Copyright (c) Digital Equipment Corporation 1998. All rights reserved. PRODUCT: DIGITAL Fortran for DIGITAL UNIX[R] V4.1 OP/SYS: DIGITAL UNIX V3.0, V3.2A, V3.2B, V3.2C, V3.2D-1/V3.2E-1, V3.2D-2/V3.2E-2, V3.2F, V3.2G, V4.0 COMPONENTS: Fortran 77 Fortran 90 SOURCE: Digital Equipment Corporation ECO INFORMATION: ECO Kit Name: FORTAUE02041 ECO Kits Superseded by This ECO Kit: FORTAUE01041 ECO Kit Approximate Size: 21792 Blocks Kit Applies To: Fortran V4.1 System/Cluster Reboot Necessary: No ECO KIT SUMMARY: An ECO kit exists for Fortran V4.1 on DIGITAL UNIX V3.0 through V4.0. This kit addresses the following problems: The following changes and corrections were made to the DIGITAL Fortran 90 compiler in FORTAUE02041: o Cray pointees that were being allocated statically are now correctly given no storage class. o Using assumed shape array within a contained routine no longer produces an internal compiler error. o An error message is now given for invalid keyword values given for an I/O statement's keyword. o Declarations of the type "character, allocatable :: field*7(:)", in which the array shape specifier comes after the length specification in a deferred-shape character array no longer produces an internal compiler error. o When assigning a derived type variable with a structure constructor, if a character scalar is supplied to an character array component, every elements of the array is assigned with the character scalar value. o The MVBITS intrinsic now gives correct result if its 4th argument is a non-lowerbound subscripted array element. o Reference of a character function, where the length of its return value is dependent on one or more of its arguments, no longer produces an internal compiler error. o Pointer assignment should now work properly when the target is a component of an allocatable array with a lower bound different of 1. o Long NAMELISTs no longer causes a compiler internal error. o When initializing a derived type variable with a structure constructor, if a scalar is supplied to an array component, every elements of the array is initialized with the scalar value. o Allow %fill in STRUCTURE declarations using F90 syntax, such as: integer :: %fill. o Using unary "-" operator with record fields should now give correct results. o Use of NEAREST with two different KIND REAL arguments no longer gets a nonstandard warning. o Allow SIZEOF of assumed size record field. o Module importing has been improved. If a module is USEd in both the host and its internal procedure, the module is now only imported once by the compiler. o A module that contains "PRIVATE" followed by "PUBLIC variable" no longer gets incorrect error message. o Optional comma in DO with label, such as: label: DO, JJ = 1, N, 1 no longer gets incorrect syntax error. o Allow a dummy argument to have the same name as a structure field. o A module that contains USE module, ONLY : var no longer gets internal compiler error. o A component of a derived-type with a name that starts with FILL no longer gets a syntax error. o Allow a variable with '_' in its name to be used in a variable format expression. o No longer import any definitions if a module is used with the "USE module_name, ONLY:" statement. o Fix a compile time stack overflow problem. o Fix a "$IF DEFINED()" problem when a routine is defined between the conditional compilation. o Put out error message for an invalid use of "TYPE (type_ name)" statement. o Allow RECORD in a NAMELIST. o Fix using "# line_number" in DATA statement. o The -pad_source option now properly pads Hollerith literals that are continued across source records. o Add standards warning for using two consecutive operators in an expression. o Allow POINTER attribute for character entities whose length is specified by a variable expression or an * (assumed length character). o Do not flag as nonstandard when all of the objects in the EQUIVALENCE set are of type default integer, default real, double precision, default complex, default logical, or numeric sequence type. o Add standards warning for assignment to the host associated variable in a PURE function. o Add standards warning for using a dummy argument in a specification-expr as the argument of one of the intrinsic functions BIT_SIZE, KIND, LEN, or the numeric inquiry functions. o Compiling BLOCK DATA with -recursive no longer causes a compiler internal error. o Fix a bug in a special usage of passing internal procedure as argument. o Using ASSOCIATED with f90 pointer now gives correct answer. o Using vector subscripts in MATMUL now gives correct answer. o Passing %REF argument to a routine with explicit INTERFACE no longer gets an internal error. o CSHIFT of an array pointer contained within a derived type no longer gets an internal error. o Compiling files that contain very long routine names with -V no longer gets an internal error. o Using assignments in a defined generic assignment subroutine when the subroutine is not RECURSIVE now gets an error. o Parameter constant is allowed as argument of a LOC intrinsic. o Using UNION within derived type now gets correct result. o Having EQUIVALENCEd character array elements within a MODULE no longer gets internal error. o Duplicate SAVE statement no longer gets an error. o Parameter constant can be used as case-value in a SELECT CASE statement. o ALIAS attribute can now be specified in a cDEC$ ATTRIBUTE directive for a variable that has not been declared EXTERNAL. o Interface with optional function argument is now resolved properly. o Using record fields in multiply and add operations now produces correct result. o Using the following operators: ==, /=, <, >, <=, and >= no longer get non-standard conforming warnings. o Extra trailing blanks are now allowed and ignored when used in specifier of OPEN statement, e.g., FORM='formatted '. o Passing an array argument to a statement function now gets an error. o INTEGER*2 array now gets correct result when compiled with -intger_size 16. o Fix a bug related to module importing with modules that contain PRIVATE statement. o Parameter constant defined in a MODULE is now imported when its use is only in a variable format expression. o C attribute can be specified in a cDEC$ ATTRIBUTE directive for module variables. o Parameter constants is allowed in a structure constructor. o A derived type component having the same name as a common block no longer gets an internal error. o A non-standard warning is issued if the first argument of a GENERIC assignment procedure is not INTENT(OUT) or INTENT(INOUT). o $PACK directive and the -align recNbyte option now affect alignment of data items in a SEQUENCE derived- type. o Fix a bug related to module importing with modules that contain a PRIVATE statement. o Using a structure constructor to initialize a multi- dimensional array component of a derive-type no longer causes an internal error. o The -fpconstant option now works correctly for assignment to double complex variables. o Having a D line as the first non-comment line after a conditional $ENDIF directive no longer gets an error. o No longer flag ES format as non-standard. o Remove an internal limit on the number of entries of a NAMELIST o Using substring of a character array as argument of ICHAR intrinsic no longer gets internal error o Pointer assignment of an array of character substrings (e.g. p=>a(:)(2:4)) now gets correct result o Using array transformation intrinsics such as PACK, SPREAD, and RESHAPE with array of derived-type as argument in a PRINT statement now gets correct results o Allow an array with a name of TYPE o Specifying $NOFREEFORM in a .f90 file now set line size to 72 columns o Remove a limit of 256 number of arguments for subroutines and functions o An incorrect statement: "IF (ABS(I).GT 1) I=0" now gets an error message o An incorrect statement: "CHARACTER(LEN=1), PARAMETER :: CPSCLR = '' ''" now gets an error message o Using record fields in multiply and subtract operations now produces correct results o Having a PRIVATE, EQUIVALENCE variable in a module no longer causes compile time segmentation violation o Specifying ONLY on one variable in a COMMON block now only declares the one variable not the entire variables in the COMMON block o Allow user defined operator to be used as the format character expression in a PRINT or READ statement o Using modules and the AUTOMATIC statement in the same routine no longer gets internal error o Module variables with EXTERN attributes now work properly o Increase an internal limit so that large programs no longer get the "text handle table overflow" message o Using record fields in exponentiation and subtract operations now produce correct result o Flag incorrect usage of an entry dummy argument in an executable statement before its declaration in the entry statement o Disallow optional return dummy argument following other OPTIONAL dummy arguments o An invalid WRITE statement no longer gets an internal error o Allow passing NULL intrinsic function as argument to other routines o Allow AUTOMATIC variables to be used in an EQUIVALENCE statement o Using a structure constructor with scalar value to assign an array element now produces correct result o Using an array constructor with integer value to initialize a real or complex array now produces correct result o Flag common block name and routine name conflict o Fix elemental character function with varying length The following changes and corrections were made to the DIGITAL Fortran 77 compiler in ECO 2: o Fix "POINTER(P, ARRAY(COMMON_ARRAY(IDUMMY),IDUMMY2))". o Prevent ASF name from being passed as actual argument. o Warn when a statement function is passed an array as an actual argument. o Set "syntax" when "-stand semantics" is requested. Do not set "mia" when "-stand all" is requested. o Fix a random bug when a listing is requested. o Fix a bug where a symbol is incorrectly listed as used before defined. o Give warning for assignment to an active DO loop index variable. o Disallow %descr('foo') as I/O list element (check the mechanism). o For REWRITE, make sure small constants are promoted to default integer size. o Attribute NAMELIST code to establish the block to the NAMELIST statement (for debugging). o Allow EXTERNAL foo where foo is a pointee (function/subroutine). o Give better error message for asmsymdots. o On Alpha platforms ASM support no longer requires switch fe_asm. The following changes and corrections were made to the Run-Time Library support in ECO 2: o Access violation with read past end of internal file o added support for cpu_time intrinsic o RANDOM_SEED with no arguments uses clock based random seeds o A bug involving an I/O list with multiple list items and a foreign file was fixed - ONLY IN F77 compiler The following changes and corrections were made to the DIGITAL Fortran 90 compiler in ECO 1: o Fix SIGN intrinsic to handle -0. o Fix LOC intrinsic and %LOC of a derived type field. o Fixed debug information for dynamic character variable (such as character*(i) c). o Add debugging support for integer (Cray) pointers. o Fix storing to the return value of a function returning character in a containing internal routine. o Fix Nullification of a character*n pointer argument. o Fix using passed length argument in a containing internal routine. o Fix compiler abort when a source line is longer than 1024 characters in freeform source file. o Fix using IOLENGTH in a INQUIRE statement. o Fix FORALL problem of the form "X(X(I)) =." o Fix contained functions returning a implicitly initialized derived-type. o Better diagnostics for invalid programs. o Fix compiler abort when using Nullification of a pointer in a MODULE. o Fix a certain types of USE of a MODULE with rename list. o Fix using -extend_source:80 and -pad_source. o Fix compiler abort when using do-loop style implicitly initialized derived-types in a MODULE. o Sign-extending INTEGER*2 parameter constants. o Flag invalid nested internal procedures. o Fix compiler abort of USE of a MODULE with namelist variables in rename list. o Issue a warning message for a intrinsic with wrong argument type and treat it as an external. o Issue a warning message for having a SAVE common block data object. o Fix compiler abort of USE of a MODULE with namelists. o Fix using SIZEOF(common_block_array) in a PARAMETER statement. o Fix using READONLY keyword as first keyword in an OPEN statement. o Allow record name to be the same as a structure name. o Fix parameter character constant with embedded NULL character. o Fix compiler abort when same name used as a structure and derived type. o Allow BLOCKSIZE keyword in an INQUIRE statement. o Allow a record in a SAVE statement. o Allow a module to have the name "procedures". o Do not flag IABS intrinsic function as nonstandard. o Do not flag DOUBLE COMPLEX as nonstandard. o Treat POPCNT, POPPAR, LEADZ as external functions. o Put out an error message for ptr => pack(...). o Treat C$DOACROSS as a comment. o Issue an error message for invalid derived type parameter constant. o Fix compiler abort when passing an array constructor as an actual argument. o Fix using derived-type components that are same as intrinsic names. o Fix an incorrect warning about "explicit-shaped array is being passed to a routine that expects a pointer or assumed-shape array". o Fix a problem with -warn:errors and -stand:f90 options. Nonstandard messages should be error messages. o Fix incorrect results when compiled a program with - assume:dummy_aliasing. o Do not flag BOZ constant as nonstandard. o Do not flag Z format as nonstandard. o Allow 511 continuation lines. o Put out a standard warning for using character constant in DATA statement. o Fix using TRANSFER in initialization. o Fix a problem with user defined assignment statement. o Issue an error message when passing or receiving an optional argument by value. o Fix an invalid message about return value of a function is not defined when the function returns an initialized derived type. o Fix a compiler abort with "text handle table overflow" message. o Fix a compiler abort using a SAVE statement. o Fix a problem when an existing operator is overloaded. o Fix argument checking of intrinsic subroutines. o Fix generic interface of elemental functions. o Issue an argument mismatch warning message for using an integer with a statement function that takes real argument. o Fix compiler directives processing. o Fix a compiler abort using an invalid PARAMETER array. o Issue an error message for SAVE of an ENTRY result variable. o Fix using UNION within derive type. o Fix a compiler internal error when using C and REFERENCE attributes on a function name. o Fix a compiler internal error when using ASSOCIATED of a function returning a pointer. o Add support for passing complex by value. o Fix pointer assignment with a character substring. o Allow using ICHAR in an array constructor within the initialization part of an array declaration. o Fix a problem with using UNION declaration within the derived type. o Allow exporting of a module procedure which has a name that is the same as a generic name. o Fix a problem with using user defined assignment operation. o Allow specifying NaNs in the PARAMETER statement. o Allow D source line to continue a non-D source line. o Fix a problem in array initialization processing. The following changes and corrections were made to the DIGITAL Fortran 77 compiler in ECO 1: o Deferred function argument expression can cause problems. Example is: if(f(i,(.not.x).and.y))then. o Allow main program to generate .s file (force MAIN__ symbol out). o Be more tolerant of large untyped things like SIZEOF(X'FFFFFFFFFFFFFFFFFFF'). o Do not delete adjustable arrays that are EQUIVALENCEd into COMMON. o Allow CHARACTER C*10(20) syntax in addition to C(20)*10. o Fix for large (integer*8 sized) constant subscripts. o Fix f90 automatic and pointer arrays with variable bounds. o Allow debugging with pointer to array in common. o Allow sizeof(character_array(1)) - do runtime evaluation if necessary. o Be more selective on bounds checking on DATA statements (but ALWAYS check that we are "inside" the array, even if individual subscripts are not). o Get 0**0 (and 0.0**0.0, etc.) correct with "-check [no]power". o Allow INTRINSIC statement after PARAMETER statement using the intrinsic name. o Disambiguate local variable and label names in .s files. o Do argument (type) checking for mechanism general (character array as actual). o Fix two bugs in "-warn argument". Check function types, even if n o arguments. Get function type correct if declared AFTER the actual function statement. o Put out better message for function value not defined by end of function. o Fix prolog (and other) locators for main program with include file (and no name). The following changes and corrections were made to the Run-Time Library support in ECO 1: o On UNIX, doing an inquire EXISTS for a FILE which is a null name gives an incorrect True. o Fix bugs in G format editing of non-real types. Problem occurs with a repeating format applied to a mix of data types. o VFE/array interaction bug. o READ(ADVANCE='NO',IOSTAT=) returns wrong IOSTAT for EOR. o An interaction problem when an iolist with a complex followed by an item of different type is processed was uncoverd by algorithms implemented in later compiler versions. o Array section in NAMELIST input generates runtime error. Add substring (m:n) support for all arrayed data types" o Fix a multi-thread corruption bug. Multiple threads writing to the same unit failed. o Support STOPs from multiple threads. o Fixed bug in intrinsic bjtest. o Add support in for_set_reentrancy routine to return current reentrancy mode for an argument of FOR_K_REENTRANCY_INFO. Complete release notes, including those for the V4.1 release, are provided by the kit in /usr/cmplrs/fort/relnotes and /usr/cmplrs/fort90/relnotes





Files on this server are as follows:

dfa412.README
dfa412.CHKSUM
dfa412.CVRLET_TXT
dfa412.tar

privacy and legal statement