From 9f178edf516ee6420e6e6709ae4e91a0a360f3f7 Mon Sep 17 00:00:00 2001 From: Gustavo Niemeyer Date: Tue, 11 Jan 2011 11:12:06 -0500 Subject: [PATCH] cgo: export unsafe.Pointer as void* This will enable functions which use unsafe.Pointer as an argument to be correctly exported by cgo. R=rsc CC=golang-dev https://golang.org/cl/3849043 --- src/cmd/cgo/out.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go index 481fff2197..c3f9ae60b1 100644 --- a/src/cmd/cgo/out.go +++ b/src/cmd/cgo/out.go @@ -606,6 +606,11 @@ func (p *Package) cgoType(e ast.Expr) *Type { } return r } + case *ast.SelectorExpr: + id, ok := t.X.(*ast.Ident) + if ok && id.Name == "unsafe" && t.Sel.Name == "Pointer" { + return &Type{Size: p.PtrSize, Align: p.PtrSize, C: "void*"} + } } error(e.Pos(), "unrecognized Go type %T", e) return &Type{Size: 4, Align: 4, C: "int"} -- 2.50.0