| 1 |
|
|---|
| 2 | GCC Bugs
|
|---|
| 3 |
|
|---|
| 4 | The latest version of this document is always available at
|
|---|
| 5 | [1]http://www.gnu.org/software/gcc/bugs.html.
|
|---|
| 6 | _________________________________________________________________
|
|---|
| 7 |
|
|---|
| 8 | Table of Contents
|
|---|
| 9 |
|
|---|
| 10 | * [2]Reporting Bugs
|
|---|
| 11 | + [3]What we need
|
|---|
| 12 | + [4]What we DON'T want
|
|---|
| 13 | + [5]Where to post it
|
|---|
| 14 | + [6]Detailed bug reporting instructions
|
|---|
| 15 | + [7]Detailed bug reporting instructions for GNAT
|
|---|
| 16 | + [8]Detailed bug reporting instructions when using a
|
|---|
| 17 | precompiled header
|
|---|
| 18 | * [9]Managing Bugs (GNATS and the test-suite)
|
|---|
| 19 | * [10]Frequently Reported Bugs in GCC
|
|---|
| 20 | + [11]General
|
|---|
| 21 | + [12]Fortran
|
|---|
| 22 | + [13]C
|
|---|
| 23 | + [14]C++
|
|---|
| 24 | o [15]Common problems updating from G++ 2.95 to G++ 3.0
|
|---|
| 25 | o [16]Non-bugs
|
|---|
| 26 | o [17]Missing features
|
|---|
| 27 | o [18]Parse errors for "simple" code
|
|---|
| 28 | o [19]Optimization at -O3 takes a very long time
|
|---|
| 29 | _________________________________________________________________
|
|---|
| 30 |
|
|---|
| 31 | Reporting Bugs
|
|---|
| 32 |
|
|---|
| 33 | Our preferred way of receiving bugs is via the [20]GCC GNATS bug
|
|---|
| 34 | reporting system.
|
|---|
| 35 |
|
|---|
| 36 | Before you report a bug, please check the [21]list of well-known bugs
|
|---|
| 37 | and, if possible in any way, try a current development snapshot. If
|
|---|
| 38 | you want to report a bug with versions of GCC before 3.1 we strongly
|
|---|
| 39 | recommend upgrading to the current release first.
|
|---|
| 40 |
|
|---|
| 41 | Before reporting that GCC compiles your code incorrectly, please
|
|---|
| 42 | compile it with gcc -Wall and see whether this shows anything wrong
|
|---|
| 43 | with your code that could be the cause instead of a bug in GCC.
|
|---|
| 44 |
|
|---|
| 45 | Summarized bug reporting instructions
|
|---|
| 46 |
|
|---|
| 47 | After this summary, you'll find detailed bug reporting instructions,
|
|---|
| 48 | that explain how to obtain some of the information requested in this
|
|---|
| 49 | summary.
|
|---|
| 50 |
|
|---|
| 51 | What we need
|
|---|
| 52 |
|
|---|
| 53 | Please include in your bug report all of the following items, the
|
|---|
| 54 | first three of which can be obtained from the output of gcc -v:
|
|---|
| 55 | * the exact version of GCC;
|
|---|
| 56 | * the system type;
|
|---|
| 57 | * the options given when GCC was configured/built;
|
|---|
| 58 | * the complete command line that triggers the bug;
|
|---|
| 59 | * the compiler output (error messages, warnings, etc.); and
|
|---|
| 60 | * the preprocessed file (*.i*) that triggers the bug, generated by
|
|---|
| 61 | adding -save-temps to the complete compilation command, or, in the
|
|---|
| 62 | case of a bug report for the GNAT front end, a complete set of
|
|---|
| 63 | source files (see below).
|
|---|
| 64 |
|
|---|
| 65 | What we do not want
|
|---|
| 66 |
|
|---|
| 67 | * A source file that #includes header files that are left out of the
|
|---|
| 68 | bug report (see above)
|
|---|
| 69 | * That source file and a collection of header files.
|
|---|
| 70 | * An attached archive (tar, zip, shar, whatever) containing all (or
|
|---|
| 71 | some :-) of the above.
|
|---|
| 72 | * A code snippet that won't cause the compiler to produce the exact
|
|---|
| 73 | output mentioned in the bug report (e.g., a snippet with just a
|
|---|
| 74 | few lines around the one that apparently triggers the bug, with
|
|---|
| 75 | some pieces replaced with ellipses or comments for extra
|
|---|
| 76 | obfuscation :-)
|
|---|
| 77 | * The location (URL) of the package that failed to build (we won't
|
|---|
| 78 | download it, anyway, since you've already given us what we need to
|
|---|
| 79 | duplicate the bug, haven't you? :-)
|
|---|
| 80 | * An error that occurs only some of the times a certain file is
|
|---|
| 81 | compiled, such that retrying a sufficient number of times results
|
|---|
| 82 | in a successful compilation; this is a symptom of a hardware
|
|---|
| 83 | problem, not of a compiler bug (sorry)
|
|---|
| 84 | * E-mail messages that complement previous, incomplete bug reports.
|
|---|
| 85 | Post a new, self-contained, full bug report instead, if possible
|
|---|
| 86 | as a follow-up to the original bug report
|
|---|
| 87 | * Assembly files (*.s) produced by the compiler, or any binary
|
|---|
| 88 | files, such as object files, executables, core files, or
|
|---|
| 89 | precompiled header files
|
|---|
| 90 | * Duplicate bug reports, or reports of bugs already fixed in the
|
|---|
| 91 | development tree, especially those that have already been reported
|
|---|
| 92 | as fixed last week :-)
|
|---|
| 93 | * Bugs in the assembler, the linker or the C library. These are
|
|---|
| 94 | separate projects, with separate mailing lists and different bug
|
|---|
| 95 | reporting procedures
|
|---|
| 96 | * Bugs in releases or snapshots of GCC not issued by the GNU
|
|---|
| 97 | Project. Report them to whoever provided you with the release
|
|---|
|
|---|