From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x835.google.com (mail-qt1-x835.google.com [IPv6:2607:f8b0:4864:20::835]) by sourceware.org (Postfix) with ESMTPS id E5C883857810 for ; Tue, 25 Oct 2022 20:16:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E5C883857810 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=acm.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qt1-x835.google.com with SMTP id cr19so8451778qtb.0 for ; Tue, 25 Oct 2022 13:16:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:sender:from:to:cc:subject:date:message-id:reply-to; bh=1fxEhcneJjMBTg+E3RF7nPCfWEB16oCd3Fy8y169+Is=; b=OWAWRIerIGXZjS4pjXTpBxYIkTYIFHWNhZw7N56rDdbUw2bKONvspwIBytuv+pFjSh uPsx2ScgVXPHVJ2qN5iiXzCguogW1Wzl1bQJ6hupzZVNIWGZ9LBQS4wM+IZSLZk/HPLD 4Aars4mPkeYvCinAwgtGLHFHcS35nV7nPnlfy1eM1GrCWhFFFHH5tqZLNbtYdUx6++IS eIJAuSnh26YE09jeUjejK4tQ+hH3Q0lkVXCmKr55gLwoM/noTfU2DRwuPVP6tcN49y4y 1lHqrO/Nl7jJX1SP206cDwZCkO1I65Mj01/2fcwWLiWM9f8GX60Mv8i5yFmLMyNgNiyu JiXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:sender:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=1fxEhcneJjMBTg+E3RF7nPCfWEB16oCd3Fy8y169+Is=; b=HDVOY5L9tdUnV1REv3Q+n0gFtWp4DVG+oupx17VadqH/cYFNCsfxrxa543wWykNaBs hjp4mDBEk0w6apIFDNwY1NptE2KOr7jaxaOX/JaE1sE7R/k7erxtBiRD+DIpUdy6b6c5 ODuxxdz2Tdiw62jVr+xyLpBnw32tvBjQM4r0/QdL4vSPrvLHO31MWj2WXOcz2Ghgy70I OixnHWjN/AOnQTlsbzpwZzyW/hANQjELWdVimsuYOecsfHucbJW7xF46jywadlfRFGPE VHAv7hJNW3O6XgkyikssI3dTeY8LnxjEGueE2f+Ogm9tQzRhup/+sF6aXdTqRx44jOEL uq6Q== X-Gm-Message-State: ACrzQf2sITII/1GHdSO+pZBkoW2rApKbOXa7ctmAePq/cxt1UtXa5c7w 5+uwBfKwOBenz5STED+pWhm7+Mkdspwhsg== X-Google-Smtp-Source: AMsMyM5y54t5IWcrttT/9OOJtIATacAyjKaqaDJBgzT2WtAxCJlekDhi3Hp87+JitJOMAUb3pt1GcA== X-Received: by 2002:a05:622a:118a:b0:39c:f55e:2d70 with SMTP id m10-20020a05622a118a00b0039cf55e2d70mr33954113qtk.471.1666728972326; Tue, 25 Oct 2022 13:16:12 -0700 (PDT) Received: from ?IPV6:2601:19c:527f:bfd0::5? ([2601:19c:527f:bfd0::5]) by smtp.googlemail.com with ESMTPSA id h5-20020a05620a284500b006ecb3694163sm2623008qkp.95.2022.10.25.13.16.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 25 Oct 2022 13:16:11 -0700 (PDT) Sender: Nathan Sidwell Content-Type: multipart/mixed; boundary="------------sKNk2UduhaTYaG29XTlA935h" Message-ID: Date: Tue, 25 Oct 2022 16:16:11 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Content-Language: en-US To: GCC Patches Cc: Jason Merrill From: Nathan Sidwell Subject: c++: Adjust synthetic template parm creation X-Spam-Status: No, score=-3039.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------sKNk2UduhaTYaG29XTlA935h Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit We intend to mark synthetic template parameters (coming from use of auto parms), as DECL_VIRTUAL_P. The API of process_template_parm is awkwardly confusing, and we were marking the previous template parm (unless this was the first parm). process_template_parm returns the list of parms, when most (all?) users really want the newly-added final node. That's a bigger change, so let's not do it right now. With this, we correctly mark such synthetic parms DECL_VIRTUAL_P. I fell over this trying to update template lambda mangling. The API of process_template_parm is somewhat awkaward, as it returns the whole list, and we end up doing a lot of tree_last calls, to get to the newly added node. I think all (or nearly all?) uses could be adapted to it returning the newly added list node, but I didn't want to go there right now. nathan -- Nathan Sidwell --------------sKNk2UduhaTYaG29XTlA935h Content-Type: text/x-patch; charset=UTF-8; name="0001-c-Adjust-synthetic-template-parm-creation.patch" Content-Disposition: attachment; filename="0001-c-Adjust-synthetic-template-parm-creation.patch" Content-Transfer-Encoding: base64 RnJvbSA0M2U2NTRhZmViYTQ4NGQ3NWZiZWUwODAyNjJhMDM4YzFkYTAwYWQ1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gU2lkd2VsbCA8bmF0aGFuQGFjbS5vcmc+ CkRhdGU6IFR1ZSwgMjUgT2N0IDIwMjIgMDk6Mzk6MDAgLTA0MDAKU3ViamVjdDogW1BBVENI XSBjKys6IEFkanVzdCBzeW50aGV0aWMgdGVtcGxhdGUgcGFybSBjcmVhdGlvbgoKV2UgaW50 ZW5kIHRvIG1hcmsgc3ludGhldGljIHRlbXBsYXRlIHBhcmFtZXRlcnMgKGNvbWluZyBmcm9t IHVzZSBvZiBhdXRvCnBhcm1zKSwgYXMgREVDTF9WSVJUVUFMX1AuICBUaGUgQVBJIG9mIHBy b2Nlc3NfdGVtcGxhdGVfcGFybSBpcwphd2t3YXJkbHkgY29uZnVzaW5nLCBhbmQgd2Ugd2Vy ZSBtYXJraW5nIHRoZSBwcmV2aW91cyB0ZW1wbGF0ZSBwYXJtCih1bmxlc3MgdGhpcyB3YXMg dGhlIGZpcnN0IHBhcm0pLiAgcHJvY2Vzc190ZW1wbGF0ZV9wYXJtIHJldHVybnMgdGhlIGxp c3QKb2YgcGFybXMsIHdoZW4gbW9zdCAoYWxsPykgdXNlcnMgcmVhbGx5IHdhbnQgdGhlIG5l d2x5LWFkZGVkIGZpbmFsIG5vZGUuClRoYXQncyBhIGJpZ2dlciBjaGFuZ2UsIHNvIGxldCdz IG5vdCBkbyBpdCByaWdodCBub3cuICBXaXRoIHRoaXMsIHdlCmNvcnJlY3RseSBtYXJrIHN1 Y2ggc3ludGhldGljIHBhcm1zIERFQ0xfVklSVFVBTF9QLgoKCWdjYy9jcC8KCSogcGFyc2Vy LmNjIChzeW50aGVzaXplX2ltcGxpY2l0X3RlbXBsYXRlX3Bhcm0pOiBGaXggdGhpbmtvIGFi b3V0CgltYXJrIHRoZSBuZXcgcGFybSBERUNMX1ZJUlRVQUxfUC4gIEF2b2lkIHVubmVjY2Vz c2FyeSB0cmVlX2xhc3QgY2FsbC4KLS0tCiBnY2MvY3AvcGFyc2VyLmNjIHwgMjYgKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCsp LCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nY2MvY3AvcGFyc2VyLmNjIGIvZ2Nj L2NwL3BhcnNlci5jYwppbmRleCBhMzljNWYwZDI0Yi4uZTY4NWYxOTBiM2QgMTAwNjQ0Ci0t LSBhL2djYy9jcC9wYXJzZXIuY2MKKysrIGIvZ2NjL2NwL3BhcnNlci5jYwpAQCAtNDg5OTYs MTIgKzQ4OTk2LDExIEBAIHN5bnRoZXNpemVfaW1wbGljaXRfdGVtcGxhdGVfcGFybSAgKGNw X3BhcnNlciAqcGFyc2VyLCB0cmVlIGNvbnN0cikKIAogICB0cmVlIHByb3RvID0gY29uc3Ry ID8gREVDTF9JTklUSUFMIChjb25zdHIpIDogTlVMTF9UUkVFOwogICB0cmVlIHN5bnRoX2lk ID0gbWFrZV9nZW5lcmljX3R5cGVfbmFtZSAoKTsKLSAgdHJlZSBzeW50aF90bXBsX3Bhcm07 CiAgIGJvb2wgbm9uX3R5cGUgPSBmYWxzZTsKIAogICAvKiBTeW50aGVzaXplIHRoZSB0eXBl IHRlbXBsYXRlIHBhcmFtZXRlci4gICovCiAgIGdjY19hc3NlcnQoIXByb3RvIHx8IFRSRUVf Q09ERSAocHJvdG8pID09IFRZUEVfREVDTCk7Ci0gIHN5bnRoX3RtcGxfcGFybSA9IGZpbmlz aF90ZW1wbGF0ZV90eXBlX3Bhcm0gKGNsYXNzX3R5cGVfbm9kZSwgc3ludGhfaWQpOworICB0 cmVlIHN5bnRoX3RtcGxfcGFybSA9IGZpbmlzaF90ZW1wbGF0ZV90eXBlX3Bhcm0gKGNsYXNz X3R5cGVfbm9kZSwgc3ludGhfaWQpOwogCiAgIGlmIChiZWNvbWVfdGVtcGxhdGUpCiAgICAg Y3VycmVudF90ZW1wbGF0ZV9wYXJtcyA9IHRyZWVfY29ucyAoc2l6ZV9pbnQgKGN1cnJlbnRf dGVtcGxhdGVfZGVwdGggKyAxKSwKQEAgLTQ5MDE2LDIyICs0OTAxNSwyNyBAQCBzeW50aGVz aXplX2ltcGxpY2l0X3RlbXBsYXRlX3Bhcm0gIChjcF9wYXJzZXIgKnBhcnNlciwgdHJlZSBj b25zdHIpCiAJCQkgICAgIG5vZGUsCiAJCQkgICAgIC8qbm9uX3R5cGU9Ki9ub25fdHlwZSwK IAkJCSAgICAgLypwYXJhbV9wYWNrPSovZmFsc2UpOworICAvLyBQcm9jZXNzX3RlbXBsYXRl X3Bhcm0gcmV0dXJucyB0aGUgbGlzdCBvZiBwYXJtcywgYW5kCisgIC8vIHBhcnNlci0+aW1w bGljaXRfdGVtcGxhdGVfcGFybXMgaG9sZHMgdGhlIGZpbmFsIG5vZGUgb2YgdGhlIHBhcm0K KyAgLy8gbGlzdC4gIFdlIHJlYWxseSB3YW50IHRvIG1hbmlwdWxhdGUgdGhlIG5ld2x5IGFw cGVuZGVkIGVsZW1lbnQuCisgIGdjY19jaGVja2luZ19hc3NlcnQgKCFwYXJzZXItPmltcGxp Y2l0X3RlbXBsYXRlX3Bhcm1zCisJCSAgICAgICB8fCBwYXJzZXItPmltcGxpY2l0X3RlbXBs YXRlX3Bhcm1zID09IG5ld19wYXJtKTsKKyAgaWYgKHBhcnNlci0+aW1wbGljaXRfdGVtcGxh dGVfcGFybXMpCisgICAgbmV3X3Bhcm0gPSBUUkVFX0NIQUlOIChuZXdfcGFybSk7CisgIGdj Y19jaGVja2luZ19hc3NlcnQgKCFUUkVFX0NIQUlOIChuZXdfcGFybSkpOworCisgIC8vIFJl Y29yZCB0aGUgbGFzdCBpbXBsaWNpdCBwYXJtIG5vZGUKKyAgcGFyc2VyLT5pbXBsaWNpdF90 ZW1wbGF0ZV9wYXJtcyA9IG5ld19wYXJtOwogCiAgIC8qIE1hcmsgdGhlIHN5bnRoZXRpYyBk ZWNsYXJhdGlvbiAidmlydHVhbCIuIFRoaXMgaXMgdXNlZCB3aGVuCiAgICAgIGNvbXBhcmlu ZyB0ZW1wbGF0ZS1oZWFkcyB0byBkZXRlcm1pbmUgaWYgd2hldGhlciBhbiBhYmJyZXZpYXRl ZAogICAgICBmdW5jdGlvbiB0ZW1wbGF0ZSBpcyBlcXVpdmFsZW50IHRvIGFuIGV4cGxpY2l0 IHRlbXBsYXRlLgogCi0gICAgIE5vdGUgdGhhdCBERUNMX0FSVElGSUNJQUwgaXMgdXNlZCBl bHNld2hlcmUgZm9yIHRlbXBsYXRlIHBhcmFtZXRlcnMuICAqLworICAgICBOb3RlIHRoYXQg REVDTF9BUlRJRklDSUFMIGlzIHVzZWQgZWxzZXdoZXJlIGZvciB0ZW1wbGF0ZQorICAgICBw YXJhbWV0ZXJzLiAgKi8KICAgaWYgKFRSRUVfVkFMVUUgKG5ld19wYXJtKSAhPSBlcnJvcl9t YXJrX25vZGUpCiAgICAgREVDTF9WSVJUVUFMX1AgKFRSRUVfVkFMVUUgKG5ld19wYXJtKSkg PSB0cnVlOwogCi0gIC8vIENoYWluIHRoZSBuZXcgcGFyYW1ldGVyIHRvIHRoZSBsaXN0IG9m IGltcGxpY2l0IHBhcmFtZXRlcnMuCi0gIGlmIChwYXJzZXItPmltcGxpY2l0X3RlbXBsYXRl X3Bhcm1zKQotICAgIHBhcnNlci0+aW1wbGljaXRfdGVtcGxhdGVfcGFybXMKLSAgICAgID0g VFJFRV9DSEFJTiAocGFyc2VyLT5pbXBsaWNpdF90ZW1wbGF0ZV9wYXJtcyk7Ci0gIGVsc2UK LSAgICBwYXJzZXItPmltcGxpY2l0X3RlbXBsYXRlX3Bhcm1zID0gbmV3X3Bhcm07Ci0KICAg dHJlZSBuZXdfZGVjbCA9IGdldF9sb2NhbF9kZWNscyAoKTsKICAgaWYgKG5vbl90eXBlKQog ICAgIC8qIFJldHVybiB0aGUgVEVNUExBVEVfUEFSTV9JTkRFWCwgbm90IHRoZSBQQVJNX0RF Q0wuICAqLwpAQCAtNDkwNTksNyArNDkwNjMsNyBAQCBzeW50aGVzaXplX2ltcGxpY2l0X3Rl bXBsYXRlX3Bhcm0gIChjcF9wYXJzZXIgKnBhcnNlciwgdHJlZSBjb25zdHIpCiAKICAgLyog SWYgdGhlIG5ldyBwYXJhbWV0ZXIgd2FzIGNvbnN0cmFpbmVkLCB3ZSBuZWVkIHRvIGFkZCB0 aGF0IHRvIHRoZQogICAgICBjb25zdHJhaW50cyBpbiB0aGUgdGVtcGxhdGUgcGFyYW1ldGVy IGxpc3QuICAqLwotICBpZiAodHJlZSByZXEgPSBURU1QTEFURV9QQVJNX0NPTlNUUkFJTlRT ICh0cmVlX2xhc3QgKG5ld19wYXJtKSkpCisgIGlmICh0cmVlIHJlcSA9IFRFTVBMQVRFX1BB Uk1fQ09OU1RSQUlOVFMgKG5ld19wYXJtKSkKICAgICB7CiAgICAgICB0cmVlIHJlcXMgPSBU RU1QTEFURV9QQVJNU19DT05TVFJBSU5UUyAoY3VycmVudF90ZW1wbGF0ZV9wYXJtcyk7CiAg ICAgICByZXFzID0gY29tYmluZV9jb25zdHJhaW50X2V4cHJlc3Npb25zIChyZXFzLCByZXEp OwotLSAKMi4zNy4zCgo= --------------sKNk2UduhaTYaG29XTlA935h--