mirror of https://github.com/golang/go.git
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
This commit is contained in:
parent
87b1124407
commit
d2dfd76b3d
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
#!/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
|
||||
Loading…
Reference in New Issue