gccgo internal compiler errors
Tim Penhey
tim.penhey at canonical.com
Thu Aug 28 22:48:54 UTC 2014
Hi folks,
I spent some time this morning looking at
https://bugs.launchpad.net/juju-core/+bug/1362636
A critical regression that was breaking CI on power.
There is a bug in gccgo where we hit an internal compiler error when
comparing an interface to a concrete type that implements the interface
(as opposed to a pointer to the concrete type implementing the interface).
This impacts some of the names.Tag rework that is going on.
If you try to compare:
var tag names.Tag = names.NewMachineTag("1")
if names.NewUnitTag("1") == tag {
// BOOM!!!
}
This is entirely valid Go, and works fine with gc, but gccgo barfs horribly.
My fix is here: https://github.com/juju/juju/pull/633
This is just a warning.
Remember folks that we need to support gccgo still (for at least another
year until we have power and arm64 using gc).
You can test locally by doing this:
go test -compiler gccgo
If you install the gccgo packages, which I don't remember, but hopefully
someone will follow up with.
Cheers,
Tim
More information about the Juju-dev
mailing list