1
0
mirror of https://github.com/golang/go synced 2024-11-19 23:44:43 -07:00
go/misc/cgo/test
Keith Randall b868616b63 cmd/cgo: special case C ptr types to use uintptr
Some C types are declared as pointers, but C code
stores non-pointers in them.  When the Go garbage
collector sees such a pointer, it gets unhappy.

Instead, for these types represent them on the Go
side with uintptr.

We need this change to handle Apple's CoreFoundation
CF*Ref types. Users of these types might need to
update their code like we do in root_cgo_darwin.go.
The only change that is required under normal
circumstances is converting some nils to 0.
A go fix module is provided to help.

Fixes #21897

RELNOTE=yes

Change-Id: I9716cfb255dc918792625f42952aa171cd31ec1b
Reviewed-on: https://go-review.googlesource.com/66332
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-11-17 22:11:03 +00:00
..
gcc68255
issue8756
issue8828
issue9026
issue9400
issue9510a
issue9510b
issue20266
align.go
api.go
backdoor.go
basic.go
buildid_linux.go
callback_c_gc.c
callback_c_gccgo.c
callback_c.c
callback.go
cflags.go
cgo_linux_test.go
cgo_stubs_android_test.go
cgo_test.go cmd/cgo: special case C ptr types to use uintptr 2017-11-17 22:11:03 +00:00
cgo_thread_lock.go
cgo_unix_test.go
checkconst.go
complex.go
cthread_unix.c
cthread_windows.c
cthread.go
duplicate_symbol.go
env.go
exports.go
fpvar.go
gcc68255.go
helpers.go
issue1222.go
issue1328.go
issue1560.go
issue1635.go
issue2462.go
issue3250.go
issue3250w.go
issue3261.go
issue3729.go
issue3729w.go
issue3741.go
issue3775.go
issue3945.go
issue4029.c
issue4029.go
issue4029w.go
issue4054a.go
issue4054b.go
issue4273.c
issue4273b.c
issue4339.c
issue4339.go
issue4339.h
issue4417.go
issue4857.go
issue5227.go
issue5242.go
issue5337.go
issue5337w.go
issue5548_c.c
issue5548.go
issue5603.go
issue5740.go
issue5740a.c
issue5740b.c
issue5986.go
issue6128.go
issue6390.go
issue6472.go
issue6506.go
issue6612.go
issue6833_c.c
issue6833.go
issue6907.go
issue6907export_c.c
issue6907export.go
issue6997_linux.c
issue6997_linux.go
issue7234_test.go
issue7560.go
issue7665.go
issue7786.go
issue7978.go
issue8092.go
issue8148.go
issue8331.h
issue8331a.go
issue8331b.go
issue8428.go
issue8441.go
issue8517_windows.c
issue8517_windows.go
issue8517.go
issue8694.go
issue8756.go
issue8811.c
issue8811.go
issue8828.go
issue8945.go
issue9026.go
issue9400_linux.go
issue9510.go
issue9557.go
issue10303.go
issue11925.go
issue12030.go
issue13402.go
issue13930.go
issue14838.go
issue17065.go
issue17537.go
issue18126.go
issue18146.go
issue18720.go
issue20129.go
issue20266.go
issue20369.go
issue20910.c
issue20910.go
issue21668.go
issue21708.go
issue21809.go
issue21897.go cmd/cgo: special case C ptr types to use uintptr 2017-11-17 22:11:03 +00:00
issue21897b.go cmd/cgo: special case C ptr types to use uintptr 2017-11-17 22:11:03 +00:00
setgid_linux.go
sigaltstack.go
sigprocmask.c
sigprocmask.go