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 92 93 94 95
|
<HTML>
<HEAD>
<TITLE>Bugs</TITLE>
</HEAD>
<BODY>
<A HREF="toc.html">Table of Contents</A><P>
<P>Previous: <A HREF="sect10.html">New Features</A><HR><P>
<H2><A NAME="sect11" HREF="toc.html#toc11">Bugs </A></H2>
<B>ftnchek </B> still has much room for improvement. Your feedback is appreciated.
We want to know about any bugs you notice. Bugs include not only cases
in which <B>ftnchek </B> issues an error message where no error exists, but also
if <B>ftnchek </B> fails to issue a warning when it ought to. Note, however,
that <B>ftnchek </B> is not intended to catch all syntax errors (see section
on Limitations). Also, it is not considered a bug for a variable to be
reported as used before set, if the reason is that the usage of the variable
occurs prior in the text to where the variable is set. For instance, this
could occur when a GOTO causes execution to loop backward to some previously
skipped statements. <B>ftnchek </B> does not analyze the program flow, but assumes
that statements occurring earlier in the text are executed before the
following ones. <P>
We especially want to know if <B>ftnchek </B> crashes for any
reason. It is not supposed to crash, even on programs with syntax errors.
Suggestions are welcomed for additional features which you would find
useful. Tell us if any of <B>ftnchek </B>'s messages are incomprehensible. Comments
on the readability and accuracy of this document are also welcome. <P>
You
may also suggest support for additional extensions to the Fortran language.
These will be included only if it is felt that the extensions are sufficiently
widely accepted by compilers. <P>
If you find a bug in <B>ftnchek </B>, first consult
the list of known bugs below to see if it has already been reported. Also
check the section entitled ``Limitations and Extensions'' above for restrictions
that could be causing the problem. If you do not find the problem documented
in either place, then send a report including
<OL>
.<LI>The operating system and
CPU type on which <B>ftnchek </B> is running. </LI>.<LI>The version of <B>ftnchek </B> and values
of any environment options or settings defined in startup file. (Capturing
the output of ftnchek <A HREF="help.html">-help</A> is useful for this.) </LI>.<LI>A brief description of
the bug. </LI>.<LI>If possible, a small sample program showing the bug. </LI>
</OL>
<P>
<BR>
The report should be sent to the following address: <A HREF="mailto:moniot@fordham.edu">moniot@fordham.edu</A> <P>
Highest priority will be given to bugs which cause <B>ftnchek </B> to crash.
<P>
Certain problems that arise when checking large programs can be fixed
by increasing the sizes of the data areas in <B>ftnchek </B>. (These problems
are generally signaled by error messages beginning with ``Oops''.) The simplest
way to increase the table sizes is by recompiling <B>ftnchek </B> with the LARGE_MACHINE
macro name defined. Consult the makefile and README file for the method
of doing this. <P>
The following is a list of known bugs.
<OL>
.<LI>Bug: Used-before-set message is suppressed for any
variable which is used as the loop index in an implied-do loop, even if
it was in fact used before being set in some earlier statement. For example,
consider J in the statement <blockquote>
<P>
WRITE(5,*) (A(J), J=1,10) <BR>
<P></blockquote>
Here <B>ftnchek
</B> parses the I/O expression, A(J) , where J is used, before it parses
the implied loop where J is set. Normally this would cause <B>ftnchek </B> to
report a spurious used-before-set warning for J . Since this report is usually
in error and occurs fairly commonly, <B>ftnchek </B> suppresses the warning for
J altogether. <P>
Prognosis: A future version of <B>ftnchek </B> is planned which
will handle implied-do loops correctly.<P> </LI>
.<LI>Bug: Variables used (not as arguments)
in statement-function subprograms do not have their usage status updated
when the statement function is invoked.
<P>
Prognosis: To be fixed in a future
version of <B>ftnchek </B>.<P></LI>
.<LI>Bug: VAX version does not expand wildcards in filenames
on the command line if they are followed without space by an option, e.g.
ftnchek *.f/calltree would not expand the *.f . This is because VMS-style
options without intervening space are not supported by the GNU shell_mung
routine that is used to expand wildcards.
<P>
Prognosis: unlikely to be fixed. <P></LI>
.<LI>Bug: checking for nonstandard format edit descriptors is done only in
FORMAT statements, not in character strings used as formats.
<P>
Prognosis:
may be fixed someday.
<P> </LI>
</OL>
<P><HR><P>Next: <A HREF="sect12.html">Acknowledgements </A>
</BODY></HTML>
|