From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 444143858D20 for ; Fri, 28 Jul 2023 15:42:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 444143858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1690558965; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=p18KHE0UUssESpI8A141sR6JN1GDHbzIlREtpV9z+LI=; b=CNRgmE5wf7ECv/QgVvDvuvh7p5LaE2ZeQzbHoFYFyQ5nzCr0zHxjHpH732gmzlGelG0lrq 2BSI3On7z4E8ZpwB9+LgUDyYJQISG0DXfiyTamlW+buAjCYbKF5QAEor+SROl5fy5b9mAV cwe80k/NgkC0wNhwYCTX1MLYnJI1q0k= Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-385-9YRjzNMsPZa8wheLzpSHTw-1; Fri, 28 Jul 2023 11:42:43 -0400 X-MC-Unique: 9YRjzNMsPZa8wheLzpSHTw-1 Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7623d5cb0caso266640585a.3 for ; Fri, 28 Jul 2023 08:42:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690558962; x=1691163762; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ZQEsrcIvcnmSnEwUIwHKSNscItGguNPYcasKYY/d75Q=; b=dcoCHBXQiqpW0a23NhxrXKOYCYz9LXtsTjE9an3fXdzbIPT5cMw5C9UG+YT3SvYn8G RKpoFnosOyk6d8vunv7RA+a9tcVJELrTNGks6oyQPUHLLZDLF3sV1OVoiipVDALRYgzR y66W6LbFnr/22oGRgPHx9WabEmK6yfqbr1U1hROOlpprKPGhtyAf6AKRMfzViGE00ke6 j0Cv7slPEtcFVlBXgl69QywSiGS5t/h7vfIJlE7elNIWOSLUJult7jQPo/R35NcFp0mr MTHzjDRtgxmZl8bV3UcxjKNvEhgy0gt7NK02a5VJN4BBsBlvuqjmM9AhfM5Ltxe0rS4z 2Wzg== X-Gm-Message-State: ABy/qLZ6/nAU6CP/NziNDrtQWgeX0jpnIEX+GfMIAHIIYTfnaeEmVFDw L/RlK5eF38zuLOssb7tXD4/QjQuBHjER+j5Z6hSZk2n4IsVh0rFIG1bj6maFUBvKkKWuh9dI9ep RHRBXZsgCgXn1KRdNXQ== X-Received: by 2002:a0c:dd0b:0:b0:63c:f48c:cbe5 with SMTP id u11-20020a0cdd0b000000b0063cf48ccbe5mr2884846qvk.35.1690558962785; Fri, 28 Jul 2023 08:42:42 -0700 (PDT) X-Google-Smtp-Source: APBJJlFIxllMKlsHXys2LY7/yWd41DEAxNaOnNXMGcqHAKiBpl5cJUV3cygrx7YdfYCNLAgbRN0b2g== X-Received: by 2002:a0c:dd0b:0:b0:63c:f48c:cbe5 with SMTP id u11-20020a0cdd0b000000b0063cf48ccbe5mr2884834qvk.35.1690558962489; Fri, 28 Jul 2023 08:42:42 -0700 (PDT) Received: from [192.168.0.67] (75-172-17-121.tukw.qwest.net. [75.172.17.121]) by smtp.gmail.com with ESMTPSA id d4-20020a05620a136400b00767c76b2c38sm1203213qkl.83.2023.07.28.08.42.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 28 Jul 2023 08:42:41 -0700 (PDT) Message-ID: <83b9f671-a6e3-821b-197f-dadc51416536@redhat.com> Date: Fri, 28 Jul 2023 08:42:37 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH] c++: devirtualization of array destruction [PR110057] To: Ng YongXiang Cc: gcc-patches@gcc.gnu.org, Xi Ruoyao References: <7523fbf9-30d8-4529-5dd4-0948c9ad3ef9@redhat.com> <722b667b-0da1-7748-23e1-cf09b4ff876d@redhat.com> From: Jason Merrill In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------phuKqhWY6jHErhIqehAqX0Q0" Content-Language: en-US X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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. --------------phuKqhWY6jHErhIqehAqX0Q0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 7/26/23 20:06, Ng YongXiang wrote: > Hi Jason, > > I've made the following changes. > > 1. Add pr83054-2.C > 2. Move the devirt tests to tree-ssa. > 3. Remove dg do run for devirt tests > 4. Add // PR c++/110057 > 5. Generate commit message with git gcc-commit-mklog > 6. Check commit format with git gcc-verify > > Thanks! Thanks. I added a comment and fixed another test that was breaking with the patch; here's what I pushed. Jason --------------phuKqhWY6jHErhIqehAqX0Q0 Content-Type: text/x-patch; charset=UTF-8; name="0001-c-devirtualization-of-array-destruction-PR110057.patch" Content-Disposition: attachment; filename*0="0001-c-devirtualization-of-array-destruction-PR110057.patch" Content-Transfer-Encoding: base64 RnJvbSBhNDdlNjE1ZmJmOWM2ZjRiMjRlNTAzMmRmNWQ3MjBiNmJmOWI2M2I1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOZyBZb25nWGlhbmcgPHlvbmd4aWFuZ25nQGdtYWlsLmNvbT4K RGF0ZTogVGh1LCAyNyBKdWwgMjAyMyAwODowNjoxNCArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIGMr KzogZGV2aXJ0dWFsaXphdGlvbiBvZiBhcnJheSBkZXN0cnVjdGlvbiBbUFIxMTAwNTddClRvOiBn Y2MtcGF0Y2hlc0BnY2MuZ251Lm9yZwoKCVBSIGMrKy8xMTAwNTcKCVBSIGlwYS84MzA1NAoKZ2Nj L2NwL0NoYW5nZUxvZzoKCgkqIGluaXQuY2MgKGJ1aWxkX3ZlY19kZWxldGVfMSk6IERldmlydHVh bGl6ZSBhcnJheSBkZXN0cnVjdGlvbi4KCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgoKCSogZysr LmRnL3dhcm4vcHI4MzA1NC5DOiBSZW1vdmUgZGV2aXJ0dWFsaXphdGlvbiB3YXJuaW5nLgoJKiBn KysuZGcvbHRvL3ByODkzMzVfMC5DOiBMaWtld2lzZS4KCSogZysrLmRnL3RyZWUtc3NhL2Rldmly dC1hcnJheS1kZXN0cnVjdG9yLTEuQzogTmV3IHRlc3QuCgkqIGcrKy5kZy90cmVlLXNzYS9kZXZp cnQtYXJyYXktZGVzdHJ1Y3Rvci0yLkM6IE5ldyB0ZXN0LgoJKiBnKysuZGcvd2Fybi9wcjgzMDU0 LTIuQzogTmV3IHRlc3QuCgpTaWduZWQtb2ZmLWJ5OiBOZyBZb25nIFhpYW5nIDx5b25neGlhbmdu Z0BnbWFpbC5jb20+Ci0tLQogZ2NjL2NwL2luaXQuY2MgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgMTEgKysrLS0KIGdjYy90ZXN0c3VpdGUvZysrLmRnL2x0by9wcjg5MzM1XzAuQyAg ICAgICAgICB8ICAyICstCiAuLi4vdHJlZS1zc2EvZGV2aXJ0LWFycmF5LWRlc3RydWN0b3ItMS5D ICAgICAgfCAyOCArKysrKysrKysrKysKIC4uLi90cmVlLXNzYS9kZXZpcnQtYXJyYXktZGVzdHJ1 Y3Rvci0yLkMgICAgICB8IDI5ICsrKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvd2Fy bi9wcjgzMDU0LTIuQyAgICAgICAgIHwgNDQgKysrKysrKysrKysrKysrKysrKwogZ2NjL3Rlc3Rz dWl0ZS9nKysuZGcvd2Fybi9wcjgzMDU0LkMgICAgICAgICAgIHwgIDIgKy0KIDYgZmlsZXMgY2hh bmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvdHJlZS1zc2EvZGV2aXJ0LWFycmF5LWRlc3RydWN0b3It MS5DCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvdHJlZS1zc2EvZGV2 aXJ0LWFycmF5LWRlc3RydWN0b3ItMi5DCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nKysuZGcvd2Fybi9wcjgzMDU0LTIuQwoKZGlmZiAtLWdpdCBhL2djYy9jcC9pbml0LmNjIGIv Z2NjL2NwL2luaXQuY2MKaW5kZXggZmY1MDE0Y2E1NzYuLjNiOWE3NzgzMzkxIDEwMDY0NAotLS0g YS9nY2MvY3AvaW5pdC5jYworKysgYi9nY2MvY3AvaW5pdC5jYwpAQCAtNDExNiw4ICs0MTE2LDgg QEAgYnVpbGRfdmVjX2RlbGV0ZV8xIChsb2NhdGlvbl90IGxvYywgdHJlZSBiYXNlLCB0cmVlIG1h eGluZGV4LCB0cmVlIHR5cGUsCiAgICAgICBpZiAodHlwZV9idWlsZF9kdG9yX2NhbGwgKHR5cGUp KQogCXsKIAkgIHRtcCA9IGJ1aWxkX2RlbGV0ZSAobG9jLCBwdHlwZSwgYmFzZSwgc2ZrX2NvbXBs ZXRlX2Rlc3RydWN0b3IsCi0JCQkgICAgICBMT09LVVBfTk9STUFMfExPT0tVUF9ERVNUUlVDVE9S LCAxLAotCQkJICAgICAgY29tcGxhaW4pOworCQkJICAgICAgTE9PS1VQX05PUk1BTHxMT09LVVBf REVTVFJVQ1RPUnxMT09LVVBfTk9OVklSVFVBTCwKKwkJCSAgICAgIDEsIGNvbXBsYWluKTsKIAkg IGlmICh0bXAgPT0gZXJyb3JfbWFya19ub2RlKQogCSAgICByZXR1cm4gZXJyb3JfbWFya19ub2Rl OwogCX0KQEAgLTQxNDYsOSArNDE0NiwxMiBAQCBidWlsZF92ZWNfZGVsZXRlXzEgKGxvY2F0aW9u X3QgbG9jLCB0cmVlIGJhc2UsIHRyZWUgbWF4aW5kZXgsIHRyZWUgdHlwZSwKICAgaWYgKHRtcCA9 PSBlcnJvcl9tYXJrX25vZGUpCiAgICAgcmV0dXJuIGVycm9yX21hcmtfbm9kZTsKICAgYm9keSA9 IGJ1aWxkX2NvbXBvdW5kX2V4cHIgKGxvYywgYm9keSwgdG1wKTsKKyAgLyogW2V4cHIuZGVsZXRl XS8zOiAiSW4gYW4gYXJyYXkgZGVsZXRlIGV4cHJlc3Npb24sIGlmIHRoZSBkeW5hbWljIHR5cGUg b2YKKyAgICAgdGhlIG9iamVjdCB0byBiZSBkZWxldGVkIGlzIG5vdCBzaW1pbGFyIHRvIGl0cyBz dGF0aWMgdHlwZSwgdGhlIGJlaGF2aW9yCisgICAgIGlzIHVuZGVmaW5lZC4iICBTbyB3ZSBjYW4g c2V0IExPT0tVUF9OT05WSVJUVUFMLiAgKi8KICAgdG1wID0gYnVpbGRfZGVsZXRlIChsb2MsIHB0 eXBlLCB0YmFzZSwgc2ZrX2NvbXBsZXRlX2Rlc3RydWN0b3IsCi0JCSAgICAgIExPT0tVUF9OT1JN QUx8TE9PS1VQX0RFU1RSVUNUT1IsIDEsCi0JCSAgICAgIGNvbXBsYWluKTsKKwkJICAgICAgTE9P S1VQX05PUk1BTHxMT09LVVBfREVTVFJVQ1RPUnxMT09LVVBfTk9OVklSVFVBTCwKKwkJICAgICAg MSwgY29tcGxhaW4pOwogICBpZiAodG1wID09IGVycm9yX21hcmtfbm9kZSkKICAgICByZXR1cm4g ZXJyb3JfbWFya19ub2RlOwogICBib2R5ID0gYnVpbGRfY29tcG91bmRfZXhwciAobG9jLCBib2R5 LCB0bXApOwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvbHRvL3ByODkzMzVfMC5D IGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvbHRvL3ByODkzMzVfMC5DCmluZGV4IDk1YmY0YjNiMGNi Li43NjM4MmY4ZDc0MiAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvbHRvL3ByODkz MzVfMC5DCisrKyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL2x0by9wcjg5MzM1XzAuQwpAQCAtOSw3 ICs5LDcgQEAgcHVibGljOgogICB2aXJ0dWFsIH5Db250YWluZXIgKCk7CiB9OwogCi1jbGFzcyBM aXN0IDogcHVibGljIENvbnRhaW5lciAvLyB7IGRnLWx0by1tZXNzYWdlICJmaW5hbCB3b3VsZCBl bmFibGUgZGV2aXJ0dWFsaXphdGlvbiIgfQorY2xhc3MgTGlzdCA6IHB1YmxpYyBDb250YWluZXIK IHsKIH07CiAKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZysrLmRnL3RyZWUtc3NhL2Rldmly dC1hcnJheS1kZXN0cnVjdG9yLTEuQyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL3RyZWUtc3NhL2Rl dmlydC1hcnJheS1kZXN0cnVjdG9yLTEuQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMC4uY2U4ZGMyYTU3Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2cr Ky5kZy90cmVlLXNzYS9kZXZpcnQtYXJyYXktZGVzdHJ1Y3Rvci0xLkMKQEAgLTAsMCArMSwyOCBA QAorLy8gUFIgYysrLzExMDA1NworLyogeyBkZy1kby1jb21waWxlIH0gKi8KKy8qIFZpcnR1YWwg Y2FsbHMgc2hvdWxkIGJlIGRldmlydHVhbGl6ZWQgYmVjYXVzZSB3ZSBrbm93IGR5bmFtaWMgdHlw ZSBvZiBvYmplY3QgaW4gYXJyYXkgYXQgY29tcGlsZSB0aW1lICovCisvKiB7IGRnLW9wdGlvbnMg Ii1PMyAtZmR1bXAtdHJlZS1vcHRpbWl6ZWQgLWZuby1pbmxpbmUiICB9ICovCisKK2NsYXNzIEEK K3sKK3B1YmxpYzoKKyAgdmlydHVhbCB+QSgpCisgIHsKKyAgfQorfTsKKworY2xhc3MgQiA6IHB1 YmxpYyBBCit7CitwdWJsaWM6CisgIHZpcnR1YWwgfkIoKQorICB7CisgIH0KK307CisKK2ludCBt YWluKCkKK3sKKyAgQiBiWzEwXTsKKyAgcmV0dXJuIDA7Cit9CisKKy8qIHsgZGctZmluYWwgeyBz Y2FuLXRyZWUtZHVtcC10aW1lcyAiT0JKX1RZUEVfUkVGIiAwICJvcHRpbWl6ZWQifSB9ICovCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2crKy5kZy90cmVlLXNzYS9kZXZpcnQtYXJyYXktZGVz dHJ1Y3Rvci0yLkMgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy90cmVlLXNzYS9kZXZpcnQtYXJyYXkt ZGVzdHJ1Y3Rvci0yLkMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjZi NDRkYzFhNGVlCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvdHJlZS1z c2EvZGV2aXJ0LWFycmF5LWRlc3RydWN0b3ItMi5DCkBAIC0wLDAgKzEsMjkgQEAKKy8vIFBSIGMr Ky8xMTAwNTcKKy8qIHsgZGctZG8tY29tcGlsZSB9ICovCisvKiBWaXJ0dWFsIGNhbGxzIHNob3Vs ZCBiZSBkZXZpcnR1YWxpemVkIGJlY2F1c2Ugd2Uga25vdyBkeW5hbWljIHR5cGUgb2Ygb2JqZWN0 IGluIGFycmF5IGF0IGNvbXBpbGUgdGltZSAqLworLyogeyBkZy1vcHRpb25zICItTzMgLWZkdW1w LXRyZWUtb3B0aW1pemVkIC1mbm8taW5saW5lIiAgfSAqLworCitjbGFzcyBBCit7CitwdWJsaWM6 CisgIHZpcnR1YWwgfkEoKQorICB7CisgIH0KK307CisKK2NsYXNzIEIgOiBwdWJsaWMgQQorewor cHVibGljOgorICB2aXJ0dWFsIH5CKCkKKyAgeworICB9Cit9OworCitpbnQgbWFpbigpCit7Cisg IEIqIHB0ciA9IG5ldyBCWzEwXTsKKyAgZGVsZXRlW10gcHRyOworICByZXR1cm4gMDsKK30KKwor LyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJPQkpfVFlQRV9SRUYiIDAgIm9w dGltaXplZCJ9IH0gKi8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZysrLmRnL3dhcm4vcHI4 MzA1NC0yLkMgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy93YXJuL3ByODMwNTQtMi5DCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42ZDgyMTZkMjI5ZgotLS0gL2Rldi9udWxs CisrKyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL3dhcm4vcHI4MzA1NC0yLkMKQEAgLTAsMCArMSw0 NCBAQAorLy8gUFIgaXBhLzgzMDU0CisvLyB7IGRnLW9wdGlvbnMgIi1PMyAtV3N1Z2dlc3QtZmlu YWwtdHlwZXMiIH0KKy8vIHsgZGctZG8gY29tcGlsZSB9CisKKy8vIEEgdGhyb3dpbmcgZHRvciBp biBDKys5OCBtb2RlIGNoYW5nZXMgdGhlIHdhcm5pbmcuCisjaWYgX19jcGx1c3BsdXMgPCAyMDEx MDBMCisjZGVmaW5lIE5PVEhST1cgdGhyb3coKQorI2Vsc2UKKyNkZWZpbmUgTk9USFJPVyBub2V4 Y2VwdAorI2VuZGlmCisKK2V4dGVybiAiQyIgaW50IHByaW50ZiAoY29uc3QgY2hhciAqLCAuLi4p Oworc3RydWN0IGZvbyAvLyB7IGRnLXdhcm5pbmcgImZpbmFsIHdvdWxkIGVuYWJsZSBkZXZpcnR1 YWxpemF0aW9uIG9mIDEgY2FsbCIgfQoreworICBzdGF0aWMgaW50IGNvdW50OworICB2b2lkIHBy aW50IChpbnQgaSwgaW50IGopIHsgcHJpbnRmICgiZm9vWyVkXVslZF0gPSAlZFxuIiwgaSwgaiwg eCk7IH0KKyAgaW50IHg7CisgIGZvbyAoKSB7CisgICAgeCA9IGNvdW50Kys7CisgICAgcHJpbnRm KCJ0aGlzICVkID0gJXhcbiIsIHgsICh2b2lkICopdGhpcyk7CisgIH0KKyAgdmlydHVhbCB+Zm9v ICgpIE5PVEhST1cgeworICAgIHByaW50ZigidGhpcyAlZCA9ICV4XG4iLCB4LCAodm9pZCAqKXRo aXMpOworICAgIC0tY291bnQ7CisgIH0KK307CitpbnQgZm9vOjpjb3VudDsKKworCitpbnQgbWFp biAoKQoreworICBmb28gKmFycls5XTsKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCA5OyArK2kpCisg ICAgYXJyW2ldID0gbmV3IGZvbygpOworICBpZiAoZm9vOjpjb3VudCAhPSA5KQorICAgIHJldHVy biAxOworICBmb3IgKGludCBpID0gMDsgaSA8IDk7ICsraSkKKyAgICBhcnJbaV0tPnByaW50KGkg LyAzLCBpICUgMyk7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgOTsgKytpKQorICAgIGRlbGV0ZSBh cnJbaV07CisgIGlmIChmb286OmNvdW50ICE9IDApCisgICAgcmV0dXJuIDE7CisgIHJldHVybiAw OworfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvd2Fybi9wcjgzMDU0LkMgYi9n Y2MvdGVzdHN1aXRlL2crKy5kZy93YXJuL3ByODMwNTQuQwppbmRleCA1Mjg1Zjk0YWNlZS4uNWE0 YTZhYmUyNDggMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZysrLmRnL3dhcm4vcHI4MzA1NC5D CisrKyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL3dhcm4vcHI4MzA1NC5DCkBAIC0xMCw3ICsxMCw3 IEBACiAjZW5kaWYKIAogZXh0ZXJuICJDIiBpbnQgcHJpbnRmIChjb25zdCBjaGFyICosIC4uLik7 Ci1zdHJ1Y3QgZm9vIC8vIHsgZGctd2FybmluZyAiZmluYWwgd291bGQgZW5hYmxlIGRldmlydHVh bGl6YXRpb24gb2YgNSBjYWxscyIgfQorc3RydWN0IGZvbwogewogICBzdGF0aWMgaW50IGNvdW50 OwogICB2b2lkIHByaW50IChpbnQgaSwgaW50IGopIHsgcHJpbnRmICgiZm9vWyVkXVslZF0gPSAl ZFxuIiwgaSwgaiwgeCk7IH0KLS0gCjIuMzkuMwoK --------------phuKqhWY6jHErhIqehAqX0Q0--