From 501a481953e55fabdc06e43dcab9972b7113bd15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Tue, 4 Apr 2000 22:54:44 +0000 Subject: 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 --- gcc/ChangeLog | 57 +++++++++++++---------- gcc/Makefile.in | 5 +- gcc/gcc.texi | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- gcc/gccbug.in | 30 +++++++++--- 4 files changed, 196 insertions(+), 36 deletions(-) (limited to 'gcc') 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 + + * 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 * cpplex.c (trigraph_map, speccase): Combine into single @@ -188,7 +197,7 @@ Mon Apr 3 00:02:59 2000 Brad Lucier 2000-04-02 Michael Hayes * 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 @@ -262,18 +271,18 @@ Mon Apr 3 00:02:59 2000 Brad Lucier 2000-04-01 Neil Booth - * 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 - * 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 @@ -432,7 +441,7 @@ Thu Mar 30 06:32:51 2000 Richard Kenner * 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 - * 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 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 Mon Feb 28 14:21:15 2000 Catherine Moore * 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 @@ -4167,7 +4176,7 @@ Fri Feb 18 20:08:57 2000 Richard Kenner * 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 2000-02-13 Michael Hayes * 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 @@ -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 @@ -5229,14 +5238,14 @@ Mon Feb 7 18:36:41 MET 2000 Jan Hubicka 2000-02-04 Zack Weinberg - * 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 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='' -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='' RELEASE_C='' ENVIRONMENT_C='' DESCRIPTION_C='' @@ -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 # -- cgit v1.1