]> git.ipfire.org Git - thirdparty/gcc.git/commit
escape: Avoid allocation of varargs parameter.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Oct 2016 03:51:03 +0000 (03:51 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Oct 2016 03:51:03 +0000 (03:51 +0000)
commit08c7f1a976308b1002ab9ee0531af976b8d9f7db
tree77833c482521ede307d11d30420a0d8a13b0d313
parentbb513366944d86180b099fd61c8f555282d528a7
escape: Avoid allocation of varargs parameter.

    There was a bug in the escape analysis that would cause
    the slice implicitly created to hold varargs parameters to always
    escape, as well as the appended to slice argument.  The intended
    behavior was that the elements of the appendee and appended to
    slice would escape to the heap.  Alongside of these issues,
    the varargs slice would also have a chance to be initialized to an
    invalid memory location if it were stack-allocated.  This has been
    fixed as well.

    Reviewed-on: https://go-review.googlesource.com/30450

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240826 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/escape.cc