// 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
