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>
diff --git a/src/cmd/go/pkg.go b/src/cmd/go/pkg.go
index b71feb7..23154f9 100644
--- a/src/cmd/go/pkg.go
+++ b/src/cmd/go/pkg.go
@@ -629,9 +629,8 @@
}
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, " ")),