Print

Print


Clive Page wrote:

....

> So often, what I would like to do was to submit a question saying
> something like "I think there is a problem with feature X in compiler
> version Y, could I be right?".   If it's something they already know
> about, then I am saved the days of effort producing a watertight example
> of the bug.  It may even be already fixed in version (Y+1).
>
> Unfortunately, vendors bug-reporting services are not set up to deal with
> such questions, and I have rarely if ever got a sensible answer to them.
> They just say: give us your code and tell us the problem, and we'll get
> back to you.

Well, that's not surprising, because it is impossible to fix bugs
without having the (preprocessed, if necessary) source code.  It's even
next to impossible to know if you hit a known bug (basically only
possible if your code is exactly the same as the one in the test suite
of the compiler writer that uncovered the bug in the first place).

Perhaps it helps if I just cite the relevant passages from the GCC
manual here:

<QUOTE>
Keep in mind that the purpose of a bug report is to enable someone to
fix the bug if it is not known.  It isn't very important what happens if
the bug is already known.  Therefore, always write your bug reports on
the assumption that the bug is not known.

Sometimes people give a few sketchy facts and ask, ``Does this ring a
bell?''  This cannot help us fix a bug, so it is basically useless.  We
respond by asking for enough details to enable us to investigate.
You might as well expedite matters by sending them to begin with.

Try to make your bug report self-contained.  If we have to ask you for
more information, it is best if you include all the previous information
in your response, as well as the information that was missing.

...

A complete input file that will reproduce the bug.  If the bug is in the
C preprocessor, send a source file and any header files that it
requires.

...

A single statement is not enough of an example.  In order to compile it,
it must be embedded in a complete file of compiler input; and the bug
might depend on the details of how this is done.

Without a real example one can compile, all anyone can do about your bug
report is wish you luck.  It would be futile to try to guess how to
provoke the bug.  For example, bugs in register allocation and reloading
frequently depend on every little detail of the function they happen in.
</QUOTE>

And that's for a compiler everyone in the world has the complete source
code for.

Please help compiler writers in pinning down bugs - provide complete
source code and compiler version number plus compiler options supplied.

Cheers,

--
Toon Moene - mailto:[log in to unmask] - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
GNU Fortran 95: http://g95.sourceforge.net/ (under construction)