Commit 501a4819 by Martin v. Löwis

Makefile (gccbug): New target.

	* Makefile (gccbug): New target.
	(doc): Depend on it.
	* gcc.texi (Bugs): Link subnodes.
	(gccbug): New node.
	* gccbug.in (CATEGORIES): Remove gc, host, profiling, libgcc.
	Document severities, priorities, and classes in bug form.
	* ChangeLog: Replace leading spaces with tabs.

From-SVN: r32915
parent ace8b015
2000-04-04 Martin v. Lwis <loewis@informatik.hu-berlin.de>
* Makefile (gccbug): New target.
(doc): Depend on it.
* gcc.texi (Bugs): Link subnodes.
(gccbug): New node.
* gccbug.in (CATEGORIES): Remove gc, host, profiling, libgcc.
Document severities, priorities, and classes in bug form.
2000-04-04 Zack Weinberg <zack@wolery.cumb.org>
* cpplex.c (trigraph_map, speccase): Combine into single
......
......@@ -803,6 +803,9 @@ Makefile: $(srcdir)/Makefile.in config.status $(srcdir)/version.c \
$(srcdir)/configure: $(srcdir)/configure.in
cd $(srcdir); autoconf
gccbug: $(srcdir)/gccbug.in
CONFIG_FILES=gccbug CONFIG_HEADERS= ./config.status
# cstamp-h.in controls rebuilding of config.in.
# It is named cstamp-h.in and not stamp-h.in so the mostlyclean rule doesn't
# delete it. A stamp file is needed as autoheader won't update the file if
......@@ -2317,7 +2320,7 @@ stmp-fixproto: fixhdr.ready fixproto stmp-int-hdrs
#
# Remake the info files.
doc: info
doc: info gccbug
info: cpp.info gcc.info lang.info
cpp.info: $(srcdir)/cpp.texi
......
......@@ -2156,12 +2156,13 @@ information that makes for fixing the bug.
* Criteria: Bug Criteria. Have you really found a bug?
* Where: Bug Lists. Where to send your bug report.
* Reporting: Bug Reporting. How to report a bug effectively.
* GNATS: gccbug. You can use a bug reporting tool.
* Patches: Sending Patches. How to send a patch for GCC.
* Known: Trouble. Known problems.
* Help: Service. Where to ask for help.
@end menu
@node Bug Criteria
@node Bug Criteria,Bug Lists,,Bugs
@section Have You Found a Bug?
@cindex bug criteria
......@@ -2228,7 +2229,7 @@ If you are an experienced user of one of the languages GCC supports, your
suggestions for improvement of GCC are welcome in any case.
@end itemize
@node Bug Lists
@node Bug Lists,Bug Reporting,Bug Criteria,Bugs
@section Where to Report Bugs
@cindex bug report mailing lists
@kindex gcc-bugs@@gcc.gnu.org or bug-gcc@@gnu.org
......@@ -2257,7 +2258,7 @@ Free Software Foundation
Boston, MA 02111-1307, USA
@end example
@node Bug Reporting
@node Bug Reporting,gccbug,Bug Lists,Bugs
@section How to Report Bugs
@cindex compiler bugs, reporting
......@@ -2517,7 +2518,138 @@ unless we have an identical system---and if we do have one,
we should be able to reproduce the crash ourselves.
@end itemize
@node Sending Patches,, Bug Reporting, Bugs
@node gccbug,Sending Patches, Bug Reporting, Bugs
@section The gccbug script
@cindex gccbug script
To simplify creation of bug reports, and to allow better tracking of
reports, we use the GNATS bug tracking system. Part of that system is
the @code{gccbug} script. This is a Unix shell script, so you need a
shell to run it. It is normally installed in the same directory where
@code{gcc} is installed.
The gccbug script is derived from send-pr, @pxref{using
send-pr,,Creating new Problem Reports,send-pr,Reporting Problems}. When
invoked, it starts a text editor so you can fill out the various fields
of the report. When the you quit the editor, the report is automatically
send to the bug reporting address.
A number of fields in this bug report form are specific to GCC, and are
explained here.
@table @code
@cindex @code{Category} field
@cindex @code{>Category:}
@item >Category:
The category of a GCC problem can be one of the following:
@table @code
@item c
A problem with the C compiler proper.
driver.
@item c++
A problem with the C++ compiler.
driver.
@item fortran
A problem with the Fortran 77.
@item java
A problem with the Java compiler.
@item objc
A problem with the Objective C compiler.
@item libstdc++
A problem with the C++ standard library.
@item libf2c
A problem with the Fortran 77 library.
@item libobjc
A problem with the Objective C library.
@item optimization
The problem occurs only when generating optimized code.
@item debug
The problem occurs only when generating code for debugging.
@item target
The problem is specific to the target architecture.
@item middle-end
The problem is independent from target architecture and programming
language.
@item other
It is a problem in some other part of the GCC software.
@item web
There is a problem with the GCC home page.
@end table
@cindex @code{Class} field
@cindex @code{>Class:}
@item >Class:
The class of a problem can be one of the following:
@table @code
@cindex @emph{doc-bug} class
@item doc-bug
A problem with the documentation.
@cindex @emph{accepts-illegal} class
@item accepts-illegal
GCC fails to reject erroneous code.
@cindex @emph{rejects-legal} class
@item rejects-legal
GCC gives an error message for correct code.
@cindex @emph{wrong-code} class
@item wrong-code
The machine code generated by gcc is incorrect.
@cindex @emph{ice-on-legal-code} class
@item ice-on-legal-code
GCC gives an Internal Compiler Error (ICE) for correct code.
@cindex @emph{ice-on-illegal-code} class
@item ice-on-illegal-code
GCC gives an ICE instead of reporting an error
@cindex @emph{pessimizes-code} class
@item pessimizes-code
GCC misses an important optimization opportunity.
@cindex @emph{sw-bug} class
@item sw-bug
A general product problem. (@samp{sw} stands for ``software''.)
@cindex @emph{change-request} class
@item change-request
A request for a change in behavior, etc.
@cindex @emph{support} class
@item support
A support problem or question.
@cindex @emph{duplicate} class
@item duplicate (@var{pr-number})
Duplicate PR. @var{pr-number} should be the number of the original PR.
@noindent
The default is @samp{sw-bug}.
@sp 1
@end table
@end table
@node Sending Patches,, gccbug, Bugs
@section Sending Patches for GCC
If you would like to write bug fixes or improvements for the GNU C
......
......@@ -177,7 +177,7 @@ while [ $# -gt 0 ]; do
done
# spam does not need to be listed here
CATEGORIES="c++ c debug fortran gc host java libf2c libgcc libobjc libstdc++ middle-end objc optimization other profiling target web"
CATEGORIES="c++ c debug fortran java libf2c libobjc libstdc++ middle-end objc optimization other target web"
case "$FORMAT" in
lisp) echo "$CATEGORIES" | \
......@@ -205,8 +205,7 @@ if [ -z "$SEVERITY_C" ]; then
SEVERITY_C='<[ non-critical | serious | critical ] (one line)>'
fi
PRIORITY_C='<[ low | medium | high ] (one line)>'
CATEGORY_C='<choose from the list of categories above (one line)>'
CLASS_C='<[ doc-bug | accepts-illegal | rejects-legal | wrong-code | ice-on-legal-code| ice-on-illegal-code | pessimizes-code | sw-bug | change-request | support ] (one line)>'
CATEGORY_C='<choose from the top of this file (one line)>'
RELEASE_C='<release number or tag (one line)>'
ENVIRONMENT_C='<machine, os, target, libraries (multiple lines)>'
DESCRIPTION_C='<precise description of the problem (multiple lines)>'
......@@ -256,8 +255,8 @@ SEND-PR: -*- send-pr -*-
SEND-PR: Lines starting with `SEND-PR' will be removed automatically, as
SEND-PR: will all comments (text enclosed in `<' and `>').
SEND-PR:
SEND-PR: Please consult the send-pr man page `send-pr(1)' or the Texinfo
SEND-PR: manual if you are not sure how to fill out a problem report.
SEND-PR: Please consult the GCC manual manual if you are not sure how to
SEND-PR: fill out a problem report.
SEND-PR: Note that the Synopsis field is mandatory. The Subject (for
SEND-PR: the mail) will be made the same as Synopsis unless explicitly
SEND-PR: changed.
......@@ -294,9 +293,26 @@ X-GNATS-Notify:
>Confidential: $CONFIDENTIAL_C
>Synopsis: $SYNOPSIS_C
>Severity: $SEVERITY_C
SEND-PR: critical GCC is completely not operational; no work-around known.
SEND-PR: serious GCC is not working properly; a work-around is possible.
SEND-PR: non-critical Report indicates minor problem.
>Priority: $PRIORITY_C
SEND-PR: high A solution is necessary as soon as possible.
SEND-PR: medium The problem should be solved in the next release.
SEND-PR: low The problem should be solve in a future release.
>Category: $CATEGORY_C
>Class: $CLASS_C
>Class: <[ doc-bug | accepts-illegal | rejects-legal | wrong-code | ice-on-legal-code| ice-on-illegal-code | pessimizes-code | sw-bug | change-request | support ] (one line)>
SEND-PR: doc-bug The doumentation is incorrect.
SEND-PR: accepts-illegal GCC fails to reject erroneous code.
SEND-PR: rejects-legal GCC gives an error message for correct code.
SEND-PR: wrong-code The machine code generated by gcc is incorrect.
SEND-PR: ice-on-legal-code GCC gives an Internal Compiler Error (ICE)
SEND-PR: for correct code
SEND-PR: ice-on-illegal-code GCC gives an ICE instead of reporting an error
SEND-PR: pessimizes-code GCC misses an important optimization opportunity
SEND-PR: sw-bug Software bug of some other class than above
SEND-PR: change-request A feature in GCC is missing.
SEND-PR: support I need help with gcc.
>Release: ${DEFAULT_RELEASE-$RELEASE_C}
>Environment:
`[ -n "$SYSTEM" ] && echo System: $SYSTEM`
......@@ -410,7 +426,7 @@ while [ -z "$REQUEST_ID" ]; do
PATTERN=">Class:"
CLASS=`eval sed -n -e "\"$SED_CMD\"" $TEMP`
case "$CLASS" in
""|sw-bug|doc-bug|change-request|support) CNT=`expr $CNT + 1` ;;
""|doc-bug|accepts-illegal|rejects-legal|wrong-code|ice-on-legal-code|ice-on-illegal-code|pessimizes-code|sw-bug|change-request|support) CNT=`expr $CNT + 1` ;;
*) echo "$COMMAND: \`$CLASS' is not a valid value for \`Class'."
esac
#
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment