mirror of
https://github.com/golang/go
synced 2024-11-17 05:14:56 -07:00
b888a6227f
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> |
||
---|---|---|
.. | ||
gcc68255 | ||
issue8756 | ||
issue8828 | ||
issue9026 | ||
issue9400 | ||
issue9510a | ||
issue9510b | ||
issue20266 | ||
issue23555a | ||
issue23555b | ||
issue24161arg | ||
issue24161e0 | ||
issue24161e1 | ||
issue24161e2 | ||
issue24161res | ||
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 | ||
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 | ||
issue21897b.go | ||
issue22958.go | ||
issue23356.go | ||
issue23555.go | ||
issue23720.go | ||
issue24161_darwin_test.go | ||
issue24206_generic.go | ||
issue24206.go | ||
issue25143.go | ||
issue26066.go | ||
setgid_linux.go | ||
sigaltstack.go | ||
sigprocmask.c | ||
sigprocmask.go | ||
test22906.go |