• Russ Cox's avatar
    cmd/cgo: given typedef struct S T, make C.T and C.struct_S interchangeable · 0782ee3a
    Russ Cox authored
    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
    0782ee3a
Name
Last commit
Last update
..
backdoor Loading commit data...
align.go Loading commit data...
api.go Loading commit data...
basic.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_test.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...
helpers.go Loading commit data...
issue1222.go Loading commit data...
issue1328.go Loading commit data...
issue1560.go Loading commit data...
issue1635.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.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...
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...
issue7695_test.go Loading commit data...
issue7786.go Loading commit data...
setgid_linux.go Loading commit data...
sleep_windows_386.go Loading commit data...