Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/compile: escape analysis doesn't work for the function which has leaking params, level < 0 #17458

Closed
hirochachacha opened this issue Oct 16, 2016 · 1 comment

Comments

@hirochachacha
Copy link
Contributor

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")

    NewA(b)
}

type A struct {
    b []byte
}

func NewA(b []byte) *A {
    return &A{b}
}

$ go build -gcflags "-m -l" z.go

What did you expect to see?

./z.go:4: main ([]byte)("test") does not escape

What did you see instead?

./z.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-build855186748=/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
@hirochachacha
Copy link
Contributor Author

I misunderstood the problem.

@golang golang locked and limited conversation to collaborators Oct 16, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants