1
0
mirror of https://github.com/golang/go synced 2024-11-07 18:36:21 -07:00
go/misc
Ian Lance Taylor 689947d565 cmd/cgo: only record typedef name for pointer to struct
In a function argument, we handle a typedef for a pointer specially,
using the pointer type rather than the typedef, to permit the Go calls
to match the laxer type conversions permitted in C. We record the
typedef so that we use that type in the C code, in case it has a special
attribute. However, using the typedef is wrong when using a pointer to a
basic type, because the C code may sometimes use the typedef and
sometimes not, and using the typedef in all cases will cause incorrect
type errors on the Go side. Fortunately we only really need to use the
typedef when pointing to a struct/union/class, and in such a case
confusion is unlikely.

Fixes #17723.

Change-Id: Id2eaeb156faeaf2e8eb9cf0b8f95b44caf8cfbd2
Reviewed-on: https://go-review.googlesource.com/32536
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: David Crawshaw <crawshaw@golang.org>
2016-11-01 23:06:24 +00:00
..
android misc/android: make the exec wrapper exit code parsing more robust 2016-06-08 05:24:53 +00:00
arm all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
cgo cmd/cgo: only record typedef name for pointer to struct 2016-11-01 23:06:24 +00:00
chrome/gophertool
git misc/git: Fix non-literal period in pre-commit grep 2016-02-26 19:06:38 +00:00
ios misc/ios: fix exec wrapper locking 2016-03-25 16:47:01 +00:00
linkcheck
nacl cmd/dist: use debug/pe directly for cmd/link 2016-10-17 15:22:17 +00:00
sortac
swig all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
trace misc/trace: disable trace resolution warning 2016-07-21 18:17:31 +00:00
benchcmp
editors