cmd/cgo: make _cgo_flags consistent across runs
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 14 Jun 2017 13:59:02 +0000 (13:59 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 14 Jun 2017 13:59:02 +0000 (13:59 +0000)
commitea9a08f5dfbab28de2eabfeb684b42c0615cd99d
tree6ce4306631e5e2799767b4aab2de1bd3f442eb58
parent1279f21fc520cc8c91ef4dd3a8938b7aa256d799
cmd/cgo: make _cgo_flags consistent across runs

    The go tool will pass -I objdir as one of the flags, where objdir is
    the temporary build directory. Remove that from _cgo_flags: we don't
    need it, and it will be different each time.

    Sort the flags to avoid the unpredictable map iteration order.

    This matters for gccgo because for a package that uses cgo, the go
    tool when building for gccgo will store the _cgo_flags file in the
    archive. That means that we want to generate identical _cgo_flags for
    every run.

    The test for this is the cmd/go testsuite, to follow in a future CL.

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

From-SVN: r249199
gcc/go/gofrontend/MERGE
libgo/go/cmd/cgo/gcc.go
libgo/go/cmd/cgo/out.go