aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog57
-rw-r--r--gcc/Makefile.in5
-rw-r--r--gcc/gcc.texi140
-rwxr-xr-xgcc/gccbug.in30
4 files changed, 196 insertions, 36 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1098dab..9b8be84 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2000-04-04 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.
+
2000-04-04 Zack Weinberg <zack@wolery.cumb.org>
* cpplex.c (trigraph_map, speccase): Combine into single
@@ -188,7 +197,7 @@ Mon Apr 3 00:02:59 2000 Brad Lucier <lucier@math.purdue.edu>
2000-04-02 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.c (c4x_function_arg): Check for void_type_node
- before checking MUST_PASS_IN_STACK.
+ before checking MUST_PASS_IN_STACK.
2000-04-02 Neil Booth <NeilB@earthling.net>
@@ -262,18 +271,18 @@ Mon Apr 3 00:02:59 2000 Brad Lucier <lucier@math.purdue.edu>
2000-04-01 Neil Booth <NeilB@earthling.net>
- * cppexp.c: Redefine priority constants.
- (_cpp_parse_expr): Replace left and right priority scheme with
+ * cppexp.c: Redefine priority constants.
+ (_cpp_parse_expr): Replace left and right priority scheme with
single priority logic. Move LOGICAL to same place as COMPARE.
Remove bogus check for multiple unary +/- operators.
2000-04-01 Neil Booth <NeilB@earthling.net>
- * cppexp.c: (_cpp_parse_expr): Numerical constants are pushed
- within the switch statement. Binary operations break out of
- the switch naturally. '(' tokens handled by forcing
- immediate shift. ')' handled by forcing immediate reduce to
- the previous '('. New error messages.
+ * cppexp.c: (_cpp_parse_expr): Numerical constants are pushed
+ within the switch statement. Binary operations break out of
+ the switch naturally. '(' tokens handled by forcing
+ immediate shift. ')' handled by forcing immediate reduce to
+ the previous '('. New error messages.
2000-03-31 Geoff Keating <geoffk@cygnus.com>
@@ -432,7 +441,7 @@ Thu Mar 30 06:32:51 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* stmt.c (expand_decl): Likewise.
(copy_rtx_and_substitute): Likewise.
* expr.c (expand_expr, expand_expr_unaligned): Likewise.
- (clear_by_pieces): Fix error in last change.
+ (clear_by_pieces): Fix error in last change.
* emit-rtl.c (init_emit): Set known registers alignment in bits.
* function.h (regno_pointer_align): Now unsigned.
* config/arm/arm.c (alignable_memory_operand): REGNO_POINTER_ALIGN
@@ -2270,7 +2279,7 @@ Tue Mar 14 08:42:21 2000 Jeffrey A Law (law@cygnus.com)
2000-03-12 Zack Weinberg <zack@wolery.cumb.org>
- * cpphash.c: Don't include version.h.
+ * cpphash.c: Don't include version.h.
(special_symbol) [case T_VERSION]: Look for the string in
hp->value.cpval; don't use version_string.
* cppinit.c (initialize_builtins): Set hp->value.cpval for
@@ -2375,7 +2384,7 @@ Sat Mar 11 16:18:12 2000 Jim Wilson <wilson@cygnus.com>
remap_filename, _cpp_read_include_file, actual_directory,
hack_vms_include_specification): Replace bcopy(), index() etc
calls. Add casts to some allocations. Make some variables
- pointers to const [unsigned] char.
+ pointers to const [unsigned] char.
* cpphash.c (_cpp_install, macro_cleanup, collect_expansion,
collect_formal_parameters): Similarly.
* cppinit.c (struct pending_option, append_include_chain,
@@ -3609,7 +3618,7 @@ Mon Feb 28 22:11:12 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
Mon Feb 28 14:21:15 2000 Catherine Moore <clm@cygnus.com>
* config/pa/som.h (MAKE_DECL_ONE_ONLY): Define.
- (ASM_WEAKEN_LABEL): Define.
+ (ASM_WEAKEN_LABEL): Define.
Mon Feb 28 13:07:19 MET 2000 Jan Hubicka <jh@suse.cz>
@@ -4167,7 +4176,7 @@ Fri Feb 18 20:08:57 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Cast FUNC
to (char *).
(alpha_expand_unaligned_load, alpha_expand_unaligned_store):
- Cast switch operand of size to int.
+ Cast switch operand of size to int.
(alpha_expand_epilogue): Always initialize fp_offset and sa_reg.
* config/alpha/alpha.h (INITIAL_ELIMINATION_OFFSET): Add abort
in unhandled case.
@@ -4528,7 +4537,7 @@ Sun Feb 13 12:57:52 2000 Neil Booth <NeilB@earthling.net>
2000-02-13 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* flow.c (flow_loop_tree_node_add): Use better algorithm by passing
- previously inserted node instead of root node. Caller changed.
+ previously inserted node instead of root node. Caller changed.
2000-02-13 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
@@ -4704,10 +4713,10 @@ Fri Feb 11 02:48:30 2000 Brad Lucier (lucier@math.purdue.edu)
(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
(ASM_FILE_END): Use c4x_file_end.
* config/c4x/c4x.c (c4x_global_label): New function.
- (c4x_external_ref, c4x_file_end): Likewise.
+ (c4x_external_ref, c4x_file_end): Likewise.
* config/c4x/c4x-protos.h (c4x_global_label): Add prototype.
- (c4x_external_ref, c4x_end_file): Likewise.
+ (c4x_external_ref, c4x_end_file): Likewise.
2000-02-10 Zack Weinberg <zack@wolery.cumb.org>
@@ -5229,14 +5238,14 @@ Mon Feb 7 18:36:41 MET 2000 Jan Hubicka <jh@suse.cz>
2000-02-04 Zack Weinberg <zack@wolery.cumb.org>
- * recog.h: Remove NO_MD_PROTOTYPES ifdefs.
- * genflags.c: Use the max_operand_1 logic from genemit.c to
- calculate how many arguments gen_insn prototypes have. Remove
- NO_MD_PROTOTYPES ifdefs from the generated file.
- * genoutput.c: Don't define NO_MD_PROTOTYPES in the generated
- file. Cast gen_insn initializers to insn_gen_fn.
- * config/alpha/vms.h: Don't define NO_MD_PROTOTYPES.
- * gcc.texi: Remove documentation of NO_MD_PROTOTYPES.
+ * recog.h: Remove NO_MD_PROTOTYPES ifdefs.
+ * genflags.c: Use the max_operand_1 logic from genemit.c to
+ calculate how many arguments gen_insn prototypes have. Remove
+ NO_MD_PROTOTYPES ifdefs from the generated file.
+ * genoutput.c: Don't define NO_MD_PROTOTYPES in the generated
+ file. Cast gen_insn initializers to insn_gen_fn.
+ * config/alpha/vms.h: Don't define NO_MD_PROTOTYPES.
+ * gcc.texi: Remove documentation of NO_MD_PROTOTYPES.
2000-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 2008660..1ff4195 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -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
diff --git a/gcc/gcc.texi b/gcc/gcc.texi
index b59fc65..a12dd35 100644
--- a/gcc/gcc.texi
+++ b/gcc/gcc.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
diff --git a/gcc/gccbug.in b/gcc/gccbug.in
index 04f968a..18aba83 100755
--- a/gcc/gccbug.in
+++ b/gcc/gccbug.in
@@ -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
#