Fortran-lint
support maps well to compiler capability, non-object-oriented, for Fortran
2003/2008.
New
changes in v7 are in bold.
Language Additions
·
BLOCK
construct (F08)
·
VALUE statement and
attribute
·
VOLATILE statement and
attribute
·
Pointer objects can now
have the INTENT attribute
·
Symbol names up to 63
characters
·
Statements up to 256
lines (16,000 character limit for Flint)
·
Square brackets [ ]
are permitted to delimit array constructors in addition to previous standard / /
·
Binary, Octal, and Hex
(BOZ) constants to intrinsic functions INT,
REAL, DBLE, and CMPLX
Intrinsics
·
ISO_C_BINDING
·
ISO_FORTRAN_ENV
·
IEEE_ARITHMETIC
·
IEEE_EXCEPTIONS
·
IEEE_FEATURES
·
BIND statement and
attribute
·
Language binding can be
specified in FUNCTION, SUBROUTINE, and ENTRY
statements
·
INTRINSIC and NON-INTRINSIC
can be specified for modules in USE statements
·
GET_COMMAND,
GET_COMMAND_ARGUMENT, COMMAND_ARGUMENT_COUNT, and
·
GET_ENVIRONMENT_VARIABLE
intrinsics
·
F08 COMPILER_OPTIONS
and COMPILER_VERSION intrinsic functions
·
Updated MAXLOC
and MINLOC to the F03 standard
·
Updated WHERE
construct to the F03 standard
·
Character
arrays may now be supplied to
-
MAXLOC, MINLOC
-
MAXVAL, MINVAL
·
KIND= argument may be
supplied to
-
ACHAR, IACHAR, ICHAR
-
LEN, LEN_TRIM
-
MAXLOC, MINLOC
I/O
·
FLUSH statement
·
WAIT statement (with
ASYNCHRONOUS/ASYNCH and DONE extensions from IBM)
·
ASYNCHRONOUS statement
and attribute
·
The following I/O
specifiers have been added or updated to the F03 standard: ACCESS, ASYNCHRONOUS
(along with ASYNCH alias, an IBM extension), BLANK, DECIMAL, DELIM, ENCODING,
ID, IOMSG, PAD, PENDING, POS, RECORDTYPE (DEC, HP, Intel extension) ROUND,
SIGN, SIZE, and STREAM
·
F08 I/O specifier
NEWUNIT
·
Any KIND is permissible
with integer specifiers (SIZE, NEXTREC, etc.)
·
Intrinsic functions
IS_IOSTAT_END, IS_IOSTAT_EOR
·
Comma after a P-edit
descriptor is optional when followed by a repeat
·
NEW_LINE intrinsic
function
·
SELECTED_CHAR_KIND
intrinsic function
·
F08 extension to
SELECTED_REAL_KIND intrinsic function
Other Additions/Improvements
·
Complete MPI
interface definition using stubs for thorough interface analysis and variable
tracking (see section 9.2 for stub information)
·
Complete NetCDF interface definition (F77 format)
·
A new command line
switch -o "message_format"
to change the format of Flint’s analysis messages, suitable for interfacing to
IDE/ editor such as Visual Studio
·
New analyses,
for a total of 871 unique
messages and 1519 scenarios
where these messages can be applied
·
Improved
pointer handling
·
New xref
legend item, ‘C’ for “assoCiated”
·
Extensive bug
fixes
·
Various
operational enhancements
User Interface Changes to Note
·
Separator for cross
reference (xref) content selection is now ‘.’ instead of ‘_’; see Section 8.4 of flintman.pdf. Prior versions of Flint retain the old
syntax.