Table of Contents

Previous: LIMITATIONS AND EXTENSIONS

## NEW FEATURES

Here are the changes from Version 3.1 to Version 3.2:

1.
  New option -mkhtml to generate HTML documentation files from the source code. Thanks go to Mark McVeigh for contributing this feature.
2.
  I/O unit usage information is now provided under the -symtab option. A table is printed listing each I/O unit by name and/or number, together with the operations performed on it.
3.
  A single large project file, created by concatenating a number of separately produced project files, can be input for use as a library project file.
4.
  Combined type declarations and data-statement-like initializers, as in INTEGER N / 100 / are accepted.
5.
  Fixed a bug that caused ftnchek to crash if a parameter is declared with the same name as the subprogram containing it. New error message for same.
6.
  Fixed a bug in checking type agreement between variables and their initial values in Fortran 90-style declarations with initializers, as in INTEGER :: N=100.
7.
  New error message when an internal file is a constant rather than a variable. Some compilers permit this for READ operations, but it is prohibited by the F90 Standard in section 9.2.2.1.

Here are the changes from Version 3.0 to Version 3.1:

1.
  New checks for proper nesting of block structures such as IF ... END IF.
2.
  Limited support for attribute-based type declarations. Read the section on Extensions for details. Note that this new feature should be seen as a first step toward full support for Fortran 90 type declarations, but it is not there yet. The level of support may be sufficient for novice programmers, but it is not yet ready for serious use.
3.
  New flag -style for users who want to adhere to a strict modern programming style. This flag controls warnings about legal Fortran 77 constructs such as GOTO that are more error-prone than the newer constructs available in Fortran 90.
4.
  The -source options parameter-implicit-type and dec-parameter-standard-type were changed to param-implicit-type and dec-param-standard-type respectively for consistency with other options also related to parameters, which all use param-.
5.
  New warnings: modification of a DO variable inside its loop (controlled by -usage=do-index-modified option), and alternate return using a constant value that does not correspond to a label argument (controlled by a new -pretty=alternate-return option).
6.
  Fixed a bug that caused project files to contain incorrect information about actual arguments that are parameters. This bug had no effect on checking of programs using the project files, since the bogus information was not used in these cases.
7.
  The -project flag now takes options to control how much information about subprogram calls and common blocks should be stored. These options are mainly of interest to those who want to use project files for purposes other than checking the program with ftnchek.
8.
  Changed the way that the HTML documentation is produced. The main change is that URLs referring to man pages have a different form. Also got rid of the symbolic links in the html directory, which cause problems on systems that do not support such links.
9.
  Implementation changes for faster execution. The speedup is about a factor of two in some cases.

Next: BUGS