compiler: don't export function descriptors for unexported names
authorIan Lance Taylor <ian@gcc.gnu.org>
Tue, 13 Feb 2018 21:15:41 +0000 (21:15 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 13 Feb 2018 21:15:41 +0000 (21:15 +0000)
commita2f5a78214edc4716e6f97b97fb7839a211e8ff7
treef5e4bbb1924e4046c38bbf624a3a029efd08be5f
parent4155fafc7f43234fc0c819a6f9c6ebaffc59e8cc
compiler: don't export function descriptors for unexported names

    They aren't needed, and could potentially cause unlikely symbol name
    collisions.  Also, the runtime package's reference to main could cause
    the runtime package to define main.main..f, which could also be
    defined in the main package if it does something like fmt.Print(main).
    That will normally work but will fail with a multiple symbol
    definition error when using -static-libgo.

    Reviewed-on: https://go-review.googlesource.com/93656

From-SVN: r257637
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/expressions.cc