https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79122

            Bug ID: 79122
           Summary: go test -race reports import cycles with gccgo
           Product: gcc
           Version: 6.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: go
          Assignee: ian at airs dot com
          Reporter: aconway at redhat dot com
                CC: cmang at google dot com
  Target Milestone: ---

### What version of Go are you using (`go version`)?
go version go1.6.1 gccgo (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1) linux/amd64

### What operating system and processor architecture are you using (`go env`)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/aconway/go:/home/aconway/proton/proton-c/bindings/go"
GORACE=""
GOROOT="/usr/lib/golang"
GOTOOLDIR="/usr/libexec/gcc/x86_64-redhat-linux/6.3.1"
GO15VENDOREXPERIMENT="1"
CC="/usr/bin/gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="/usr/bin/g++"
CGO_ENABLED="1"

### What did you do?
Create a package "tmp" containing a single "tmp.go" source file with one line:
`package tmp`
go test -race tmp

### What did you expect to see?
go test -race tmp
?       tmp     [no test files]

### What did you see instead?
go test -race tmp
import cycle not allowed
package tmp
        imports runtime
        imports runtime/internal/atomic
        imports runtime/race
        imports syscall
        imports internal/race
        imports runtime/race

I do not have this  problem if I use golang's go compiler, only with gccgo. I
can see the problem on a real codebase, but the above reproducer shows it
doesn't require any actual code to exhibit the problem, in particular you don't
need `import "runtime"`. 

I have been seeing this problem since Go 1.4. I'm not sure whether it is a gcc
problem or a go tools problem, I am reporting on both sites.

Reply via email to