<HTML> <HEAD> <TITLE>NEW FEATURES</TITLE> </HEAD> <BODY bgcolor=white> <A HREF="toc.html">Table of Contents</A><P> <P>Previous: <A HREF="lbAK.html">LIMITATIONS AND EXTENSIONS</A><HR><P> <A NAME="lbAL"> </A> <H2>NEW FEATURES</H2> Here are the changes from Version 3.0 to Version 3.1: <DL COMPACT> <DT>1.<DD> New checks for proper nesting of block structures such as IF ... END IF. <DT>2.<DD> Limited support for attribute-based type declarations. Read the <A HREF="lbAK.html">section on Extensions</A> for details. 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. <DT>3.<DD> New flag <B><A HREF="style.html">-style</A></B> for users who want to adhere to a strict modern programming style. This flag controls warnings about legal Fortran 77 constructs such as GOTO that are more error-prone than the newer constructs available in Fortran 90. <DT>4.<DD> The <B><A HREF="source.html">-source</A></B> options <B>parameter-implicit-type</B> and <B>dec-parameter-standard-type</B> were changed to <B>param-implicit-type</B> and fBdec-param-standard-type respectively for consistency with other options also related to parameters, which all use <B>param-</B>. <DT>5.<DD> New warnings: modification of a DO variable inside its loop (controlled by <B><A HREF="usage.html">-usage</A>=do-index-modified</B> option), and alternate return using a constant value that does not correspond to a label argument (controlled by a new <B><A HREF="pretty.html">-pretty</A>=alternate-return</B> option). <DT>6.<DD> Fixed a bug that caused project files to contain incorrect information about actual arguments that are parameters. This bug had no effect on checking of programs using the project files, since the bogus information was not used in these cases. <DT>7.<DD> The <B><A HREF="project.html">-project</A></B> flag now takes options to control how much information about subprogram calls and common blocks should be stored. These options are mainly of interest to those who want to use project files for purposes other than checking the program with <B>ftnchek</B>. <DT>8.<DD> Changed the way that the HTML documentation is produced. The main change is that URLs referring to man pages have a different form. Also got rid of the symbolic links in the html directory, which cause problems on systems that do not support such links. <DT>9.<DD> Implementation changes for faster execution. The speedup is about a factor of two in some cases. </DL> <P> Here are the changes from Version 2.12 to Version 3.0: <DL COMPACT> <DT>1.<DD> Statement labels are now processed, instead of being ignored as formerly. Tables of label definitions and cross-references can be printed, and warnings about incorrect or suspicious label usage are produced. This new feature was added by Heba Elsayed. <DT>2.<DD> The SELECT CASE construct is now accepted. The syntax is as defined in Fortran 90. This new feature was added by John Bollinger. <DT>3.<DD> The END PROGRAM, END FUNCTION, END SUBROUTINE and END BLOCKDATA statements are accepted. No checking for balance is done. <DT>4.<DD> Source code can be in Fortran 90 free format or traditional fixed format. Also, a semicolon is allowed as a statement separator. <DT>5.<DD> The <B><A HREF="crossref.html">-crossref</A></B> flag now takes a list of options, instead of being an on/off switch. <DT>6.<DD> Fixed bug that caused DO label [,] WHILE (expr) form of DO construct not to be recognized. This bug was introduced in version 2.11.0. <DT>7.<DD> The <B>ftnpp</B> program has been unbundled from the distribution. It is available from the same places as <B>ftnchek</B>. <DT>8.<DD> When checking the test suite (Unix version), detailed differences between master files and output files are no longer printed. Only the names of the differing files are printed. <DT>9.<DD> Restructured the source code into smaller files for increased ease of maintenance. </DL> <P><HR><P>Next: <A HREF="lbAM.html">BUGS</A> </BODY></HTML>