mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-28 06:17:32 +00:00
llgoi: Fix importing source packages together with dependent binary packages.
Note that this means that llgoi does not support the case where a package's pkgpath is different from its import path, but I don't think this should actually happen with llgoi. Differential Revision: http://reviews.llvm.org/D8403 llvm-svn: 232612
This commit is contained in:
parent
28aae9c29b
commit
6092d2c065
@ -102,6 +102,9 @@ func (in *interp) makeCompilerOptions() error {
|
||||
if pkg, ok := in.inputPkgmap[pkgpath]; ok {
|
||||
return pkg, nil
|
||||
}
|
||||
if pkg, ok := pkgmap[pkgpath]; ok && pkg.Complete() {
|
||||
return pkg, nil
|
||||
}
|
||||
return origImporter(pkgmap, pkgpath)
|
||||
}
|
||||
return nil
|
||||
|
@ -1,5 +1,8 @@
|
||||
package bar
|
||||
|
||||
import "strconv"
|
||||
|
||||
func Answer() int {
|
||||
return 42
|
||||
n, _ := strconv.Atoi("42")
|
||||
return n
|
||||
}
|
||||
|
@ -7,8 +7,14 @@ import "foo"
|
||||
// CHECK: # bar
|
||||
// CHECK: # foo
|
||||
|
||||
// Test that importing binary after source works.
|
||||
import "strconv"
|
||||
|
||||
foo.Answer()
|
||||
// CHECK: #0 int = 42
|
||||
|
||||
strconv.FormatBool(true)
|
||||
// CHECK: #0 string = true
|
||||
|
||||
import "foo_cgo"
|
||||
// CHECK: foo_cgo: cannot load cgo package
|
||||
|
14
llgo/test/llgoi/import-source2.test
Normal file
14
llgo/test/llgoi/import-source2.test
Normal file
@ -0,0 +1,14 @@
|
||||
// RUN: env GOPATH=%S/Inputs llgoi < %s | FileCheck %s
|
||||
|
||||
// Test that importing binary before source works.
|
||||
import "strconv"
|
||||
|
||||
import "foo"
|
||||
// CHECK: # bar
|
||||
// CHECK: # foo
|
||||
|
||||
foo.Answer()
|
||||
// CHECK: #0 int = 42
|
||||
|
||||
strconv.FormatBool(true)
|
||||
// CHECK: #0 string = true
|
Loading…
x
Reference in New Issue
Block a user