llgoi: Fix type identity for imported binary packages.
authorPeter Collingbourne <peter@pcc.me.uk>
Wed, 18 Mar 2015 08:34:40 +0000 (08:34 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Wed, 18 Mar 2015 08:34:40 +0000 (08:34 +0000)
commit38a7dde1c5dfcbb69f90ee961e6b2583f0928257
treeb7ee995477c2d77f4400395eb0e56de1568c9fcd
parentd8dee1f54bfa6cc71806e2f960cd7a1fe4768a75
llgoi: Fix type identity for imported binary packages.

go/loader creates a fresh package map for each source package it imports. In
llgoi this caused binary imported packages to be imported anew for every input
line, resulting in spurious type errors and panics in go/ssa when encountering
previously imported types. Fix this by setting types.Config.Packages to our
internal package map.

Differential Revision: http://reviews.llvm.org/D8409

llvm-svn: 232617
llgo/cmd/llgoi/llgoi.go
llgo/irgen/compiler.go
llgo/test/llgoi/import-source.test