Jump to page titleUNITED STATES
hp.com home products and services support and drivers solutions how to buy
» contact hp


more options
 
hp.com home
End of Jump to page title
HP Services Software Patches
Jump to content


» software & drivers
» ask Compaq
» reference library
» forums & communities
» support tools
» warranty information
» contact support
» parts
» give us feedback

patches by topic
» DOS
» OpenVMS
» Security
» Tru64 Unix
» Ultrix 32
» Windows
» Windows NT

associated links
» what's new
» contract access
» browse patch tree
» search patch tree
» join mailing list

connection tools
» nameserver lookup
» traceroute
» ping


Find Support Information and Customer Communities for Presario.
Content starts here
HP Services Software Patches - dfa412
 

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
Files on this server are as follows:
»dfa412.README
»dfa412.CHKSUM
»dfa412.CVRLET_TXT
»dfa412.tar
privacy statement using this site means you accept its terms