warn_summary: Update to Kaveh's latest version allowing to specify the last stage built.

* warn_summary: Update to Kaveh's latest version allowing to
	specify the last stage built.

From-SVN: r20161
This commit is contained in:
Manfred Hollstein 1998-06-01 00:26:36 +00:00
parent 91af92df6e
commit c903011605
1 changed files with 22 additions and 7 deletions

View File

@ -4,14 +4,18 @@
# #
# By Kaveh Ghazi (ghazi@caip.rutgers.edu) 12/13/97. # By Kaveh Ghazi (ghazi@caip.rutgers.edu) 12/13/97.
# This function displays all warnings from stage3 of the bootstrap. # This function displays all warnings from stageN of the bootstrap.
stage3warns() stageNwarns()
{ {
stageNminus1=`expr $stageN - 1`
# Some awks choke on long lines so grep them out. # Some awks choke on long lines so grep them out.
grep -v libf2c.a $1 | \ 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. # Find a good awk.
if test -z "$AWK" ; then if test -z "$AWK" ; then
for AWK in gawk nawk awk ; do for AWK in gawk nawk awk ; do
@ -23,18 +27,29 @@ if test -z "$AWK" ; then
done done
fi 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 for file in "$@" ; do
count=`stage3warns $file | wc -l` count=`stageNwarns $file | wc -l`
echo There are $count warnings in stage3 of this bootstrap. echo There are $count warnings in stage$stageN of this bootstrap.
echo echo
echo Number of warnings per file: 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
echo Number of warning types: echo Number of warning types:
stage3warns $file | sed 's/.*warning: //; stageNwarns $file | sed 's/.*warning: //;
s/`\(int\)'"'"'/"\1"/g; s/`\(int\)'"'"'/"\1"/g;
s/`\(char\)'"'"'/"\1"/g; s/`\(char\)'"'"'/"\1"/g;
s/`\(inline\)'"'"'/"\1"/g; s/`\(inline\)'"'"'/"\1"/g;