From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id E25263858401; Mon, 22 Apr 2024 16:45:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E25263858401 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E25263858401 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:142:3::10 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713804361; cv=none; b=DSDgU802k5aJKwayoavC1qil152wJKRKHlI0+HQRv+kk3A/Uy1rDFPq4AcGOL/fbZMa6mkAHskb+lkPZXlrwYc716p3AgD/IbvjG2lplcA7Y0necHRrZ7nwMibKuXspNfhqggIyH0GBJ/rTtLHNNXWYm2Hn1txNF4GFobAGtn4Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713804361; c=relaxed/simple; bh=hQXowJnz3w5mTXnN7x/d9F8P6T/xN/aSplOBQ7b2HXs=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=JHEggRR/UlkDFp5+wON6UtEQGWWKFtsWQSwh8XeZDGzqiEKsB8q0ZwqRKogLyT3+8AvoAp51nBfcx4X3yK1JU/ruj4bZ4zWWciPrLqiGreTEUu8nxcB8AUxFXXgXhlMemoBjKVFDmpWPSGDXWXkZrfGUtiux039fBO78h+uA/JU= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rytXR-0002l3-Vk; Mon, 22 Apr 2024 09:16:55 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-419fc79e4dcso10126005e9.1; Mon, 22 Apr 2024 06:16:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713791810; x=1714396610; darn=gcc.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=/mEt33SXYhBwF6KjY67PmY6yJ9sLdS3SXS5Y1aNXBwI=; b=F4ErYTfr03XUVhFBhi3Zt8mbkFs2WMs23Pf2EWFv1TUKPnB7ugR8lSlwcWE/2y34Em F8KKksiaXQUUG6tzWntYrANe5vY546vsw7qN8xYeCyVB+nCBeaRoqSZZlmQHEg9+5AZm DpTFLw79qms+ApnTLCYUfW8srvjk82/OUyxB1fUw5B/7p9xBAap30n+wUClaYelyoDME pUHRyXSJxckE+x9eroUFM6NzKCVJdDtr32gJ3Xsl0J1LkItdt3QfjTlSLfrn2Kkf20Ep 7PibEiq15eaHrx3ykoSFysOaTllhAIuLltqp6bmXhMMiVpM87Tmw58qtzH8Gd4Weg1Q3 ym9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713791810; x=1714396610; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/mEt33SXYhBwF6KjY67PmY6yJ9sLdS3SXS5Y1aNXBwI=; b=MhSBO3Rek8VMH0CcXrB4ZJySdLz+bFGf2ssysx+v8DRsss8xSYuKK/Ttwqdp1HioHG DfPcE9pIjudzw1FipPURc8ptDruhUlCu4y9rzMHPWPENlr2liX6z6E1j2zMBlD4z4Q9m rLMPUq9fjaD4K7u2VeZF4/+NU9Hz5QoX4CDJNAzmifkodqRzKCJlxGWqss5QTM8Oc/jq mzhq/fQdkGiPhWEbSnOtjiK20JHf3HfQyrgxUEXrJ6ltzXJrB9fOHRCjgZkftN41Z9Mm LBnDhZygESQSY1mfDXcpPUu+fZ+W6l47ud4W0ZEAegBkoOoamilTJmz+PKQdNRdcg/Jv SB0w== X-Forwarded-Encrypted: i=1; AJvYcCUACtrFFqXC4fZCFV1r2BDkgWkGKRSNToACGHqOzgUCf5STxbNZ6Z+mGiIqKLnwC4xn79aSKUNU+Ymn2HXsbR65icDkHFv2I/jQ94tHFOml1VHSS5ACk7p0 X-Gm-Message-State: AOJu0YxxBqsEIoYpR1lrvfmhgLCQkPpDZkHJCzIdJfi9+hZzQExG2ypE 9LRxaVMT/hJTzrRM0KOituiMbWPQpnBw6Gf2SgQmjhDpZ1Q6/+J0CV1AU6L8tMYx+TgQRgD9BgW LrJBvtDH/4+cEDj4I6LR4o9aCjF7DFw== X-Google-Smtp-Source: AGHT+IF7bcEHq/kNnzAzc2LgnJLewiJTxEl7UKqG/EaGp8Zc08NWQTleDOr69MGFX2ns/jo7KyHHuDlu4LSwL2a6d1Y= X-Received: by 2002:a05:600c:4688:b0:418:a2ce:77ae with SMTP id p8-20020a05600c468800b00418a2ce77aemr7402544wmo.27.1713791809713; Mon, 22 Apr 2024 06:16:49 -0700 (PDT) MIME-Version: 1.0 References: <7346764f-bf4d-4075-8191-671201f6f8da@embecosm.com> In-Reply-To: From: Guillaume Gomez Date: Mon, 22 Apr 2024 15:16:38 +0200 Message-ID: Subject: Re: [PATCH] Add rvalue::get_name method (and its C equivalent) To: Antoni Boucher Cc: Arthur Cohen , gcc-patches@gcc.gnu.org, jit@gcc.gnu.org, David Malcolm Content-Type: multipart/mixed; boundary="0000000000000a29d50616af401b" Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=guillaume1.gomez@gmail.com; helo=mail-wm1-x331.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,DKIM_VALID_EF=-0.1,FREEMAIL_FROM=0.001,RCVD_IN_DNSWL_NONE=-0.0001,SPF_HELO_NONE=0.001,SPF_PASS=-0.001,T_FILL_THIS_FORM_SHORT=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Status: No, score=-8.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,SPF_HELO_PASS,SPF_SOFTFAIL,TXREP,T_FILL_THIS_FORM_SHORT 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: --0000000000000a29d50616af401b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Good point! New patch attached. Le lun. 22 avr. 2024 =C3=A0 15:13, Antoni Boucher a =C3= =A9crit : > > Please move the function to be on lvalue since there are no rvalue types > that are not lvalues that have a name. > > Le 2024-04-22 =C3=A0 09 h 04, Guillaume Gomez a =C3=A9crit : > > Hey Arthur :) > > > >> Is there any reason for that getter to return a mutable pointer to the > >> name? Would something like this work instead if you're just looking at > >> getting the name? > >> > >> + virtual string * get_name () const { return NULL; } > >> > >> With of course adequate modifications to the inheriting classes. > > > > Good catch, thanks! > > > > Updated the patch and attached the new version to this email. > > > > Cordially. > > > > Le lun. 22 avr. 2024 =C3=A0 11:51, Arthur Cohen a =C3=A9crit : > >> > >> Hey Guillaume :) > >> > >> On 4/20/24 01:05, Guillaume Gomez wrote: > >>> Hi, > >>> > >>> I just encountered the need to retrieve the name of an `rvalue` (if > >>> there is one) while working on the Rust GCC backend. > >>> > >>> This patch adds a getter to retrieve the information. > >>> > >>> Cordially. > >> > >>> virtual bool get_wide_int (wide_int *) const { return false; } > >>> > >>> + virtual string * get_name () { return NULL; } > >>> + > >>> private: > >>> virtual enum precedence get_precedence () const =3D 0; > >> > >> Is there any reason for that getter to return a mutable pointer to the > >> name? Would something like this work instead if you're just looking at > >> getting the name? > >> > >> + virtual string * get_name () const { return NULL; } > >> > >> With of course adequate modifications to the inheriting classes. > >> > >> Best, > >> > >> Arthur --0000000000000a29d50616af401b Content-Type: text/x-patch; charset="US-ASCII"; name="0001-PATCH-Add-rvalue-get_name-method.patch" Content-Disposition: attachment; filename="0001-PATCH-Add-rvalue-get_name-method.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lvazdwdb0 RnJvbSA3OWE1YWY3MDc4NzUwOWYwZjIzZGMxMzFhMzllZDMyYTg4ZDhmOGZjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHdWlsbGF1bWUgR29tZXogPGd1aWxsYXVtZTEuZ29tZXpAZ21h aWwuY29tPgpEYXRlOiBTYXQsIDIwIEFwciAyMDI0IDAxOjAyOjIwICswMjAwClN1YmplY3Q6IFtQ QVRDSF0gW1BBVENIXSBBZGQgcnZhbHVlOjpnZXRfbmFtZSBtZXRob2QKCmdjYy9qaXQvQ2hhbmdl TG9nOgoKCSogaml0LXJlY29yZGluZy5oOiBBZGQgcnZhbHVlOjpnZXRfbmFtZSBtZXRob2QKCSog bGliZ2Njaml0LmNjIChnY2Nfaml0X3J2YWx1ZV9nZXRfbmFtZSk6IExpa2V3aXNlCgkqIGxpYmdj Y2ppdC5oIChnY2Nfaml0X3J2YWx1ZV9nZXRfbmFtZSk6IExpa2V3aXNlCgkqIGxpYmdjY2ppdC5t YXA6IExpa2V3aXNlCgpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKCgkqIGppdC5kZy90ZXN0LXRs cy5jOiBBZGQgdGVzdCBmb3IgZ2NjX2ppdF9ydmFsdWVfZ2V0X25hbWUKLS0tCiBnY2Mvaml0L2pp dC1yZWNvcmRpbmcuaCAgICAgICAgIHwgIDcgKysrKysrKwogZ2NjL2ppdC9saWJnY2NqaXQuY2Mg ICAgICAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKIGdjYy9qaXQvbGliZ2Njaml0LmggICAg ICAgICAgICAgfCAgNCArKysrCiBnY2Mvaml0L2xpYmdjY2ppdC5tYXAgICAgICAgICAgIHwgIDUg KysrKysKIGdjYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtdGxzLmMgfCAgMiArKwogNSBmaWxlcyBj aGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9qaXQtcmVjb3Jk aW5nLmggYi9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuaAppbmRleCBkOGQxNmY0ZmUyOS4uYTgwMzI3 YjI2YmEgMTAwNjQ0Ci0tLSBhL2djYy9qaXQvaml0LXJlY29yZGluZy5oCisrKyBiL2djYy9qaXQv aml0LXJlY29yZGluZy5oCkBAIC0xMjY3LDYgKzEyNjcsNyBAQCBwdWJsaWM6CiAgIHZvaWQgc2V0 X3JlZ2lzdGVyX25hbWUgKGNvbnN0IGNoYXIgKnJlZ19uYW1lKTsKICAgdm9pZCBzZXRfYWxpZ25t ZW50ICh1bnNpZ25lZCBieXRlcyk7CiAgIHVuc2lnbmVkIGdldF9hbGlnbm1lbnQgKCkgY29uc3Qg eyByZXR1cm4gbV9hbGlnbm1lbnQ7IH0KKyAgdmlydHVhbCBzdHJpbmcgKiBnZXRfbmFtZSAoKSBj b25zdCB7IHJldHVybiBOVUxMOyB9CiAKIHByb3RlY3RlZDoKICAgc3RyaW5nICptX2xpbmtfc2Vj dGlvbjsKQEAgLTEzMDUsNiArMTMwNiw4IEBAIHB1YmxpYzoKICAgY29uc3QgY2hhciAqYWNjZXNz X2FzX3J2YWx1ZSAocmVwcm9kdWNlciAmcikgZmluYWwgb3ZlcnJpZGU7CiAgIGNvbnN0IGNoYXIg KmFjY2Vzc19hc19sdmFsdWUgKHJlcHJvZHVjZXIgJnIpIGZpbmFsIG92ZXJyaWRlOwogCisgIHN0 cmluZyAqIGdldF9uYW1lICgpIGNvbnN0IGZpbmFsIG92ZXJyaWRlIHsgcmV0dXJuIG1fbmFtZTsg fQorCiBwcml2YXRlOgogICBzdHJpbmcgKiBtYWtlX2RlYnVnX3N0cmluZyAoKSBmaW5hbCBvdmVy cmlkZSB7IHJldHVybiBtX25hbWU7IH0KICAgdm9pZCB3cml0ZV9yZXByb2R1Y2VyIChyZXByb2R1 Y2VyICZyKSBmaW5hbCBvdmVycmlkZTsKQEAgLTE1NTgsNiArMTU2MSw4IEBAIHB1YmxpYzoKIAog ICB2b2lkIHNldF9ydmFsdWVfaW5pdCAocnZhbHVlICp2YWwpIHsgbV9ydmFsdWVfaW5pdCA9IHZh bDsgfQogCisgIHN0cmluZyAqIGdldF9uYW1lICgpIGNvbnN0IGZpbmFsIG92ZXJyaWRlIHsgcmV0 dXJuIG1fbmFtZTsgfQorCiBwcml2YXRlOgogICBzdHJpbmcgKiBtYWtlX2RlYnVnX3N0cmluZyAo KSBmaW5hbCBvdmVycmlkZSB7IHJldHVybiBtX25hbWU7IH0KICAgdGVtcGxhdGUgPHR5cGVuYW1l IFQ+CkBAIC0yMTQ4LDYgKzIxNTMsOCBAQCBwdWJsaWM6CiAKICAgdm9pZCB3cml0ZV90b19kdW1w IChkdW1wICZkKSBmaW5hbCBvdmVycmlkZTsKIAorICBzdHJpbmcgKiBnZXRfbmFtZSAoKSBjb25z dCBmaW5hbCBvdmVycmlkZSB7IHJldHVybiBtX25hbWU7IH0KKwogcHJpdmF0ZToKICAgc3RyaW5n ICogbWFrZV9kZWJ1Z19zdHJpbmcgKCkgZmluYWwgb3ZlcnJpZGUgeyByZXR1cm4gbV9uYW1lOyB9 CiAgIHZvaWQgd3JpdGVfcmVwcm9kdWNlciAocmVwcm9kdWNlciAmcikgZmluYWwgb3ZlcnJpZGU7 CmRpZmYgLS1naXQgYS9nY2Mvaml0L2xpYmdjY2ppdC5jYyBiL2djYy9qaXQvbGliZ2Njaml0LmNj CmluZGV4IDQ0NWMwZDBlMGUzLi5lYTAzYWZjZDJjNSAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9saWJn Y2NqaXQuY2MKKysrIGIvZ2NjL2ppdC9saWJnY2NqaXQuY2MKQEAgLTQzNzcsMyArNDM3NywxOSBA QCBnY2Nfaml0X2NvbnRleHRfYWRkX3RvcF9sZXZlbF9hc20gKGdjY19qaXRfY29udGV4dCAqY3R4 dCwKICAgUkVUVVJOX0lGX0ZBSUwgKGFzbV9zdG10cywgY3R4dCwgTlVMTCwgIk5VTEwgYXNtX3N0 bXRzIik7CiAgIGN0eHQtPmFkZF90b3BfbGV2ZWxfYXNtIChsb2MsIGFzbV9zdG10cyk7CiB9CisK Ky8qIFB1YmxpYyBlbnRyeXBvaW50LiAgU2VlIGRlc2NyaXB0aW9uIGluIGxpYmdjY2ppdC5oLgor CisgICBBZnRlciBlcnJvci1jaGVja2luZywgdGhpcyBjYWxscyB0aGUgdHJpdmlhbAorICAgZ2Nj OjpqaXQ6OnJlY29yZGluZzo6bHZhbHVlOjpnZXRfbmFtZSBtZXRob2QsIGluIGppdC1yZWNvcmRp bmcuaC4gICovCisKK2V4dGVybiBjb25zdCBjaGFyICoKK2djY19qaXRfbHZhbHVlX2dldF9uYW1l IChnY2Nfaml0X2x2YWx1ZSAqbHZhbHVlKQoreworICBSRVRVUk5fTlVMTF9JRl9GQUlMIChsdmFs dWUsIE5VTEwsIE5VTEwsICJOVUxMIGx2YWx1ZSIpOworICBhdXRvIG5hbWUgPSBsdmFsdWUtPmdl dF9uYW1lICgpOworCisgIGlmICghbmFtZSkKKyAgICByZXR1cm4gTlVMTDsKKyAgcmV0dXJuIG5h bWUtPmNfc3RyICgpOworfQpkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9saWJnY2NqaXQuaCBiL2djYy9q aXQvbGliZ2Njaml0LmgKaW5kZXggNzRlODQ3YjJkZWMuLjJlYTg1ZjVhNGMzIDEwMDY0NAotLS0g YS9nY2Mvaml0L2xpYmdjY2ppdC5oCisrKyBiL2djYy9qaXQvbGliZ2Njaml0LmgKQEAgLTIwNjYs NiArMjA2NiwxMCBAQCBnY2Nfaml0X2x2YWx1ZV9hZGRfc3RyaW5nX2F0dHJpYnV0ZSAoZ2NjX2pp dF9sdmFsdWUgKnZhcmlhYmxlLAogCQkJCSAgICAgZW51bSBnY2Nfaml0X3ZhcmlhYmxlX2F0dHJp YnV0ZSBhdHRyaWJ1dGUsCiAJCQkJICAgICBjb25zdCBjaGFyKiB2YWx1ZSk7CiAKKy8qIFJldHVy bnMgdGhlIG5hbWUgb2YgdGhlIGBsdmFsdWVgLCBpZiBhbnkuIFJldHVybnMgTlVMTCBvdGhlcndp c2UuICAqLworZXh0ZXJuIGNvbnN0IGNoYXIgKgorZ2NjX2ppdF9sdmFsdWVfZ2V0X25hbWUgKGdj Y19qaXRfbHZhbHVlICpsdmFsdWUpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZiAv KiBfX2NwbHVzcGx1cyAqLwpkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9saWJnY2NqaXQubWFwIGIvZ2Nj L2ppdC9saWJnY2NqaXQubWFwCmluZGV4IDk5YWE1OTcwYmUxLi4zZjk2ZjQ0ZGMwMyAxMDA2NDQK LS0tIGEvZ2NjL2ppdC9saWJnY2NqaXQubWFwCisrKyBiL2djYy9qaXQvbGliZ2Njaml0Lm1hcApA QCAtMjg5LDMgKzI4OSw4IEBAIExJQkdDQ0pJVF9BQklfMjcgewogICBnbG9iYWw6CiAgICAgZ2Nj X2ppdF9jb250ZXh0X25ld19zaXplb2Y7CiB9IExJQkdDQ0pJVF9BQklfMjY7CisKK0xJQkdDQ0pJ VF9BQklfMjggeworICBnbG9iYWw6CisgICAgZ2NjX2ppdF9sdmFsdWVfZ2V0X25hbWU7Cit9IExJ QkdDQ0pJVF9BQklfMjc7CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0LXRs cy5jIGIvZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvdGVzdC10bHMuYwppbmRleCAzYjIwMTgyYWMxMC4u YTZhOTY3ZWFjNTYgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtdGxzLmMK KysrIGIvZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvdGVzdC10bHMuYwpAQCAtMjgsNiArMjgsOCBAQCBj cmVhdGVfY29kZSAoZ2NjX2ppdF9jb250ZXh0ICpjdHh0LCB2b2lkICp1c2VyX2RhdGEpCiAgICAg ICBjdHh0LCBOVUxMLCBHQ0NfSklUX0dMT0JBTF9FWFBPUlRFRCwgaW50X3R5cGUsICJmb28iKTsK ICAgZ2NjX2ppdF9sdmFsdWVfc2V0X3Rsc19tb2RlbCAoZm9vLCBHQ0NfSklUX1RMU19NT0RFTF9H TE9CQUxfRFlOQU1JQyk7CiAKKyAgQ0hFQ0tfU1RSSU5HX1ZBTFVFIChnY2Nfaml0X2x2YWx1ZV9n ZXRfbmFtZSAoZm9vKSwgImZvbyIpOworCiAgIC8qIEJ1aWxkIHRoZSB0ZXN0X2ZuLiAgKi8KICAg Z2NjX2ppdF9mdW5jdGlvbiAqdGVzdF9mbiA9CiAgICAgZ2NjX2ppdF9jb250ZXh0X25ld19mdW5j dGlvbiAoY3R4dCwgTlVMTCwKLS0gCjIuMjQuMS4yNzYyLmdmZTJlNDgxOWI4Cgo= --0000000000000a29d50616af401b--