X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fgccbug.in;h=83fef9f160080d9da8556139ffcb764c8bdc9fd3;hb=d4b16cebcdc61fcee2e26f9bc09abf7c40cffc39;hp=b823f4e33d136cae394fbbf341abcef714217639;hpb=9371935c7b577de774e27b01074de1aed9d90684;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/gccbug.in b/gcc/gccbug.in index b823f4e33d1..83fef9f1600 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 Free Software Foundation, Inc. # Contributed by Brendan Kehoe (brendan@cygnus.com), based on a # version written by Heinz G. Seidl (hgs@cygnus.com). # @@ -18,7 +18,8 @@ # # 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. +# the Free Software Foundation, 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. # The version of this send-pr. VERSION=3.113 @@ -30,7 +31,11 @@ SUBMITTER=net GNATS_ADDR=gcc-gnats@gcc.gnu.org # The default release for this host. -DEFAULT_RELEASE="@gcc_version_full@" +# 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 +82,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 +118,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 +163,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 GCC manual manual if you are not sure how to +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 @@ -297,12 +324,11 @@ 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: <[ 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: 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. @@ -322,7 +348,11 @@ SEND-PR: support I need help with gcc. 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: @@ -399,7 +429,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 # @@ -458,6 +489,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." @@ -518,6 +550,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."