X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fgccbug.in;h=dcec94bc091a5103f500a6fd8229dbd9c22424c6;hb=36083c0377f294eaaa0809a77b2d967b6efd34e8;hp=dc362fab4d9688b22012640156c5f0d9c417b1c3;hpb=86220f453c768a8deb58678e4010a892011a2cce;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/gccbug.in b/gcc/gccbug.in index dc362fab4d9..dcec94bc091 100755 --- a/gcc/gccbug.in +++ b/gcc/gccbug.in @@ -1,6 +1,6 @@ #!/bin/sh # Submit a problem report to a GNATS site. -# Copyright (C) 1993, 2000 Free Software Foundation, Inc. +# Copyright (C) 1993, 2000, 2001, 2002, 2003, 2007 Free Software Foundation, Inc. # Contributed by Brendan Kehoe (brendan@cygnus.com), based on a # version written by Heinz G. Seidl (hgs@cygnus.com). # @@ -8,7 +8,7 @@ # # GNU GNATS is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# the Free Software Foundation; either version 3, or (at your option) # any later version. # # GNU GNATS is distributed in the hope that it will be useful, @@ -17,8 +17,8 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with GNU GNATS; see the file COPYING. If not, write to -# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# along with GNU GNATS; see the file COPYING3. If not see +# . # The version of this send-pr. VERSION=3.113 @@ -30,7 +30,11 @@ SUBMITTER=net GNATS_ADDR=gcc-gnats@gcc.gnu.org # The default release for this host. -DEFAULT_RELEASE="@gcc_version@" +# We have to guess at what program_transform_name might have done. +# "sed 1q" because neither "head -1" nor "head -n 1" is universal, argh. + +DEFAULT_GCC="`echo $0 | sed -e 's/bug//'`" +DEFAULT_RELEASE="`$DEFAULT_GCC --version | sed 1q`" # The default organization. DEFAULT_ORGANIZATION= @@ -77,9 +81,21 @@ else fi fi -TEMP=$TMPDIR/p$$ -BAD=$TMPDIR/pbad$$ -REF=$TMPDIR/pf$$ +if [ @have_mktemp_command@ = yes ]; then + TEMP0=`mktemp $TMPDIR/poXXXXXX` || exit 1 + TEMP=`mktemp $TMPDIR/pXXXXXX` || exit 1 + BAD=`mktemp $TMPDIR/pbadXXXXXX` || exit 1 + REF=`mktemp $TMPDIR/pfXXXXXX` || exit 1 + REMOVE_TEMP="rm -f $TEMP0 $TEMP $BAD $REF" +else + TEMPD=$TMPDIR/pd$$ + TEMP0=$TEMPD/po$$ + TEMP=$TEMPD/p$$ + BAD=$TEMPD/pbad$$ + REF=$TEMPD/pf$$ + mkdir $TEMPD || exit 1 + REMOVE_TEMP="rm -rf $TEMPD" +fi # find a user name if [ "$LOGNAME" = "" ]; then @@ -101,9 +117,9 @@ elif [ -f $HOME/.fullname ]; then else # Must use temp file due to incompatibilities in quoting behavior # and to protect shell metacharacters in the expansion of $LOGNAME - $PASSWD | grep "^$LOGNAME:" | awk -F: '{print $5}' | sed -e 's/,.*//' > $TEMP - ORIGINATOR="`cat $TEMP`" - rm -f $TEMP + $PASSWD | grep "^$LOGNAME:" | awk -F: '{print $5}' | sed -e 's/,.*//' > $TEMP0 + ORIGINATOR="`cat $TEMP0`" + rm -f $TEMP0 fi if [ -n "$ORGANIZATION" ]; then @@ -146,42 +162,51 @@ SEVERITY_C= while [ $# -gt 0 ]; do case "$1" in -r) ;; # Ignore for backward compat. - -t | --to) if [ $# -eq 1 ]; then echo "$USAGE"; exit 1; fi + -t | --to) if [ $# -eq 1 ]; then echo "$USAGE"; $REMOVE_TEMP; exit 1; fi shift ; GNATS_ADDR="$1" EXPLICIT_GNATS_ADDR=true ;; - -f | --file) if [ $# -eq 1 ]; then echo "$USAGE"; exit 1; fi + -f | --file) if [ $# -eq 1 ]; then echo "$USAGE"; $REMOVE_TEMP; exit 1; fi shift ; IN_FILE="$1" if [ "$IN_FILE" != "-" -a ! -r "$IN_FILE" ]; then echo "$COMMAND: cannot read $IN_FILE" + $REMOVE_TEMP exit 1 fi ;; -b | --batch) BATCH=true ;; - -c | --cc) if [ $# -eq 1 ]; then echo "$USAGE"; exit 1; fi + -c | --cc) if [ $# -eq 1 ]; then echo "$USAGE"; $REMOVE_TEMP; exit 1; fi shift ; CC="$1" ;; - -s | --severity) if [ $# -eq 1 ]; then echo "$USAGE"; exit 1; fi + -s | --severity) if [ $# -eq 1 ]; then echo "$USAGE"; $REMOVE_TEMP; exit 1; fi shift ; SEVERITY_C="$1" ;; -p | -P | --print) PRINT=true ;; -L | --list) FORMAT=norm ;; -l | -CL | --lisp) FORMAT=lisp ;; --request-id) REQUEST_ID=true ;; - -h | --help) echo "$USAGE"; exit 0 ;; - -V | --version) echo "$VERSION"; exit 0 ;; - -*) echo "$USAGE" ; exit 1 ;; - *) echo "$USAGE" ; exit 1 + -h | --help) echo "$USAGE"; $REMOVE_TEMP; exit 0 ;; + -V | --version) cat <'). 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 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. @@ -291,12 +315,29 @@ X-GNATS-Notify: >Submitter-Id: $SUBMITTER >Originator: $ORIGINATOR >Organization: ${ORGANIZATION-$ORGANIZATION_C} ->Confidential: $CONFIDENTIAL_C +>Confidential: no +SEND-PR: Leave "Confidential" as "no"; all GCC PRs are public. >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: 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 documentation 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` @@ -306,6 +347,11 @@ X-GNATS-Notify: host: @host@ build: @build@ target: @target@ +__EOF__ + cat >> $file << \__EOF__ +configured with: @gcc_config_arguments@ +__EOF__ + cat >> $file << __EOF__ >Description: $DESCRIPTION_C >How-To-Repeat: @@ -364,7 +410,7 @@ while [ -z "$REQUEST_ID" ]; do PATTERN=">Confidential:" CONFIDENTIAL=`eval sed -n -e "\"$SED_CMD\"" $TEMP` case "$CONFIDENTIAL" in - ""|yes|no) CNT=`expr $CNT + 1` ;; + no) CNT=`expr $CNT + 1` ;; *) echo "$COMMAND: \`$CONFIDENTIAL' is not a valid value for \`Confidential'." ;; esac # @@ -382,7 +428,8 @@ while [ -z "$REQUEST_ID" ]; do PATTERN=">Priority:" PRIORITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP` case "$PRIORITY" in - ""|low|medium|high) CNT=`expr $CNT + 1` ;; + ""|low|medium) CNT=`expr $CNT + 1` ;; + high) echo "$COMMAND: \`Priority: high' is reserved for GCC maintainers." ;; *) echo "$COMMAND: \`$PRIORITY' is not a valid value for \`Priority'." esac # @@ -410,7 +457,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 # @@ -441,6 +488,7 @@ while [ -z "$REQUEST_ID" ]; do a*) if [ -z "$BATCH" ]; then echo "$COMMAND: the problem report remains in $BAD and is not sent." + REMOVE_TEMP="rm -f $TEMP0 $TEMP $REF" mv $TEMP $BAD else echo "$COMMAND: the problem report is not sent." @@ -501,6 +549,7 @@ else echo "$COMMAND: mysterious mail failure." if [ -z "$BATCH" ]; then echo "$COMMAND: the problem report remains in $BAD and is not sent." + REMOVE_TEMP="rm -f $TEMP0 $TEMP $REF" mv $REF $BAD else echo "$COMMAND: the problem report is not sent."