From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 83272 invoked by alias); 7 Mar 2018 21:00:50 -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 83042 invoked by uid 89); 7 Mar 2018 21:00:34 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,TIME_LIMIT_EXCEEDED autolearn=unavailable version=3.3.2 spammy=VAR X-HELO: mail-io0-f172.google.com Received: from mail-io0-f172.google.com (HELO mail-io0-f172.google.com) (209.85.223.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 07 Mar 2018 21:00:19 +0000 Received: by mail-io0-f172.google.com with SMTP id e30so4606072ioc.3 for ; Wed, 07 Mar 2018 13:00:16 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=b6TTPsj+PgCp42jmf+zHs8AZ5T2/9MHG8NtYiSM9A8Y=; b=AT5tWAk69VckIeDsPuD1l4RKS9xF4JWv29oR1cG8GEPh1vxUXlbmclo/rlxh+Cgft+ E3Edfpw4nGXyN7YsW7/kdmtgk7vMkEcX9zltN1EBxhqeq4Hem4jCJuVwIZf8MBtil9M+ nClkHFS0VTsgLPunIDLahpIrHodg8CGTY+fdsZQ14kZowBl4bJveXj/41y6hW4zYIoSg s0ce1iCqgt7Y2ocW5SuvI4MpziT1ovXMdMIEWjPAIyLp1MI1hpwwivZmz0fURg4aB537 KBZmezPqwNgzNmPtn/qw4TGdFCmMxoOLN7K1Q/F+uerYvFJqa0MZejqeTV9jGC7Y+dWn 9b5Q== X-Gm-Message-State: APf1xPA5dueQGlw97s1sZkgIcxESn3UMesH7pc632N62Ab/oboP1cwoE XLWE9SNnWMse8T1q9JP+NuUHkUx0AmyD3qyiUUJqFnJl X-Google-Smtp-Source: AG47ELsE1qEPsh3E2n3TIBy1eLrMT9wpgot8n3QeVXqxETamwiwhc6OPNEESqGbB4WYver1bOUlAgWFzQgXChoiNTxw= X-Received: by 10.107.6.139 with SMTP id f11mr29210847ioi.23.1520456414081; Wed, 07 Mar 2018 13:00:14 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.30.9 with HTTP; Wed, 7 Mar 2018 12:59:53 -0800 (PST) In-Reply-To: References: From: Jason Merrill Date: Wed, 07 Mar 2018 21:00:00 -0000 Message-ID: Subject: Re: C++ PATCH for c++/84036, ICE with variadic lambda capture To: gcc-patches List Content-Type: multipart/mixed; boundary="001a113eeaea7575140566d8d849" X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00353.txt.bz2 --001a113eeaea7575140566d8d849 Content-Type: text/plain; charset="UTF-8" Content-length: 527 On Sun, Feb 11, 2018 at 8:21 PM, Jason Merrill wrote: > The old lambda model handled variadic capture by focusing on the > FIELD_DECL rather than trying to map between capture proxies. The new > model relies more on capture proxies, so it makes sense to use them > more for variadic capture as well. So with this patch we treat a > variadic capture proxy as a pack, rather than the field. Which makes the recently added is_capture_proxy_with_ref redundant. Tested x86_64-pc-linux-gnu, applying to trunk. --001a113eeaea7575140566d8d849 Content-Type: text/x-patch; charset="US-ASCII"; name="wref.diff" Content-Disposition: attachment; filename="wref.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jehkgp611 Content-length: 4909 Y29tbWl0IDRmNTkzNjdjYmI0ZmU4MmM2OGY5ZGYzMGU0OWFmOGEyYTE5ZGQ2 Y2YKQXV0aG9yOiBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPgpE YXRlOiAgIFR1ZSBNYXIgNiAxNzozMTo0NCAyMDE4IC0wNTAwCgogICAgICAg ICAgICAqIGxhbWJkYS5jIChpc19jYXB0dXJlX3Byb3h5X3dpdGhfcmVmKTog UmVtb3ZlLgogICAgCiAgICAgICAgICAgICogY29uc3RleHByLmMsIGV4cHIu YywgY3AtdHJlZS5oLCBzZW1hbnRpY3MuYzogQWRqdXN0LgoKZGlmZiAtLWdp dCBhL2djYy9jcC9jb25zdGV4cHIuYyBiL2djYy9jcC9jb25zdGV4cHIuYwpp bmRleCBiZDUzYmZiZmU0Ny4uMmM1YTcxZjNlZTUgMTAwNjQ0Ci0tLSBhL2dj Yy9jcC9jb25zdGV4cHIuYworKysgYi9nY2MvY3AvY29uc3RleHByLmMKQEAg LTU0MjksNyArNTQyOSw3IEBAIHBvdGVudGlhbF9jb25zdGFudF9leHByZXNz aW9uXzEgKHRyZWUgdCwgYm9vbCB3YW50X3J2YWwsIGJvb2wgc3RyaWN0LCBi b29sIG5vdywKICAgICBjYXNlIFZBUl9ERUNMOgogICAgICAgaWYgKERFQ0xf SEFTX1ZBTFVFX0VYUFJfUCAodCkpCiAJewotCSAgaWYgKG5vdyAmJiBpc19j YXB0dXJlX3Byb3h5X3dpdGhfcmVmICh0KSkKKwkgIGlmIChub3cgJiYgaXNf bm9ybWFsX2NhcHR1cmVfcHJveHkgKHQpKQogCSAgICB7CiAJICAgICAgLyog LS0gaW4gYSBsYW1iZGEtZXhwcmVzc2lvbiwgYSByZWZlcmVuY2UgdG8gdGhp cyBvciB0byBhCiAJCSB2YXJpYWJsZSB3aXRoIGF1dG9tYXRpYyBzdG9yYWdl IGR1cmF0aW9uIGRlZmluZWQgb3V0c2lkZSB0aGF0CmRpZmYgLS1naXQgYS9n Y2MvY3AvY3AtdHJlZS5oIGIvZ2NjL2NwL2NwLXRyZWUuaAppbmRleCA4ZjNl Yzg2ZThjZS4uM2E2ZjhmMzNlOGQgMTAwNjQ0Ci0tLSBhL2djYy9jcC9jcC10 cmVlLmgKKysrIGIvZ2NjL2NwL2NwLXRyZWUuaApAQCAtNjg5Niw3ICs2ODk2 LDYgQEAgZXh0ZXJuIHZvaWQgaW5zZXJ0X2NhcHR1cmVfcHJveHkJCSh0cmVl KTsKIGV4dGVybiB2b2lkIGluc2VydF9wZW5kaW5nX2NhcHR1cmVfcHJveGll cwkodm9pZCk7CiBleHRlcm4gYm9vbCBpc19jYXB0dXJlX3Byb3h5CQkJKHRy ZWUpOwogZXh0ZXJuIGJvb2wgaXNfbm9ybWFsX2NhcHR1cmVfcHJveHkgICAg ICAgICAgICAgKHRyZWUpOwotZXh0ZXJuIGJvb2wgaXNfY2FwdHVyZV9wcm94 eV93aXRoX3JlZiAgICAgICAgICAgKHRyZWUpOwogZXh0ZXJuIHZvaWQgcmVn aXN0ZXJfY2FwdHVyZV9tZW1iZXJzCQkodHJlZSk7CiBleHRlcm4gdHJlZSBs YW1iZGFfZXhwcl90aGlzX2NhcHR1cmUgICAgICAgICAgICAodHJlZSwgYm9v bCk7CiBleHRlcm4gdm9pZCBtYXliZV9nZW5lcmljX3RoaXNfY2FwdHVyZQkJ KHRyZWUsIHRyZWUpOwpkaWZmIC0tZ2l0IGEvZ2NjL2NwL2V4cHIuYyBiL2dj Yy9jcC9leHByLmMKaW5kZXggYjJjOGNmYWY4OGMuLjJlNjc5ODY4OTcwIDEw MDY0NAotLS0gYS9nY2MvY3AvZXhwci5jCisrKyBiL2djYy9jcC9leHByLmMK QEAgLTExMSw3ICsxMTEsNyBAQCBtYXJrX3VzZSAodHJlZSBleHByLCBib29s IHJ2YWx1ZV9wLCBib29sIHJlYWRfcCwKICAgICB7CiAgICAgY2FzZSBWQVJf REVDTDoKICAgICBjYXNlIFBBUk1fREVDTDoKLSAgICAgIGlmIChydmFsdWVf cCAmJiBpc19jYXB0dXJlX3Byb3h5X3dpdGhfcmVmIChleHByKSkKKyAgICAg IGlmIChydmFsdWVfcCAmJiBpc19ub3JtYWxfY2FwdHVyZV9wcm94eSAoZXhw cikpCiAJewogCSAgLyogTG9vayB0aHJvdWdoIGNhcHR1cmUgYnkgY29weS4g ICovCiAJICB0cmVlIGNhcCA9IERFQ0xfQ0FQVFVSRURfVkFSSUFCTEUgKGV4 cHIpOwpAQCAtMTU0LDcgKzE1NCw3IEBAIG1hcmtfdXNlICh0cmVlIGV4cHIs IGJvb2wgcnZhbHVlX3AsIGJvb2wgcmVhZF9wLAogCXsKIAkgIC8qIFRyeSB0 byBsb29rIHRocm91Z2ggdGhlIHJlZmVyZW5jZS4gICovCiAJICB0cmVlIHJl ZiA9IFRSRUVfT1BFUkFORCAoZXhwciwgMCk7Ci0JICBpZiAocnZhbHVlX3Ag JiYgaXNfY2FwdHVyZV9wcm94eV93aXRoX3JlZiAocmVmKSkKKwkgIGlmIChy dmFsdWVfcCAmJiBpc19ub3JtYWxfY2FwdHVyZV9wcm94eSAocmVmKSkKIAkg ICAgewogCSAgICAgIC8qIExvb2sgdGhyb3VnaCBjYXB0dXJlIGJ5IHJlZmVy ZW5jZS4gICovCiAJICAgICAgdHJlZSBjYXAgPSBERUNMX0NBUFRVUkVEX1ZB UklBQkxFIChyZWYpOwpkaWZmIC0tZ2l0IGEvZ2NjL2NwL2xhbWJkYS5jIGIv Z2NjL2NwL2xhbWJkYS5jCmluZGV4IDM0NWIyMTBlODljLi4wOTQ5NzllODFh MyAxMDA2NDQKLS0tIGEvZ2NjL2NwL2xhbWJkYS5jCisrKyBiL2djYy9jcC9s YW1iZGEuYwpAQCAtMjkxLDI0ICsyOTEsMTMgQEAgaXNfbm9ybWFsX2NhcHR1 cmVfcHJveHkgKHRyZWUgZGVjbCkKICAgcmV0dXJuIERFQ0xfTk9STUFMX0NB UFRVUkVfUCAodmFsKTsKIH0KIAotLyogUmV0dXJucyB0cnVlIGlmZiBERUNM IGlzIGEgY2FwdHVyZSBwcm94eSBmb3Igd2hpY2ggd2UgY2FuIHVzZQotICAg REVDTF9DQVBUVVJFRF9WQVJJQUJMRS4gIEluIGVmZmVjdCwgdGhpcyBpcyBh IG5vcm1hbCBwcm94eSBvdGhlciB0aGFuIGEKLSAgIG5lc3RlZCBjYXB0dXJl IG9mIGEgZnVuY3Rpb24gcGFyYW1ldGVyIHBhY2suICAqLwotCi1ib29sCi1p c19jYXB0dXJlX3Byb3h5X3dpdGhfcmVmICh0cmVlIHZhcikKLXsKLSAgcmV0 dXJuIChpc19ub3JtYWxfY2FwdHVyZV9wcm94eSAodmFyKSAmJiBERUNMX0xB TkdfU1BFQ0lGSUMgKHZhcikKLQkgICYmIERFQ0xfQ0FQVFVSRURfVkFSSUFC TEUgKHZhcikpOwotfQotCiAvKiBWQVIgaXMgYSBjYXB0dXJlIHByb3h5IGNy ZWF0ZWQgYnkgYnVpbGRfY2FwdHVyZV9wcm94eTsgYWRkIGl0IHRvIHRoZQog ICAgY3VycmVudCBmdW5jdGlvbiwgd2hpY2ggaXMgdGhlIG9wZXJhdG9yKCkg Zm9yIHRoZSBhcHByb3ByaWF0ZSBsYW1iZGEuICAqLwogCiB2b2lkCiBpbnNl cnRfY2FwdHVyZV9wcm94eSAodHJlZSB2YXIpCiB7Ci0gIGlmIChpc19jYXB0 dXJlX3Byb3h5X3dpdGhfcmVmICh2YXIpKQorICBpZiAoaXNfbm9ybWFsX2Nh cHR1cmVfcHJveHkgKHZhcikpCiAgICAgewogICAgICAgdHJlZSBjYXAgPSBE RUNMX0NBUFRVUkVEX1ZBUklBQkxFICh2YXIpOwogICAgICAgaWYgKENIRUNL SU5HX1ApCmRpZmYgLS1naXQgYS9nY2MvY3Avc2VtYW50aWNzLmMgYi9nY2Mv Y3Avc2VtYW50aWNzLmMKaW5kZXggOGEwMDk2ZGRmOTIuLmJiOGI1OTUzNTM5 IDEwMDY0NAotLS0gYS9nY2MvY3Avc2VtYW50aWNzLmMKKysrIGIvZ2NjL2Nw L3NlbWFudGljcy5jCkBAIC0zMzMyLDcgKzMzMzIsNyBAQCBwcm9jZXNzX291 dGVyX3Zhcl9yZWYgKHRyZWUgZGVjbCwgdHN1YnN0X2ZsYWdzX3QgY29tcGxh aW4sIGJvb2wgb2RyX3VzZSkKICAgICB7CiAgICAgICAvKiBDaGVjayB3aGV0 aGVyIHdlJ3ZlIGFscmVhZHkgYnVpbHQgYSBwcm94eS4gICovCiAgICAgICB0 cmVlIHZhciA9IGRlY2w7Ci0gICAgICB3aGlsZSAoaXNfY2FwdHVyZV9wcm94 eV93aXRoX3JlZiAodmFyKSkKKyAgICAgIHdoaWxlIChpc19ub3JtYWxfY2Fw dHVyZV9wcm94eSAodmFyKSkKIAl2YXIgPSBERUNMX0NBUFRVUkVEX1ZBUklB QkxFICh2YXIpOwogICAgICAgdHJlZSBkID0gcmV0cmlldmVfbG9jYWxfc3Bl Y2lhbGl6YXRpb24gKHZhcik7CiAK --001a113eeaea7575140566d8d849--