1
0
mirror of https://github.com/golang/go synced 2024-11-23 08:10:03 -07:00
go/misc/cgo
Russ Cox 0782ee3ad5 cmd/cgo: given typedef struct S T, make C.T and C.struct_S interchangeable
For incomplete struct S, C.T and C.struct_S were interchangeable in Go 1.2
and earlier, because all incomplete types were interchangeable
(even C.struct_S1 and C.struct_S2).

CL 76450043, which fixed issue 7409, made different incomplete types
different from Go's point of view, so that they were no longer completely
interchangeable.

However, imprecision about C.T and C.struct_S - really the same
underlying C type - is the one behavior enabled by the bug that
is most likely to be depended on by existing cgo code.
Explicitly allow it, to keep that code working.

Fixes #7786.

LGTM=iant, r
R=golang-codereviews, iant, r
CC=golang-codereviews
https://golang.org/cl/98580046
2014-05-28 14:04:31 -04:00
..
errors cmd/cgo: enforce typing of 0-sized types 2014-03-27 20:23:16 +00:00
gmp misc/cgo/gmp: fix typo. 2013-03-30 19:02:14 +08:00
life misc/cgo: prepare for 64-bit ints 2012-09-24 14:58:45 -04:00
nocgo cmd/ld: really import runtime/cgo for external link 2014-05-20 21:36:50 -07:00
stdio misc/cgo/stdio: make it work on Windows and also test it 2012-09-20 00:27:23 +08:00
test cmd/cgo: given typedef struct S T, make C.T and C.struct_S interchangeable 2014-05-28 14:04:31 -04:00
testasan runtime: more flexible heap memory mapping on 64-bits 2013-06-12 18:47:16 +04:00
testcdefs misc/cgo/testcdefs: rm correct file in test.bash 2013-12-10 12:06:24 +11:00
testso misc/cgo/testso: don't use TLS variables on Darwin and OpenBSD. 2014-02-23 20:37:43 -05:00
testtls misc/cgo/testtls: make test less flaky 2014-01-21 19:44:51 -05:00