From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) by sourceware.org (Postfix) with ESMTPS id 8322E385AFB5 for ; Wed, 12 Jul 2023 14:10:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8322E385AFB5 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-lj1-x233.google.com with SMTP id 38308e7fff4ca-2b703c900e3so110773741fa.1 for ; Wed, 12 Jul 2023 07:10:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689171013; x=1691763013; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=fmbnOwxKwMWBM91rOVuKRENqxaOK4LCq4z84SP+pLzE=; b=TTns7haDvjGrp747Nd0dtXHS0ICPyqvUV1polaq0xBF0UGyrCoqrGZSx+GJ3Gk9I8o zg01moZ4bNStx6LIaYD7fj+t8HvblqIU7jXE0hQoes1n1sH/yk9plOan2/Q8RYt71jGC e6Km8C/F4b0ZD8fwEplrLu3Ll6gzuF/FaH1SESG24DvgT4hq7PDK1cJdurPkO9BDncCn qfLpEfN5iFaQdpEjN+/nQsA2sxXD7Oh+dg82XFjkrjV/WjA6FdO7fFhmg/P5tpokMFmB vzuYnNi+p7qpzXF6Le98AeUJX9xA6qFG3Vuy5Xf2o+KPJzldVbzDPLSrnJE42dhoMuGP Km3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689171013; x=1691763013; 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=fmbnOwxKwMWBM91rOVuKRENqxaOK4LCq4z84SP+pLzE=; b=jqYhvnglC9YO28F5tI0rDy8L+JC/uxGBAPQqGmktVENUaEx2ser0hNninM4SiwHVjF nzObklNheHLW8+xarWfjEe1LLzRtvp8GY3GoQxLQSMfDz4tX40cZSh62RBfDAOgQsvRf czKBq8mWNUcx0tc1jpsx4Dy/2Hbwbhpxz8WXgmzZlWlx0jBYm+hYe364bxJWTmF/0tA/ slJ8vrN0xvOJYldIRJo6madR9ZbwqNl0YTiaGzjZ3D5p4Di5E5RFa6SkNFLJ/2vg5BHE CYu1lRLB9mSbR6WUiqgEYL535hyKDM+eCq2JqFekwlkX+sXYXIl7g/vOnq0H91SZ7Z/f rQgw== X-Gm-Message-State: ABy/qLZwK3WOUw4nc+9y0SH6pxUuqvoYAKpK9cb0rUKxJG2hU5/L7AWU IQYQ4BNs9DBY15jrshUv+pZjMF5NecLbwTEj+bDMEDUgIX0= X-Google-Smtp-Source: APBJJlG5IqcTGobCLO0snK482ul+f0x/CuRq/Rwf/K88BlevNZjO/aK4RISy5LbKwRF5m/UNzLE4evNNnfJfBk+V8dU= X-Received: by 2002:a2e:9216:0:b0:2b6:ec2b:659 with SMTP id k22-20020a2e9216000000b002b6ec2b0659mr15439116ljg.17.1689171013302; Wed, 12 Jul 2023 07:10:13 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Ng YongXiang Date: Wed, 12 Jul 2023 22:10:01 +0800 Message-ID: Subject: [PATCH] - Devirtualization of array destruction (C++) - 110057 To: gcc-patches@gcc.gnu.org Cc: Xi Ruoyao Content-Type: multipart/mixed; boundary="0000000000003695a506004ac6a0" X-Spam-Status: No, score=0.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE,KAM_NUMSUBJECT,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --0000000000003695a506004ac6a0 Content-Type: multipart/alternative; boundary="0000000000003695a406004ac69e" --0000000000003695a406004ac69e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Component: c++ Bug ID: 110057 Bugzilla link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D110057 Description: Array should not call virtual destructor of object when array is destructed ChangeLog: 2023-07-12 Ng YongXiang PR c++ * Devirtualize auto generated destructor calls of arraycp/ * init.c: Call non virtual destructor of objects in arraytestsuite/ * g++.dg/devirt-array-destructor-1.C: New. * g++.dg/devirt-array-destructor-2.C: New. * g++.dg/warn/pr83054.C: Change expected number of devirtualized ca= lls On Wed, Jul 12, 2023 at 5:02=E2=80=AFPM Xi Ruoyao wrot= e: > On Wed, 2023-07-12 at 16:58 +0800, Ng YongXiang via Gcc-patches wrote: > > I'm writing to seek for a review for an issue I filed some time ago. > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D110057 . A proposed patch > is > > attached in the bug tracker as well. > > You should send the patch to gcc-patches@gcc.gnu.org for a review, see > https://gcc.gnu.org/contribute.html for the details. Generally we > consider patches attached in bugzilla as drafts. > > -- > Xi Ruoyao > School of Aerospace Science and Technology, Xidian University > --0000000000003695a406004ac69e-- --0000000000003695a506004ac6a0 Content-Type: application/x-patch; name="0001-Devirtualize-auto-generated-destructor-calls-of-arra.patch" Content-Disposition: attachment; filename="0001-Devirtualize-auto-generated-destructor-calls-of-arra.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ljzsgb340 RnJvbSBhYWZhNDU2Njk2OTU1MjBjMjY1MDQ0NzllYjNmMjFkNjFlYTgxZWRi IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB5b25neGlhbmduZyA8 eW9uZ3hpYW5nbmdAZ21haWwuY29tPgpEYXRlOiBTYXQsIDMgSnVuIDIwMjMg MDA6MzY6MzIgKzA4MDAKU3ViamVjdDogW1BBVENIXSBEZXZpcnR1YWxpemUg YXV0byBnZW5lcmF0ZWQgZGVzdHJ1Y3RvciBjYWxscyBvZiBhcnJheXMKCi0t LQogZ2NjL2NwL2luaXQuY2MgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDggKysrLS0tCiAuLi4vZysrLmRnL2RldmlydC1hcnJheS1kZXN0 cnVjdG9yLTEuQyAgICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysKIC4u Li9nKysuZGcvZGV2aXJ0LWFycmF5LWRlc3RydWN0b3ItMi5DICAgICAgICB8 IDI4ICsrKysrKysrKysrKysrKysrKysKIGdjYy90ZXN0c3VpdGUvZysrLmRn L3dhcm4vcHI4MzA1NC5DICAgICAgICAgICB8IDI0ICsrKysrKystLS0tLS0t LS0KIDQgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgMTggZGVs ZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n KysuZGcvZGV2aXJ0LWFycmF5LWRlc3RydWN0b3ItMS5DCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvZGV2aXJ0LWFycmF5LWRl c3RydWN0b3ItMi5DCgpkaWZmIC0tZ2l0IGEvZ2NjL2NwL2luaXQuY2MgYi9n Y2MvY3AvaW5pdC5jYwppbmRleCA2Y2NkYTM2NWIwNC4uNjlhYjUxZDBhNGIg MTAwNjQ0Ci0tLSBhL2djYy9jcC9pbml0LmNjCisrKyBiL2djYy9jcC9pbml0 LmNjCkBAIC00MTEyLDggKzQxMTIsOCBAQCBidWlsZF92ZWNfZGVsZXRlXzEg KGxvY2F0aW9uX3QgbG9jLCB0cmVlIGJhc2UsIHRyZWUgbWF4aW5kZXgsIHRy ZWUgdHlwZSwKICAgICAgIGlmICh0eXBlX2J1aWxkX2R0b3JfY2FsbCAodHlw ZSkpCiAJewogCSAgdG1wID0gYnVpbGRfZGVsZXRlIChsb2MsIHB0eXBlLCBi YXNlLCBzZmtfY29tcGxldGVfZGVzdHJ1Y3RvciwKLQkJCSAgICAgIExPT0tV UF9OT1JNQUx8TE9PS1VQX0RFU1RSVUNUT1IsIDEsCi0JCQkgICAgICBjb21w bGFpbik7CisJCQkgICAgICBMT09LVVBfTk9STUFMfExPT0tVUF9ERVNUUlVD VE9SfExPT0tVUF9OT05WSVJUVUFMLAorCQkJICAgICAgMSwgY29tcGxhaW4p OwogCSAgaWYgKHRtcCA9PSBlcnJvcl9tYXJrX25vZGUpCiAJICAgIHJldHVy biBlcnJvcl9tYXJrX25vZGU7CiAJfQpAQCAtNDE0Myw4ICs0MTQzLDggQEAg YnVpbGRfdmVjX2RlbGV0ZV8xIChsb2NhdGlvbl90IGxvYywgdHJlZSBiYXNl LCB0cmVlIG1heGluZGV4LCB0cmVlIHR5cGUsCiAgICAgcmV0dXJuIGVycm9y X21hcmtfbm9kZTsKICAgYm9keSA9IGJ1aWxkX2NvbXBvdW5kX2V4cHIgKGxv YywgYm9keSwgdG1wKTsKICAgdG1wID0gYnVpbGRfZGVsZXRlIChsb2MsIHB0 eXBlLCB0YmFzZSwgc2ZrX2NvbXBsZXRlX2Rlc3RydWN0b3IsCi0JCSAgICAg IExPT0tVUF9OT1JNQUx8TE9PS1VQX0RFU1RSVUNUT1IsIDEsCi0JCSAgICAg IGNvbXBsYWluKTsKKwkJICAgICAgTE9PS1VQX05PUk1BTHxMT09LVVBfREVT VFJVQ1RPUnxMT09LVVBfTk9OVklSVFVBTCwKKwkJICAgICAgMSwgY29tcGxh aW4pOwogICBpZiAodG1wID09IGVycm9yX21hcmtfbm9kZSkKICAgICByZXR1 cm4gZXJyb3JfbWFya19ub2RlOwogICBib2R5ID0gYnVpbGRfY29tcG91bmRf ZXhwciAobG9jLCBib2R5LCB0bXApOwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nKysuZGcvZGV2aXJ0LWFycmF5LWRlc3RydWN0b3ItMS5DIGIvZ2Nj L3Rlc3RzdWl0ZS9nKysuZGcvZGV2aXJ0LWFycmF5LWRlc3RydWN0b3ItMS5D Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iZTJk MTZhZTc2MQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZysr LmRnL2RldmlydC1hcnJheS1kZXN0cnVjdG9yLTEuQwpAQCAtMCwwICsxLDI3 IEBACisvKiB7IGRnLWRvIHJ1biB9ICovCisvKiBWaXJ0dWFsIGNhbGxzIHNo b3VsZCBiZSBkZXZpcnR1YWxpemVkIGJlY2F1c2Ugd2Uga25vdyBkeW5hbWlj IHR5cGUgb2Ygb2JqZWN0IGluIGFycmF5IGF0IGNvbXBpbGUgdGltZSAqLwor LyogeyBkZy1vcHRpb25zICItTzMgLWZkdW1wLXRyZWUtb3B0aW1pemVkIC1m bm8taW5saW5lIiAgfSAqLworCitjbGFzcyBBCit7CitwdWJsaWM6CisgIHZp cnR1YWwgfkEoKQorICB7CisgIH0KK307CisKK2NsYXNzIEIgOiBwdWJsaWMg QQoreworcHVibGljOgorICB2aXJ0dWFsIH5CKCkKKyAgeworICB9Cit9Owor CitpbnQgbWFpbigpCit7CisgIEIgYlsxMF07CisgIHJldHVybiAwOworfQor CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIk9CSl9U WVBFX1JFRiIgMCAib3B0aW1pemVkIn0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nKysuZGcvZGV2aXJ0LWFycmF5LWRlc3RydWN0b3ItMi5D IGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvZGV2aXJ0LWFycmF5LWRlc3RydWN0 b3ItMi5DCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li4wYjNhYjJjYTlkMAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3Vp dGUvZysrLmRnL2RldmlydC1hcnJheS1kZXN0cnVjdG9yLTIuQwpAQCAtMCww ICsxLDI4IEBACisvKiB7IGRnLWRvIHJ1biB9ICovCisvKiBWaXJ0dWFsIGNh bGxzIHNob3VsZCBiZSBkZXZpcnR1YWxpemVkIGJlY2F1c2Ugd2Uga25vdyBk eW5hbWljIHR5cGUgb2Ygb2JqZWN0IGluIGFycmF5IGF0IGNvbXBpbGUgdGlt ZSAqLworLyogeyBkZy1vcHRpb25zICItTzMgLWZkdW1wLXRyZWUtb3B0aW1p emVkIC1mbm8taW5saW5lIiAgfSAqLworCitjbGFzcyBBCit7CitwdWJsaWM6 CisgIHZpcnR1YWwgfkEoKQorICB7CisgIH0KK307CisKK2NsYXNzIEIgOiBw dWJsaWMgQQoreworcHVibGljOgorICB2aXJ0dWFsIH5CKCkKKyAgeworICB9 Cit9OworCitpbnQgbWFpbigpCit7CisgIEIqIHB0ciA9IG5ldyBCWzEwXTsK KyAgZGVsZXRlW10gcHRyOworICByZXR1cm4gMDsKK30KKworLyogeyBkZy1m aW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJPQkpfVFlQRV9SRUYiIDAg Im9wdGltaXplZCJ9IH0gKi8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv ZysrLmRnL3dhcm4vcHI4MzA1NC5DIGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcv d2Fybi9wcjgzMDU0LkMKaW5kZXggNTI4NWY5NGFjZWUuLjdjZDA5NTE3MTNk IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2crKy5kZy93YXJuL3ByODMw NTQuQworKysgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy93YXJuL3ByODMwNTQu QwpAQCAtMTAsNyArMTAsNyBAQAogI2VuZGlmCiAKIGV4dGVybiAiQyIgaW50 IHByaW50ZiAoY29uc3QgY2hhciAqLCAuLi4pOwotc3RydWN0IGZvbyAvLyB7 IGRnLXdhcm5pbmcgImZpbmFsIHdvdWxkIGVuYWJsZSBkZXZpcnR1YWxpemF0 aW9uIG9mIDUgY2FsbHMiIH0KK3N0cnVjdCBmb28gLy8geyBkZy13YXJuaW5n ICJmaW5hbCB3b3VsZCBlbmFibGUgZGV2aXJ0dWFsaXphdGlvbiBvZiAxIGNh bGwiIH0KIHsKICAgc3RhdGljIGludCBjb3VudDsKICAgdm9pZCBwcmludCAo aW50IGksIGludCBqKSB7IHByaW50ZiAoImZvb1slZF1bJWRdID0gJWRcbiIs IGksIGosIHgpOyB9CkBAIC0yOSwxOSArMjksMTUgQEAgaW50IGZvbzo6Y291 bnQ7CiAKIGludCBtYWluICgpCiB7Ci0gIHsKLSAgICBmb28gYXJyYXlbM11b M107Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCAzOyBpKyspCi0gICAgICB7 Ci0JZm9yIChpbnQgaiA9IDA7IGogPCAzOyBqKyspCi0JICB7Ci0JICAgIHBy aW50ZigiJmFbJWRdWyVkXSA9ICV4XG4iLCBpLCBqLCAodm9pZCAqKSZhcnJh eVtpXVtqXSk7Ci0JICB9Ci0gICAgICB9Ci0gICAgICAvLyBUaGUgY291bnQg c2hvdWxkIGJlIG5pbmUsIGlmIG5vdCwgZmFpbCB0aGUgdGVzdC4KLSAgICAg IGlmIChmb286OmNvdW50ICE9IDkpCi0JcmV0dXJuIDE7Ci0gIH0KKyAgZm9v KiBhcnJbOV07CisgIGZvciAoaW50IGkgPSAwOyBpIDwgOTsgKytpKQorICAg IGFycltpXSA9IG5ldyBmb28oKTsKKyAgaWYgKGZvbzo6Y291bnQgIT0gOSkK KyAgICByZXR1cm4gMTsKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCA5OyArK2kp CisgICAgYXJyW2ldLT5wcmludChpIC8gMywgaSAlIDMpOworICBmb3IgKGlu dCBpID0gMDsgaSA8IDk7ICsraSkKKyAgICBkZWxldGUgYXJyW2ldOwogICBp ZiAoZm9vOjpjb3VudCAhPSAwKQogICAgIHJldHVybiAxOwogICByZXR1cm4g MDsKLS0gCjIuMzQuMQoK --0000000000003695a506004ac6a0--