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, " ")),