aboutsummaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2023-05-05 21:38:02 -0400
committerAustin Clements <austin@google.com>2023-05-12 11:59:58 +0000
commita76b073712343328a6da1daa597ddfe68d543f32 (patch)
tree52f5fadff251b09b86254e57d72318e5ec453b6c /misc
parentbf6c55a8b313752667b51194485fa206110d71f9 (diff)
downloadgo-a76b073712343328a6da1daa597ddfe68d543f32.tar.gz
go-a76b073712343328a6da1daa597ddfe68d543f32.zip
misc/cgo/test: fix vet error
Vet's cgocall check fails on misc/cgo/test with "possibly passing Go type with embedded pointer to C". This error is confusing, but the cgocall check is looking for passing pointers to Go slices to C, which is exactly what this test is doing. Normally we don't notice this because vet doesn't run on misc, but we're about to move this test to cmd/cgo/internal, where vet will start failing. I'm not sure why we're passing a pointer to a slice here. It's important that we call a C function with an unsafe.Pointer to memory containing a pointer to test #25941 and that the result is this call is then passed to another C function for #28540. This CL maintains these two properties without the use of a slice. For #37486. Change-Id: I672a3c35931a59f99363050498d6f0c80fb6cd98 Reviewed-on: https://go-review.googlesource.com/c/go/+/493137 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'misc')
-rw-r--r--misc/cgo/test/test.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/misc/cgo/test/test.go b/misc/cgo/test/test.go
index 9d9b14ee74..1529ca5928 100644
--- a/misc/cgo/test/test.go
+++ b/misc/cgo/test/test.go
@@ -2116,7 +2116,7 @@ func test27660(t *testing.T) {
// issue 28540
func twoargsF() {
- v := []string{}
+ var v struct{ p *byte }
C.twoargs1(C.twoargs2(), C.twoargs3(unsafe.Pointer(&v)))
}