From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id 534E33858D38 for ; Sun, 26 Jul 2020 13:05:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 534E33858D38 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Kwok_Yeung@mentor.com IronPort-SDR: UkMh+tBMtmt5oc4GDyQNmeOTx1GShr4lQgS/Jt0JhRJIo17ugI8X0Udvfgi7Gw1IRYVYUPCkbS zHIHIk5tgulw2zJ3zuyqArsYfAJ+uNM15TyO95cMXIUT3cL8iM9+whX5+tdk6G8Dp9VZY0FF/S 6nrJbvWHLkDwxHajzrPlEYNuAjRovj3yy0qOLEI7Hwp4URs2l4W2widv8Vso2e7t8oYBksq7p5 18vq66x2wvtwUlOQltmoHZwU0UE2ZfnFGP9IuDWcyETuBwUggkcXW0bmMHVW5YWbD0VawrjStZ w2Y= X-IronPort-AV: E=Sophos;i="5.75,398,1589270400"; d="scan'208,223";a="51427094" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 26 Jul 2020 05:05:39 -0800 IronPort-SDR: Vit9w/aJnvB/6kpgeGUgM3QcrLRdG10E/vI1KWPtsM+dviHBaahSS9E+C9HhrTBQNOOGDnMJSi pRHEBMGR6SC0WgesfeeOYYM0++M00KHdhsmqBiMfU0xOEfoLvlbDuQ64if5JE9dW7i3wozRhe5 6ewvds+wAXfn4+inm2Yo7Ba76scSwR7UYIKR2UElOi6I3dv3oTtQgBP9H3uarQBXLivkAzroL0 +8VERkCIjCo4ehgIuHWfgIqKl7+g+QITRuIGit/cdKVp1gnqQ/9t59GLp5M8/MoWf5x/ifeFeV asU= Subject: Re: [PATCH] [og10] Fix goacc/routine-4-extern.c test To: Thomas Schwinge CC: Jakub Jelinek , References: <91521931-373f-a3a6-7a3f-1752f08858a1@codesourcery.com> <07709f66-bf60-c95f-bee3-2d24adc492aa@codesourcery.com> From: Kwok Cheung Yeung Message-ID: <30ecb8b6-b53e-4119-fb1c-e17b0cec5e09@codesourcery.com> Date: Sun, 26 Jul 2020 14:05:32 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.0.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------77D5DE956F113D5716710DDF" Content-Language: en-GB X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-02.mgc.mentorg.com (139.181.222.2) To SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jul 2020 13:05:43 -0000 --------------77D5DE956F113D5716710DDF Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit On 24/07/2020 8:27 am, Thomas Schwinge wrote: > That however completely defeats what we're intending to test here, which > is to "Test invalid intra-routine parallelism". The same problem has > been introduced in og10 commit 6a0b5806b24bfdefe0b0f3ccbcc51299e5195dca > "Various OpenACC reduction enhancements - test cases" for > 'gcc/testsuite/c-c++-common/goacc/routine-4.c', which throughout changed: > > -#pragma acc loop gang reduction (+:red) // { dg-error "disallowed by containing routine" } > +#pragma acc loop seq reduction (+:red) > > Please revert that, and instead replace 'reduction (+:red)' with a > different "dummy loop operation" (just an empty loop body?), and in the > commit log state that this should've been included in the respective og10 > commit adding the "gang reduction on an orphan loop" checking. > I have reverted all the previous changes and replaced the orphan loop gang reductions with empty loops as suggested, and checked that the tests now pass. Is this version okay for OG10? Thanks Kwok --------------77D5DE956F113D5716710DDF Content-Type: text/plain; charset="UTF-8"; name="0001-Fix-c-c-common-goacc-routine-4.c-and-c-c-common-goac.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename*0="0001-Fix-c-c-common-goacc-routine-4.c-and-c-c-common-goac.pa"; filename*1="tch" RnJvbSAyODA5NTdkYzgwMDkwYmQwYjkyYWQ3YTczZjUyODg1MWFhZDk0MDUxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogS3dvayBDaGV1bmcgWWV1bmcgPGtjeUBjb2Rlc291 cmNlcnkuY29tPg0KRGF0ZTogU3VuLCAyNiBKdWwgMjAyMCAwNToxMTozMCAtMDcwMA0KU3Vi amVjdDogW1BBVENIXSBGaXggYy1jKystY29tbW9uL2dvYWNjL3JvdXRpbmUtNC5jIGFuZA0K IGMtYysrLWNvbW1vbi9nb2FjYy9yb3V0aW5lLTQtZXh0ZXJuLmMgdGVzdGNhc2VzDQoNCidW YXJpb3VzIE9wZW5BQ0MgcmVkdWN0aW9uIGVuaGFuY2VtZW50cyAtIEZFIGNoYW5nZXMnIChj b21taXQNCjZiM2UxZjdmMDVjZDM2MGJiZDM1NmIzZjc4NTExYWEyZWMzZjQwYzMpIGludHJv ZHVjZWQgY2hlY2tzIGZvciBnYW5nDQpyZWR1Y3Rpb25zIG9uIG9ycGhhbiBsb29wcy4gIFRo ZSBjaGVja3MgdHJpZ2dlcmVkIGluIHRoZSByb3V0aW5lLTQuYw0KYW5kIHJvdXRpbmUtNC1l eHRlcm4uYyB0ZXN0Y2FzZXMsIHJlcXVpcmluZyBjaGFuZ2VzIHRoYXQgZWZmZWN0aXZlbHkN CnJlbmRlcmVkIHRoZW0gdXNlbGVzcyBhcyB0ZXN0IGNhc2VzLg0KDQpUaGlzIHBhdGNoIHJl c3RvcmVzIHRoZSBvcmlnaW5hbCBpbnRlbnQgb2YgdGhlIHRlc3QgY2FzZXMsIGJ5IHJlc3Rv cmluZw0KdGhlIG9yaWdpbmFsIHRlc3RzIGFuZCByZW1vdmluZyB0aGUgb3JwaGFuIGxvb3Ag cmVkdWN0aW9ucyB0aGF0IHdlcmUNCnRyaWdnZXJpbmcgdGhlIG5ldyBjaGVjay4NCg0KVGhp cyBwYXRjaCBzaG91bGQgcHJvYmFibHkgaGF2ZSBiZWVuIHBhcnQgb2YgJ1ZhcmlvdXMgT3Bl bkFDQyByZWR1Y3Rpb24NCmVuaGFuY2VtZW50cyAtIHRlc3QgY2FzZXMnIChjb21taXQgNmEw YjU4MDZiMjRiZmRlZmUwYjBmM2NjYmNjNTEyOTllNTE5NWRjYSkuDQoNCjIwMjAtMDctMjYg IEt3b2sgQ2hldW5nIFlldW5nICA8a2N5QGNvZGVzb3VyY2VyeS5jb20+DQoNCglnY2MvdGVz dHN1aXRlLw0KCSogYy1jKystY29tbW9uL2dvYWNjL3JvdXRpbmUtNC5jIChzZXEsIHZlY3Rv ciwgd29ya2VyLCBnYW5nKTogUmV2ZXJ0DQoJcHJldmlvdXMgY2hhbmdlcy4gIFJlbW92ZSBs b29wIHJlZHVjdGlvbnMuDQoJKiBjLWMrKy1jb21tb24vZ29hY2Mvcm91dGluZS00LWV4dGVy bi5jIChzZXEsIHZlY3Rvciwgd29ya2VyLCBnYW5nKToNCglMaWtld2lzZS4NCi0tLQ0KIC4u Li9jLWMrKy1jb21tb24vZ29hY2Mvcm91dGluZS00LWV4dGVybi5jICAgICAgICAgIHwgNzIg KysrKysrKysrKy0tLS0tLS0tLS0tLQ0KIGdjYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2dv YWNjL3JvdXRpbmUtNC5jICAgICAgIHwgNzIgKysrKysrKysrKy0tLS0tLS0tLS0tLQ0KIDIg ZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgODAgZGVsZXRpb25zKC0pDQoNCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb2FjYy9yb3V0aW5lLTQt ZXh0ZXJuLmMgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb2FjYy9yb3V0aW5lLTQt ZXh0ZXJuLmMNCmluZGV4IGMyM2RkY2YuLmVjNDQ3NTggMTAwNjQ0DQotLS0gYS9nY2MvdGVz dHN1aXRlL2MtYysrLWNvbW1vbi9nb2FjYy9yb3V0aW5lLTQtZXh0ZXJuLmMNCisrKyBiL2dj Yy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2dvYWNjL3JvdXRpbmUtNC1leHRlcm4uYw0KQEAg LTI2LDIzICsyNiwyMSBAQCB2b2lkIHNlcSAodm9pZCkNCiAgIGV4dGVybl92ZWN0b3IgKCk7 ICAvKiB7IGRnLWVycm9yICJyb3V0aW5lIGNhbGwgdXNlcyIgfSAqLw0KICAgZXh0ZXJuX3Nl cSAoKTsNCiANCi0gIGludCByZWQ7DQotDQotI3ByYWdtYSBhY2MgbG9vcCByZWR1Y3Rpb24g KCs6cmVkKSAvLyB7IGRnLXdhcm5pbmcgImluc3VmZmljaWVudCBwYXJ0aXRpb25pbmciIH0N CisjcHJhZ21hIGFjYyBsb29wIC8vIHsgZGctd2FybmluZyAiaW5zdWZmaWNpZW50IHBhcnRp dGlvbmluZyIgfQ0KICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKQ0KLSAgICByZWQg Kys7DQorICAgIDsNCiANCi0jcHJhZ21hIGFjYyBsb29wIGdhbmcgcmVkdWN0aW9uICgrOnJl ZCkgLy8geyBkZy1lcnJvciAiZ2FuZyByZWR1Y3Rpb24gb24gYW4gb3JwaGFuIGxvb3AiIH0N CisjcHJhZ21hIGFjYyBsb29wIGdhbmcgLy8geyBkZy1lcnJvciAiZGlzYWxsb3dlZCBieSBj b250YWluaW5nIHJvdXRpbmUiIH0NCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykN Ci0gICAgcmVkICsrOw0KKyAgICA7DQogDQotI3ByYWdtYSBhY2MgbG9vcCB3b3JrZXIgcmVk dWN0aW9uICgrOnJlZCkgLy8geyBkZy1lcnJvciAiZGlzYWxsb3dlZCBieSBjb250YWluaW5n IHJvdXRpbmUiIH0NCisjcHJhZ21hIGFjYyBsb29wIHdvcmtlciAvLyB7IGRnLWVycm9yICJk aXNhbGxvd2VkIGJ5IGNvbnRhaW5pbmcgcm91dGluZSIgfQ0KICAgZm9yIChpbnQgaSA9IDA7 IGkgPCAxMDsgaSsrKQ0KLSAgICByZWQgKys7DQorICAgIDsNCiANCi0jcHJhZ21hIGFjYyBs b29wIHZlY3RvciByZWR1Y3Rpb24gKCs6cmVkKSAvLyB7IGRnLWVycm9yICJkaXNhbGxvd2Vk IGJ5IGNvbnRhaW5pbmcgcm91dGluZSIgfQ0KKyNwcmFnbWEgYWNjIGxvb3AgdmVjdG9yIC8v IHsgZGctZXJyb3IgImRpc2FsbG93ZWQgYnkgY29udGFpbmluZyByb3V0aW5lIiB9DQogICBm b3IgKGludCBpID0gMDsgaSA8IDEwOyBpKyspDQotICAgIHJlZCArKzsNCisgICAgOw0KIH0N CiANCiB2b2lkIHZlY3RvciAodm9pZCkNCkBAIC01MiwyMyArNTAsMjEgQEAgdm9pZCB2ZWN0 b3IgKHZvaWQpDQogICBleHRlcm5fdmVjdG9yICgpOw0KICAgZXh0ZXJuX3NlcSAoKTsNCiAN Ci0gIGludCByZWQ7DQotDQotI3ByYWdtYSBhY2MgbG9vcCByZWR1Y3Rpb24gKCs6cmVkKQ0K KyNwcmFnbWEgYWNjIGxvb3ANCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykNCi0g ICAgcmVkICsrOw0KKyAgICA7DQogDQotI3ByYWdtYSBhY2MgbG9vcCBnYW5nIHJlZHVjdGlv biAoKzpyZWQpIC8vIHsgZGctZXJyb3IgImdhbmcgcmVkdWN0aW9uIG9uIGFuIG9ycGhhbiBs b29wIiB9DQorI3ByYWdtYSBhY2MgbG9vcCBnYW5nIC8vIHsgZGctZXJyb3IgImRpc2FsbG93 ZWQgYnkgY29udGFpbmluZyByb3V0aW5lIiB9DQogICBmb3IgKGludCBpID0gMDsgaSA8IDEw OyBpKyspDQotICAgIHJlZCArKzsNCisgICAgOw0KIA0KLSNwcmFnbWEgYWNjIGxvb3Agd29y a2VyIHJlZHVjdGlvbiAoKzpyZWQpIC8vIHsgZGctZXJyb3IgImRpc2FsbG93ZWQgYnkgY29u dGFpbmluZyByb3V0aW5lIiB9DQorI3ByYWdtYSBhY2MgbG9vcCB3b3JrZXIgLy8geyBkZy1l cnJvciAiZGlzYWxsb3dlZCBieSBjb250YWluaW5nIHJvdXRpbmUiIH0NCiAgIGZvciAoaW50 IGkgPSAwOyBpIDwgMTA7IGkrKykNCi0gICAgcmVkICsrOw0KKyAgICA7DQogDQotI3ByYWdt YSBhY2MgbG9vcCB2ZWN0b3IgcmVkdWN0aW9uICgrOnJlZCkNCisjcHJhZ21hIGFjYyBsb29w IHZlY3Rvcg0KICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKQ0KLSAgICByZWQgKys7 DQorICAgIDsNCiB9DQogDQogdm9pZCB3b3JrZXIgKHZvaWQpDQpAQCAtNzgsMjMgKzc0LDIx IEBAIHZvaWQgd29ya2VyICh2b2lkKQ0KICAgZXh0ZXJuX3ZlY3RvciAoKTsNCiAgIGV4dGVy bl9zZXEgKCk7DQogDQotICBpbnQgcmVkOw0KLQ0KLSNwcmFnbWEgYWNjIGxvb3AgcmVkdWN0 aW9uICgrOnJlZCkNCisjcHJhZ21hIGFjYyBsb29wDQogICBmb3IgKGludCBpID0gMDsgaSA8 IDEwOyBpKyspDQotICAgIHJlZCArKzsNCisgICAgOw0KIA0KLSNwcmFnbWEgYWNjIGxvb3Ag Z2FuZyByZWR1Y3Rpb24gKCs6cmVkKSAvLyB7IGRnLWVycm9yICJnYW5nIHJlZHVjdGlvbiBv biBhbiBvcnBoYW4gbG9vcCIgfQ0KKyNwcmFnbWEgYWNjIGxvb3AgZ2FuZyAvLyB7IGRnLWVy cm9yICJkaXNhbGxvd2VkIGJ5IGNvbnRhaW5pbmcgcm91dGluZSIgfQ0KICAgZm9yIChpbnQg aSA9IDA7IGkgPCAxMDsgaSsrKQ0KLSAgICByZWQgKys7DQorICAgIDsNCiANCi0jcHJhZ21h IGFjYyBsb29wIHdvcmtlciByZWR1Y3Rpb24gKCs6cmVkKQ0KKyNwcmFnbWEgYWNjIGxvb3Ag d29ya2VyDQogICBmb3IgKGludCBpID0gMDsgaSA8IDEwOyBpKyspDQotICAgIHJlZCArKzsN CisgICAgOw0KIA0KLSNwcmFnbWEgYWNjIGxvb3AgdmVjdG9yIHJlZHVjdGlvbiAoKzpyZWQp DQorI3ByYWdtYSBhY2MgbG9vcCB2ZWN0b3INCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7 IGkrKykNCi0gICAgcmVkICsrOw0KKyAgICA7DQogfQ0KIA0KIHZvaWQgZ2FuZyAodm9pZCkN CkBAIC0xMDQsMjEgKzk4LDE5IEBAIHZvaWQgZ2FuZyAodm9pZCkNCiAgIGV4dGVybl92ZWN0 b3IgKCk7DQogICBleHRlcm5fc2VxICgpOw0KIA0KLSAgaW50IHJlZDsNCi0NCi0jcHJhZ21h IGFjYyBsb29wIHJlZHVjdGlvbiAoKzpyZWQpDQorI3ByYWdtYSBhY2MgbG9vcA0KICAgZm9y IChpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKQ0KLSAgICByZWQgKys7DQorICAgIDsNCiANCi0j cHJhZ21hIGFjYyBsb29wIGdhbmcgcmVkdWN0aW9uICgrOnJlZCkgLyogeyBkZy1lcnJvciAi Z2FuZyByZWR1Y3Rpb24gb24gYW4gb3JwaGFuIGxvb3AiIH0gKi8NCisjcHJhZ21hIGFjYyBs b29wIGdhbmcNCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykNCi0gICAgcmVkICsr Ow0KKyAgICA7DQogDQotI3ByYWdtYSBhY2MgbG9vcCB3b3JrZXIgcmVkdWN0aW9uICgrOnJl ZCkNCisjcHJhZ21hIGFjYyBsb29wIHdvcmtlcg0KICAgZm9yIChpbnQgaSA9IDA7IGkgPCAx MDsgaSsrKQ0KLSAgICByZWQgKys7DQorICAgIDsNCiANCi0jcHJhZ21hIGFjYyBsb29wIHZl Y3RvciByZWR1Y3Rpb24gKCs6cmVkKQ0KKyNwcmFnbWEgYWNjIGxvb3AgdmVjdG9yDQogICBm b3IgKGludCBpID0gMDsgaSA8IDEwOyBpKyspDQotICAgIHJlZCArKzsNCisgICAgOw0KIH0N CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb2FjYy9yb3V0aW5l LTQuYyBiL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2dvYWNjL3JvdXRpbmUtNC5jDQpp bmRleCBhZDE3MzcxLi44NzBmZjY0IDEwMDY0NA0KLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9jLWMr Ky1jb21tb24vZ29hY2Mvcm91dGluZS00LmMNCisrKyBiL2djYy90ZXN0c3VpdGUvYy1jKyst Y29tbW9uL2dvYWNjL3JvdXRpbmUtNC5jDQpAQCAtMTcsMjMgKzE3LDIxIEBAIHZvaWQgc2Vx ICh2b2lkKQ0KICAgdmVjdG9yICgpOyAgLyogeyBkZy1lcnJvciAicm91dGluZSBjYWxsIHVz ZXMiIH0gKi8NCiAgIHNlcSAoKTsNCiANCi0gIGludCByZWQ7DQotDQotI3ByYWdtYSBhY2Mg bG9vcCByZWR1Y3Rpb24gKCs6cmVkKSAvLyB7IGRnLXdhcm5pbmcgImluc3VmZmljaWVudCBw YXJ0aXRpb25pbmciIH0NCisjcHJhZ21hIGFjYyBsb29wIC8vIHsgZGctd2FybmluZyAiaW5z dWZmaWNpZW50IHBhcnRpdGlvbmluZyIgfQ0KICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDsg aSsrKQ0KLSAgICByZWQgKys7DQorICAgIDsNCiANCi0jcHJhZ21hIGFjYyBsb29wIHNlcSBy ZWR1Y3Rpb24gKCs6cmVkKQ0KKyNwcmFnbWEgYWNjIGxvb3AgZ2FuZyAvLyB7IGRnLWVycm9y ICJkaXNhbGxvd2VkIGJ5IGNvbnRhaW5pbmcgcm91dGluZSIgfQ0KICAgZm9yIChpbnQgaSA9 IDA7IGkgPCAxMDsgaSsrKQ0KLSAgICByZWQgKys7DQorICAgIDsNCiANCi0jcHJhZ21hIGFj YyBsb29wIHdvcmtlciByZWR1Y3Rpb24gKCs6cmVkKSAvLyB7IGRnLWVycm9yICJkaXNhbGxv d2VkIGJ5IGNvbnRhaW5pbmcgcm91dGluZSIgfQ0KKyNwcmFnbWEgYWNjIGxvb3Agd29ya2Vy IC8vIHsgZGctZXJyb3IgImRpc2FsbG93ZWQgYnkgY29udGFpbmluZyByb3V0aW5lIiB9DQog ICBmb3IgKGludCBpID0gMDsgaSA8IDEwOyBpKyspDQotICAgIHJlZCArKzsNCisgICAgOw0K IA0KLSNwcmFnbWEgYWNjIGxvb3AgdmVjdG9yIHJlZHVjdGlvbiAoKzpyZWQpIC8vIHsgZGct ZXJyb3IgImRpc2FsbG93ZWQgYnkgY29udGFpbmluZyByb3V0aW5lIiB9DQorI3ByYWdtYSBh Y2MgbG9vcCB2ZWN0b3IgLy8geyBkZy1lcnJvciAiZGlzYWxsb3dlZCBieSBjb250YWluaW5n IHJvdXRpbmUiIH0NCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykNCi0gICAgcmVk ICsrOw0KKyAgICA7DQogfQ0KIA0KIHZvaWQgdmVjdG9yICh2b2lkKSAvKiB7IGRnLW1lc3Nh Z2UgImRlY2xhcmVkIGhlcmUiICIxIiB9ICovDQpAQCAtNDMsMjMgKzQxLDIxIEBAIHZvaWQg dmVjdG9yICh2b2lkKSAvKiB7IGRnLW1lc3NhZ2UgImRlY2xhcmVkIGhlcmUiICIxIiB9ICov DQogICB2ZWN0b3IgKCk7DQogICBzZXEgKCk7DQogDQotICBpbnQgcmVkOw0KLQ0KLSNwcmFn bWEgYWNjIGxvb3AgcmVkdWN0aW9uICgrOnJlZCkNCisjcHJhZ21hIGFjYyBsb29wIA0KICAg Zm9yIChpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKQ0KLSAgICByZWQgKys7DQorICAgIDsNCiAN Ci0jcHJhZ21hIGFjYyBsb29wIHNlcSByZWR1Y3Rpb24gKCs6cmVkKQ0KKyNwcmFnbWEgYWNj IGxvb3AgZ2FuZyAvLyB7IGRnLWVycm9yICJkaXNhbGxvd2VkIGJ5IGNvbnRhaW5pbmcgcm91 dGluZSIgfQ0KICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKQ0KLSAgICByZWQgKys7 DQorICAgIDsNCiANCi0jcHJhZ21hIGFjYyBsb29wIHdvcmtlciByZWR1Y3Rpb24gKCs6cmVk KSAvLyB7IGRnLWVycm9yICJkaXNhbGxvd2VkIGJ5IGNvbnRhaW5pbmcgcm91dGluZSIgfQ0K KyNwcmFnbWEgYWNjIGxvb3Agd29ya2VyIC8vIHsgZGctZXJyb3IgImRpc2FsbG93ZWQgYnkg Y29udGFpbmluZyByb3V0aW5lIiB9DQogICBmb3IgKGludCBpID0gMDsgaSA8IDEwOyBpKysp DQotICAgIHJlZCArKzsNCisgICAgOw0KIA0KLSNwcmFnbWEgYWNjIGxvb3AgdmVjdG9yIHJl ZHVjdGlvbiAoKzpyZWQpDQorI3ByYWdtYSBhY2MgbG9vcCB2ZWN0b3INCiAgIGZvciAoaW50 IGkgPSAwOyBpIDwgMTA7IGkrKykNCi0gICAgcmVkICsrOw0KKyAgICA7DQogfQ0KIA0KIHZv aWQgd29ya2VyICh2b2lkKSAvKiB7IGRnLW1lc3NhZ2UgImRlY2xhcmVkIGhlcmUiICIyIiB9 ICovDQpAQCAtNjksMjMgKzY1LDIxIEBAIHZvaWQgd29ya2VyICh2b2lkKSAvKiB7IGRnLW1l c3NhZ2UgImRlY2xhcmVkIGhlcmUiICIyIiB9ICovDQogICB2ZWN0b3IgKCk7DQogICBzZXEg KCk7DQogDQotICBpbnQgcmVkOw0KLQ0KLSNwcmFnbWEgYWNjIGxvb3AgcmVkdWN0aW9uICgr OnJlZCkNCisjcHJhZ21hIGFjYyBsb29wDQogICBmb3IgKGludCBpID0gMDsgaSA8IDEwOyBp KyspDQotICAgIHJlZCArKzsNCisgICAgOw0KIA0KLSNwcmFnbWEgYWNjIGxvb3Agc2VxIHJl ZHVjdGlvbiAoKzpyZWQpDQorI3ByYWdtYSBhY2MgbG9vcCBnYW5nIC8vIHsgZGctZXJyb3Ig ImRpc2FsbG93ZWQgYnkgY29udGFpbmluZyByb3V0aW5lIiB9DQogICBmb3IgKGludCBpID0g MDsgaSA8IDEwOyBpKyspDQotICAgIHJlZCArKzsNCisgICAgOw0KIA0KLSNwcmFnbWEgYWNj IGxvb3Agd29ya2VyIHJlZHVjdGlvbiAoKzpyZWQpDQorI3ByYWdtYSBhY2MgbG9vcCB3b3Jr ZXINCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykNCi0gICAgcmVkICsrOw0KKyAg ICA7DQogDQotI3ByYWdtYSBhY2MgbG9vcCB2ZWN0b3IgcmVkdWN0aW9uICgrOnJlZCkNCisj cHJhZ21hIGFjYyBsb29wIHZlY3Rvcg0KICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDsgaSsr KQ0KLSAgICByZWQgKys7DQorICAgIDsNCiB9DQogDQogdm9pZCBnYW5nICh2b2lkKSAvKiB7 IGRnLW1lc3NhZ2UgImRlY2xhcmVkIGhlcmUiICIzIiB9ICovDQpAQCAtOTUsMjEgKzg5LDE5 IEBAIHZvaWQgZ2FuZyAodm9pZCkgLyogeyBkZy1tZXNzYWdlICJkZWNsYXJlZCBoZXJlIiAi MyIgfSAqLw0KICAgdmVjdG9yICgpOw0KICAgc2VxICgpOw0KIA0KLSAgaW50IHJlZDsNCi0N Ci0jcHJhZ21hIGFjYyBsb29wIHJlZHVjdGlvbiAoKzpyZWQpDQorI3ByYWdtYSBhY2MgbG9v cA0KICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKQ0KLSAgICByZWQgKys7DQorICAg IDsNCiANCi0jcHJhZ21hIGFjYyBsb29wIHNlcSByZWR1Y3Rpb24gKCs6cmVkKQ0KKyNwcmFn bWEgYWNjIGxvb3AgZ2FuZw0KICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKQ0KLSAg ICByZWQgKys7DQorICAgIDsNCiANCi0jcHJhZ21hIGFjYyBsb29wIHdvcmtlciByZWR1Y3Rp b24gKCs6cmVkKQ0KKyNwcmFnbWEgYWNjIGxvb3Agd29ya2VyDQogICBmb3IgKGludCBpID0g MDsgaSA8IDEwOyBpKyspDQotICAgIHJlZCArKzsNCisgICAgOw0KIA0KLSNwcmFnbWEgYWNj IGxvb3AgdmVjdG9yIHJlZHVjdGlvbiAoKzpyZWQpDQorI3ByYWdtYSBhY2MgbG9vcCB2ZWN0 b3INCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykNCi0gICAgcmVkICsrOw0KKyAg ICA7DQogfQ0KLS0gDQoyLjguMQ0KDQo= --------------77D5DE956F113D5716710DDF--