Commit d2dfd76b authored by Russ Cox's avatar Russ Cox

build with warnings enabled.

new script "quietgcc" installed in $HOME/bin during make.bash
	runs gcc with warnings, turns off inappropriate ones,
	greps out useless output.

quietgcc also makes sure to run the correct 64-bit gcc.

R=r
DELTA=38  (36 added, 0 deleted, 2 changed)
OCL=17493
CL=19599
parent 87b11244
......@@ -2,8 +2,8 @@
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
CC=cc
LD=cc
CC=quietgcc
LD=quietgcc
CFLAGS=-ggdb -I$(GOROOT)/include
BIN=$(HOME)/bin
O=o
......
......@@ -14,6 +14,9 @@ fi
bash clean.bash
cp quietgcc.bash $HOME/bin/quietgcc
chmod +x $HOME/bin/quietgcc
for i in lib9 libbio libmach_amd64 libregexp cmd runtime lib
do
echo; echo; echo %%%% making $i %%%%; echo
......
#!/bin/bash
# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
# The master for this file is $GOROOT/src/quietgcc.bash
# Changes made to $HOME/bin/quietgcc will be overridden.
# Gcc output that we don't care to see.
ignore=': error: .Each undeclared identifier'
ignore=$ignore'|: error: for each function it appears'
ignore=$ignore'|is dangerous, better use'
ignore=$ignore'|is almost always misused'
ignore=$ignore'|: In function '
ignore=$ignore'|: At top level: '
ignore=$ignore'|In file included from'
ignore=$ignore'| from'
# Figure out which cc to run.
# Can use plain cc on real 64-bit machines
# and on OS X, but have to use crosstool on
# mixed64-32 machines like thresher.
gcc=gcc
case "`uname -a`" in
*mixed64-32*)
gcc=/usr/crosstool/v10/gcc-4.2.1-glibc-2.3.2/x86_64-unknown-linux-gnu/x86_64-unknown-linux-gnu/bin/gcc
esac
# Run gcc, save error status, redisplay output without noise, exit with gcc status.
tmp=/tmp/qcc.$$.$USER.out
$gcc -m64 -Wall -Wno-sign-compare -Wno-missing-braces \
-Wno-parentheses -Wno-unknown-pragmas -Wno-switch -Wno-comment \
"$@" >$tmp 2>&1
status=$?
egrep -v "$ignore" $tmp | uniq
rm -f $tmp
exit $status
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment