From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com [IPv6:2a00:1450:4864:20::331]) by sourceware.org (Postfix) with ESMTPS id 79D2E3858D38; Mon, 22 Apr 2024 13:05:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 79D2E3858D38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 79D2E3858D38 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::331 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713791113; cv=none; b=YfjPhfGBWQs52o+DXYMkEE93Abk9BKVRYk3u1nLUoorDUJWyio6e3SdPB0ZKHzBYabuDT/6z7NKU12C15QVRejCxKJMeZygWkXpLoLiw3d3vi82gah/ts0A//OC6XJYEiKSWenUTwZjc5mKdQa0KFglmXUtiJx1ePzwU07lmqzM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713791113; c=relaxed/simple; bh=EBegxZvC48zOdGIHiwOwK6JDY8ssrkMiPXPRfWlEdXc=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=qQr4EMRBlGHu1zU+wnWOVwI82JoT2+aXI8cY7M5Xh3gJ3RGpm7Qmo5raJPhGGPZFgo5wI6YAbzxnvL3xT1JmQlTrPgWcCaZEeNgHNYs+vEwJb23qNZHjwJY56Ygjrpz9dWqW5sFgPo2xZCjTNfKTY+kpGdRO+5wn7In1CxSMjnY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-41a7b6f22ebso5893175e9.0; Mon, 22 Apr 2024 06:05:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713791100; x=1714395900; 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=W+JIyeCuyDzYag+/uJzjQ/ESE+glk7xQuMEdIA8EfIU=; b=T0xOKf8yO5iQZ2i62+WX64Im6hNYkG3yoHL0VjVkpaDiJ13A9MmysFoEyl1voZarbZ Fama+ohx7vkTySDPA7SZTBmUkYxUM/Qa/vL6lu16gC0FrgvYe8opLAiQ67Xb0wVAUBB8 NLix1+A41JIfjVaRiKtctKvE7sB2VWHIkLeM+eVKyBdsQxwv0uFTuH9YyXRjEDHwvoXS omw34xownSpkBzLp3Rmzq1525LpCu145/1I+nuKjmHFwZM3W24aigfVaybY6s4tdn5ew wY6vv239EL7ELb5xAdr87HYkbxQuK0T0LUwqzuTJ0r8Ch15DBjXe0M8wwL5DbtX+ySwa XhGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713791100; x=1714395900; 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=W+JIyeCuyDzYag+/uJzjQ/ESE+glk7xQuMEdIA8EfIU=; b=VogeSGOOx09jc1sy2n+vSEUGiTbyzwAHPxVfCwRHy0bDplZtpLE3Eu4TwgI7lOQUfP Cykt4gXWx1uDieffi+Y0NTlKJRciY0QurdAqPgCv6ZfusphqlX+wNbsfn0zoswGR83MH ixM/JMPfUV37Kz/7DjGs2FO72lSf0EAkM4jpZpHsFZH4VKbPRJ6lZU+ONCD86FGGW9Xc sj+TCMMsvP9Hn8/YsUkCdwx1ghD/OVNvg37X9ZhHKvf932sC7RpG/LEA09LKOPLL8X+5 6jS9OokJOyqIu99YBUGzh+ff8hPO0c1ImGDaUBi6f/+xn50O2GuGohrjGZcEn92K3era As7A== X-Forwarded-Encrypted: i=1; AJvYcCUoAw2YI6aOISIMRYhDr74UT5PzuUJDh+q/i40zrTmcycZauNyf0cI/WMNGeR2lrzezGsf4plXcZP5FiPbWjl8= X-Gm-Message-State: AOJu0YxjChQiY0WyeuReCjepK+LWnxI6bc2l6LgUnPikXrYRQwMidp79 ojGFCELgiVC29iS4mfgsb10BFZ0MkNmh7f2bhYaeKMZ75/FMiYdTBp92XWT8FIL1/ELBi8ZJ2+8 oZYlniz4zIhmJ1JeuCKuxBpMUA1U= X-Google-Smtp-Source: AGHT+IH9iWcbW5uDd+ObrlZ3w3aosZmhpINDYzOaQ9O8Tl406grTAj3/RWimxqC1E9abkJ8FNz5QzRGzFJeUw8bxtiI= X-Received: by 2002:adf:f50b:0:b0:34a:3e3a:a23c with SMTP id q11-20020adff50b000000b0034a3e3aa23cmr7214008wro.64.1713791099912; Mon, 22 Apr 2024 06:04:59 -0700 (PDT) MIME-Version: 1.0 References: <7346764f-bf4d-4075-8191-671201f6f8da@embecosm.com> In-Reply-To: <7346764f-bf4d-4075-8191-671201f6f8da@embecosm.com> From: Guillaume Gomez Date: Mon, 22 Apr 2024 15:04:48 +0200 Message-ID: Subject: Re: [PATCH] Add rvalue::get_name method (and its C equivalent) To: Arthur Cohen Cc: gcc-patches@gcc.gnu.org, jit@gcc.gnu.org, David Malcolm , Antoni Content-Type: multipart/mixed; boundary="000000000000baf3b60616af15e8" X-Spam-Status: No, score=-8.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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: --000000000000baf3b60616af15e8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 --000000000000baf3b60616af15e8 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_lvayyov10 RnJvbSBhOGFlNjhlMzM3YmVjM2U1NWE2MDk5N2M1MzI1ZTIyNzBmZDc1OTYyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHdWlsbGF1bWUgR29tZXogPGd1aWxsYXVtZTEuZ29tZXpAZ21h aWwuY29tPgpEYXRlOiBTYXQsIDIwIEFwciAyMDI0IDAxOjAyOjIwICswMjAwClN1YmplY3Q6IFtQ QVRDSF0gW1BBVENIXSBBZGQgcnZhbHVlOjpnZXRfbmFtZSBtZXRob2QKCmdjYy9qaXQvQ2hhbmdl TG9nOgoKCSogaml0LXJlY29yZGluZy5oOiBBZGQgcnZhbHVlOjpnZXRfbmFtZSBtZXRob2QKCSog bGliZ2Njaml0LmNjIChnY2Nfaml0X3J2YWx1ZV9nZXRfbmFtZSk6IExpa2V3aXNlCgkqIGxpYmdj Y2ppdC5oIChnY2Nfaml0X3J2YWx1ZV9nZXRfbmFtZSk6IExpa2V3aXNlCgkqIGxpYmdjY2ppdC5t YXA6IExpa2V3aXNlCgpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKCgkqIGppdC5kZy90ZXN0LXRs cy5jOiBBZGQgdGVzdCBmb3IgZ2NjX2ppdF9ydmFsdWVfZ2V0X25hbWUKLS0tCiBnY2Mvaml0L2pp dC1yZWNvcmRpbmcuaCAgICAgICAgIHwgIDggKysrKysrKysKIGdjYy9qaXQvbGliZ2Njaml0LmNj ICAgICAgICAgICAgfCAxNiArKysrKysrKysrKysrKysrCiBnY2Mvaml0L2xpYmdjY2ppdC5oICAg ICAgICAgICAgIHwgIDQgKysrKwogZ2NjL2ppdC9saWJnY2NqaXQubWFwICAgICAgICAgICB8ICA1 ICsrKysrCiBnY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0LXRscy5jIHwgIDMgKysrCiA1IGZpbGVz IGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9nY2Mvaml0L2ppdC1yZWNv cmRpbmcuaCBiL2djYy9qaXQvaml0LXJlY29yZGluZy5oCmluZGV4IGQ4ZDE2ZjRmZTI5Li4yODg4 ODE5MGI2OCAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmgKKysrIGIvZ2NjL2pp dC9qaXQtcmVjb3JkaW5nLmgKQEAgLTEyMTMsNiArMTIxMyw4IEBAIHB1YmxpYzoKICAgdmlydHVh bCBib29sIGlzX2NvbnN0YW50ICgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgIHZpcnR1YWwg Ym9vbCBnZXRfd2lkZV9pbnQgKHdpZGVfaW50ICopIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAK KyAgdmlydHVhbCBzdHJpbmcgKiBnZXRfbmFtZSAoKSBjb25zdCB7IHJldHVybiBOVUxMOyB9CisK IHByaXZhdGU6CiAgIHZpcnR1YWwgZW51bSBwcmVjZWRlbmNlIGdldF9wcmVjZWRlbmNlICgpIGNv bnN0ID0gMDsKIApAQCAtMTMwNSw2ICsxMzA3LDggQEAgcHVibGljOgogICBjb25zdCBjaGFyICph Y2Nlc3NfYXNfcnZhbHVlIChyZXByb2R1Y2VyICZyKSBmaW5hbCBvdmVycmlkZTsKICAgY29uc3Qg Y2hhciAqYWNjZXNzX2FzX2x2YWx1ZSAocmVwcm9kdWNlciAmcikgZmluYWwgb3ZlcnJpZGU7CiAK KyAgc3RyaW5nICogZ2V0X25hbWUgKCkgY29uc3QgZmluYWwgb3ZlcnJpZGUgeyByZXR1cm4gbV9u YW1lOyB9CisKIHByaXZhdGU6CiAgIHN0cmluZyAqIG1ha2VfZGVidWdfc3RyaW5nICgpIGZpbmFs IG92ZXJyaWRlIHsgcmV0dXJuIG1fbmFtZTsgfQogICB2b2lkIHdyaXRlX3JlcHJvZHVjZXIgKHJl cHJvZHVjZXIgJnIpIGZpbmFsIG92ZXJyaWRlOwpAQCAtMTU1OCw2ICsxNTYyLDggQEAgcHVibGlj OgogCiAgIHZvaWQgc2V0X3J2YWx1ZV9pbml0IChydmFsdWUgKnZhbCkgeyBtX3J2YWx1ZV9pbml0 ID0gdmFsOyB9CiAKKyAgc3RyaW5nICogZ2V0X25hbWUgKCkgY29uc3QgZmluYWwgb3ZlcnJpZGUg eyByZXR1cm4gbV9uYW1lOyB9CisKIHByaXZhdGU6CiAgIHN0cmluZyAqIG1ha2VfZGVidWdfc3Ry aW5nICgpIGZpbmFsIG92ZXJyaWRlIHsgcmV0dXJuIG1fbmFtZTsgfQogICB0ZW1wbGF0ZSA8dHlw ZW5hbWUgVD4KQEAgLTIxNDgsNiArMjE1NCw4IEBAIHB1YmxpYzoKIAogICB2b2lkIHdyaXRlX3Rv X2R1bXAgKGR1bXAgJmQpIGZpbmFsIG92ZXJyaWRlOwogCisgIHN0cmluZyAqIGdldF9uYW1lICgp IGNvbnN0IGZpbmFsIG92ZXJyaWRlIHsgcmV0dXJuIG1fbmFtZTsgfQorCiBwcml2YXRlOgogICBz dHJpbmcgKiBtYWtlX2RlYnVnX3N0cmluZyAoKSBmaW5hbCBvdmVycmlkZSB7IHJldHVybiBtX25h bWU7IH0KICAgdm9pZCB3cml0ZV9yZXByb2R1Y2VyIChyZXByb2R1Y2VyICZyKSBmaW5hbCBvdmVy cmlkZTsKZGlmZiAtLWdpdCBhL2djYy9qaXQvbGliZ2Njaml0LmNjIGIvZ2NjL2ppdC9saWJnY2Nq aXQuY2MKaW5kZXggNDQ1YzBkMGUwZTMuLjJiODcwNmRjN2ZkIDEwMDY0NAotLS0gYS9nY2Mvaml0 L2xpYmdjY2ppdC5jYworKysgYi9nY2Mvaml0L2xpYmdjY2ppdC5jYwpAQCAtNDM3NywzICs0Mzc3 LDE5IEBAIGdjY19qaXRfY29udGV4dF9hZGRfdG9wX2xldmVsX2FzbSAoZ2NjX2ppdF9jb250ZXh0 ICpjdHh0LAogICBSRVRVUk5fSUZfRkFJTCAoYXNtX3N0bXRzLCBjdHh0LCBOVUxMLCAiTlVMTCBh c21fc3RtdHMiKTsKICAgY3R4dC0+YWRkX3RvcF9sZXZlbF9hc20gKGxvYywgYXNtX3N0bXRzKTsK IH0KKworLyogUHVibGljIGVudHJ5cG9pbnQuICBTZWUgZGVzY3JpcHRpb24gaW4gbGliZ2Njaml0 LmguCisKKyAgIEFmdGVyIGVycm9yLWNoZWNraW5nLCB0aGlzIGNhbGxzIHRoZSB0cml2aWFsCisg ICBnY2M6OmppdDo6cmVjb3JkaW5nOjpydmFsdWU6OmdldF9uYW1lIG1ldGhvZCwgaW4gaml0LXJl Y29yZGluZy5oLiAgKi8KKworZXh0ZXJuIGNvbnN0IGNoYXIgKgorZ2NjX2ppdF9ydmFsdWVfZ2V0 X25hbWUgKGdjY19qaXRfcnZhbHVlICpydmFsdWUpCit7CisgIFJFVFVSTl9OVUxMX0lGX0ZBSUwg KHJ2YWx1ZSwgTlVMTCwgTlVMTCwgIk5VTEwgcnZhbHVlIik7CisgIGF1dG8gbmFtZSA9IHJ2YWx1 ZS0+Z2V0X25hbWUgKCk7CisKKyAgaWYgKCFuYW1lKQorICAgIHJldHVybiBOVUxMOworICByZXR1 cm4gbmFtZS0+Y19zdHIgKCk7Cit9CmRpZmYgLS1naXQgYS9nY2Mvaml0L2xpYmdjY2ppdC5oIGIv Z2NjL2ppdC9saWJnY2NqaXQuaAppbmRleCA3NGU4NDdiMmRlYy4uZDQwOTQ2MTBhMTYgMTAwNjQ0 Ci0tLSBhL2djYy9qaXQvbGliZ2Njaml0LmgKKysrIGIvZ2NjL2ppdC9saWJnY2NqaXQuaApAQCAt MjA2Niw2ICsyMDY2LDEwIEBAIGdjY19qaXRfbHZhbHVlX2FkZF9zdHJpbmdfYXR0cmlidXRlIChn Y2Nfaml0X2x2YWx1ZSAqdmFyaWFibGUsCiAJCQkJICAgICBlbnVtIGdjY19qaXRfdmFyaWFibGVf YXR0cmlidXRlIGF0dHJpYnV0ZSwKIAkJCQkgICAgIGNvbnN0IGNoYXIqIHZhbHVlKTsKIAorLyog UmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgYHJ2YWx1ZWAsIGlmIGFueS4gUmV0dXJucyBOVUxMIG90 aGVyd2lzZS4gICovCitleHRlcm4gY29uc3QgY2hhciAqCitnY2Nfaml0X3J2YWx1ZV9nZXRfbmFt ZSAoZ2NjX2ppdF9ydmFsdWUgKnJ2YWx1ZSk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2Vu ZGlmIC8qIF9fY3BsdXNwbHVzICovCmRpZmYgLS1naXQgYS9nY2Mvaml0L2xpYmdjY2ppdC5tYXAg Yi9nY2Mvaml0L2xpYmdjY2ppdC5tYXAKaW5kZXggOTlhYTU5NzBiZTEuLmJiZWQ4MDI0MjYzIDEw MDY0NAotLS0gYS9nY2Mvaml0L2xpYmdjY2ppdC5tYXAKKysrIGIvZ2NjL2ppdC9saWJnY2NqaXQu bWFwCkBAIC0yODksMyArMjg5LDggQEAgTElCR0NDSklUX0FCSV8yNyB7CiAgIGdsb2JhbDoKICAg ICBnY2Nfaml0X2NvbnRleHRfbmV3X3NpemVvZjsKIH0gTElCR0NDSklUX0FCSV8yNjsKKworTElC R0NDSklUX0FCSV8yOCB7CisgIGdsb2JhbDoKKyAgICBnY2Nfaml0X3J2YWx1ZV9nZXRfbmFtZTsK K30gTElCR0NDSklUX0FCSV8yNzsKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rl c3QtdGxzLmMgYi9nY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0LXRscy5jCmluZGV4IDNiMjAxODJh YzEwLi5iNjUxZWIwOWI0NCAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvdGVzdC10 bHMuYworKysgYi9nY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0LXRscy5jCkBAIC0yOCw2ICsyOCw5 IEBAIGNyZWF0ZV9jb2RlIChnY2Nfaml0X2NvbnRleHQgKmN0eHQsIHZvaWQgKnVzZXJfZGF0YSkK ICAgICAgIGN0eHQsIE5VTEwsIEdDQ19KSVRfR0xPQkFMX0VYUE9SVEVELCBpbnRfdHlwZSwgImZv byIpOwogICBnY2Nfaml0X2x2YWx1ZV9zZXRfdGxzX21vZGVsIChmb28sIEdDQ19KSVRfVExTX01P REVMX0dMT0JBTF9EWU5BTUlDKTsKIAorICBDSEVDS19TVFJJTkdfVkFMVUUgKAorICAgIGdjY19q aXRfcnZhbHVlX2dldF9uYW1lIChnY2Nfaml0X2x2YWx1ZV9hc19ydmFsdWUgKGZvbykpLCAiZm9v Iik7CisKICAgLyogQnVpbGQgdGhlIHRlc3RfZm4uICAqLwogICBnY2Nfaml0X2Z1bmN0aW9uICp0 ZXN0X2ZuID0KICAgICBnY2Nfaml0X2NvbnRleHRfbmV3X2Z1bmN0aW9uIChjdHh0LCBOVUxMLAot LSAKMi4yNC4xLjI3NjIuZ2ZlMmU0ODE5YjgKCg== --000000000000baf3b60616af15e8--