mirror of
https://github.com/golang/go
synced 2024-11-25 12:57:58 -07:00
6g currently accepts setting a string value to an integer
constant without an explicit conversion. I think that is a bug. This adds a test case for it. Also, change errchk to include the string BUG in error messages, so that failures are included in the count reported by the run shell script. R=r,ken DELTA=11 (7 added, 0 deleted, 4 changed) OCL=15857 CL=15880
This commit is contained in:
parent
c51195386e
commit
b70d42f323
10
test/bugs/bug104.go
Normal file
10
test/bugs/bug104.go
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// errchk $G $D/$F.go
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
|
||||||
|
package main
|
||||||
|
func f() string {
|
||||||
|
return 0 // ERROR "conversion|type"
|
||||||
|
}
|
@ -34,7 +34,7 @@ rm -f $TMPOUT $TMPERR $TMPALL $TMPTMP $TMPSTAT
|
|||||||
trap "rm -f $TMPOUT $TMPERR $TMPALL $TMPTMP $TMPSTAT" 0 1 2 3 14 15
|
trap "rm -f $TMPOUT $TMPERR $TMPALL $TMPTMP $TMPSTAT" 0 1 2 3 14 15
|
||||||
|
|
||||||
if $* >$TMPOUT 2>$TMPERR; then
|
if $* >$TMPOUT 2>$TMPERR; then
|
||||||
echo 1>&2 "errchk: command succeeded unexpectedly: " "$@"
|
echo 1>&2 "BUG: errchk: command succeeded unexpectedly: " "$@"
|
||||||
cat $TMPOUT
|
cat $TMPOUT
|
||||||
cat 1>&2 $TMPERR
|
cat 1>&2 $TMPERR
|
||||||
rm -f $TMPOUT $TMPERR
|
rm -f $TMPOUT $TMPERR
|
||||||
@ -52,17 +52,17 @@ pr -n -t $SOURCEFILE | grep '// ERROR' | while read line; do
|
|||||||
grep -v "$SOURCEFILE:$lineno" < $TMPALL > $TMPTMP
|
grep -v "$SOURCEFILE:$lineno" < $TMPALL > $TMPTMP
|
||||||
mv -f $TMPTMP $TMPALL
|
mv -f $TMPTMP $TMPALL
|
||||||
if test -z "$errmsg"; then
|
if test -z "$errmsg"; then
|
||||||
echo 1>&2 "errchk: $SOURCEFILE: missing expected error message on line $lineno: '$regexp'"
|
echo 1>&2 "BUG: errchk: $SOURCEFILE: missing expected error message on line $lineno: '$regexp'"
|
||||||
echo 1 > $TMPSTAT
|
echo 1 > $TMPSTAT
|
||||||
elif ! echo "$errmsg" | egrep -q "$regexp"; then
|
elif ! echo "$errmsg" | egrep -q "$regexp"; then
|
||||||
echo 1>&2 "errchk: $SOURCEFILE: error message on line $lineno does not match '$regexp'"
|
echo 1>&2 "BUG: errchk: $SOURCEFILE: error message on line $lineno does not match '$regexp'"
|
||||||
echo 1>&2 $errmsg
|
echo 1>&2 $errmsg
|
||||||
echo 1 > $TMPSTAT
|
echo 1 > $TMPSTAT
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if test -s $TMPALL; then
|
if test -s $TMPALL; then
|
||||||
echo 1>&2 "errchk: $SOURCEFILE: unmatched error messages:"
|
echo 1>&2 "BUG: errchk: $SOURCEFILE: unmatched error messages:"
|
||||||
echo 1>&2 "=================================================="
|
echo 1>&2 "=================================================="
|
||||||
cat 1>&2 $TMPALL
|
cat 1>&2 $TMPALL
|
||||||
echo 1>&2 "=================================================="
|
echo 1>&2 "=================================================="
|
||||||
|
@ -166,6 +166,8 @@ SIGSEGV: segmentation violation
|
|||||||
Faulting address: 0x0
|
Faulting address: 0x0
|
||||||
pc: xxx
|
pc: xxx
|
||||||
|
|
||||||
|
=========== bugs/bug104.go
|
||||||
|
BUG: errchk: command succeeded unexpectedly: 6g bugs/bug104.go
|
||||||
|
|
||||||
=========== fixedbugs/bug016.go
|
=========== fixedbugs/bug016.go
|
||||||
fixedbugs/bug016.go:7: overflow converting constant to <uint32>UINT32
|
fixedbugs/bug016.go:7: overflow converting constant to <uint32>UINT32
|
||||||
|
Loading…
Reference in New Issue
Block a user