OSDN Git Service

* arm.md (addsi3_carryin_shift): Add missing register constraints.
[pf3gnuchains/gcc-fork.git] / gcc / gccbug.in
index 18aba83..2fec32b 100755 (executable)
@@ -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, 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
 
 # The version of this send-pr.
 VERSION=3.113
@@ -30,7 +31,7 @@ SUBMITTER=net
 GNATS_ADDR=gcc-gnats@gcc.gnu.org
 
 # The default release for this host.
-DEFAULT_RELEASE="@gcc_version@"
+DEFAULT_RELEASE="@gcc_version_full@"
 
 # The default organization.
 DEFAULT_ORGANIZATION=
@@ -77,9 +78,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 +114,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 +159,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 <<EOF
+gccbug (GCC) $DEFAULT_RELEASE
+Copyright (C) 2002 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+EOF
+       $REMOVE_TEMP; exit 0 ;;
+    -*) echo "$USAGE" ; $REMOVE_TEMP; exit 1 ;;
+    *) echo "$USAGE" ; $REMOVE_TEMP; exit 1
  esac
  shift
 done
 
 # spam does not need to be listed here
-CATEGORIES="c++ c debug fortran java libf2c libobjc libstdc++ middle-end objc optimization other target web"
+CATEGORIES="ada bootstrap c++ c debug driver fortran inline-asm java libf2c libgcj libobjc libstdc++ middle-end objc optimization other pch preprocessor target web"
 
 case "$FORMAT" in
   lisp) echo "$CATEGORIES" | \
         awk 'BEGIN {printf "( "} {printf "(\"%s\") ",$0} END {printf ")\n"}'
+       $REMOVE_TEMP
         exit 0
         ;;
   norm) l=`echo "$CATEGORIES" | \
@@ -193,18 +215,18 @@ case "$FORMAT" in
         awk 'BEGIN {print "Known categories:"; i = 0 }
           { printf ("%-'$l'.'$l's", $0); if ((++i % '$c') == 0) { print "" } }
             END { print ""; }'
+       $REMOVE_TEMP
         exit 0
         ;;
 esac
 
 ORIGINATOR_C='<name of the PR author (one line)>'
 ORGANIZATION_C='<organization of PR author (multiple lines)>'
-CONFIDENTIAL_C='<[ yes | no ] (one line)>'
 SYNOPSIS_C='<synopsis of the problem (one line)>'
 if [ -z "$SEVERITY_C" ]; then
   SEVERITY_C='<[ non-critical | serious | critical ] (one line)>'
 fi
-PRIORITY_C='<[ low | medium | high ] (one line)>'
+PRIORITY_C='<[ low | medium ] (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)>'
@@ -214,8 +236,8 @@ FIX_C='<how to correct or work around the problem, if known (multiple lines)>'
 
 # Catch some signals. ($xs kludge needed by Sun /bin/sh)
 xs=0
-trap 'rm -f $REF $TEMP; exit $xs' 0
-trap 'echo "$COMMAND: Aborting ..."; rm -f $REF $TEMP; xs=1; exit' 1 3 13 15
+trap '$REMOVE_TEMP; exit $xs' 0
+trap 'echo "$COMMAND: Aborting ..."; $REMOVE_TEMP; xs=1; exit' 1 3 13 15
 
 # If they told us to use a specific file, then do so.
 if [ -n "$IN_FILE" ]; then
@@ -255,7 +277,7 @@ 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 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
@@ -290,19 +312,19 @@ 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: 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,6 +344,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:
@@ -380,7 +407,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
   #
@@ -398,7 +425,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
   #
@@ -457,6 +485,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."
@@ -517,6 +546,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."