Please answer these questions before submitting your issue. Thanks!
What did you do?
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
package main
func main() {
b := []byte("test")
f := func(b []byte) {
}
f(b)
}
$ go build -gcflags "-m -l" c.go
What did you expect to see?
./c.go:4: main ([]byte)("test") does not escape
What did you see instead?
./c.go:4: ([]byte)("test") escapes to heap
Does this issue reproduce with the latest release (go1.7.1)?
System details
go version devel +be48aa3 Fri Oct 14 23:38:29 2016 +0000 darwin/amd64
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/hiro/.go"
GORACE=""
GOROOT="/Users/hiro/go"
GOTOOLDIR="/Users/hiro/go/pkg/tool/darwin_amd64"
TERM="dumb"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/wq/dwn8hs0x7njbzty9f68y61700000gn/T/go-build698687333=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
uname -v: Darwin Kernel Version 15.6.0: Mon Aug 29 20:21:34 PDT 2016; root:xnu-3248.60.11~1/RELEASE_X86_64
ProductName: Mac OS X
ProductVersion: 10.11.6
BuildVersion: 15G1004
lldb --version: lldb-360.1.50
gdb --version: GNU gdb (GDB) 7.11.1
Please answer these questions before submitting your issue. Thanks!
What did you do?
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
$ go build -gcflags "-m -l" c.go
What did you expect to see?
./c.go:4: main ([]byte)("test") does not escape
What did you see instead?
./c.go:4: ([]byte)("test") escapes to heap
Does this issue reproduce with the latest release (go1.7.1)?
System details