6
<A HREF="toc.html">Table of Contents</A><P>
7
<P>Previous: <A HREF="lbAL.html">NEW FEATURES</A><HR><P>
8
<A NAME="lbAM"> </A> <H2>BUGS</H2>
10
<B>ftnchek</B> still has much room for improvement.
11
Your feedback is appreciated. We want to know about any bugs you notice.
12
Bugs include not only cases in which <B>ftnchek</B> issues an error message
13
where no error exists, but also if <B>ftnchek</B> fails to issue a warning when
14
it ought to. Note, however, that <B>ftnchek</B> is not intended to catch all
15
syntax errors (see <A HREF="lbAK.html">section on Limitations</A>).
16
Also, it is not considered a bug for a variable to be
17
reported as used before set, if the reason is that the usage of the
18
variable occurs prior in the text to where the variable is set. For
19
instance, this could occur when a GOTO causes execution to loop backward
20
to some previously skipped statements. <B>ftnchek</B> does not analyze the
21
program flow, but assumes that statements occurring earlier in the text
22
are executed before the following ones.
25
We especially want to know if <B>ftnchek</B> crashes for any reason. It is
26
not supposed to crash, even on programs with syntax errors. Suggestions
27
are welcomed for additional features which you would find useful. Tell
28
us if any of <B>ftnchek</B>'s
29
messages are incomprehensible. Comments on the
30
readability and accuracy of this document are also welcome.
33
You may also suggest support for additional extensions to the
34
Fortran language. These will be included only if it is felt that the
35
extensions are sufficiently widely accepted by compilers.
38
If you find a bug in <B>ftnchek</B>,
39
first consult the list of known bugs
40
below to see if it has already been reported. Also check the <A HREF="lbAK.html">section
41
entitled ``Limitations and Extensions''</A> above for restrictions
42
that could be causing the problem. If you do not find the problem
43
documented in either place, then send a report including
46
The operating system and CPU type on which <B>ftnchek</B> is running.
48
The version of <B>ftnchek</B> and values of any environment options or
49
settings defined in startup file. (Capturing the output of ftnchek
50
-help is useful for this.)
52
A brief description of the bug.
54
If possible, a small sample program showing the bug.
60
The report should be sent to the following address:
62
<A HREF="mailto:moniot@fordham.edu">moniot@fordham.edu</A><BR>
67
Highest priority will be given to bugs which cause <B>ftnchek</B> to crash.
70
Certain problems that arise when checking large programs can be fixed
71
by increasing the sizes of the data areas in <B>ftnchek</B>. (These
72
problems are generally signaled by error messages beginning with ``Oops''.)
73
The simplest way to increase the table sizes is by
74
recompiling <B>ftnchek</B> with the LARGE_MACHINE macro name
75
defined. Consult the makefile and README file for the
79
The following is a list of known bugs.
82
Bug: Used-before-set message is suppressed for any variable which
83
is used as the loop index in an implied-do loop, even if it was in
84
fact used before being set in some earlier statement.
85
For example, consider J in the statement
90
WRITE(5,*) (A(J), J=1,10)
95
Here <B>ftnchek</B> parses the I/O expression,
96
A(J), where J is used, before it parses the implied loop
97
where J is set. Normally this would cause
98
<B>ftnchek</B> to report a spurious used-before-set warning for J.
99
Since this report is usually in error and occurs fairly commonly,
100
<B>ftnchek</B> suppresses the warning for J altogether.
103
Prognosis: A future version of <B>ftnchek</B> is planned which will handle
104
implied-do loops correctly.
108
Bug: Variables used (not as arguments) in statement-function
109
subprograms do not have their usage status updated when the statement
114
Prognosis: To be fixed in a future version of <B>ftnchek</B>.
118
Bug: VAX version does not expand wildcards in filenames on the
119
command line if they are followed without space by an option, e.g.
120
ftnchek *.f/calltree would not expand the *.f.
121
This is because VMS-style options without intervening
122
space are not supported by the GNU shell_mung routine that is used
127
Prognosis: unlikely to be fixed.
131
Bug: checking for nonstandard format edit descriptors is done only in
132
FORMAT statements, not in character strings used as formats.
136
Prognosis: may be fixed someday.
141
<P><HR><P>Next: <A HREF="lbAN.html">ACKNOWLEDGEMENTS</A>