Here are the new features in 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 opera- tions 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.
Changes made from patch level 1 to patch level 2:
1. Fixed bug in -makedcls option that allowed a buffer overflow when
module names exceed 20 characters.
2. Minor changes to source code to clean it up and make it compatible
with C++.
3. Fixed bug that caused crash when number of statement labels in a
subprogram exceeded 2000.
4. Fixed bug that could cause access violation on some systems, if
program contains variable names starting with AA or AB.
5. Fixed bug in handling a labeled END DO statement that matches a
DO statement that doesn't use a label.
6. Changed license from "BSD"-like to "MIT."
Some new features in version 3.1:
1. Block structure of the program is now kept track of, and proper
nesting of blocks is checked.
2. New check for modification of a DO index-variable within the
range of the loop.
3. New option -style to allow extra-picky warnings about obsolescent
or old-fashioned programming constructions.
4. Limited support for attribute-based type declarations (using ::).
See the manual for limitations on the accepted syntax. 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.
5. Some implementation changes were made for faster execution. The
improvement in speed is greatest for small and medium-sized
programs, which are now processed about 2 times faster.
Bugs fixed in patch 1:
1. Erroneously reported "Block not closed when END statement
encountered" at end of an unnamed block data subprogram.
2. Under -pretty=embedded-space, warned of embedded space between
slashes in
COMMON / / X, Y, Z