1
0
mirror of https://github.com/golang/go synced 2024-11-12 12:40:28 -07:00
go/misc/cgo/testgodefs/test.bash
Ian Lance Taylor ead59f4bf3 cmd/cgo: don't resolve typedefs in -godefs mode
In -godefs mode any typedefs that appear in struct fields and the like
will presumably be defined in the input file. If we resolve to the
base type, those cross-references will not work. So for -godefs mode,
keep the Go 1.10 behavior and don't resolve the typedefs in a loop.

Fixes #26644

Change-Id: I48cf72d9eb5016353c43074e6aff6495af326f35
Reviewed-on: https://go-review.googlesource.com/125995
Reviewed-by: Keith Randall <khr@golang.org>
2018-07-27 16:46:42 +00:00

23 lines
603 B
Bash
Executable File

#!/usr/bin/env bash
# Copyright 2014 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.
# We are testing cgo -godefs, which translates Go files that use
# import "C" into Go files with Go definitions of types defined in the
# import "C" block. Add more tests here.
FILE_PREFIXES="anonunion issue8478 fieldtypedef"
RM=
for FP in $FILE_PREFIXES
do
go tool cgo -godefs -srcdir . ${FP}.go > ${FP}_defs.go
RM="${RM} ${FP}_defs.go"
done
go build . && ./testgodefs
EXIT=$?
rm -rf _obj testgodefs ${RM}
exit $EXIT