mirror of
https://github.com/golang/go
synced 2024-11-17 16:54:44 -07:00
0f82cfd3f0
cgo represents all 0-sized and unsized types internally as [0]byte. This means that pointers to incomplete types would be interchangable, even if given a name by typedef. Fixes #7409. LGTM=iant R=golang-codereviews, bradfitz, iant CC=golang-codereviews https://golang.org/cl/76450043
33 lines
825 B
Bash
Executable File
33 lines
825 B
Bash
Executable File
# Copyright 2013 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.
|
|
|
|
check() {
|
|
file=$1
|
|
line=$(grep -n 'ERROR HERE' $file | sed 's/:.*//')
|
|
if [ "$line" = "" ]; then
|
|
echo 1>&2 misc/cgo/errors/test.bash: BUG: cannot find ERROR HERE in $file
|
|
exit 1
|
|
fi
|
|
if go build $file >errs 2>&1; then
|
|
echo 1>&2 misc/cgo/errors/test.bash: BUG: expected cgo to fail but it succeeded
|
|
exit 1
|
|
fi
|
|
if ! test -s errs; then
|
|
echo 1>&2 misc/cgo/errors/test.bash: BUG: expected error output but saw none
|
|
exit 1
|
|
fi
|
|
if ! fgrep $file:$line: errs >/dev/null 2>&1; then
|
|
echo 1>&2 misc/cgo/errors/test.bash: BUG: expected error on line $line but saw:
|
|
cat 1>&2 errs
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
check err1.go
|
|
check err2.go
|
|
check err3.go
|
|
|
|
rm -rf errs _obj
|
|
exit 0
|