aboutsummaryrefslogtreecommitdiff
path: root/src/net/http
diff options
context:
space:
mode:
authorKeith Randall <khr@google.com>2018-07-10 13:47:15 -0700
committerKeith Randall <khr@golang.org>2018-07-12 19:15:12 +0000
commitb888a6227fa56f4698f9e5ca74e8bee10830bebe (patch)
tree911138515501b47890e870033ad5d79b8f61e5c3 /src/net/http
parent85cfa4d55e177a70913ce8977ce847af7c4298e2 (diff)
downloadgo-b888a6227fa56f4698f9e5ca74e8bee10830bebe.tar.xz
cmd/cgo: fix cgo bad typedefs
Two fixes: 1) Typedefs of the bad typedefs should also not be rewritten to the underlying type. They shouldn't just be uintptr, though, they should retain the C naming structure. For example, in C: typedef const __CFString * CFStringRef; typedef CFStringRef SecKeyAlgorithm; we want the Go: type _Ctype_CFStringRef uintptr type _Ctype_SecKeyAlgorithm = _Ctype_CFStringRef 2) We need more types than just function arguments/return values. At least we need types of global variables, so when we see a reference to: extern const SecKeyAlgorithm kSecKeyAlgorithmECDSASignatureDigestX962SHA1; we know that we need to investigate the type SecKeyAlgorithm. Might as well just find every typedef and check the badness of all of them. This requires looping until a fixed point of known types is reached. Usually it takes just 2 iterations, sometimes 3. Fixes #24161 Change-Id: I32ca7e48eb4d4133c6242e91d1879636f5224ea9 Reviewed-on: https://go-review.googlesource.com/123177 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/net/http')
0 files changed, 0 insertions, 0 deletions