!-- HEADER -->
Terug naar de homepage van Forcheck
History of changes

V14.6.030
Errors corrected:
-Dummy argument list of referenced procedure must not be stored if the interface is implicit.

V14.6.029
Errors corrected:
-Problem with locating the correct library file when reading derived type components.

V14.6.028
Errors corrected:
-Incorrect message
 [153 I] PUBLIC is already the default
 if PRIVATE follows.
-If new source file meta record in cpp file, reset include stack.

V14.6.027
Errors corrected:
-Overloaded intrinsics with non matching argument rank were not recognized as such.
-MPI_LOR, MPI_LXOR and MPI_REQUEST_NULL added to MPI_2 lib.
-Incorrect message
 [153 I] PUBLIC is already the default
 if PRIVATE follows.
-Incorrect message
 [560 E] incorrect number of arguments
 for procedure in generic spec with pass argument.
-Incorrect sequence number of passed-object argument if implementation
 of procedure is deferred.
-Passed-object argument of specific tbp's were not procesed correctly.

Improvements:
-Efficiency improvements.

V14.6.026
Errors corrected:
-Incorrect message
 [557 I] dummy argument not used
 if the dummy argument is (de)allocated.

Improvements:
-Improved detection of undefined variables in do constructs.

V14.6.025
Errors corrected:
-Incorrect messages in nested select case constructs, e.g.
 [423 E] a CASE statement must be within a CASE construct 

V14.6.024
Errors corrected:
-Incorrect message
 [318 E] not allocated
 for a pointer to an array element of an allocatable component.
-Incorrect message
 [379 E] invalid operation on a non-local variable in a pure procedure
 for a local reference to a dummy INTENT(IN) pointer subobject.

Improvements:
-Detection of empty construct blocks.

V14.6.023
Errors corrected:
-MPI support corrected for dp and r8 options.
-Spurious error in verifying range in select case construct.

Improvements:
-Reporting of DOUBLE COMPLEX type conformance improved.

V14.6.022
Improvements:
-MPI support improved.

V14.6.021
Errors corrected:
-Incorrect message
 [643 E] argument must have the POINTER or TARGET attribute
 if the second argument in ASSOCIATED has the TARGET attribute and is an array element.
-Incorrect message
 [781 E] entity must be interoperable
 for a variable of type C_PTR.
-Incorrect message
 [861 E] inconsistent BIND(C) attribute or binding label
 if an interface with a binding label is imported. 
-Incorrect message
 [862 E] binding label is not unique
 for a procedure pointer. 
-The interface of C_F_PROCPOINTER corrected.
-Incorrect message
 [616 E] referenced input or input/output argument is not defined
 when referencing an external procedure from an internal procedure.
-Incorrect message:
 [320 E] pointer not associated
for a module pointer that is not locally associated and referenced in an intrinsic procedure.
-The interface of C_F_PROCPOINTER was missing in ISO_C_BINDING.

IDE V14.6.07
Errors corrected:
-Crash if double click on a reported line in error in an include file at build.
-Go to the reported line in error of an include file if double click in the report file.
-Default options were not enabled.

Improvements:
-Intitial size of Edit/View windows  changed to support 4K monitors.
-More informative status messages.

V14.6.020
Errors corrected:
-Index in input record out of range in processing fpp lines containing line number
 and include file name.
-Index in input record could get out of range for long lines.
-Spurious stalling during scanning input files: processing of cross-table corected and improved.
-Number of include occurrencies corrected if open error on include file.
-Explaination sometimes incorrectly presented in first pass.
-The intrinsic module IEEE_EXCEPTIONS was used in IEEE_ARITHMETIC without the INTRINSIC attribute. 
-Inconsistencies and errors in the MPI libraries corrected.

Improvements:
-More efficient handling of line numbers and cross-reference table.
-Intrinsic module ISO_FORTRAN_ENV adaptated to TS 18508.
-gfortran.cnf adapted to gfortran 5: the supported TS18508 intrinsics added.
-When using one of the MPI libraries the datatype of the TYPE(*) buffer actual arguments is verified
 for consistency with the specified datatype arguments.
-Line number was not always presented for message [651 I]

V14.6.019
Errors corrected:
-Spurious incorrect messsage
 [312 E] no value assigned to this variable
 For an actual argument if the dummy is possibly defined before referenced.
-Spurious stalling during scanning input files.

V14.6.018
Errors corrected:
-Incorrect messsage
 [238 E] invalid storage association of object with a pointer component
 for a common variable of derived type with a pointer component.

Improvements:
-Message
 [610 E] optional dummy argument unconditionally used
 relaxed to
 [900 I] optional dummy argument used without verifying with PRESENT
 if an optional argument is conditional used without verification by
 the intrinsic function PRESENT.

V14.6.017
Errors corrected:
-Some messages:
 [307 E] variable not defined
 Should be released to
 [898 I] variable not defined

Improvements:
-Scanning and detection of labels improved.
-Some messages improved and combined.
-Improved flagging of undefined variables.

V14.6.016
Errors corrected:
-Incorrect message:
 [184 E] multiple specification of attribute
 for the combination of TYPE(*) and ASYNCHRONOUS.
-Untyped dummy arguments in interface blocks with IMPLICIT NONE were not reported.

Improvements:
-maximum name length presented now reflexes the maximum length of symbolic names only.
-Size of commandline (Linux) enlarged to 100000.
-New MPI interface libraries for MPI 2 and 3.
-global subprogram message
 [307 E] variable not defined
 replaced by
 [898 I] variable not defined
 if the variable was only canditionally referenced.

V14.6.015
Errors corrected:
-Incorrect message
 [514 E] subroutine/function conflict
 if IMPLICIT NONE has been specified and an external is explicitly typed after
 the declaration of EXTERNAL.
 Bug intruded in V14.6.012.

V14.6.014
Errors corrected:
-No explanation was presented after 6 messages if the rigorous option is specified.
-Incorrect message
 [315 I] redefined before referenced
 If there is a nesting of not yet analysed procedures.

Improvements:
-You can now specify max_msg=n in the VARIOUS section of the configuration file
 to set the maximum number of messages presented in a statement, argument list or
 common list.

V14.6.013
Errors corrected:
-Incorrect setting of dp attribute of the result of DOT_PRODUCT and MATMUL for complex data.

V14.6.012
Errors corrected:
-Incorrect setting of attributes of the result of DOT_PRODUCT and MATMUL.

Improvements:
-Handling of zero-sized objects.
-Verifcation of usage of vector subscripts.
-Verification of pointer assignment.

IDE V14.6.06
Errors corrected:
-Open error: No file name specified, after generating make file.

Improvements:
-You can now specify the maximum number of messages presented in a statement, or list.

V14.6.11
Errors corrected:
-Incorrect message:
 [201 E] entity must have been declared previously
 for an interface-name. The message must only be presented if the name is
 declared by a procedure-declaration-statement.
-Handling of nested interfaces corrected.
-Incorrect message:
 [219 E] invalidly in COMMON, EQUIVALENCE, or NAMELIST
 for namelist-group-objects. The constraint was relaxed from Fortran 2003 on.
-Select intrinsic procedure on the base of the characteriscits of the interface only
 to select user defined procedures correctly.
-Defined assignment of a non allocatable class variable is allowed.
-Not all occurrencies of an associated variable in the cross-reference.
-A structure constructor allocates the allocatable components.
-Public entities of private types allowed from Fortran 2003 on.
-Public procedures with arguments of private types allowed from Fortran 2003 on.
-If IMPLICIT NONE is specified an external without a type is a subroutine.

Improvements:
-Improved detection of unconditional used optional dummy arguments.
-Improved detection of unallocated objects and disassociated pointers in structures.
-gfortran: allow F2003 extension 'Passing character scalar actual arg. to a dummy array'
-Improved detection of uniqueness of binding labels.
-Verify if kind is supported when referencing intrinsic procedures.
-Improved verification of reference to elemental procedures.
-Interface of BESSEL_JN and BESSEL_YN improved.
-A selector must not be a conindexed object.
-A character object with a non-constant length parameter can have the VALUE attribute
 in Fortran 2008 (Language extension 242).
-Improved verification of access attributes in specification of type.
-An equivalenced object is saved if any object in the equivalence-set is saved.
-Improved detection of explicit interface required.

IDE V14.6.05
Improvements:
-Tabbed window for progress, report and search results.

V14.6.10
Errors corrected:
-An optional, conditional referenced input argument does not need to be allocated.
-Macro expansion was not performed within directive lines.
-Incorrect message:
 [320 E] pointer not associated
 if NULL() as actual argument and dummy pointer is pointer referenced.

Improvements:
-Some constants added in MPI lib.
-Standard predefined macros added for preprocessor.

V14.6.09
Errors corrected:
-An inquiry intrinsic function reference with a variable argument is allowed in
 a constant expression if the property being inquired is constant.
-A VALUE dummy argument does need to be defined on entry.
-An actual array argument with the ASYNCHRONOUS or VOLATILE attribute does not need
 to be contiguous if the dummy argument is contiguous and has the VALUE attribute
 (interp F08/0136).
-An option argument, delimited with a "=" which is a filespecification containing a ":"
 was not handled correctly.
-Submodules can access private data of its parent module.

Improvements:
-Cobounds must not be referenced in the same type declaration (interp F08/0126).
-Fortran 2003: A ";" shall not appear as the first nonblank character on line.
 This detection has been improved.
-A free form continuation line is permitted to begin with zero or more blanks
 followed by a ";" (interp F08/0127).
- in a  of e.g. an image control
 statement must not be a coindexed object (interp F08/0134).
-Improved handling of submodules.

IDE V14.6.04
Improvements:
-For Linux:
 -Update to Qt 4.8.1
 -Environmental FCKIDEDIR added to denote the installation path fo ForcheckIDE.
 -Install tree changed so you can use ForcheckIDE without system wide installation.
 -Improved deployment to avoid library version clashes.

V14.6.08
Improvements:
-Presentation of some messages improved.
-Detection of disassociated pointers improved.

IDE V14.6.03
Errors corrected:
-For Windows: Set current working directory for new projects.
-For Linux: improved installation procedures.

V14.6.07
Improvements
-If a common-block list differs only on the shape of objects, processing of the list is continued.
-Print the name of the dummy argument with argument messages if implicit interface known.
-A fpp symbol can now be defined with a value. The syntax is:
 /DF:symbol=value     for Windows
 -define symbol=value for Linux

V14.6.06
Improvements
-Improved reporting of multiple objects.
-Larger number of arguments in messages allowed.

Errors corrected:
-Handling of line numbers of included files in cpp preprocessed files corrected. 

V14.6.05
Improvements
-Show file and line number where included file is included.
-Show reference chain with messages on recursive reference.

Errors corrected:
-Handling of line numbers of included files in cpp preprocessed files corrected. 

V14.6.04
Improvements
-Equivalenced objects in common are now also shown in the cross-references of common-block objects.

V14.6.03
Errors corrected:
-Handling of line numbers and filenames in cpp preprocessed files corrected. 

IDE V14.6.02
Errors corrected:
-For Windows: UserDataDir should end with a '/'.
-For Windows: Set working directory was still missing in the Qt5 implementation.

V14.6.02
Errors corrected:
-cpp preprocessing corrected. #if 0 did not function as expected.

Improvements:
-Handling of line numbers and filenames in cpp preprocessed files. 
-If type of arguments differ, the types are displayed with the message.

IDE V14.6.01
Improvements:
-Addition and adaptation of options needed for Forcheck V14.6.
-Highlighting of comment in editor.
-Extension of source files to be preprocessed (fpp) can be set.
-For WIndows: migration to Qt 5.4.

V14.6.01
Errors corrected:
Errors corrected:
-Incorrect message:
 [204 E] implicit type already used
 if implicit type, used in a declaration, is confirmed.
-Module dependency tree not correct for modules used in module procedures.
-Incorrect message:
 [887 I] array unreferenced
 for global module data if module with data was referenced in a module procedure.
-Occasional hang up when storing derived type components.
-Incorrect message:
 [738 E] associate name expected
 if the selector in a SELECT TYPE statement is an array.
-Referring type-bound procedures with PASS attribute:
 operation on passed object,
 unique argument list
-Incorrect message:
 [527 E] no matching intrinsic or specific procedure found
 for components and procedures of extended types with private parents.
-Incorrect message
 [281 E] unknown type-bound procedure
 if the used module with the type was also referenced in a module procedure in the module of origin.
-When referencing a type-bound generic procedure in a designator, the characteristics of the
 specific type-bound procedure were returned and not of the referenced module procedure.  
-An allocatable CLASS(type) component is allowed in Fortran 2008.
-If a nonaccessible derived type had already be stored for usage in an argument list
 a subsequent accessible instance of the type was not stored and could not be accessed.
-NULL() as actual argument is compatible with a polymorphic dummy argument.
-A deferred type bound procedure must have an abstract or explicit interface.

Improvements:
-Detection of unreferenced public module derived types.
-Cross-reference of public module derived types: option /SMT (Windows) or -shmodtyp (Linux).
-The table "external procedures, not analysed:" now printed in a single column.
-Handling of implied DO's improved.
-New option r8 to map default real to real(8) and default complex to complex(8).
-The option dp now maps not only default real to real(8) and default complex to complex(8),
 but also double precision to real(16) and double complex to complex(16).
-Improved detection of integer overflow of constants.
-Indication of non-optimal explicit type conversion by REAL and CMPLX.
-Verification if CASE expression is out of range of selector.
-Verification whether TYPE IS and CLASS IS types are distinct.
-Speed-up of tree-traverse.
-Support of SELECTED_CHAR_KIND and character kind names.

V14.5.29
Errors corrected:
-If an input record was longer than the maximum (512), a fatal error could occur.
-Incorrect message:
 [746 I] type kind or length inconsistently specified
 using the gfortran emulation and if ABS with a complex argument was used in combination
 with the dp option.
-If the i8 option is specified logicals are of kind 8.

Improvements:
-Separate messages for globally unused and unreferenced module and common_block arrays.

V14.5.28
Errors corrected:
-Processing of equivalence lists could result in an endless loop.
-Incorrect message:
 [825 E] a coarray must be a dummy argument, allocatable, or saved
 for a coarray in a main program.
-Incorrect message:
 [339 E] integer overflow in expression
 In specific situations in combination with i4 and i8 option.
-Incorrect message:
 [748 I] element kind inconsistent with kind of first element
 in an array constructor with logical expressions with logical operators.
  
Improvements:
-Coarray intrinsics added to gfortran emulation.
-Improved detection of overlapped ranges in SELECT CASE.

V14.5.27
Errors corrected:
-Incorrect message:
-[312 E] no value assigned to this variable
 for an INTENT(OUT) argument in an IF or SELECT construct within a DO-loop.
 Bug introduced in V14.5.26.
-Incorrect message:
 [631 E] invalid argument type length for intrinsic procedure
 for a complex argument of some intrinsic functions if the double precision option was
 in effect.

Improvements:
-Maximum number of names enlarged to 200000.

V14.5.26
Errors corrected:
-Incorrect message:
-[312 E] no value assigned to this variable
 if a local variable was referenced in a nested DO-loop and was assigned in a previous
 cycle. 

Improvements:
-The call-tree is now only traversed completely if the analyse-complete and the
 rigorous option have been specified.
-The length of the name list has been enlarged from 1M to 8M.
-Page numbers can be up to 6 digits.

V14.5.25
Errors corrected:
-REAL with complex argument was not handled correctly.
-Incorrect message:
 [653 E] entity is not a public entity of the imported module
 if a module is used and a previous reference had an ONLY list.

Improvements:
-Message:
 [871 E] INTENT(IN) dummy argument must not be modified
 presented if an INTENT(IN) argument is modified by a reference
 of a procedure with an INTENT(OUT) or INTENT(INOUT) argument.
-On Linux: if XDG_RUNTIME_DIR is not defined, the initial, temporary report file
 is stored in the user's working directory.
-Initial report file fck.rep created on working directory if XDG_RUNTIME_DIR
 and XDG_CONFIG_HOME are not defined (Linux only).

V14.5.24
Errors corrected:
-Incorrect message:
 [690 I] type length inconsistent with type length at first reference
 if the rigorous option is in effect and an actual argument is a variable in the first
 reference and an expression in this occurrence.
-If the rigor option is in effect and an actual array is longer than the dummy message
 [597 I] shape of argument differs from specification
 was presented. However, message
 [598 E] actual array or character variable shorter than dummy
 should be presented.
-Incorrect message:
 [312 E] no value assigned to this variable
 in a select case construct with many cases and the variable is referenced in an
 if-then-else-construct and it is set before this construct. 
   
Improvements:
-Construct table enlarged to 10000.

V14.5.23
Errors corrected:
-Incorrect message:
 [589 E] shape of this argument must be supplied as argument
 If an argument of an ENTRY has a dimension defined by a named constant. 
-System error:
 FCK-- Too many components or type-bound procedures were stored
 if an intrinsic operator is used in an initialization in a derived type definition.

V14.5.22
Errors corrected:
-Incorrect message:
 [312 E] no value assigned to this variable
 for an actual argument if the dummy is (conditionally) defined before referenced.

V14.5.21
Errors corrected:
-Incorrect message:
 [312 E] no value assigned to this variable
 for an actual argument if the dummy is INTENT(INOUT) and (conditionally) defined
 before referenced.

Improvements:
-Configuration file for Intel Fortran version 15 added.

V14.5.20
Errors corrected:
-Fortran runtime error: index out of bounds when storing an actual argument with a vector value.
-Correction of correction in V14.5.19:
 [264 E] unknown component, field name, or type parameter
 if type was implicitly imported through differing modules.

V14.5.19
Errors corrected:
-Incorrect message:
 [593 I] arg. is an array while it was an array element in the previous ref.
 If implicit interface is referenced for the first time and the argument is
 a structure component of an object of a private type.
-Incorrect message:
 [264 E] unknown component, field name, or type parameter
 if type was implicitly imported through differing modules.
-Detection of nonstandard intrinsic functions corrected.

V14.5.18, Linux only
Improvements:
-Accept a command file.

IDE V14.5.11
Errors corrected:
-If a default file extension is modified, the dialog for adding those files must have the
 modified extension as default selection. When adding an include directory, all files
 with the modified extension must be added.

Improvements:
-On Linux the interface with the analyser is now through a command file to prevent
 the command line becoming too long. You need Forcheck V14.5.18 to accept a command file.

IDE V14.5.10
Improvements:
-Option 'use previously acquired interfaces' added.
-More robust handling of syntax if derived-type component not found.

V14.5.17
Errors corrected:
-Incorrect message:
 [265 E] derived type must be of sequence type
 If a component of a variable of a derived type is an actual argument in an internal procedure.

Improvements:
-New option added to use the interface of previously analysed subprograms:
 Windows: /AQI
 Linux: -aqintf
 The default is to use the aquired interfaces.

V14.5.16
Errors corrected:
-Spurious incorrect message:
 [877 I] INTENT(INOUT) dummy argument is defined before referenced
-Imported procedure interface was not stored in module if it was referenced in a
 module procedure.
-The argument of C_LOC in the intrinsic module ISO_C_BINDING must be intent(inout).
-Incorrect message:
 [637 E] specific procedure has no unique argument list
 when an interface with a derived type argument is indirectly imported using an only list
 and the derived type is also imported using an only list.
-Incorrect message:
 [159 E] name already in use
 if a pointer in a POINTER statement was already declared as an integer with specific kind.
-Spurious error when importing module data in an interface of a module procedure.
-An actual argument of any type is compatible with a dummy argument of CLASS(*).
-A specific with the same name of a generic may be specified before the generic.
-DO label, without loop-control, is valid from Fortran 90 on.
-DATA statements with lists of nested implied do's were not always handled correctly.
 
Improvements:
-Message module not found and no entities imported from module presented
 if used in interface.
-Allow a procedure as a pointee in a POINTER statement.

V14.5.15
Errors corrected:
-Incorrect message:
 [637 E] specific procedure has no unique argument list
 when an interface with an IMPORT statement and derived type arguments is
 indirectly imported.
-Incorrect message:
 [312 E] no value assigned to this variable
 if used in a referenced procedure with an explicit interface as an actual argument
 with an implicit interface.
-Incorrect message:
 [312 E] no value assigned to this variable
 if conditionally referenced in a referenced procedure with an explicit interface.
-Incorrect message:
 [ 58 I] none of the entities, declared in the include file, is used
 if an included object is used as an actual argument while the corresponding
 dummy argument is not used.

Improvements:
-The reference structure and module dependencies are now also shown when analyzing
 a single program unit.

IDE V14.5.09
Errors corrected:
-Crash if files saved and Quickstart window is still open.

IDE V14.5.08
Errors corrected:
-Initialization of Editor used as viewer and build utility if no configuration file
 could be read.

V14.5.14
Errors corrected:
-The function type was not correct if a result clause was present and the result
 type was determined by an implicit statement.
-incorrect message:
 [782 E] type kind conflict with type kind of function
 for a recursively referenced module procedure of which the type was determined
 by an implicit statement.

IDE V14.5.07
Errors corrected:
-If the list of the replace and searhc combobox gets full, the current text was changed.

V14.5.13
Errors corrected:
-incorrect message:
 [374 E] assignment of array expression to scalar
 When a structure has an array(section) component and the ultimate component
 is an array element.
-The type of a module procedure was not correctly handled if its type is
 determined by an IMPLICIT statement.

Improvements:
-Refinements in argument verification.

V14.5.12
Improvements:
-Detection of missing INTENT in interface blocks if the -intent option is specified.
-Discard symbolic VMS path in include file specification.
-Discard EXEC statement: extension 299.

IDE V14.5.06
Improvements:
-Default path for new projects set to user appdir.

V14.5.11
Errors corrected:
-Extension 313 added.
 The same variable may be specified more than once in a namelist.
 This is standard conforming from Fortran 2003 on.
-Type compatibility with polymorphic type was not always verified correctly.
-Result of intrinsics with polymorphic argument.
-Incorrect message for SELECT TYPE:
 [742 E] the selector must be polymorphic
 if the selector is an expression.
-Incorrect message for TYPE IS:
 [767 E] type must be an extension of the selector
 if the selector is an expression.

Improvements:
-Improved classification of constant-expressions, initialization-expressions,
 restricted-expressions, specification-expressions.
-Improved monitoring of pointers with undefined association status.
-Improved verification and advise of the intent of dummy arguments.
-Verification of argument lists of references of previously analysed subprograms
 with an implicit interface.

IDE V14.5.05
Improvements:
-Enable analysis action if a new file is edited and added to the project.
-Add all files in a directory recursively to the project.

V14.5.10
Errors corrected:
-in NULL(MOLD) MOLD may be a procedure pointer.

Improvements:
-Print file and linenumber before message
 [ 1 I] (MESSAGE LIMIT REACHED FOR THIS STATEMENT OR ARGUMENT LIST)

V14.5.09
Errors corrected:
-The resulting characteristics of some intrinsic functions with complex arguments
 was not correct when the dp option was specified.

-Incorrect message:
 [690 I] type length inconsistent with type length at first reference
 when a module variable is used in an expression as actual argument.
 
V14.5.08
Errors corrected:
-The dp option did not work correctly for the result of some intrinsic functions.
-Message:
 [632 I] intrinsic function is explicitly typed
 was not presented if the dp option was in effect.

Improvements:
-Verify the components of the derived type of arguments when referencing internal procedures.
-For an impure elemental subprogram message:
 [636 E] INTENT must be specified for this dummy argument
 is now presented.

V14.5.07
Errors corrected:
-Incorrect message:
 [437 E] reference of FORALL index in a forall triplet specification list
 in FORALL statement if FORALL index is referenced in forall-assignment statement and
 no scalar-mask-expr is present.
-Incorrect message:
 [552 E] invalid usage of arguments
 When the argument of KIND was a function reference.
-Incorrect message:
 [746 I] type kind or length inconsistently specified
 if an actual argument is double precision and previously a double precision intrinsic
 function reference.

Improvements:
-Account for the VALUE attribute of dummy arguments when referencing procedures.

V14.5.06
Errors corrected:
-Incorrect message:
 [312 E] no value assigned to this variable
 in specific construct nestings. Correction of bug intruded in V14.5.05.

IDE V14.5.04
Improvements:
-For Windows only: In the makefile the C filenames were converted to uppercase.
 That did not work correctly in combination with make and gcc.

V14.5.05
Errors corrected:
-Incorrect message:
 [313 I] possibly no value assigned to this variable
 in e.g. an ELSEIF statement within a DO construct.
-Sometimes incorrect message:
 [690 I] type length inconsistent with type length at first reference
         (The type length is not explicit in each occurrence)
 If the actual argument is an intrinsic function reference of an intrinsic function which
 resulting kind is the kind of its argument.
-If a sequence type was defined both in an internal procedure and the host, only the
 host procedures was stored. Differences in the types were not detected.
-Incorrect message:
 [623 I] intrinsic procedure is specific
 For internally generated specific intrinsics.
-The kind type parameter of REAL(A) if A is of type complex is the kind type parameter of A.
-Incorrect message:
 [115 E] multiple definition of statement label, this one ignored
 when a label was in front of multiple statements on a line.

Improvements:
-BUFFERED specifier for OPEN enabled in intel configuration files.
-Message:
 [458 E] invalid usage of specifier
 replaced by:
-[455 W] unrecognised or unsupported specifier
 if a known specifier is used in a statement for which is is not intended.
-When referencing an internal procedure the derived type of the actual vs dummy arguments
 is now fully verified.

V14.5.04
Errors corrected:
-Flag undeclared data-implied-do variables, ac-implied-do variables, stmf arguments
 if IMPLICIT NONE has been specified.
-Incorrect message
 [202 E] multiple definition of type
 when the type of an internal function was specified locally.

Improvements:
-Improved verification of INTENT of dummy arguments, e.g.
 Flag INTENT(INOUT) dummy arguments which are defined before referenced.
-An explicit RESULT variable must be declared for direct recursion of a function.
-pgif90.cnf updated.

IDE V14.5.03
Improvements:
-Support of the intent option

V14.5.03
Improvements:
-Option added to flag dummy arguments for which no INTENT attribute has been
 specified.
 /INTENT for Windows, default /NOINTENT
 -intent for Linux, defualt -nintent.

V14.5.02
Errors corrected:
-Confusion between a unit identifier starting with a keyword and some keywords in
 OPEN/CLOSE/INQUIRE.
-Generation of make file for Windows: do not convert filenames and objectnames to uppercase.
-Interfaces in a reference library must only be imported if explicitly referenced.
-Linux: Errors in options were not reported correctly

Improvements:
-Filenames are not converted to uppercase.
-/CPP is enabled by default only for files with specific extensions:
 for Windows .FPP
 for Linux: extensions starting with F.
-Intel14 configuration file supplied.

IDE V14.5.01
Improvements:
-View module dependencies.
-Various minor corrections.
-Support of new and changed options of ForCheck V14.5

V14.5.01
Improvements:
-Metrics displayed for each program unit and module procedure.
-Metrics is augmented with the maximum construct nesting.
-Show module dependencies as a tree. Both in the listing file and in XML format.
-An INTENT(OUT) argument is not defined.
-Informational message [66 I] if comment line(s) within statement and 
 the rigorous option is in effect.

V14.4.06
Errors corrected:
-Handling of a type-bound procedure reference as a structure component.
-Association of a public structure component.

V14.4.05
Errors corrected:
-Incorrect message
 [859 I] variable, used as actual argument, unreferenced
 if the interface is abstract and the INTENT is not specified.

Improvements:
-Message
 [250 I] when referencing modules implicit typing is potentially risky
 now provided with name and line number of first used module.

V14.4.04
Errors corrected:
-Incorrect message
 [573 E] argument type inconsistent with specification
 if actual is of an extended type and the dummy argument is a class variable of an extended
 type.

IDE V14.4.03
Improvements:
-Default preferences inserted if configuration file not (yet) present.

V14.4.03
Errors corrected:
-Read error of library file when producing cross-reference of common-block objects
 with rank > 0.

IDE V14.4.02
Improvements:
-Include paths and the make files can now be specified and saved relative.

V14.4.02
Errors corrected:
-The interface of MPI_ALLGATHER in the MPI interface library was not correct.
-Table usage corrected.

Improvements:
-Use associated unreferenced specific procedures, are not being reported anymore,
 even with the rigorous option in effect.
-MOVE_ALLOC added to gfortran emulation.

IDE V14.4.01
Errors corrected:
-Include paths, specified in preferences, were not added to the include path options
 in the make file.
-Crash when showing QUICKSTART if configuration file did not exist.
 
Improvements:
-Better monitoring of changes that need regeneration of the make files.
-Cancel option in update include dependencies.
-Non-existing subdirectories are (optionally) created at make.

V14.4.01
Errors corrected:
-Extension 269 added:
 A PROCEDURE statement can have a :: before the first procedure name.
 Enabled for Fortran 2003, Fortran 2008, gfortran, Intel13.
-A PROCEDURE statement is allowed in an interface body.
-A PROCEDURE statement can describe the procedure pointer result of a function.
-Private components are allowed in interoperable types.
-Cross-reference of generics/intrinsics with same name corrected.
-Path of user data in Linux corrected.
-Extension 136 added: intrinsic assignment of type character of different kinds.
 Fortran 2003, Fortran 2008, gfortran.
-Incorrect message
 [315 I] redefined before referenced
 for an actual argument in a forward nested reference with an explicit interface

Improvements:
-Extention 244 added: TS29113, Further interoperability of Fortran with C.
 Optional argument allowed for BIND(C) procedures.
 Assumed type: TYPE(*).
 Assumed rank: DIMENSION(..).
-RANK intrinsic added for gfortran.
-A dummy array argument of a BIND(C) procedure cannot have the VALUE attribute.
-In TYPE(intrinsic-type-spec) the intrinsic-type-spec shall not end with a comma.
-Improved verifcation of arguments of procedures with an explicit interface and forward
 reference.
-Support of the PathScale EKOPath compiler.
-Improved handling of wild cards in comman line. 

IDE V14.3.05
Error corrected:
-Error in generating make file if more than one c file: delimiter missing.

V14.3.16
Errors corrected:
-Incorrect message
 [318 E] not allocated
 When the object is used as an actual argument of a procedure with an explicit
 interface and the object was allocated through host association.

V14.3.15
Errors corrected:
-Crash if rank to large.

Improvements:
-Message blocks separated by blank lines

IDE V14.3.04
Improvements:
-Preferences/Output tuning added.

V14.3.14
Errors corrected:
-Tuning of output to the various streams was not correct yet.

V14.3.13
Errors corrected:
-SYSTEM_CLOCK accepts integers of any kind and real COUNT_RATE from Fortran 2003 on.
 The Fortran 95 Intel compilers support this. Gfortran does accept
 integers of any kind, but no real COUNT_RATE.
-If a module, or internal procedure is entirely on one line it was 
 stored as recursively referenced.
-Incorrect message:
 [167 E] invalid usage of subscripts or bounds
 for a generic procedure, imported through multiple nested modules.
-Abstract interfaces have a scope of the program unit in which they
 are defined and must not be compared globally. 
-Spurious incorrect message:
 [527 E] no matching intrinsic or specific procedure found
 If use-only list of generic interfaces
 
Improvements:
-Metrics can be output to stdout by specifiying
 [OUTPUT]
 STDOUT_METRICS = 'TRUE'
 in the configuration file
-Page_width can be up to 255 characters.
-SQRT evaluated in constant expressions.
-Allow constant expressions as initialization expressions for INTEL v12 and v13 and gfortran.

V14.3.12
Errors corrected:
-Incorrect message:
 [265 E] derived type must be of sequence type
 If an object of the derived type is used as an argument of mutual referenced internal or
 module procedures.
-The resulting type length of mixed mode expressions with reals of different kind was 
 not always correct.

 Improvements:
-Derived type with no components is now allowed if abstract type is supported.
-If error in source line, the statement is now completely displayed in stdout and
 the report file.

V14.3.11
Errors corrected:
-Input records of some suppressed messages were printed.
-Intrinsic procedure SYSTEM_CLOCK with integer count_rate was not
 accepted when using the intel configuration files.
-Incorrect message:
 [320 E] pointer not associated
 if pointer function result is nullified only. 
-Incorrect message:
 [552 E] invalid usage of arguments
 for pointer result argument of ASSOCIATED.

Improvements:
-Empty line between message blocks in report file and stdout.
-Message if continued character constant has more than one leading blank.
-Various improvements in import by USE.

V14.3.10
Errors corrected:
-Endless loop in macro expansion with arguments.

Improvements:
-Expression stack enlarged.
-Message if character constant is split over more than one line.

IDE V14.3.03
Errors corrected:
-Search and replace shortcut when no tekst selected.

V14.3.09
Errors corrected:
-External procedures, specified in the specification part of a module and
 referenced in a module procedure were not globally stored and were not imported
 from the module.
-Recursive importing derived types from a module when importing a binding procedure.
-Incorrect message:
 [405 E] redefinition of DO variable or FORALL index within construct
 in some specific nested implied do loops.
Improvements:
-Verification of binding labels.
-Imported entities must have been previously defined.

V14.3.08
Errors corrected:
-Incorrect message:
 [697 E] name not explicitly typed, implicit type assumed
 when an entry of a module function was referenced.

Improvements:
-New message:
 [859 I] variable, used as actual argument, unreferenced
-Improved handling of nullification and BIND attribute.
-Reporting of globally not used or associated procedure pointers.

V14.3.07
Errors corrected:
-Incorrect message
 [318 E] not allocated
 For global analysis with the complete analysis option if module variable was allocated.
-Incorrect message
 [564 I] number of arguments inconsistent with first occurrence
 when a dummy function with an explicit interface and optional arguments are not present.
-The kind of a real constant with E exponent was not set to default if the fraction was 
 an integer.

Improvements:
-The dp option now also sets the default complex kind.
 You have to adapt the configuration file and set the complex length in
 'lengths with length option on' to 16.
-Verification of association of procedure pointers.
-Hang-up at program startup avoided.

IDE V14.3.02
Improvements:
-V13 projectfiles are accepted.
-Search and replace strings now in comboboxes.

V14.3.06
Errors corrected:
-Verification with incorrect argument list in global analysis if an
 external procedure has the same name as a module procedure when the
 module procedure is referenced from within its module.

V14.3.05
Errors corrected:
-Linenumber of argument lists not always correct.
-Spurious message
 [316 W] not locally defined, specify SAVE in the module to retain data
 when actual argument is a use associated, saved module variable.
-On Linux intrinsic library modules could not be opened. 

Improvements:
-An unsaved initialized module variable used as actual argument is defined.

V14.3.04
Errors corrected:
-ERR.FOR was not recognized as an input file in WIndows.

Improvements:
- =>NULL() and NULLFY() not considered as association, but init.
- Informative message if an actual argument is an array element while
  the dummy is an array.
- Save option added to save variables by default.
- Handling of SAVE improved.

V14.3.03
Errors corrected:
-MIN, MAX with more than 6 arguments.
-A subobject of a pointer that is not a pointer, has the TARGET attribute.
-Incorrect message:
 [339 E] integer overflow in expression
 for addition of kind 8 integers.
-In the result of an array-constuctor with imported elements the explicit length bit
 was incorrectly set.
-A pointer subobject of a dummy argument was reported as not associated.
-Spurious read error of library file reading include filename of derived type.

Improvements:
-Accessing library files

V14.3.02
Errors corrected:
-Incorrect message:
 [681 I] not used
 For an imported module variable that is locally allocated only.
-Association with an array element of a derived type object did not function correctly.
 
V14.3.01
Errors corrected:
-Combination of default DOUBLE PRECISION option and intrinsic functions.

V14.3.00
Errors corrected:
-KIND can also be applied on function names.
-An INTENT(IN) argument need not be allocated or defined.
-INQUIRE keyword SIZE= (Fortran 2003) was not supported.
-If a dummy argument is a procedure pointer, the actual can be NULL().
-Incorrect message:
 [323 I] variabel unreferenced
 for a pointer which is associated, defined, but not locally referenced.
-Nonintrinsic modules can have the same name as a standard intrinsic module.

Improvements:
-Possible undefined actual argument argument when the dummy argument is
 possibly not defined before referenced now only with the rigorous option.
-Detection of recursive references improved.
-Handling of intrinsic functions. More intrinsic functions are evaluated to
 be used in specification expressions.
-Reporting of module objects that can be declared private.
-Reporting a derived type as unused if the type is unused, or only used to
 declare a component of its own type.
-Handling of procedure pointers and interfaces.
-Cpp preprocessing in combination with include files now in accordance with e.g. gfortran.
-Enable cpp preprocessing option added.  

V14.2.22
Improvements:
-An integer pointer (Cray-pointer) is supposed to be of a data type length and kind
 corresponding to the nr of bits of an integer pointer as specified in the configuration file.

V14.2.21
Errors corrected:
-Association with an array name did not function correctly.
-Spurious error when replacing symbol in symbol table


V14.2.20
Errors corrected:
-Incorrect message:
 [756 E] type-spec or SOURCE= required
 for an allocate object, while the object is a structure and the ultimate component
 is not polymorphic.

V14.2.19
Errors corrected:
-Incorrect message
 [333 E] division by zero
 For a real expression denominator if the dp option is specified.

V14.2.18
Errors corrected:
-Problem when reading concatenated configuration file with old sectioning.
-Incorrect message
 [333 E] division by zero
 when dividing by a variable.

V14.2.17
Improvements:
-Integer (Cray) pointer compatible with INTEGER(C_INTPTR_T).

V14.2.16
Errors corrected:
-If the path of a source file contains a ".", the default ff option was not
 correctly set.
-Spurious error when importing derived type from module recursively.

V14.2.15
Errors corrected:
-Error in V14.2.12 through V14.2.14 in evaluation of dp expressions
 with the dp option in effect.
 
Improvements:
-Combination of dp and rigorous option.

V14.2.14
Errors corrected:
-Error in V14.2.12 and V14.2.13 in evaluation of dp ecpressions
 with the dp option in effect.

V14.2.13
Errors corrected:
-In V14.2.12 real literal constants were not treated as dp
 if the dp option was in effect.

V14.2.12
Errors corrected:
-Incorrect message:
 [588 E] argument type kind inconsistent with specification
 If a program unit was analysed with the dp option, stored in a libary file
 and referenced with explicit double precision arguments. 

Improvements:
-Maximum number of symbols and contexts enlarged.

V14.2.11
Errors corrected:
-Recursive reading of derived type from library file caused hang up.

Improvements:
-Improved error handling

V14.2.10
Errors corrected:
-Incorrect message:
 [184 E] multiple specification of attribute
 when a generic interface is declared PUBLIC in a module.

V14.2.09
Errors corrected:
-Record overflow during fpp macro expension.
-Some source files were interpreted incorrectly as DOS reserved filename.

V14.2.08
Improvements:
-Error processing in command string interpretation.
-Length of macro replacement strings enlarged to 256.

V14.2.07
Errors corrected:
-cpp macro expansion within character context between single quotes.
-Incorrect message:
 [312 E] no value assigned to this variable
 for an actual argument of a nested internal or module procedure.
-Incorrect message:
 [457 E] more than once specified
 in a list of allocations of subobjects of the same object.
-Incorrect message:
 [596 E] shape of actual argument differs from specification
 in global analysis if rank differs.
-Incorrect message
 [370 E] invalid target for a data pointer
 When referring a type-bound-procedure.
-Incorrect message:
 [774 E] argument must be polymorphic
 When referenceing an imported procedure whith a polymorphic argument.

Improvements:
-cpp continued lines implemented.
-IEEE_ARITHMETIC intrinsic module updated, corrected and improved.

V12.2.06
Errors corrected:
-Parsing of absolute filename with device name in Windows.
-Incorrect message:
 [312 E] no value assigned to this variable
 During global program analysis for a module constant if the complete option
 is specified.
 Incorrect message:
 [333 E] division by zero
 If the dp option was specified and the divisor was smaller than real eps.

V14.2.05
Errors corrected:
-Incorrect message:
 [252 E] a private object must not be placed in a public namelist group
 if the namelist group is not in the specification part of a module.
-Incidental incorrect message:
 [318 E] not allocated
 for a saved variable in a module procedure.

Improvements:
-Message
 [838 W] input or input/output argument is not defined
 instead of
 [616 I] input or input/output argument is not defined
 if the input argument is not referenced, or interface only.

V14.2.04
Errors corrected:
-Interface not correctly imported from module when the interface was referenced in
 a module procedure.
-Incorrect message:
 [320 E] pointer not associated
 The pointer was associated in a referenced procedure and has INTENT(OUT).

V14.2.03
Errors corrected:
-Incorrect message:
 [328 I] array, array extent, or character variable is zero sized
 in some situations where the shape is not known.
-Recursive function reference with a pointer result was not identified as such.

V14.2.02
Errors corrected:
-Incidental incorrect message
 [681 E] not used
 for a procedure used as an actual argument of a procedure which references the argument.
-Module dependencies corrected.

V14.2.01
Errors corrected:
-Incorrect message
 [616 E] input or input/output argument is not defined
 for an inout argument which is not referenced before assigned.
-Incorrect message
 [318 E] not allocated
 for a variable in an assignment which is imported and saved in the module.

V14.2.00
Improvements:
-Improved display of line and file with messages.
-Display of line and file with messages now also during global
 program analysis.

V14.1.27
Errors corrected:
-incorrect message:
 FCK-- Symbol table full
 After a FORALL construct.

V14.1.26
Errors corrected:
-incorrect message in V14.1.25:
FCK-- module information not found
during scanning input files if a module is in a library file.

V14.1.25
Errors corrected:
-[ 58 I] none of the entities, declared in the include file, is used
 was not presented if intrinsic operator in include file.

V14.1.24
Errors corrected:
-Incorrect message
 [318 E] not allocated
 Indirectly allocated by means of an internal or module procedure.

 Improvements:
-Improved verification of arguments of procedures with explicit interface.

V14.1.23
Errors corrected:
-Incorrect message
 [318 E] not allocated
 If allocated by means of an internal or module procedure.

V14.1.22
Errors corrected:
-Incorrect message:
 [216 E] illegally specified automatic, static or allocatable
 for a local variable in a procedure with the BIND attribute.
-Incorrect message:
 [681 I] not used
 for a specific procedure of a public interface in a private module.

V14.1.21
Errors corrected:
-Incorrect message:
 [379 E] invalid operation on a non-local variable in a pure procedure
 When allocating a structure component.
-Incorrect message:
 FCK--circular reference of module
 if a module info was not found during scanning of input files.
-Many intrinsic functions were not identified as generic, so they could
 not be extended.
-Incorrect message:
 [610 E] optional dummy argument unconditionally referenced or defined
 for an actual optional argument of an intrinsic function.
-Error in extension of intrinsic operators: operator code was not stored.

V14.1.20
Errors corrected:
-Incorrect messages
 [233 I] common block inconsistently included from include file(s)
 [276 I] derived type or structure inconsistently included from include file
 when sources are in various directories and various include paths specified.
 Now the absolute path of the include filenames are presented and compared.
-During scanning input files to determine the analysis sequence, USE :: was
 incorrectly parsed.

 Improvements:
-Internal affairs

V14.1.19
Errors corrected:
-Incorrect data type length for a literal constant with specifed kind.

V14.1.17
Errors corrected:
-TYPE statement with type name beginning with IF was incorrectly classified as
 TYPE IS statement
-Incorrect message
 [756 E] type-spec or SOURCE= required
 for a DEALLOCATE statement.
-Incorrect message
 [511 E] explicit interface required
 For a type bound procedure with an explicit interface.
-Shape specification not required when SOURCE= present in ALLOCATE statement.
-Error storing derived type with type-bound-procedures.
 
Improvements:
-More than one allocation allowed in ALLOCATE when SOURCE= is present (f2008)

V14.1.16
Errors corrected:
-Component initialization with data-target and forward referencing.

V14.1.15
Errors corrected:
-Access violation when cross-reference tabel full during global program analysis.
-Incorrect message:
 [233 I] common block inconsistently included from include file(s)
 When include filenames only differ in case (Windows).

Improvements:
-Cross-reference table enlarged.
-Improved cpp preprocessing. Now concatenation and stringification also supported.

V14.1.14
Errors corrected:
-incorrect message
 [711 I] declared RECURSIVE but not recursively referenced
 if procedure was only locally referenced recursively.

Improvements:
-Improved cpp preprocessing. Now macros with arguments supported.

V14.1.13
Errors corrected:
-Spurious hangup when analysing nested modules in program-unit analysis.

V14.1.12
Errors corrected:
-Intrinsic modules were not found on Linux systems.

Improvements:
-File and line number reported for some global program unit messages.

V14.1.11
Errors corrected:
-Error reading library file in USE statement due to recursion.

V14.1.10
Errors corrected:
-Incorrect message
 [320 E] pointer not associated
 While pointer was allocated.
-Forcheck could not find specific for C_F_POINTER
 when second argument had rank greater than 1.

V14.1.09
Errors corrected:
-Incorrect message:
 [681 I] not used
 for pointers that were used in lhs structures.

V14.1.08
Improvements:
-Commandline buffer enlarged for Windows.
-Performance improvements of importing modules in interfaces.

V14.1.07
Errors corrected:
-Corrections in forward refences of imported constants and derived types
 in interface bodies from modules.

V14.1.06
Errors corrected:
-incorrect message
 [378 W] pointer not locally associated, specify SAVE in the module
 for an actual argument which is a structure component.

V14.1.05
Improvements:
-Default report file in user application directory.

V14.1.04
Errors corrected:
-Kind and length verification for Cray pointers further improved.
 Length and kind taken from no of bits for integer pointer from
 configuration file.
-Incorrect message:
 [318 E] not allocated
 for saved module variable as actual argument.
 -Macro substitution in freeform incorrect if record becomes longer.

V14.1.03
Errors corrected:
-Incorrect message:
 [ 58 I] none of the entities, declared in the include file, is used
 When equivalenced item is declared in include file.

Improvements:
-Message:
 [786 I] type kind inconsistent with specification
 suppressed for Cray pointers.

V14.1.02
Errors corrected:
-FCK-- incorrect tag when reading module name

V14.1.01
Errors corrected:
-Incorrect message:
 [746 I] type kind or length inconsistently specified
 In array constructor when elements are specified as Double Precision.
 
Improvements:
-File and line number presented during global subprogram analysis.

fcklib V02.0.01
Errors corrected:
-Corruption of library during compression of large files with many long subprogram names.

V14.1.00
New release

Interf V2.1.01
Errors corrected:
-Assumed-size array was declared as an assumed-shape array.

V14.0.17
Errors corrected:
-Error in namespace declaration in reference-structure .xml file.

Improvements:
-No path to .xsl stylesheet. Stylesheet must in the current directory for some browsers.
-Stylesheet (_fck_tree.xsl) for viewing .xml call-tree now also suitable for Mozilla FireFox.

V14.0.16
Errors corrected:
-for PC/Linux only: a listfile pathname with an extension beginning with f or F was treated
 as a source input file.

V14.0.15
Errors corrected:
-Incorrect handling of nested non-generic interfaces.

V14.0.14
Errors corrected:
-Incorrect message
 [620 E] dummy argument must not be defined
 if the intent in argument is a pointer of defined type and the lhs is a structure.

Improvements:
-Sequence in output of file and line number of lines with messages changed

V14.0.13
Improvements:
-Cross-reference table enlarged to 600.000 entries.

V14.0.12
Errors corrected:
-Incorrect messsage:
 344 I implicit conversion of constant (expression) to higher accuracy
 for constant and variabel of equal kind.

V14.0.11
Errors corrected:
-Verification of derived type of argument in reference of module procedure incorrect.
-Shape of array in designator not always correctly handled.

V14.0.10
Errors corrected:
-On PC/Linux: spurious hang-up if result clause present

V14.0.09
Improvements:
-On PC/Linux: more consistent handling of options and option values.

V14.0.08
Errors corrected:
-On PC/Linux: spurious problem with reading source files: end-of-file not always detected

IDE V14.0.03
-Reading of fck libraries corrected

V14.0.07, 2009-10-26
Improvements:
-Tab processing.
-Default pagewidth enlarged to 100.
-Accept, process and report longer lines than 132 in freeform.

V14.0.06, 2009-10-14
Improvements:
-Better and more consistent reporting of differences in specification of kind and type length.
 Now only if the rigorous option is specified.

V14.0.05, 2009-09-29
Impeovements:
-More accurate reporting of size of constants, derived types and variables.
 Pointers occupy 1 integer of kind address.

V14.0.04, 2009-09-21
Improvements:
-More efficient handling of USE in interface bodies.

V14.0.03, 2009-09-14
Errors corrected
-If a non allocatable, non pointer dummy argument is unlimited polymophic, the dummy argument may
 be of any type.

V14.0.02, 2009-09-03
Errors corrected:
-A DP argument is compatible with REAL*8 and REAL(8) .

V14.0.01, 2009-09-01
Errors corrected:
-Incorrect tag reading derived type during global program analysis.

V14.0.00, 2009-08-21
Launch of V14:
-Full Fortran 2003 support
-Various new compiler emulations

V13.7.34, 2009-06-16
Errors corrected:
-incorrect message
 [691 I] data-type length inconsistent with specification
 if an argument is imported from a module

V13.7.33, 2009-06-05
Errors corrected:
-incorrect message
 [539 E] procedure must have private accessibility
 for internal procedures
-spurious incorrect message
 [617 I] conditionally referenced argument is not defined
           (The inout dummy argument is not yet defined)
 when deep nesting of constructs, or many construct paths.

V13.7.32, 2009-05-29
Errors corrected:
-incorrect message
 [159 E] name already in use
 when importing a generic interface and a module procedure with the
 same name from a module

Improvements:
-Configuration file supplied for Intel Fortran 11.0

V13.7.31, 2009-05-11
Errors corrected:
-incorrect message
 [622 E] dummy function must be specified as entry argument
 in an internal subprogram

V13.7.30, 2009-04-09
Errors corrected:
-Spurious incorrect message:
**[269 E] malformed structure component
          (Only one of the part-refs can be an array name)
 when a part ref was an array ellement

V13.7.29, 2009-04-03
Errors corrected:
-Incorrect message
**[174 E] illegal usage of assumed-size array name
 while the actual argument was an array section

V13.7.28, 2009-03-09
Errors corrected:
-if the complete option was specified, not all data was imported from libraries,
 so the analysis and cross-reference of global module data failed.

V13.7.26, 2009-01-20
Errors corrected
-Rank of function actual argument was not set.
-Specific functions not added if interface block within generic interface.
-Problem with clean-up of symbols after interface body.

V13.7.25, 2008-12-23
Errors corrected
-Import did not find accessible entities in host context of host context.
-Import of derived types from modules: original name not always kept.

V13.7.24, 2008-10-26
Errors corrected:
-interface name flagged if name already in PRIVATE or PUBLIC statement.
-incorrect message
 [293 E] initialization expression expected
 if a subscript of a constant array is omitted.
-spurious incorrect message
 [523 E] procedure already in list of specific procedures of this interface
 for imported module procedures
-incorrect message
 [582 E] data-type length inconsistent with specification
 if actual argument is of zero length and dummy argument is of assumed length.

V13.7.23, 2008-10-10
Errors corrected:
-The f03 option did flag a number of Fortran 2003 features incorrectly.
-Incorrect message:
 [275 E] derived type object must be of sequence type
 for imported derived type.
-In an interface block module procedure statements and interface bodies may be in any order.

V13.7.22, 2008-10-02
Errors corrected:
-spurious incorrect message
 [315 I]  redefined before referenced
 after referencing a procedure which references a variable in the host context of a module procedure.

V13,7.21, 2008-09-26
Errors corrected:
-incorrect message
 [328 I] array or character variable is zero sized
 when referencing an array section of an allocated array and lower bound not specified. 
-spurious incorrect message
 [573 E] data type inconsistent with specification
 for the derived type of an argument of a module procedure.

IDE V13.7.2
Errors corrected:
-Searching corrected

V13,7.20, 2008-08-21
Errors corrected:
-Variable, read through namelist, was flagged as not set.

V13.7.19, 2008-06-01
Errors corrected:
-module procedures which were declared private not in call-tree and
flagged as unreferenced.

Improvements:
-Message
[153 I] PUBLIC is already the default
was displayed twice.
- Message
[315 I] redefined before referenced
incorrect in data_implied do.

V13.7.18, 2008-05-10
Improvements:
-Search paths for relative include paths changed. Now we search:
1. relative to the source directory
2. relative to the working directory
3. in include paths listed in the Include path option
4. in the directories indicated in the environment variable INCLUDE
5. for unix: in the system include directory.

V13.7.17, 2008-05-05
-Parser error if . follows write(..)
-New compiler emulation file for Intel Fortran 10.0: Intel10.cnf.

V13.7.16, 2008-04-30
-Problem when analyzing a longer than standard line with subscripts:
 Forcheck did not finish

V13.7.15, 2008-04-24
-Improved verification of arguments:
 illegal assignment of actual arguments with intent(in).

V13.7.14, 2008-04-16
-Messages could not be read when include nesting was deep.

V13.7.13, 2008-03-28
-Defined operators not always found when DEC/VAX structures were
 enabled.

V13.7.12, 2008-02-07
Errors corrected:
-Reference of an array element of an array valued function within its function specification
 was interpreted as a recursive reference.
-ref of constant with same name as component within type definition was not recognized
 as such. 

V13.7.11, 2008-02-05
Improvements:
-Include files with / (unix path specification) accepted on Windows.

V13.7.10, 2008-02-04
Errors corrected:
-Minval, maxval, minloc, maxloc were not processed correctly when
 referenced with DIM or MASK keyword arguments.
-the rank of a structure with an array and a substring component was
 not always correctly evaluated.

V13.7.09, 2008-01-16
Errors corrected:
-The global reference table and reference structure (call tree) did not
 present the references of module procedures correctly.

V13.7.08, 2008-01-07
Improvements:
-Logging of meta symbol table usage.
-Suppression of reporting the definition of meta symbols.

Errors corrected:
-INCLUDE... without delimiter was interpreted as an INCLUDE statement

V13.7.07, 2007-12-21
Errors corrected:
-#define ON 1, #define OFF 0: ON and OFF were interpreted as keywords.

V13.7.06, 2007-12-18
Improvements:
-Maximum number of #defines increased to 500.

V13.7.05, 2007-12-09
Errors corrected
-Incorrect message
 [559 E] argument missing, or no corresponding actual argument found
 When referencing MINVAL with key arguments. 

V13.7.04, 2007-10-31
Errors corrected
-incorrect message [335 E] data type conflict
 because no specific was generated for a generic with zero arguments 

V13.7.03, 2007-08-13
Improvements:
-You can specify suppress='all' in the section "redefinition of messages" in the
 configuration file to suppress all diagnostic messages.
-Detection of recursive procedures which are not referenced recursively.

V13.7.2, 2007-06-10
Improvements:
-Passing character scalar actual arg. to a dummy array allowed:
 language extension 134
-Support of ERMSG= in [DE]ALLOCATE statement.
-INTENT allowed for POINTER dummy arguments:
 language extension 249

V13.7.1, 2007-06-04
Improvements:
-Namelist allowed on internal files for Fortran 2003
-Configuration file of NagF95 updated for V 5.1

IDE V13.7.0, 2007-06-01
Improvements:
-Backward search in list views.
-Search from cursor location.
-Set options for each selected file.
-Default freeform for .f90, f95 and f03 files.

V13.7.0, 2007-06-01
Improvements:
-Default freeform for .f90, f95 and f03 files.
-Lay out of listings: first column no longer printer control character.
-More efficient usage and faster access of cross-reference table.
-If cross-reference table is full, the objects are nevertheless listed.
-If a component name is not unique, the component is discarded and the 
 library file can still be read.
-Modules in interfaces are only imported in the first pass.
-Support of some new Fortran 2003 features.

V13.6.20, 2007-05-01
Improvements:
-message
 [673 I] not locally referenced
 only presented if variable was not saved in module.

Errors corrected:
-incorrect message
 [316 W] not locally defined, specify SAVE in the module to retain data
 if variable was saved in module.
-[319 W] not locally allocated, specify SAVE in the module to retain data
 if variable was saved in module.
-[378 W] pointer not locally associated, specify SAVE in the module
 if variable was saved in module.
-[669 I] not locally associated, specify SAVE in the module to retain data
 if variable was saved in module.

V13.6.19, 2007-04-22
Improvements:
-If an input/output argument is not assigned on entry and conditionally assigned before referenced,
 an information [618 I] is presented only and no error [616 E].
-incorrect message
 [219 E] illegally in COMMON, EQUIVALENCE, or NAMELIST
 for array pointers.

V13.6.18, 2007-04-08
Errors corrected:
-incorrect message
 [ 60 W] fixed source form used
 if /ob, or /f95 and include lines present.
-incorrect message
 [631 E] illegal argument data-type length for intrinsic procedure
 for SNGL with DP argument if the /dp option is in effect.

V13.6.17, 2007-03-26
Errors corrected:
-Intrinsic function SUM was not specified correctly.
-IMPLICIT did not work correctly in an interface block.

V13.6.16, 2007-03-20
Improvements:
-An interface block which defines the subprogram in which it is contained
 is now supported as language extension 236.

V13.6.15, 2007-03-02
Errors corrected:
-An array may be of assumed size if it is a target of an integer pointer.
-An integer pointer may be in common.

IDE V13.6.3, 2007-13-02
-Default compiler emulation file set to intel9.cnf

V13.6.14, 2007-02-05
Improvements
-Symbol table enlarged to 150000 symbols

V13.6.13, 2007-02-02
Errors corrected:
-Incorrect message
[549 I] referenced intrinsic procedure not declared INTRINSIC
When the "flag undeclared intrinsics" option is in effect and the intrinsic function is declared
INTRINSIC in an imported module.

V13.6.12, 2006-12-16
Errors corrected:
-Incorrect message:
[333 E] division by zero
If denominator is of type double precision and is less than minimal real.
-Incorrect message
[527 E] no matching specific procedure found
If generic interface is imported from various modules.
-Incorrect message
[539 E] procedure must have private accessibility
If type is imported, accessible but private in the current module.

V13.6.11, 2006-12-07
Errors corrected:
-Incorrect message
[312 E] no value assigned to this variable
for local variable in elsewhere block.
-Incorrect message
[317 E] entity imported from more than one module: do not use
for generic interfaces.

V13.6.10, 2006-11-20
Errors corrected:
-DO UBLEPRECISIONI=1,10 was incorrectly classified as an assignment statement.
-Incorrect message
[264 E] unknown structure component or field name
When referencing a structure of mutually dependant types.
-In a recursive procedure a reference of the recursive procedure with
keyed arguments did not function correctly.
-second argument of BTEST was incorrectly specified as optional.

Improvements:
-Reporting if intrinsic function is nonstandard when declaring.

V13.6.9, 2006-11-16
Improvements:
-[690 I] data-type length inconsistent with data-type length at first ref. and
[691 I] data-type length inconsistent with specification
now also for constants.

Errors corrected:
-storage of mutually dependant types did not function correctly.

V13.6.8, 2006-11-03
Errors corrected:
-Incorrect message
[690 I] data-type length inconsistent with data-type length at first ref.
If argument is an intrinsic function reference with a data-type kind 
depending on its arguments and one of these arguments is a numeric literal
constant.
-Array-valued specific functions were not handled correctly.

V13.6.7, 2006-10-28
Errors corrected:
-Error when parsing parenthesized expressions in an ac-implied do.
 (was not correctly solved in V13.6.6)
-Host-associated private or public object incorrectly classified as variable
 when it is a forward ref of a module procedure.
-Host-associated derived type reference in type initialization was not recognized as such.
-Original name of used associated type incorrectly read from library file.

V13.6.6, 2006-10-06
Improvements:
-Configuration file for G95, open source Fortran 95 based on GNU, added.

Errors corrected:
-CPU_TIME did only accept a default real argument, while each real kind should be allowed.
-Syntax error when parsing parenthesized expressions in an ac-implied do.
-In freeform input the first nonblank character of a continuation record in a
 character context must be an &.
-Incorrect error
 [271 E] derived type is inaccessible
 When a construct of a private type is referenced.

V13.6.5, 2006-10-01
Improvements:
-Detection of more than once imported from module of derived types.
Errors corrected:
-Incorrect handling of generic interface if specific procedure was imported
 from more than one module.

V13.6.4, 2006-09-13
Improvements:
-improved detection of illegal statement sequence in interface block.

Errors corrected:
-Incorrect message
 [351 E] illegal usage of operator
 if for a power of type complex.
-Forcheck did not handle a plain END statement (without SUBROUTINE or FUNCTION
 suffix) in interface body correctly.

V13.6.3, 2006-09-08
Improvements:
-Statement buffer enlarged to 20000
Errors corrected:

-Incorrect message
 312 E no value assigned to this variable
 in a construct block if the local variable is an actual argument within the
 IF or ELSEIF statement of the block.
-Incorrect message
 [580 E] data-type length inconsistent with first occurrence
 if actual argument is integer literal constant expression.

V13.6.2, 2006-07-27
Improvements:
-For Intel Fortran a pointee, in an integer pointer statement, may also
 be an external. Contrary to their documentation, for many other compilers
 the same holds.

Errors corrected:
-incorrect message:
 [707 I] module procedure not referenced from outside its module
 if module procedure is declared private.
-incorrect message:
 [557 I] dummy argument not used
 if the dummy argument is a pointer which is associated.
-incorrect message:
 [322 I] target not assigned with a pointer
 if the target has been pointer associated in a different procedure.

IDE V13.6.1, 2006-07-26
Improvements:
-The installation path can now also be specified by setting the environmental
variable FCKDIR.

V13.6.1, 2006-07-26
Changes and improvements:
-Detection of possibly not assigned improved (using the rigorous option).

Errors corrected:
-Number of references in internal table usage was incorrect
-Incorrect message:
[616 E] input or input/output argument is not defined
when the rigorous option is in effect and the argument has been defined
in a conditional path. Now changed into:
[618 I] input or input/output argument is possibly not defined
-Message:
[313 I] possibly no value assigned to this variable
Now presented only if the rigorous option is in effect.

V13.5.15, 2006-04-15
Errors corrected:
-Long pathnames were not accepted by the command string interpreter (Unix)
-Incorrect message:
[159 E] name already in use
at dimension specification for array valued functions.
-Array sections with a negative stride were not handled correctly.

V13.5.14, 2006-04-01
Errors corrected:
-incorrect message 601 if actual argument is pointer and dummy not.
-INOUT argument need not be defined on entry.

V13.5.13, 2006-03-14
Errors corrected:
-Module variables were in certain cases incorrectly reported as unused or
 unreferenced. Now only reported as locally unreferenced.
Changes and improvements:
-installation path and registry entries changed.

V13.5.12, 2006-02-23
Improvements:
-Stack size for analyzing the reference structure increased.

V13.5.11, 2006-01-20
Errors corrected:
-updated common-block list was incorrectly stored.
Improvements:
-message 220 explained.

V13.5.10, 2005-10-21
Errors corrected:
-IF cross-reference table was full, interfaces were not stored in the library.
-DIMENSION( : ) was not parsed correctly.
Improvements:
-support of allocatable dummy arguments (Fortran 2003): syntax extension 234.
-support of allocatable functions (Fortran 2003): syntax extension 235.
-support of Intel Fortran V9: intel9.cnf

V13.5.09, 2005-10-08
Errors corrected:
-Incorrect message: 
549 I referenced intrinsic procedure not declared INTRINSIC
while the generic function was declared intrinsic.

IDE V13.5.6, 2005-10-09
Errors corrected:
-PW and PL options got strange values initially.

V13.5.08, 2005-09-30
Errors corrected:
-Length of long names in library index not always correctly stored.
Improvements:
-Support of Gnu Fortran 95: gfortran.cnf
-Mixing of subroutines and functions in a generic interface is allowed in
Visual Fortran. Syntax extension 233.

FCKLIB V13.5
Errors corrected:
-Librarian did not function correctly.
-Librarian Adapted for long names.

IDE V13.5.5, 2005-09-30
Errors corrected:
-Librarian did not function correctly.

IDE V13.5.4, 2005-06-28
Errors corrected:
-Include directories, specified under preferences, had no effect.

V13.5.07, 2005-06-01
Errors corrected:
-Line numbers of some messages were incorrect
-Empty lines before program unit were not counted on some implementations (SGI)

V13.5.06, 2005-02-14
Improvements:
-Message 5 refined.
-Message 61 provided if only comment or non-included source lines were read.
-Message "Include nesting too deep": filename name reported.

V13.5.05, 2005-01-24
Errors corrected:
-When declaring a public or private object and forward referencing the object
 as a procedure, the operation codes of the argument list were not set in the
 first pass.

V13.5.04, 2005-01-13
Errors corrected:
-When forward referencing module procedures, the program cross-reference
 was incorrect.

V13.5.03, 2004-11-29
Improvements
-Support of VALUE with verification of constraints: extension 241.
-Support of allocatable components: extension 245

V13.5.02, 2004-10-24
Improvements:
-Support of Absoft Pro F90/95 V9.0 compiler: absoftf95.cnf.
-Support of VOLATILE statement and attribute: extension 62.
-Support of VALUE statement and attribute: extension 241.
-Support of PROTECTED statement and attribute: extension 239.
-Conversion from typeless constant to real not reported as implicit conversion
 to higher accuracy anymore.
-Initialization expression with boz constants as arguments of intrinsics
 allowed.
-Integer type def of integer pointer allowed.

Errors corrected:
-Spurious incorrect message 255.

V13.5.01, 2004-10-18
Improvements:
-Verification if continuation character is in Fortran character set was only
 active if -standard option was active. Now also verified if extension 11 is
 not in configuration file.
-illegal usage of boz constants was not always detected.
-Better re-usage of cross-reference table.
-Improved path-flow analysis with reporting of undefined variables.

Errors corrected:
-Spurious crash in the error message if an array dimension was too large to
 handle.
-Test on too many symbolic names was incorrect (in V13.4.07).
-Spurious incorrect message 159 when importing hidden procedures from a module.

V13.4.07, 2004-06-29
Improvements:
-More efficient usage of name table.

V13.4.06, 2004-06-20
Improvements:
-Verification of consistency of explicit length extended to real constant
 arguments and array constructors.
-Explicit length attribute of mixed-mode expressions improved.
-Improved discrimination between assigned variable and namelist group name
 in io-control-list.
-Message if referenced namelist group does not exists.
-Configuration file Laheyf95.cnf updated to V5.7.
-Name table enlarged

Error corrected:
-context of interfaces not in stack space. 

V13.4.05, 2004-05-01
Improvements:
-Message:
 [438 W] obsolescent terminal statement of DO loop
 presented in stead of
 [402 E] illegal terminal statement of loop
 if the terminal statement of a DO loop is not END DO or CONTINUE and the
 obsolescent, F90, or F95 option has been specified.

Errors corrected:
-Incorrect message
 [369 E] illegal assignment to pointer
 if the pointer is an actual argument and is assigned in the procedure.

V13.4.04, 2004-04-23
Improvements:
-Message:
 [145 I] implicit conversion to complex
 only activated if the rigorous option has been specified.
-Message:
 [344 I] implicit conversion of constant (expression) to higher accuracy
 replaced by
 [346 I] implicit conversion of integer to real
 if an integer is implicitly converted to a real in an expression and only
 presented if the rigorous option has been specified.
-Message
 [345 I] implicit conversion to less accurate data type
 replaced by
 [699 I] implicit conversion of real or complex to integer
 for implicit conversion to integer.

Errors corrected:
-AIMAG did not accept a dp complex argument in some compiler emulations.
 (take out the specific AIMAG in your configuration file)
-Path monitoring was not correct if statements separated with ;
-Incorrect message
 [184 E] multiple specification of attribute
 If accessibility of a non-declared object is specified.
-Undefined object now reported: message 700.

V13.4.03, 2004-04-16
Improvements:
-Message:
 [344 I] implicit conversion of constant (expression) to higher accuracy
 no longer presented if the constant (expression) is integer.
-Message:
 [698 I] implicit conversion to more accurate data type
 only activated if the rigorous option has been specified.

Errors corrected:
-Forcheck did not always generate the correct intrinsic function if the
 argument was an expression with an operand of nondefault kind.
-Mixed mode expressions with operands of the same data type but different
 kinds did not always yield the correct kind.

V13.4.02, 2004-04-09
Improvements:
-Syntax messages suppressed during file-scan. 
-cpp conditionals improved.

V13.4.01, 2004-03-29
Improvements:
-If an update library does not exists, it will be created.
 In interactive mode the user will be requested for conformation.

Errors corrected:
-PARAMETER1 = ' ' was not recognized as an assignment statement when the
 PARAMETER cnst=value extension was enabled.
-Problem with storing the derived type of an argument of a procedure interface
 when the derived type was originally imported as inaccessible. 

V13.4.00, 2004-03-01
-Release consolidation
Improvements:
-Option added to flag all specific intrinsic functions: /SF cq -spec.

V13.3.21, 2004-02-10
Improvements:
-Support of Portland Group Fortran 90: PGF90.cnf

V13.3.20, 2004-02-04
Errors corrected:
-Could not find specific function if type was host-associated and procedure not

V13.3.19, 2004-01-02
Improvements:
-Maximum number of symbols increased to 100000.
-Maximum number of contexts increased to 10000.

Errors corrected:
-Reporting of number of contexts corrected.

V13.3.18, 2003-12-18

Errors corrected:
-incor. tag reading interface from module corrected.

V13.3.17, 2003-12-15

Errors corrected:
-incorrect message
 [527 E] no matching specific procedure found
 if one af the arguments is an array constructor with an array element or
 array section component.

V13.3.16, 2003-11-27

Improvements:
-If IMPLICIT NONE has been specified in a Fortran 90 and up an undeclared
 object is flagged with an error message [697 E] instead of the warning 
 message [208 W].
-Improved reporting of illegal option arguments in unix command line. 

Errors corrected:
-";" is not allowed as the first nonblank character on a line, unless as
 a fixed form continuation character.
-If the (erroneous) statement after a statement separator consisted of one
 character only, it was not analyzed.
-incorrect message
 [360 E] each element in array constructor must be of the same data type
 if first element of array constructor is an array section or substring.
-incorrect message
 [691 I] data-type length inconsistent with specification
 if actual argument is a generic intrinsic function reference with a 
 data-type length which is determined by its argument.

IDE V13.0.1, 2003-11-12
Improvements:
-Serial number presented in about box.

V13.3.15, 2003-09-09

Improvements:
- message
 [695 E] no defined assignment supplied for this data type
 If a defined assignment for one or more of the derived type components
 is present. This message got lost in a previous release.

Errors corrected:
-Tabs in subprogram statement of internal and module procedures were not
 reported.
-incorrect reading of modules names from library files during importing
 interfaces (error in V13.3.14 only).

V13.3.14, 2003-08-25

Improvements:
-A message is presented if an internal or module subprogram does not start
 with a SUBROUTINE or FUNCTION statement.
-Message
 [314 I] possible change of initial value
 only presented if the rigorous option has been specified.
-Information if default accessibility is being explicitly specified.
 Specify the rigorous option to obtain this information.

Errors corrected:
-Incorrect message
 [317 E] entity imported from more than one module: do not use
-Reading derived types with components of inaccessible types from library
 file corrected.
-Filename in header of first subprogram in file was incorrect if previous
 file ended with one or more blank lines.
-In Fortran 90 and 95 a repeat is allowed with a / edit descriptor.
-Confirmation of accessibility allowed.

V13.3.13, 2003-08-04

Improvements:
-Symbolic name table increased to 1000000.

V13.3.12, 2003-07-23

Errors corrected:
- incorrect message
 [637 E] specific procedure has no unique argument list
 If the derived types of the arguments of a specific procedure
 are inaccessible (because of USE, ONLY clause).

V13.3.11, 2003-07-16

Errors corrected:
-An imported external procedure name has no explicit interface.
-Incorrect message
 [370 E] illegal target for a pointer
 If the target is a sub object of a pointer.

V13.3.10, 2003-07-09

Improvements:
-Reporting circular reference of modules through fatal system error.

Errors corrected:
-Incorrect message
 [370 E] illegal target for a pointer
 If the target is a structure component and one of the part-names is a
 pointer and the rightmost is not a pointer.
-Incorrect message
 [466 E] E more than once in OPEN, CLOSE, or INQUIRE list
 if the variable is a substring or structure component with an identical
 component.
-Incorrect message
 [671 E] E variable more than once in actual argument list
 if the variable is a structure component with an identical component.

V13.3.09, 2003-06-26

Improvements:
-Detection and reporting recursive reference of modules.

Errors corrected:
-Incorrect message
 [369 E] Illegal assignment to pointer
 If the argument of an intrinsic subroutine is a non-pointer component of a
 derived type and is assigned.
-Incorrect message
 [202 E] multiple specification of data type, this one ignored,
 for recursively referenced functions contained in a module.

V13.3.08, 2003-06-05

Improvements:

Errors corrected:
-When reporting errors in nested include files without making a listing,
 the line numbers where not always correct.
-Message 208, name not explicitly typed, implicit type assumed,
 promoted to warning.

V13.3.07, 2003-06-01

Improvements:

Errors corrected:
-Incorrect message
 [542 E] procedure must be pure
 If it is elemental.
-Incorrect message
 [ 19 O] (STRUCTURE/DERIVED TYPE NESTING TOO DEEP)
 if a derived type with a component of the same type was recursively forced to
 be included from a module while the type was already forced public.

V13.3.06, 2003-05-20

Improvements:
-Cross-reference table enlarged to 1000000
-Argument key table enlarged to 20000.
-Statement buffer enlarged to 10000.

Errors corrected:
-Spurious crash if intrinsic function was referenced with more then 5 arguments.

V13.3.05

Improvements:
-New xsl style sheet.
-Support of cpp preprocessing extended.

V13.3.04

Errors corrected:
-PUBLIC and PRIVATE did not work properly on operators and assignments.

V13.3.03

Errors corrected:
-Incorrect message
 [ 19 O] (STRUCTURE/DERIVED TYPE NESTING TOO DEEP)
 if a derived type with a component of the same type was recursively forced to
 be included from a module.

V13.3.02
Improvements:
-Message provided if /IP, or /DF is specified without arguments (PC).
-Message provided if -I, or -define is specified without arguments (unix).
-Buffer for INCLUDE environmental increased to 1024 (PC).

Errors corrected:
-An array element or section does not have the POINTER attribute of the array.
-If a dummy argument has the POINTER attribute, the actual argument must be
 a pointer.
-Incorrect message
 [ 19 O] (STRUCTURE/DERIVED TYPE NESTING TOO DEEP)
 if a derived type with a component of the same type was forced to be included
 from a module.

V13.3.01

Improvements:
-Support of array constructor [...] for Fortran 2000 and Intel Fortran:
 extension 109.
-Reference of _fck_tree.xsl: Installation path included.
-If TMPDIR not defined, temp files are stored in /tmp on unix systems.
-Floating point crash in handling RESHAPE on Alpha/Unix corrected.

V13.3.00
Improvements:
-Support of expressions in conditional compiler directives
-Support of cpp preprocessor directives: extension 7
-Support of Intel Fortran: intel.cnf

V13.2.02
Errors corrected:
-Incorrect message
 [159 E] name already in use
 if type name starts with the name of an intrinsic type

V13.2.01
Errors corrected:
-Array length of array section arguments corrected.
-Incorrect message:
 [165 E] illegal or nonstandard Fortran dimension specification
 For an assumed dimension specification with lower bounds specified.

Improvements:
-Better reporting of not supported name after END INTERFACE.
-Support of END INTERFACE name for SGI Fortran 90.

V13.2.00
-Password file format changed

V13.1.16
Errors corrected:
-If option noinf or nowarn was specified, the message explanation was still
 be presented.
-Incorrect tag reading interface with long name from library file corrected.

Improvements:
-If module not available the sequence of files to analysis has been modified
 to show the module which was not found.

V13.1.15
Errors corrected:
-Incorrect message:
 [531 I] function is impure
 If variable of derived type with pointer components in right hand site of
 assignment statement.

V13.1.14
Improvements:
-Signal unreferenced modules in interface bodies.
-Command line buffer enlarged to 1024 characters.

V13.1.13
Improvements:
-Support of C_EXTERNAL and Salford STDCALL, Fortran 77 extension 67
-FTN configuration files updated.
-SUN configuration files updated.
-Reference structure: present references in sequence of original occurrence.

V13.1.12
Improvements:
-Summary of messages presented: larger number of messages allowed.
-F77 extension 41 added: Length modifier (B,S,L) after integer and boz
 constants.
-FTN77 configuration file updated.

INTERF V13.1.04: -handling of adjustable array dimension.
                 -POINTER attribute added.

Improvements:
-Better flagging of some illegal dimension specifications.

V13.1.11
Errors corrected:
-If backslash editing enabled the length of strings with embedded apostrophes
 was not correctly determined.
-Storage of links to argument used in adjustable array dimension improved.

INTERF V13.1.03: -More arguments on one line corrected (empty line with &).
                 -declaration of EXTERNAL dummy argument without type corrected.
                 -verification of adjustable array dimension links.

V13.1.10
Errors corrected:
-Storage of link to argument used in adjustable array dimension.

INTERF V13.1.02: -Handling of adjustable array dimensions.
                 -More arguments on one line to avoid too many continuation lines.

V13.1.09
Errors corrected:
-Response to command line confirmations corrupted command line.
-INTERF: reading index corrected.

V13.1.09
Improvements:
-Storage of derived types and derived-type components for module procedures
 reduced.

V13.1.08
Errors corrected:
-Cleanup of symbol table for module procedures removed.
-During global analysis the reference of derived types of arguments was not
 always correct.
-Replacing of qualified names of derived types in symbol table corrected.
-Reading derived types with components of derived types from library file
 corrected. 

Improvements:
-Some more hints added.

V13.1.07
Errors corrected:
-Incorrect storage of derived type if in public statement before declaration
 of type and usage in module procedures.
-Progress report: program unit tags were missing.

V13.1.06
Errors corrected:
-Original name in module not read in correctly if name longer than 32 characters.
-Some errors retrieving long names from library file.

Windows IDE: V13.0.0.16
Errors corrected:
-List options preferences, such as include paths, were not always stored correctly.

V13.1.05
Errors corrected:
-Derived types in imported interface bodies were visible outside interface body.

V13.1.04
Improvements:
-Some improvements in importing modules in interface blocks.

Windows IDE: V13.0.0.15
Errors corrected:
-Preferences were not always stored correctly.

V13.1.03
Errors corrected:
-%LOC and LOC must accept array elements as argument.
-Incorrect message:
 [539 E] procedure must have private accessibility
 if the types of the arguments are imported locally from a module.

Improvements:
-Allow for the combination of pointee and target.
-Abort with fatal error if symbol table full.

V13.1.02
Errors corrected:
-Internal error when processing Fortran 90 operators.
-Incorrect message:
 [184 E] multiple specification of attribute
 If an external function name is used as a pointee in a POINTER() statement.
-A pointee can also be an external function name in Compaq Visual Fortran.
-LOC accepts also a procedure name as argument in Compaq Visual Fortran.
-Incorrect message:
 [691 I] data-type length inconsistent with specification
 for component of actual argument of an imported type.

V13.1.01
Improvements:
-Performance and memory requirements improved. Table sizes adjusted.

V13.0.01
General changes:
-In-line comment {..} and /*..*/ no longer supported (Prime and Domain
 Fortran resp.).

Improvements:
-Overlapping ranges in CASE statements verified for integers and logicals.
-Forall-index-name and ac-impl-do-var now in statement/block context.
-Variables in statement context not listed in cross-reference.
-Variables in statement context not imported from modules.
-Fortran 95 intrinsic subroutine CPU_TIME added.
-Better verification of constant and initialization expressions.
-Intrinsic procedure class added to the description of intrinsic procedures in
 emulation files: emulation files have been changed!
-INTENT for procedures with explicit interface used to verify and determine
 definition status of actual arguments.
-Redefinition before reference (message 315) now also detected for arrays.
-Derived type name not allowed as actual argument.
-Support of NAS Fortran Plus Fortran 95 compiler: NASF95.CNF.
-AbsoftF90.CNF updated.
-Message 276, derived type inconsistently included, augmented with name of
 program unit in which the type is being declared.
-The type of derived-type components is now also verified recursively.
-Generation of a report file.
-Suppression of specific messages using compiler directives.
-Better verification of type and type parameters of function entries.
-Detection of multiple initialization of an item in a specification statement.
-Message 500, no main program, if complete analysis and no main program.
-Detection of name clashes improved.
-Table sizes increased.
-Support of $IF, $ELSIF, $ELSE meta commands (Compaq VF), but only with simple
 expressons.
-Better detection of blanks in boz constants.
-Better support of combinations of legacy F77 syntax:
 Q, aQw format
 "xxx and "xxx"O octals
 type function name without argument list
-Detection of modification of pointer sub objects of intent(in) arguments.
-Error message 688 if implicit characteristics are inconsistent with those in
 host context.
-Verbose messages explaining the cause of messages presented.
-Better verification of constraints of statement functions.
-Verification of uniqueness of generic procedure reference: message 640.
-Improved detection of out of range constants.
-Verification of attributes of intrinsic function arguments ALLOCATED and
 ASSOCIATED.
-Verification of consistency of TARGET attribute of common-block objects.
-Intrinsic functions in DATA statements: language extension 83.
-Pointers in DATA statements: language extension 84.
-Specification functions in specification expressions: language extension 68.
-Comparison of explicitness and attributes between interfaces.
-Improved verification of name conflicts with a module name.
-The length of an actual argument must not be 0 if the dummy has an assumed
 length.
-More than once in OPEN/CLOSE/INQUIRE now accounts for equivalences.
-Option added to specify a file for output of the reference structure in XML.
 for PC: /RS:f, for unix: -refstruc file
-Filename and line number presented with diagnostic messages during subprogram
 analysis.
-Detection of not-allocated of allocatable array as actual argument.
-Message 695 added:
 Defined assignment required if a derived type component has a defined
 assignment.
-Improved verification of array and character arguments.
-Detection and reporting of more than once in namelist group.
-Support for names up to 64 characters long.
-Support of C-strings with embedded octal and hex constants.
-Command line buffer enlarged from 4086 to 65000 (unix).

Errors corrected:
-The type of pointer components of a derived type need not have been declared
 previously.
-Comparing derived types: the name of the derived type definition (the
 type-name in the module of origin) is now used to compare types.
-Definition of internal procedure makes host item with the same name
 inaccessible.
-It is ok to associate a character array actual argument with a dummy argument
 which is an assumed-shape character array with assumed-size length.
-If an associated variable of a function entry is assigned the function
 result becomes defined if they have the same type.
-When referencing a generic interface a generic interface with the same name
 in the host context must also be searched.
-If no match is found for a generic intrinsic, the host context must be
 searched for a generic procedure. with the same name.
-Resolving generic procedure references improved.
-If a generic intrinsic function is declared with a data type, that type has
 no effect.
-DO-var, stat-variable in ALLOCATE, iostat-variable in I/O statements are
 allowed to have the pointer attribute.
-Blank required after PRINT when literal format string follows.
-Incorrect verification of statement sequence in nested interfaces.
-Length of derived types with deferred shape components was incorrect.
-Function type-length not correctly set in
 type FUNCTION name*lng ()
-Length spec. in a character function statement may contain a dummy argument
 or common-block variable of which the type can be declared later.
-Separate import of the type of an object having a private type from the module
 which specifies that type.
-Renamed intrinsic procedures were not handled correctly.
-The same function result name may be specified in more than one entry.

INTERF:

Errors corrected:
-Assumed-size and adjustable dimension specs were not handled correctly.

previous page top page
Forcheck
Contact