This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH for contrib/warn_summary
- To: egcs-patches at cygnus dot com
- Subject: PATCH for contrib/warn_summary
- From: Manfred Hollstein <manfred at s-direktnet dot de>
- Date: Sat, 30 May 1998 11:13:02 +0200 (MEST)
- Reply-To: manfred at s-direktnet dot de, Manfred dot Hollstein at ks dot sel dot alcatel dot de
This patch updates the warn_summary script to the version Kaveh posted
some time ago. It allows to specify the stage that has been the last
one; I need this occasionally. OK to install?
1998-05-30 Manfred Hollstein <manfred@s-direktnet.de>
* warn_summary: Update to Kaveh's latest version allowing to
specify the last stage built.
diff -rup -x CVS -x *.o -x *.info* -x *.html* -x *.elc -x *.dvi -x *.orig -x *~ -x version.el egcs-19980529.orig/contrib/warn_summary egcs-19980529/contrib/warn_summary
--- egcs-19980529.orig/contrib/warn_summary Sun May 24 00:35:33 1998
+++ egcs-19980529/contrib/warn_summary Sat May 30 11:03:57 1998
@@ -4,14 +4,18 @@
#
# By Kaveh Ghazi (ghazi@caip.rutgers.edu) 12/13/97.
-# This function displays all warnings from stage3 of the bootstrap.
-stage3warns()
+# This function displays all warnings from stageN of the bootstrap.
+stageNwarns()
{
+ stageNminus1=`expr $stageN - 1`
# Some awks choke on long lines so grep them out.
grep -v libf2c.a $1 | \
- $AWK '/ warning: /{if(t==1)print} ; /stage2/{if(t==0)t=1}'
+ $AWK "/ warning: /{if(t==1)print} ; /stage$stageNminus1/{if(t==0)t=1} ; /stage$stageN/{if(t==1)t=0}"
}
+usage="usage: `basename $0` [-s stage] [file(s)]"
+stageN=3
+
# Find a good awk.
if test -z "$AWK" ; then
for AWK in gawk nawk awk ; do
@@ -23,18 +27,29 @@ if test -z "$AWK" ; then
done
fi
+while test -n "$1" ; do
+ case "$1" in
+ -s) if test -z "$2"; then echo $usage; exit 1; fi; stageN="$2"; shift 2 ;;
+ -s*) stageN="`expr $1 : '-s\(.*\)'`" ; shift ;;
+ -*) echo $usage ; exit 1 ;;
+ *) break ;;
+ esac
+done
+
+
+
for file in "$@" ; do
- count=`stage3warns $file | wc -l`
- echo There are $count warnings in stage3 of this bootstrap.
+ count=`stageNwarns $file | wc -l`
+ echo There are $count warnings in stage$stageN of this bootstrap.
echo
echo Number of warnings per file:
- stage3warns $file | $AWK -F: '{print$1}' | sort | uniq -c | sort -nr
+ stageNwarns $file | $AWK -F: '{print$1}' | sort | uniq -c | sort -nr
echo
echo Number of warning types:
- stage3warns $file | sed 's/.*warning: //;
+ stageNwarns $file | sed 's/.*warning: //;
s/`\(int\)'"'"'/"\1"/g;
s/`\(char\)'"'"'/"\1"/g;
s/`\(inline\)'"'"'/"\1"/g;