This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

gccbug update


This patch updates the gccbug categories, and adds documentation.

Regards,
Martin

2000-04-02  Martin v. Löwis  <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.

Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/Makefile.in,v
retrieving revision 1.409
diff -u -p -r1.409 Makefile.in
--- Makefile.in	2000/03/31 22:28:33	1.409
+++ Makefile.in	2000/04/02 17:04:39
@@ -807,6 +807,9 @@ Makefile: $(srcdir)/Makefile.in config.s
 $(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
@@ -2321,7 +2324,7 @@ stmp-fixproto: fixhdr.ready fixproto stm
 #
 # Remake the info files.
 
-doc: info
+doc: info gccbug
 info: cpp.info gcc.info lang.info
 
 cpp.info: $(srcdir)/cpp.texi
Index: gcc.texi
===================================================================
RCS file: /cvs/gcc/egcs/gcc/gcc.texi,v
retrieving revision 1.44
diff -u -p -r1.44 gcc.texi
--- gcc.texi	2000/02/26 06:23:30	1.44
+++ gcc.texi	2000/04/02 17:04:47
@@ -2156,12 +2156,13 @@ information that makes for fixing the bu
 * 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
 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
 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
Index: gccbug.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/gccbug.in,v
retrieving revision 1.2
diff -u -p -r1.2 gccbug.in
--- gccbug.in	2000/03/14 09:50:58	1.2
+++ gccbug.in	2000/04/02 17:04:48
@@ -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
   #

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]