• Ian Lance Taylor's avatar
    cmd/cgo: only record typedef name for pointer to struct · 689947d5
    Ian Lance Taylor authored
    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: 's avatarDavid Crawshaw <crawshaw@golang.org>
    689947d5
Name
Last commit
Last update
..
gcc68255 Loading commit data...
issue8756 Loading commit data...
issue8828 Loading commit data...
issue9026 Loading commit data...
issue9400 Loading commit data...
issue9510a Loading commit data...
issue9510b Loading commit data...
align.go Loading commit data...
api.go Loading commit data...
backdoor.go Loading commit data...
basic.go Loading commit data...
buildid_linux.go Loading commit data...
callback.go Loading commit data...
callback_c.c Loading commit data...
callback_c_gc.c Loading commit data...
callback_c_gccgo.c Loading commit data...
cflags.go Loading commit data...
cgo_linux_test.go Loading commit data...
cgo_stubs_android_test.go Loading commit data...
cgo_test.go Loading commit data...
cgo_thread_lock.go Loading commit data...
cgo_unix_test.go Loading commit data...
checkconst.go Loading commit data...
complex.go Loading commit data...
cthread.go Loading commit data...
cthread_unix.c Loading commit data...
cthread_windows.c Loading commit data...
duplicate_symbol.go Loading commit data...
env.go Loading commit data...
exports.go Loading commit data...
fpvar.go Loading commit data...
gcc68255.go Loading commit data...
helpers.go Loading commit data...
issue10303.go Loading commit data...
issue11925.go Loading commit data...
issue12030.go Loading commit data...
issue1222.go Loading commit data...
issue1328.go Loading commit data...
issue13402.go Loading commit data...
issue13930.go Loading commit data...
issue14838.go Loading commit data...
issue1560.go Loading commit data...
issue1635.go Loading commit data...
issue17065.go Loading commit data...
issue2462.go Loading commit data...
issue3250.go Loading commit data...
issue3250w.go Loading commit data...
issue3261.go Loading commit data...
issue3729.go Loading commit data...
issue3729w.go Loading commit data...
issue3741.go Loading commit data...
issue3775.go Loading commit data...
issue3945.go Loading commit data...
issue4029.c Loading commit data...
issue4029.go Loading commit data...
issue4029w.go Loading commit data...
issue4054a.go Loading commit data...
issue4054b.go Loading commit data...
issue4273.c Loading commit data...
issue4273b.c Loading commit data...
issue4339.c Loading commit data...
issue4339.go Loading commit data...
issue4339.h Loading commit data...
issue4417.go Loading commit data...
issue4857.go Loading commit data...
issue5227.go Loading commit data...
issue5242.go Loading commit data...
issue5337.go Loading commit data...
issue5337w.go Loading commit data...
issue5548.go Loading commit data...
issue5548_c.c Loading commit data...
issue5603.go Loading commit data...
issue5740.go Loading commit data...
issue5740a.c Loading commit data...
issue5740b.c Loading commit data...
issue5986.go Loading commit data...
issue6128.go Loading commit data...
issue6390.go Loading commit data...
issue6472.go Loading commit data...
issue6506.go Loading commit data...
issue6612.go Loading commit data...
issue6833.go Loading commit data...
issue6833_c.c Loading commit data...
issue6997_linux.c Loading commit data...
issue6997_linux.go Loading commit data...
issue7234_test.go Loading commit data...
issue7560.go Loading commit data...
issue7665.go Loading commit data...
issue7786.go Loading commit data...
issue7978.go Loading commit data...
issue8092.go Loading commit data...
issue8148.go Loading commit data...
issue8331.h Loading commit data...
issue8331a.go Loading commit data...
issue8331b.go Loading commit data...
issue8428.go Loading commit data...
issue8441.go Loading commit data...
issue8517.go Loading commit data...
issue8517_windows.c Loading commit data...
issue8517_windows.go Loading commit data...
issue8694.go Loading commit data...
issue8756.go Loading commit data...
issue8811.c Loading commit data...
issue8811.go Loading commit data...
issue8828.go Loading commit data...
issue8945.go Loading commit data...
issue9026.go Loading commit data...
issue9400_linux.go Loading commit data...
issue9510.go Loading commit data...
issue9557.go Loading commit data...
setgid_linux.go Loading commit data...
sigaltstack.go Loading commit data...
sigprocmask.c Loading commit data...
sigprocmask.go Loading commit data...