From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8235 invoked by alias); 29 Apr 2015 22:14:43 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 8220 invoked by uid 89); 29 Apr 2015 22:14:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qg0-f51.google.com Received: from mail-qg0-f51.google.com (HELO mail-qg0-f51.google.com) (209.85.192.51) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 29 Apr 2015 22:14:41 +0000 Received: by qgeb100 with SMTP id b100so17643575qge.3 for ; Wed, 29 Apr 2015 15:14:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=Zpdz5u//ORQZ3rlKnvpLLSsWnbIF9u40h1ONOUIVXlg=; b=AWupY46szrvZ1mw9Quf9nTH74UxsIJJFHCozFv+DJx/bv3UmRRvaOOsms+99FswPdu WIpMxvLlHlwJmFv4Iz4eE1Ro3M41rTW3bN+hhOR7WsPVpBVcdOVrnixyrd96D9pTZ/IM 6AUBLLlscyKnulR5amYqAerf+w6DY3c4w7WxW2cPxE5bz4OcC2WI/IYKgQFkGF9qKuG5 b++5jZR25aH6VlcwDX1Nmqr5yzW5A8A3UYsbaQ3HnY0uOgLuhZtdBTVlv4aT/0rQRUnj i+Sj3k/fOqFWCom4iy9gCF8Zakueb12062VLLe9NOGm5utFZ0y1rhvQUeD3LxOHllirN 3b6g== X-Gm-Message-State: ALoCoQlZWcRJrD8Z++SPFgU2r1gMLg59sRN7mjYqPIQ+ANW24ReSTruCwPZWyfZXETzjyzyi+rEw MIME-Version: 1.0 X-Received: by 10.229.114.7 with SMTP id c7mr1543018qcq.14.1430345679070; Wed, 29 Apr 2015 15:14:39 -0700 (PDT) Received: by 10.96.150.99 with HTTP; Wed, 29 Apr 2015 15:14:38 -0700 (PDT) Date: Wed, 29 Apr 2015 22:29:00 -0000 Message-ID: Subject: Go patch committed: Propagate escape info from closures to enclosed variables From: Ian Lance Taylor To: gcc-patches , "gofrontend-dev@googlegroups.com" Content-Type: multipart/mixed; boundary=001a1133dc061ba5d20514e44e5e X-SW-Source: 2015-04/txt/msg01942.txt.bz2 --001a1133dc061ba5d20514e44e5e Content-Type: text/plain; charset=UTF-8 Content-length: 239 This patch from Chris Manghane fixes the Go frontend to propagate escape information from closures to the enclosed variables to which they refer. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian --001a1133dc061ba5d20514e44e5e Content-Type: text/plain; charset=US-ASCII; name="foo.txt" Content-Disposition: attachment; filename="foo.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i93aoovc0 Content-length: 4201 ZGlmZiAtciAwMDEwZWYxNjU0NzkgZ28vZXNjYXBlLmNjCi0tLSBhL2dvL2Vz Y2FwZS5jYwlXZWQgQXByIDI5IDE0OjI4OjMwIDIwMTUgLTA3MDAKKysrIGIv Z28vZXNjYXBlLmNjCVdlZCBBcHIgMjkgMTU6MDc6NDcgMjAxNSAtMDcwMApA QCAtMTI3Niw4ICsxMjc2LDIyIEBACiAgICAgICBOb2RlKiBtID0gd29ya2xp c3QuZnJvbnQoKTsKICAgICAgIHdvcmtsaXN0LnBvcF9mcm9udCgpOwogCi0g ICAgICBmb3IgKHN0ZDo6c2V0PE5vZGUqPjo6aXRlcmF0b3IgbiA9IG0tPmVk Z2VzKCkuYmVnaW4oKTsKLQkgICBuICE9IG0tPmVkZ2VzKCkuZW5kKCk7Cisg ICAgICBzdGQ6OnNldDxOb2RlKj4gcmVhY2hhYmxlID0gbS0+ZWRnZXMoKTsK KyAgICAgIGlmIChtLT5vYmplY3QoKS0+aXNfZnVuY3Rpb24oKQorCSAgJiYg bS0+b2JqZWN0KCktPmZ1bmNfdmFsdWUoKS0+bmVlZHNfY2xvc3VyZSgpKQor CXsKKwkgIC8vIElmIGEgY2xvc3VyZSBlc2NhcGVzIGV2ZXJ5dGhpbmcgaXQg Y2xvc2VzIG92ZXIgYWxzbyBlc2NhcGVzLgorCSAgRnVuY3Rpb24qIGNsb3N1 cmUgPSBtLT5vYmplY3QoKS0+ZnVuY192YWx1ZSgpOworCSAgZm9yIChzaXpl X3QgaSA9IDA7IGkgPCBjbG9zdXJlLT5jbG9zdXJlX2ZpZWxkX2NvdW50KCk7 IGkrKykKKwkgICAgeworCSAgICAgIE5hbWVkX29iamVjdCogZW5jbG9zZWQg PSBjbG9zdXJlLT5lbmNsb3NpbmdfdmFyKGkpOworCSAgICAgIE5vZGUqIGVu Y2xvc2VkX25vZGUgPSB0aGlzLT5sb29rdXBfY29ubmVjdGlvbl9ub2RlKGVu Y2xvc2VkKTsKKwkgICAgICBnb19hc3NlcnQoZW5jbG9zZWRfbm9kZSAhPSBO VUxMKTsKKwkgICAgICByZWFjaGFibGUuaW5zZXJ0KGVuY2xvc2VkX25vZGUp OworCSAgICB9CisJfQorICAgICAgZm9yIChzdGQ6OnNldDxOb2RlKj46Oml0 ZXJhdG9yIG4gPSByZWFjaGFibGUuYmVnaW4oKTsKKwkgICBuICE9IHJlYWNo YWJsZS5lbmQoKTsKIAkgICArK24pCiAJewogCSAgLy8gSWYgYW4gb2JqZWN0 IGNhbiBiZSByZWFjaGVkIGZyb20gYSBub2RlIHdpdGggRVNDQVBFX0dMT0JB TCwKQEAgLTEyOTYsNyArMTMxMCw3IEBACiAgICAgICAgcCAhPSB0aGlzLT5u YW1lZF9jb25uZWN0aW9uX25vZGVzXy5lbmQoKTsKICAgICAgICArK3ApCiAg ICAgewotICAgICAgaWYgKHAtPnNlY29uZC0+Y29ubmVjdGlvbl9ub2RlKCkt PmVzY2FwZV9zdGF0ZSgpID09IE5vZGU6OkVTQ0FQRV9BUkcpCisgICAgICBp ZiAocC0+c2Vjb25kLT5jb25uZWN0aW9uX25vZGUoKS0+ZXNjYXBlX3N0YXRl KCkgPCBOb2RlOjpFU0NBUEVfTk9ORSkKIAl3b3JrbGlzdC5wdXNoX2JhY2so cC0+c2Vjb25kKTsKICAgICB9CiAKQEAgLTEzMDUsMTUgKzEzMTksMzAgQEAK ICAgICAgIE5vZGUqIG0gPSB3b3JrbGlzdC5mcm9udCgpOwogICAgICAgd29y a2xpc3QucG9wX2Zyb250KCk7CiAKLSAgICAgIGZvciAoc3RkOjpzZXQ8Tm9k ZSo+OjppdGVyYXRvciBuID0gbS0+ZWRnZXMoKS5iZWdpbigpOwotCSAgIG4g IT0gbS0+ZWRnZXMoKS5lbmQoKTsKKyAgICAgIHN0ZDo6c2V0PE5vZGUqPiBy ZWFjaGFibGUgPSBtLT5lZGdlcygpOworICAgICAgaWYgKG0tPm9iamVjdCgp LT5pc19mdW5jdGlvbigpCisJICAmJiBtLT5vYmplY3QoKS0+ZnVuY192YWx1 ZSgpLT5uZWVkc19jbG9zdXJlKCkpCisJeworCSAgLy8gSWYgYSBjbG9zdXJl IGVzY2FwZXMgZXZlcnl0aGluZyBpdCBjbG9zZXMgb3ZlciBhbHNvIGVzY2Fw ZXMuCisJICBGdW5jdGlvbiogY2xvc3VyZSA9IG0tPm9iamVjdCgpLT5mdW5j X3ZhbHVlKCk7CisJICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNsb3N1cmUt PmNsb3N1cmVfZmllbGRfY291bnQoKTsgaSsrKQorCSAgICB7CisJICAgICAg TmFtZWRfb2JqZWN0KiBlbmNsb3NlZCA9IGNsb3N1cmUtPmVuY2xvc2luZ192 YXIoaSk7CisJICAgICAgTm9kZSogZW5jbG9zZWRfbm9kZSA9IHRoaXMtPmxv b2t1cF9jb25uZWN0aW9uX25vZGUoZW5jbG9zZWQpOworCSAgICAgIGdvX2Fz c2VydChlbmNsb3NlZF9ub2RlICE9IE5VTEwpOworCSAgICAgIHJlYWNoYWJs ZS5pbnNlcnQoZW5jbG9zZWRfbm9kZSk7CisJICAgIH0KKwl9CisgICAgICBm b3IgKHN0ZDo6c2V0PE5vZGUqPjo6aXRlcmF0b3IgbiA9IHJlYWNoYWJsZS5i ZWdpbigpOworCSAgIG4gIT0gcmVhY2hhYmxlLmVuZCgpOwogCSAgICsrbikK IAl7CiAJICAvLyBJZiBhbiBvYmplY3QgY2FuIGJlIHJlYWNoZWQgZnJvbSBh IG5vZGUgd2l0aCBFU0NBUEVfQVJHLAogCSAgLy8gaXQgaXMgRVNDQVBFX0FS RyBvciBFU0NBUEVfR0xPQkFMLgotCSAgaWYgKCgqbiktPmNvbm5lY3Rpb25f bm9kZSgpLT5lc2NhcGVfc3RhdGUoKSA+IE5vZGU6OkVTQ0FQRV9BUkcpCisJ ICBOb2RlOjpFc2NhcGVtZW50X2xhdHRpY2UgZSA9IG0tPmNvbm5lY3Rpb25f bm9kZSgpLT5lc2NhcGVfc3RhdGUoKTsKKwkgIGlmICgoKm4pLT5jb25uZWN0 aW9uX25vZGUoKS0+ZXNjYXBlX3N0YXRlKCkgPiBlKQogCSAgICB7Ci0JICAg ICAgKCpuKS0+Y29ubmVjdGlvbl9ub2RlKCktPnNldF9lc2NhcGVfc3RhdGUo Tm9kZTo6RVNDQVBFX0FSRyk7CisJICAgICAgKCpuKS0+Y29ubmVjdGlvbl9u b2RlKCktPnNldF9lc2NhcGVfc3RhdGUoZSk7CiAJICAgICAgd29ya2xpc3Qu cHVzaF9iYWNrKCpuKTsKIAkgICAgfQogCX0KZGlmZiAtciAwMDEwZWYxNjU0 NzkgZ28vZ29nby5oCi0tLSBhL2dvL2dvZ28uaAlXZWQgQXByIDI5IDE0OjI4 OjMwIDIwMTUgLTA3MDAKKysrIGIvZ28vZ29nby5oCVdlZCBBcHIgMjkgMTU6 MDc6NDcgMjAxNSAtMDcwMApAQCAtMTA0Miw2ICsxMDQyLDExIEBACiAgICAg dGhpcy0+aXNfdW5uYW1lZF90eXBlX3N0dWJfbWV0aG9kXyA9IHRydWU7CiAg IH0KIAorICAvLyBSZXR1cm4gdGhlIGFtb3VudCBvZiBlbmNsb3NlZCB2YXJp YWJsZXMgaW4gdGhpcyBjbG9zdXJlLgorICBzaXplX3QKKyAgY2xvc3VyZV9m aWVsZF9jb3VudCgpIGNvbnN0CisgIHsgcmV0dXJuIHRoaXMtPmNsb3N1cmVf ZmllbGRzXy5zaXplKCk7IH0KKwogICAvLyBBZGQgYSBuZXcgZmllbGQgdG8g dGhlIGNsb3N1cmUgdmFyaWFibGUuCiAgIHZvaWQKICAgYWRkX2Nsb3N1cmVf ZmllbGQoTmFtZWRfb2JqZWN0KiB2YXIsIExvY2F0aW9uIGxvYykK --001a1133dc061ba5d20514e44e5e--