Please answer these questions before submitting your issue. Thanks!
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/mateusz.gajewski/Desktop/Projects/"
GORACE=""
GOROOT="/usr/local/Cellar/go/HEAD-eb15cf1/libexec"
GOTOOLDIR="/usr/local/Cellar/go/HEAD-eb15cf1/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/43/1y0rrqr55zq3f8cj5wpkt1kmhc7r33/T/go-build002271164=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
This is minimal example I've been able to create to reproduce this error (works in go 1.7.3):
package main
import "fmt"
func main() {
_, x := X()
fmt.Printf("x = %v\n", x)
}
func X() (i int, ok bool) {
ii := int(1)
return ii, 0 <= ii && ii <= 0x7fffffff
}
./main.go:11: internal compiler error: got untyped bool for autotmp_7
goroutine 1 [running]:
runtime/debug.Stack(0x0, 0x0, 0x0)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/runtime/debug/stack.go:24 +0x79
cmd/compile/internal/gc.Fatalf(0x644878, 0xd, 0xc42039b580, 0x2, 0x2)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/subr.go:165 +0x226
cmd/compile/internal/gc.typecheckdef(0xc420408b40, 0xc420097140)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/typecheck.go:3779 +0x3e6
cmd/compile/internal/gc.typecheck1(0xc420408b40, 0x22, 0x0)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/typecheck.go:266 +0xca51
cmd/compile/internal/gc.typecheck(0xc420408b40, 0x22, 0xc42039c558)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/typecheck.go:188 +0x602
cmd/compile/internal/gc.typecheckas(0xc420408bd0)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/typecheck.go:3253 +0x78
cmd/compile/internal/gc.typecheck1(0xc420408bd0, 0x1, 0x690898)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/typecheck.go:1963 +0x37ce
cmd/compile/internal/gc.typecheck(0xc420408bd0, 0x1, 0xc420408a20)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/typecheck.go:188 +0x602
cmd/compile/internal/gc.copyexpr(0xc420408a20, 0xc420096840, 0xc42038db10, 0x10)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/subr.go:1336 +0x68
cmd/compile/internal/gc.cheapexpr(0xc420408a20, 0xc42038db10, 0x10)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/subr.go:1350 +0x5d
cmd/compile/internal/gc.safeexpr(0xc420408a20, 0xc42038db10, 0xc42038d0e0)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/subr.go:1330 +0x1fd
cmd/compile/internal/gc.walkexprlistsafe(0xc42007cef0, 0x2, 0x2, 0xc42038db10)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/walk.go:401 +0x56
cmd/compile/internal/gc.walkstmt(0xc42038db00, 0xc42038d9e0)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/walk.go:337 +0x478
cmd/compile/internal/gc.walkstmtlist(0xc420385f80, 0x5, 0x8)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/walk.go:80 +0x44
cmd/compile/internal/gc.walk(0xc42038cbd0)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/walk.go:65 +0x1c0
cmd/compile/internal/gc.compile(0xc42038cbd0)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/pgen.go:347 +0x1c5
cmd/compile/internal/gc.funccompile(0xc42038cbd0)
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/dcl.go:1303 +0xdc
cmd/compile/internal/gc.Main()
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/internal/gc/main.go:476 +0x1f50
main.main()
/usr/local/Cellar/go/HEAD-eb15cf1/libexec/src/cmd/compile/main.go:47 +0x15d
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (
go version)?go version devel +eb15cf1 Sat Oct 22 01:23:14 2016 +0000 darwin/amd64What operating system and processor architecture are you using (
go env)?What did you do?
This is minimal example I've been able to create to reproduce this error (works in go 1.7.3):
What did you expect to see?
What did you see instead?
Works with:
return ii, bool(0 <= ii && ii <= 0x7fffffff)func X() (int, bool)