diff --git a/misc/cgo/test/test.go b/misc/cgo/test/test.go index b5009d43ce..8c69ad91ac 100644 --- a/misc/cgo/test/test.go +++ b/misc/cgo/test/test.go @@ -2200,3 +2200,7 @@ func test32579(t *testing.T) { // issue 38649 var issue38649 C.netbsd_gid = 42 + +// issue 39877 + +var issue39877 *C.void = nil diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go index 6b40a255d5..6c221473e0 100644 --- a/src/cmd/cgo/out.go +++ b/src/cmd/cgo/out.go @@ -98,6 +98,11 @@ func (p *Package) writeDefs() { typedefNames := make([]string, 0, len(typedef)) for name := range typedef { + if name == "_Ctype_void" { + // We provide an appropriate declaration for + // _Ctype_void below (#39877). + continue + } typedefNames = append(typedefNames, name) } sort.Strings(typedefNames)