Release notes for FORTRAN-lint rev. 4.33:

1. FORTRAN-lint now includes filename paths in most diagnostic messag-
es and in the cross-reference table.

----------------------------------------------------------------------

2. The Xlint browser now handles multi-directory projects correctly.

Note:  By default, Xlint looks for source files in the current direct-
ory.  To change  the  default behavior,  set the  environment variable
XLINTPATH to the appropriate directory path before starting Xlint.  In
particular,  if the FDB file used was  built by  FORTRAN-lint from the
command line,  set  XLINTPATH  to the directory where the "flint" com-
mand was executed.

----------------------------------------------------------------------

3. As of rev. 4.33B,  FDB files may be used as  libraries.  I.e.,  FDB
files can be used instead of LBT files on the command line.

There is one  special case:  If the file list starts with an FDB file,
FLINT runs in "database" mode, and all other file arguments are ignor-
ed. For an explanation of "database" mode, see chapter 10 of the FLINT
manual.

Two option switches may be used to  control the way  FDB libraries are
used:

   -Mlibcom     By default,  FLINT  doesn't check  source-level common
                blocks against common blocks declared inside  FDB lib-
                raries.

                If "-Mlibcom" is used,  FLINT checks source-level com-
                mons against all  FDB files specified  on the  command
                line.

                "-Mlibcom" also suppresses not-referenced/not-set mes-
                sages for commons in the  user's code which are refer-
                enced or set at the FDB level.

   -Mlibext     By default, FLINT searches all specified FDB files for
                missing procedures.  If "-Mlibext" is used,  searching
                is suppressed;  unresolved  procedures  are treated as
                external,  whether or not they  are defined inside FDB
                files.

Restriction:

FLINT does not yet support  translation of "library shell" (LSH) files
to FDB format.  (For information on  LSH files,  see  chapter 9 of the
FLINT manual.)

----------------------------------------------------------------------

Release notes for FORTRAN-lint rev. 4.31:

1. Additional HPF checks have been added.

To  enable checking  of  HPF statements,  use  "-Mhpf" (under UNIX) or
"/MISC=hpf" (under VMS).

2. In "flint.err", the "ANSI77" keyword replaces "ANSI", which was us-
ed in prior revisions for  portability checking against  American Nat-
ional Standard FORTRAN-77 (ANSI X3.9-1978).

3. The following local-variable "usage" messages have been added:

     824 UW local variable %0 is referenced, possibly never set.
            {may be set in internal subprogs}
     825 UW local variable %0 is set, possibly never referenced.
            {may be referenced in internal subprogs}

These messages will be used instead of:

     126 UE local variable %0 is referenced but never set. 
            {except 824}
     127 UW local variable %0 is set but never referenced. 
            {except 825}

when the  named variable is  declared in an  external subprogram  or a
module subprogram that has  internal subprograms in which the variable
may be set or referenced.

----------------------------------------------------------------------

Release notes for FORTRAN-lint rev. 4.30:

1. New dialect: Digital Fortran for Microsoft NT/Windows 95.

To select this  dialect  as the target,  use "-Vdecnt" (under UNIX) or
"/SYSTEM=decnt" (under VMS).

To check for related portability issues, use "-Pdecnt" (under UNIX) or
"/PORTABILITY=decnt" (under VMS). 

2. New dialect: Lahey FORTRAN 77 and Fortran 90 extensions.

To select this  dialect  as the target,  use "-Vlahey" (under UNIX) or
"/SYSTEM=lahey" (under VMS).

To check for related portability issues, use "-Plahey" (under UNIX) or
"/PORTABILITY=lahey" (under VMS). 

3. Checking HPF statements.

FORTRAN-lint supports a subset of High Performance Fortran (HPF).

Dynamic mapping features such as DYNAMIC, REALIGN, or REDISTRIBUTE are
not part of the subset, and are treated as comments.

To  enable checking  of  HPF statements,  use  "-Mhpf" (under UNIX) or
"/MISC=hpf" (under VMS).

4. HPF processors/templates.

If  HPF checking is enabled,  a new section "HPF processors/templates"
is added to the cross reference table.

5. ANSI MAXLOC/MINLOC rules.

If HPF checking is enabled,  FORTRAN-lint normally uses  the following
rules for MAXLOC and MINLOC (non-DEC targets only):

        MAXLOC (ARRAY, DIM, MASK)
        MINLOC (ARRAY, DIM, MASK)

        ARRAY must be integer or real array
        DIM   is optional; if present, must be integer
              scalar
        MASK  is optional; if present, must be of local
              type and conformable with ARRAY

To override the HPF rules, use "-Mansi_maxloc" (under UNIX) or "/MISC=
ansi_maxloc" (under VMS).  This  option  applies the  ANSI X3.198-1992
rules (disallowing the DIM argument).

This option doesn't apply to DEC targets.

6. Searching LBT files.

FLINT normally searches for definitions as follows (highest precedence
first):
        (a) Check FORTRAN source files
        (b) Check system intrinsic table
        (c) Check user-specified LBT files
        (d) Check unixlib.lbt or vmslib.lbt

By default,  the system intrinsic table  takes precedence over the us-
er's LBT files. To change this, use "-Muselbt" (under UNIX) or "/MISC=
uselbt" (under VMS).

If this option is used, FLINT searches the user's LBT files before the
intrinsic table; i.e., (b) and (c) are reversed.

Note: The system-library templates "unixlib.lbt" and "vmslib.lbt" have
the lowest precedence, whether or not this option is used.  If an  in-
trinsic is redefined in  "unixlib.lbt" or "vmslib.lbt", FLINT will ig-
nore the new definition. If it's necessary to redefine intrinsics, add
the new definitions  to an  ".lsh" file  (other than  "unixlib.lsh" or
"vmslib.lsh"), and create a new LBT file.

For more information on LBT files, see chapter 9 of the FLINT manual.
