gnatsweb and gccbug
GNATS is the GNU
bug tracking system, and it is now used to track GCC bug reports, as
well. Before submitting a bug report, please read the general instructions. You can either submit an
unformatted report to the gcc-bugs mailing list, or use the formatted
style of GNATS. The advantage of using GNATS is that you can always
check the status of your bug reports.
To submit bug reports for GCC, you can either use the gnatsweb interface,
or the gccbug script that is currently included in the GCC snapshots
only. Both techniques use the same bug database, in the case of the
script, the bug report is send by email.
When you use the Web interface, make sure you include an email
address, so we can inform you when the status of your report
changes. In the case of gccbug, the script will take care of that on
its own.
Filling out a report
The bug report form provides a number of fields; you'll need to
fill-out most of those (as indicated below) to provide a complete
report. The fields have the following purpose:
- Originator
- Your name.
- Organization
- Your organization. You can leave this field blank.
- Confidential
- This field is unused and set to 'no'. All bug reports, including
sample code, are publicly accessible.
- Synopsis
- A one-line description of the problem; something like "gcc 2.95
does not foo", "objc crashes when doing bar".
- Severity
- Can be one of
- critical
- GCC is completely not operational; no work-around known.
- serious
- GCC is not working properly; a work-around is possible.
- non-critical
- Report indicates minor problem.
- Priority
- Can be one of
- high
- A solution is necessary as soon as possible. This is reserved to
GCC maintainers.
- medium
- The problem should be solved in the next release.
- low
- The problem should be solve in a future release.
- Category
- This indicates the GCC subproject which is affected by the problem.
Currently, it can be one of
- c++
- A problem with the C++ compiler.
- c
- A problem with the C compiler.
- debug
- A problem with generating debugging information.
- fortran
- A problem with the Fortran compiler.
- java
- A problem with the Java compiler.
- libf2c
- A problem in the Fortran runtime library.
- libobjc
- A problem in the Objective C runtime library.
- libstdc++
- A problem in the Standard C++ runtime library.
- middle-end
- A problem in the internal compiler passes.
- objc
- A problem with the Objective C compiler.
- optimization
- A problem only occurring under optimization.
- target
- The problem depends on the specific target architecture.
- web
- There is an error or omission on the Web pages.
- other
- The problem is in none of these categories.
- Class
- A classification of the problem; one of
- doc-bug
- The documentation is incorrect.
- accepts-illegal
- GCC fails to reject erroneous code.
- rejects-legal
- GCC gives an error message for correct code.
- wrong-code
- The machine code generated by gcc is incorrect.
- ice-on-legal-code
- GCC gives an Internal Compiler Error (ICE) for correct code.
- ice-on-illegal-code
- GCC gives an ICE instead of reporting an error.
- pessimizes-code
- GCC misses an important optimization opportunity.
- sw-bug
- Software bug of some other class than above.
- change-request
- A feature in GCC is missing.
- support
- I need help with gcc.
- Release
- GCC version, as obtained from 'gcc -v' (one line).
- Environment
- Information about your operating system version, hardware architecture,
and environment settings that affect gcc.
- Description
- Precise description of the problem. You should put the error messages
printed by gcc here; source code should go into the next section.
- How-To-Repeat
- Please put the complete source code to reproduce the problem here.
The gccbug script currently does not support file
attachments. Instead, if you have multiple files, include them
uuencoded (compressing them before if they are large). If you use
gnatsweb, you can use the file attachments button instead.
- Fix
- How to correct or work around the problem, if known (multiple lines).