1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
README file for ftnchek version 3.1
Author: Robert Moniot
Fordham University
New York, NY 10023 USA
Telephone: (212) 636-6311
E-mail: moniot@fordham.edu
Date: May 28, 2001
Ftnchek (short for Fortran checker) is designed to detect certain
errors in a Fortran program that a compiler usually does not. Ftnchek
is not primarily intended to detect syntax errors. Its purpose is to
assist the user in finding semantic errors. Semantic errors are legal
in the Fortran language but are wasteful or may cause incorrect
operation. For example, variables which are never used may indicate
some omission in the program; uninitialized variables contain garbage
which may cause incorrect results to be calculated; and variables
which are not declared may not have the intended type.
Ftnchek is written in C. You must have a C compiler for the machine
on which you wish to build it. The URL for ftnchek's home page is
http://www.dsm.fordham.edu/~ftnchek. Source code, binary executables
for some platforms, and other information are available there.
INSTALLING FTNCHEK
------------------
See the file INSTALL for detailed instructions on how to install
ftnchek on your system.
NEW FEATURES
------------
Here are the new features in version 3.1:
o Block structure of the program is now kept track of, and proper
nesting of blocks is checked.
o New check for modification of a DO index-variable within the
range of the loop.
o New option -style to allow extra-picky warnings about obsolescent
or old-fashioned programming constructions.
o 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.
o 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.
o The html documentation is now produced using Verhoeven/Hamilton
(vh) man2html. This change served mainly to simplify the
production of the html from the man page (fewer corrections need
to be made by hand), and there is very little difference in
appearance of the documentation as viewed with browser. The main
difference in the results is in the hrefs referring to man pages,
which now look like, e.g.,
http://localhost/cgi-bin/man/man2html?1+tar
for a reference to the tar(1) man page.
o New support for users who want to mine project files for
information about a program: first, a bug was fixed that caused
the project file to have garbage in some information fields for
subprogram actual arguments that are PARAMETERs. (This bug had
no effect on ftnchek's checking of such arguments.) Also, the
-project switch was changed from an on/off flag into an
option-list to allow the user to prevent the usual trimming of
superfluous information stored in the project file. To take
advantage of this new option, use '-project=create,no-trim-*' to
suppress the trimming and force all subprogram calls and common
block declarations to be stored. (The previous syntax of simply
'-project' has the same effect as formerly, and should be used if
you are creating project files for their originally intended
purpose.)
See the file PATCHES for further changes made after the initial
release of this version.
NOTE: For VMS, it is recommendend to obtain the file shell_mung.c.
This file is not necessary to build ftnchek, but without it wildcards
in file names on the command line will not be expanded. This file is
no longer bundled with ftnchek, but is obtainable at the ftnchek home
site and elsewhere.
|