1
0
mirror of https://github.com/golang/go synced 2024-11-26 15:06:52 -07:00

cmd/go: gc never permits C files; gccgo always does

Change-Id: I513665626ec0866f32036c26207dc234c17acea1
Reviewed-on: https://go-review.googlesource.com/1540
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Minux Ma <minux@golang.org>
This commit is contained in:
Ian Lance Taylor 2014-12-13 08:48:44 -08:00
parent a034e478a7
commit 24bf8f62be

View File

@ -629,9 +629,8 @@ func (p *Package) load(stk *importStack, bp *build.Package, err error) *Package
}
p.Target = p.target
// Check for C code compiled with Plan 9 C compiler.
// No longer allowed except in runtime and runtime/cgo, for now.
if len(p.CFiles) > 0 && !p.usesCgo() && (!p.Standard || p.ImportPath != "runtime") {
// The gc toolchain only permits C source files with cgo.
if len(p.CFiles) > 0 && !p.usesCgo() && buildContext.Compiler == "gc" {
p.Error = &PackageError{
ImportStack: stk.copy(),
Err: fmt.Sprintf("C source files not allowed when not using cgo: %s", strings.Join(p.CFiles, " ")),