[Bug go/78763] go1: internal compiler error: in do_get_backend, at go/gofrontend/expressions.cc:8352

jdanek at redhat dot com gcc-bugzilla@gcc.gnu.org
Fri Dec 23 11:49:00 GMT 2016


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

Jiri Danek <jdanek at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #10 from Jiri Danek <jdanek at redhat dot com> ---
I am trying to compile qpid-proton with gcc snapshot (again in docker,
https://hub.docker.com/r/jdanekrh/nightly-gccgo-trunk-docker-image/) and as far
as I can tell, the go binding package does compile successfully. So I'd say
this bug is resolved.

What _does_ fail though is compilation of the go sample program which uses the
binding package. It is quite likely this is a bug in the build script which was
never before tested with gccgo.

FYI, the compilation error when compiling the sample program

make[2]: Entering directory '/qpid-proton/build'
/usr/bin/python /qpid-proton/proton-c/env.py --
GOPATH=/qpid-proton/proton-c/bindings/go
CGO_CFLAGS=-I/qpid-proton/proton-c/include\
-I/qpid-proton/build/proton-c/include CGO_LDFLAGS=-L/qpid-proton/build/proton-c
PN_INTEROP_DIR=/qpid-proton/tests/interop /usr/local/bin/go build -gccgoflags
-Wl,-rpath=/qpid-proton/build/proton-c -o
/qpid-proton/build/examples/go/electron/broker
/qpid-proton/examples/go/electron/broker.go
# command-line-arguments
../examples/go/electron/broker.go:30:9: error: import file '../util' not found
  "../util"
         ^
../examples/go/electron/broker.go:69:16: error: expected package
  queues    util.Queues           // A collection of queues.
                ^
../examples/go/electron/broker.go:79:8: error: expected package
  q util.Queue
        ^
../examples/go/electron/broker.go:57:14: error: reference to undefined name
'util'
   queues:    util.MakeQueues(*qsize),
              ^
../examples/go/electron/broker.go:97:4: error: reference to undefined name
'util'
    util.Debugf("Accept error: %v", err)
    ^
../examples/go/electron/broker.go:102:3: error: reference to undefined name
'util'
   util.Debugf("Accepted %v", c)
   ^
../examples/go/electron/broker.go:137:3: error: reference to undefined name
'util'
   util.Debugf("incoming: %v", in)
   ^
../examples/go/electron/broker.go:115:2: error: range clause must have array,
slice, string, map, or channel type
  for in := range c.connection.Incoming() {
  ^
../examples/go/electron/broker.go:139:2: error: reference to undefined name
'util'
  util.Debugf("incoming closed: %v", c.connection)
  ^
../examples/go/electron/broker.go:147:4: error: reference to undefined name
'util'
    util.Debugf("%v: received %v", receiver, util.FormatMessage(rm.Message))
    ^
../examples/go/electron/broker.go:147:45: error: reference to undefined name
'util'
    util.Debugf("%v: received %v", receiver, util.FormatMessage(rm.Message))
                                             ^
../examples/go/electron/broker.go:151:4: error: reference to undefined name
'util'
    util.Debugf("%v error: %v", receiver, err)
    ^
../examples/go/electron/broker.go:162:4: error: reference to undefined name
'util'
    util.Debugf("%v closed: %v", sender, sender.Error())
    ^
../examples/go/electron/broker.go:168:4: error: reference to undefined name
'util'
    util.Debugf("%v: sent %v", sender, util.FormatMessage(m))
    ^
../examples/go/electron/broker.go:168:39: error: reference to undefined name
'util'
    util.Debugf("%v: sent %v", sender, util.FormatMessage(m))
                                       ^
../examples/go/electron/broker.go:185:13: error: invalid type for make function
  sentMap := make(map[sentMessage]bool)
             ^
../examples/go/electron/broker.go:196:4: error: argument 1 must be a map
    delete(sentMap, sm)
    ^
../examples/go/electron/broker.go:199:5: error: reference to undefined name
'util'
     util.Debugf("message %v put back, status %v, error %v",
     ^
../examples/go/electron/broker.go:200:6: error: reference to undefined name
'util'
      util.FormatMessage(sm.m), outcome.Status, outcome.Error)
      ^
../examples/go/electron/broker.go:115:6: error: invalid type for range clause
  for in := range c.connection.Incoming() {
      ^
../examples/go/electron/broker.go:167:3: error: expected channel
   case m := <-q:
   ^
../examples/go/electron/broker.go:188:3: error: expected channel
   case sm, ok := <-b.sent: // A local sender records that it has sent a
message.
   ^
../examples/go/electron/broker.go:194:3: error: expected channel
   case outcome := <-b.acks: // The message outcome is available
   ^
../examples/go/electron/broker.go:167:15: error: expected channel
   case m := <-q:
               ^
../examples/go/electron/broker.go:188:21: error: expected channel
   case sm, ok := <-b.sent: // A local sender records that it has sent a
message.
                     ^
../examples/go/electron/broker.go:194:22: error: expected channel
   case outcome := <-b.acks: // The message outcome is available
                      ^
make[2]: *** [examples/go/CMakeFiles/go_example_electron_broker] Error 2
examples/go/CMakeFiles/go_example_electron_broker.dir/build.make:57: recipe for
target 'examples/go/CMakeFiles/go_example_electron_broker' failed


More information about the Gcc-bugs mailing list