		 README file for ftnchek version 4 beta

Author: Robert Moniot
	Fordham University
	New York, NY  10023  USA
	Telephone: (212) 636-6334
	URL: http://www.dsm.fordham.edu/~moniot

Date:	July 23, 2012

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.  To build ftnchek, 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
		   ------------

WARNING WARNING WARNING - this is very much BETA!!! (or really ALPHA)

Ftnchek now supports major Fortran 95 features: especially modules,
internal subprograms, and derived types.  Many things are still
missing.  Here is a partial list of some of the more important things
ftnchek does not yet do:

  -- PARAMETERs may not be array-valued or of derived type.
  -- NAMELISTs in modules do not get exported.
  -- INTERFACE blocks are parsed but not processed.  This implies that
     there is no support for defining generic procedures, overloaded
     operators, or user-defined operators.
  -- Optional arguments are not supported: they will generate warnings
     about inconsistency between function call and definition.  This
     implies that the standard order of arguments must be followed
     when using intrinsics that take optional arguments, e.g. to
     specify a range R with SELECTED_REAL_KIND, it is necessary to
     precede it with the precision P.

The behavior of ftnchek on source code adhering to the Fortran 77
standard is unchanged from the previous version, 3.3.1, apart from
some minor wording changes on messages.

Project files will probably not work right for code containing
modules.  They continue to work as before for Fortran 77 code.
For Fortran 95 code, modules should be used instead.  Programs that
use modules can be checked separately from the modules themselves.

The documentation is largely still for the previous version, 3.3.1.


See the file PATCHES for further changes made after the initial
release of this version.
