• Ian Lance Taylor's avatar
    test: add test case that gccgo failed to link · 02f56bfb
    Ian Lance Taylor authored
    Gccgo creates a struct to hold the arguments for the deferred
    function.  In this example the struct holds a type defined in a
    different package.  The bug was that gccgo tried to create an equality
    function for this struct, and it implemented that function by calling
    the equality function for the type defined in the other package.
    Since that type is not exported, the reference to the equality
    function failed at link time.  Normally it is impossible for a struct
    to directly contain a member that is an unexported type from another
    package, but in this specific case it was possible.  Fixed in gccgo
    with https://codereview.appspot.com/183500043 .
    
    Change-Id: I8ec3a33631225b9ac2a4ac060cb4d10b4635e60b
    Reviewed-on: https://go-review.googlesource.com/1690Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
    Reviewed-by: 's avatarMinux Ma <minux@golang.org>
    02f56bfb
a.go 248 Bytes