tools/cmd/stringer: fake import C.
Avoid error "could not import C (can't find import: C)" Fixes golang/go#9169. LGTM=adonovan, r R=golang-codereviews, adonovan, r CC=golang-codereviews https://golang.org/cl/184730043
This commit is contained in:
parent
354b6ccbcc
commit
806f1dbf43
|
|
@ -261,7 +261,7 @@ func (g *Generator) parsePackage(directory string, names []string, text interfac
|
||||||
// check type-checks the package. The package must be OK to proceed.
|
// check type-checks the package. The package must be OK to proceed.
|
||||||
func (pkg *Package) check(fs *token.FileSet, astFiles []*ast.File) {
|
func (pkg *Package) check(fs *token.FileSet, astFiles []*ast.File) {
|
||||||
pkg.defs = make(map[*ast.Ident]types.Object)
|
pkg.defs = make(map[*ast.Ident]types.Object)
|
||||||
var config types.Config
|
config := types.Config{FakeImportC: true}
|
||||||
info := &types.Info{
|
info := &types.Info{
|
||||||
Defs: pkg.defs,
|
Defs: pkg.defs,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
// Copyright 2014 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
// Import "C" shouldn't be imported.
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
/*
|
||||||
|
#define HELLO 1
|
||||||
|
*/
|
||||||
|
import "C"
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
type Cgo uint32
|
||||||
|
|
||||||
|
const (
|
||||||
|
// MustScanSubDirs indicates that events were coalesced hierarchically.
|
||||||
|
MustScanSubDirs Cgo = 1 << iota
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
_ = C.HELLO
|
||||||
|
ck(MustScanSubDirs, "MustScanSubDirs")
|
||||||
|
}
|
||||||
|
|
||||||
|
func ck(day Cgo, str string) {
|
||||||
|
if fmt.Sprint(day) != str {
|
||||||
|
panic("cgo.go: " + str)
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue