From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail1.med.uni-goettingen.de (mail1.med.uni-goettingen.de [134.76.103.230]) by sourceware.org (Postfix) with ESMTPS id 03F6A3858C3A for ; Wed, 20 Oct 2021 05:58:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 03F6A3858C3A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=med.uni-goettingen.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=med.uni-goettingen.de Received: from umg-exc-04.ads.local.med.uni-goettingen.de ([10.76.100.73]:18479) by mail1.med.uni-goettingen.de with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1md4c2-0005NA-2l; Wed, 20 Oct 2021 07:58:06 +0200 Received: from umg-exc-01.ads.local.med.uni-goettingen.de (10.76.100.74) by umg-exc-04.ads.local.med.uni-goettingen.de (10.76.100.73) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Wed, 20 Oct 2021 07:58:05 +0200 Received: from umg-exc-01.ads.local.med.uni-goettingen.de ([fe80::2886:b6b:10e3:deea]) by umg-exc-01.ads.local.med.uni-goettingen.de ([fe80::2886:b6b:10e3:deea%6]) with mapi id 15.01.2308.014; Wed, 20 Oct 2021 07:58:05 +0200 From: "Uecker, Martin" To: "jason@redhat.com" , "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH v4] Fix ICE when mixing VLAs and statement expressions [PR91038] Thread-Topic: [PATCH v4] Fix ICE when mixing VLAs and statement expressions [PR91038] Thread-Index: AQHXw143MftMnbergkWYZPcUCydOG6vY1CAAgAJygoA= Date: Wed, 20 Oct 2021 05:58:04 +0000 Message-ID: <84adb4045b8fd8c89f2bca7d019ddb865473eb09.camel@med.uni-goettingen.de> References: <8b3a94a09d35d51da2b0330ecff543d6dbcbe029.camel@med.uni-goettingen.de> <0bb9197f-2bd9-48f3-6a5f-1ff58bb95176@redhat.com> In-Reply-To: <0bb9197f-2bd9-48f3-6a5f-1ff58bb95176@redhat.com> Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.76.100.67] Content-Type: text/plain; charset="utf-8" Content-ID: <4F68C86DA3AE1840AF76F8A77890476D@med.uni-goettingen.de> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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: Wed, 20 Oct 2021 05:58:13 -0000 QW0gTW9udGFnLCBkZW4gMTguMTAuMjAyMSwgMTI6MzUgLTA0MDAgc2NocmllYiBKYXNvbiBNZXJy aWxsOg0KPiBPbiAxMC8xNy8yMSAwOTo1MiwgVWVja2VyLCBNYXJ0aW4gd3JvdGU6DQo+ID4gDQo+ ID4gSGVyZSBpcyB0aGUgNHRoIHZlcnNpb24gb2YgdGhlIHBhdGNoLiBJIHRyaWVkIHRvIGltcGxl bWVudA0KPiA+IEphc29uJ3Mgc3VnZ2VzdGlvbiBhbmQgdGhpcyBhbHNvIGZpeGVzIHRoZSBwcm9i bGVtLiBCdXQNCj4gPiBJIGFtIG5vdCBzdXJlIEkgdW5kZXJzdGFuZCB0aGUgY29uZGl0aW9uIG9u DQo+ID4gdGhlIFRSRUVfU0lERV9FRkZFQ1RTIC4uLg0KPiANCj4gQ2hlY2tpbmcgVFJFRV9TSURF X0VGRkVDVFMgZmlsdGVycyBvdXQgbWFueSB0cml2aWFsIGNhc2VzIHRoYXQgd2UgZG9uJ3QgDQo+ IG5lZWQgdG8gd29ycnkgYWJvdXQuIA0KDQpZZXMsIGJ1dCBhcmUgd2Ugc3VyZSB0aGVyZSBhcmUg YWx3YXlzIHNpZGUgZWZmZWN0cyBpbiB0aGUNCmNhc2VzIHdlIGNhcmUgYWJvdXQ/IEkgYXNzdW1l IHRoYXQgdGhlIHByb2JsZW1hdGljIGNhc2UNCmFyZSBvbmx5IHRob3NlIHdoZXJlIHRoZSBzaXpl IGV4cHJlc3Npb24gZGVwZW5kcyBvbiBhDQp2YXJpYWJsZSBhbmQgdGhlbiB0aGVyZSB3YXMgYSB3 cml0ZSB0byBvbmUuLiBCdXQgSSBhbSBub3QNCnN1cmUuDQoNCj4gIEkgdGhpbmsgd2UgYWxzbyB3 YW50IHRvIGNoZWNrIA0KPiB2YXJpYWJseV9tb2RpZmllZF90eXBlX3AsIHdoaWNoIG91Z2h0IHRv IGF2b2lkIHRoZSBPTVAgcHJvYmxlbSBiZWxvdy4NCg0KSSBkb24ndCB0aGluayBzbyBiZWNhdXNl IHRoZSBwcm9ibGVtIGJlbG93IGludm9sdmVzIFZNIHR5cGVzLg0KDQpNYXJ0aW4NCg0KPiA+IEFu ZCB0aGVyZSBpcyBub3cgYW5vdGhlciBwcm9ibGVtOg0KPiA+IA0KPiA+IGNfZmluaXNoX29tcF9m b3IgaW4gYy1mYW1pbHkvYy1vbXAuYyBkb2VzIG5vdCBzZWVtDQo+ID4gdG8gdW5kZXJzdGFuZCB0 aGUgZXhwcmVzc2lvbnMgYW55bW9yZSBhbmQgSSBnZXQgYSB0ZXN0DQo+ID4gZmFpbHVyZSBpbg0K PiA+IA0KPiA+IHRlc3RzdWl0ZS9jLWMrKy1jb21tb24vZ29tcC9mb3ItNS5jDQo+ID4gDQo+ID4g d2hlcmUgSSBub3cgZ2V0IGFuICJpbnZhbGlkIGluY3JlbWVudCBleHByZXNzaW9uIg0KPiA+IGlu c3RlYWQgb2YgdGhlIGV4cGVjdGVkIGVycm9yLg0KPiA+IChib290c3RyYXBwaW5nIGFuZCBhbGwg b3RoZXIgdGVzdHMgd29yayBmaW5lKQ0KPiA+IA0KPiA+IA0KPiA+IE1hcnRpbg0KPiA+IA0KPiA+ IA0KPiA+IA0KPiA+IA0KPiA+IEZpeCBJQ0Ugd2hlbiBtaXhpbmcgVkxBcyBhbmQgc3RhdGVtZW50 IGV4cHJlc3Npb25zIFtQUjkxMDM4XQ0KPiA+IA0KPiA+IFdoZW4gcmV0dXJuaW5nIFZNLXR5cGVz IGZyb20gc3RhdGVtZW50IGV4cHJlc3Npb25zLCB0aGlzIGNhbg0KPiA+IGxlYWQgdG8gYW4gSUNF IHdoZW4gZGVjbGFyYXRpb25zIGZyb20gdGhlIHN0YXRlbWVudCBleHByZXNzaW9uDQo+ID4gYXJl IHJlZmVycmVkIHRvIGxhdGVyLiBNb3N0IG9mIHRoZXNlIGlzc3VlcyBjYW4gYmUgYWRkcmVzc2Vk IGJ5DQo+ID4gZ2ltcGxpZnlpbmcgdGhlIGJhc2UgZXhwcmVzc2lvbiBlYXJsaWVyIGluIGdpbXBs aWZ5X2NvbXBvdW5kX2x2YWwuDQo+ICA+DQo+ID4gQW5vdGhlciBpc3N1ZSBpcyBmaXhlZCBieSBh ZGRpbmcgU0FWRV9FWFBScyBpbiBwb2ludGVyX2ludF9zdW0NCj4gPiBpbiB0aGUgRkUgdG8gZm9y Y2UgYSBjb3JyZWN0IG9yZGVyIG9mIGV2YWx1YXRpb24uIFRoaXMgZml4ZXMNCj4gPiBQUjkxMDM4 IGFuZCBzb21lIG9mIHRoZSB0ZXN0IGNhc2VzIGZyb20gUFIyOTk3MCAoc3RydWN0cyB3aXRoDQo+ ID4gVkxBIG1lbWJlcnMgbmVlZCBmdXJ0aGVyIHdvcmspLg0KPiA+IA0KPiA+ICAgICAgDQo+ID4g ICAgICAyMDIxLTA4LTAxICBNYXJ0aW4gVWVja2VyICA8bXVlY2tlckBnd2RnLmRlPg0KPiA+ICAg ICAgDQo+ID4gICAgIDIwMjEtMDgtMDEgIE1hcnRpbiBVZWNrZXIgIDxtdWVja2VyQGd3ZGcuZGU+ DQo+ID4gICAgICANCj4gPiAgICAgIGdjYy8NCj4gPiAgICAgICAgICBQUiBjLzkxMDM4DQo+ID4g ICAgICAgICAgUFIgYy8yOTk3MA0KPiA+ICAgICAgIA0KPiA+ICAgICAqIGdpbXBsaWZ5LmMgKGdp bXBsaWZ5X3Zhcl9vcl9wYXJtX2RlY2wpOiBVcGRhdGUgY29tbWVudC4NCj4gPiAgICAgICAgICAo Z2ltcGxpZnlfY29tcG91bmRfbHZhbCk6DQo+ID4gR2ltcGxpZnkgYmFzZSBleHByZXNzaW9uIGZp cnN0Lg0KPiA+ICAgICAgICAgIChnaW1wbGlmeV90YXJnZXRfZXhwcik6IEFkZCBjb21tZW50Lg0K PiA+ICAgICAgICAgICogYy1mYW1pbHkvYy0NCj4gPiBjb21tb24uYyAocG9pbnRlcl9pbnRfc3Vt KTogV3JhcCBwb2ludGVyDQo+ID4gCW9wZXJhbmQgaW4gU0FWRV9FWFBSIGFuZCBhbHNvIGl0IHRv IHRoZSBpbnRlZ2VyDQo+ID4gYXJndW1lbnQuDQo+ID4gICAgICANCj4gPiAgICAgIGdjYy90ZXN0 c3VpdGUvDQo+ID4gICAgICAgICAgUFIgYy85MTAzOA0KPiA+ICAgICAgICAgIFBSIGMvMjk5NzAN Cj4gPiAgICAgICAgICAqIGdjYy5kZy92bGEtc3RleHAtMy5jOg0KPiA+IE5ldyB0ZXN0Lg0KPiA+ ICAgICAgICAgICogZ2NjLmRnL3ZsYS1zdGV4cC00LmM6IE5ldyB0ZXN0Lg0KPiA+ICAgICAgICAg ICogZ2NjLmRnL3ZsYS1zdGV4cC01LmM6IE5ldyB0ZXN0Lg0KPiA+ICAgICAgICAgICoNCj4gPiBn Y2MuZGcvdmxhLXN0ZXhwLTYuYzogTmV3IHRlc3QuDQo+ID4gICAgICAgICAgKiBnY2MuZGcvdmxh LXN0ZXhwLTcuYzogTmV3IHRlc3QuDQo+ID4gICAgICAgICAgKiBnY2MuZGcvdmxhLXN0ZXhwLQ0K PiA+IDguYzogTmV3IHRlc3QuDQo+ID4gICAgICAgICAgKiBnY2MuZGcvdmxhLXN0ZXhwLTkuYzog TmV3IHRlc3QuDQo+ID4gDQo+ID4gDQo+ID4gZGlmZiAtLWdpdCBhL2djYy9jLWZhbWlseS9jLWNv bW1vbi5jIGIvZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmMNCj4gPiBpbmRleCA5ZDE5ZTM1MjcyNS4u NTIyMDg1NjY0ZjUgMTAwNjQ0DQo+ID4gLS0tIGEvZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmMNCj4g PiArKysgYi9nY2MvYy1mYW1pbHkvYy1jb21tb24uYw0KPiA+IEBAIC0zMzQ4LDYgKzMzNDgsMTYg QEAgcG9pbnRlcl9pbnRfc3VtIChsb2NhdGlvbl90IGxvYywgZW51bSB0cmVlX2NvZGUgcmVzdWx0 Y29kZSwNCj4gPiAgICAgICBpbnRvcCA9IGNvbnZlcnQgKGNfY29tbW9uX3R5cGVfZm9yX3NpemUg KFRZUEVfUFJFQ0lTSU9OIChzaXpldHlwZSksDQo+ID4gICAJCQkJCSAgICAgVFlQRV9VTlNJR05F RCAoc2l6ZXR5cGUpKSwgaW50b3ApOw0KPiA+ICAgDQo+ID4gKyAgLyogV3JhcCB0aGUgcG9pbnRl ciBleHByZXNzaW9uIGluIGEgU0FWRV9FWFBSIHRvIG1ha2Ugc3VyZSBpdA0KPiA+ICsgICAqIGlz IGV2YWx1YXRlZCBmaXJzdCBiZWNhdXNlIHRoZSBzaXplIGV4cHJlc3Npb24gbWF5IGRlcGVuZCBv biBpdA0KPiA+ICsgICAqIGZvciBWTSB0eXBlcy4NCj4gPiArICAgKi8NCj4gDQo+IFdlIHVzdWFs bHkgZG9uJ3QgZ2l2ZSB0aGUgdHJhaWxpbmcgKi8gaXRzIG93biBsaW5lLg0KPiANCj4gPiArICBp ZiAoVFJFRV9TSURFX0VGRkVDVFMgKHNpemVfZXhwKSkNCj4gPiArICAgIHsNCj4gPiArCSBwdHJv cCA9IGJ1aWxkMV9sb2MgKGxvYywgU0FWRV9FWFBSLCBUUkVFX1RZUEUgKHB0cm9wKSwgcHRyb3Ap Ow0KPiANCj4gV2h5IG5vdCB1c2UgdGhlIHNhdmVfZXhwciBmdW5jdGlvbj8NCj4gDQo+ID4gKwkg aW50b3AgPSBidWlsZDIgKENPTVBPVU5EX0VYUFIsIFRSRUVfVFlQRSAoaW50b3ApLCBwdHJvcCwg aW50b3ApOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiAgICAgLyogUmVwbGFjZSB0aGUgaW50ZWdl ciBhcmd1bWVudCB3aXRoIGEgc3VpdGFibGUgcHJvZHVjdCBieSB0aGUgb2JqZWN0IHNpemUuDQo+ ID4gICAgICAgIERvIHRoaXMgbXVsdGlwbGljYXRpb24gYXMgc2lnbmVkLCB0aGVuIGNvbnZlcnQg dG8gdGhlIGFwcHJvcHJpYXRlIHR5cGUNCj4gPiAgICAgICAgZm9yIHRoZSBwb2ludGVyIG9wZXJh dGlvbiBhbmQgZGlzcmVnYXJkIGFuIG92ZXJmbG93IHRoYXQgb2NjdXJyZWQgb25seQ0KPiA+IGRp ZmYgLS1naXQgYS9nY2MvZ2ltcGxpZnkuYyBiL2djYy9naW1wbGlmeS5jDQo+ID4gaW5kZXggZDhl NGIxMzkzNDkuLmJlNWIwMGI2NzE2IDEwMDY0NA0KPiA+IC0tLSBhL2djYy9naW1wbGlmeS5jDQo+ ID4gKysrIGIvZ2NjL2dpbXBsaWZ5LmMNCj4gPiBAQCAtMjk1OCw3ICsyOTU4LDEwIEBAIGdpbXBs aWZ5X3Zhcl9vcl9wYXJtX2RlY2wgKHRyZWUgKmV4cHJfcCkNCj4gPiAgICAgICAgZGVjbGFyYXRp b24sIGZvciB3aGljaCB3ZSd2ZSBhbHJlYWR5IGlzc3VlZCBhbiBlcnJvci4gIEl0IHdvdWxkDQo+ ID4gICAgICAgIGJlIHJlYWxseSBuaWNlIGlmIHRoZSBmcm9udCBlbmQgd291bGRuJ3QgbGVhayB0 aGVzZSBhdCBhbGwuDQo+ID4gICAgICAgIEN1cnJlbnRseSB0aGUgb25seSBrbm93biBjdWxwcml0 IGlzIEMrKyBkZXN0cnVjdG9ycywgYXMgc2Vlbg0KPiA+IC0gICAgIGluIGcrKy5vbGQtZGVqYS9n KysuamFzb24vYmluZGluZy5DLiAgKi8NCj4gPiArICAgICBpbiBnKysub2xkLWRlamEvZysrLmph c29uL2JpbmRpbmcuQy4NCj4gPiArICAgICBBbm90aGVyIHBvc3NpYmxlIGN1bHBpdCBhcmUgc2l6 ZSBleHByZXNzaW9ucyBmb3IgdmFyaWFibHkgbW9kaWZpZWQNCj4gPiArICAgICB0eXBlcyB3aGlj aCBhcmUgbG9zdCBpbiB0aGUgRkUgb3Igbm90IGdpbXBsaWZpZWQgY29ycmVjdGx5Lg0KPiA+ICsg ICovDQo+IA0KPiBBcyBhYm92ZS4NCj4gDQo+ID4gICAgIGlmIChWQVJfUCAoZGVjbCkNCj4gPiAg ICAgICAgICYmICFERUNMX1NFRU5fSU5fQklORF9FWFBSX1AgKGRlY2wpDQo+ID4gICAgICAgICAm JiAhVFJFRV9TVEFUSUMgKGRlY2wpICYmICFERUNMX0VYVEVSTkFMIChkZWNsKQ0KPiA+IEBAIC0z MTAzLDE2ICszMTA2LDIyIEBAIGdpbXBsaWZ5X2NvbXBvdW5kX2x2YWwgKHRyZWUgKmV4cHJfcCwg Z2ltcGxlX3NlcSAqcHJlX3AsIGdpbXBsZV9zZXENCj4gPiAqcG9zdF9wLA0KPiA+ICAgICAgICBl eHByZXNzaW9uIHVudGlsIHdlIGRlYWwgd2l0aCBhbnkgdmFyaWFibGUgYm91bmRzLCBzaXplcywg b3INCj4gPiAgICAgICAgcG9zaXRpb25zIGluIG9yZGVyIHRvIGRlYWwgd2l0aCBQTEFDRUhPTERF Ul9FWFBScy4NCj4gPiAgIA0KPiA+IC0gICAgIFNvIHdlIGRvIHRoaXMgaW4gdGhyZWUgc3RlcHMu ICBGaXJzdCB3ZSBkZWFsIHdpdGggdGhlIGFubm90YXRpb25zDQo+ID4gLSAgICAgZm9yIGFueSB2 YXJpYWJsZXMgaW4gdGhlIGNvbXBvbmVudHMsIHRoZW4gd2UgZ2ltcGxpZnkgdGhlIGJhc2UsDQo+ ID4gLSAgICAgdGhlbiB3ZSBnaW1wbGlmeSBhbnkgaW5kaWNlcywgZnJvbSBsZWZ0IHRvIHJpZ2h0 LiAgKi8NCj4gPiArICAgICBUaGUgYmFzZSBleHByZXNzaW9uIG1heSBjb250YWluIGEgc3RhdGVt ZW50IGV4cHJlc3Npb24gdGhhdA0KPiA+ICsgICAgIGhhcyBkZWNsYXJhdGlvbnMgdXNlZCBpbiBz aXplIGV4cHJlc3Npb25zLCBzbyBoYXMgdG8gYmUNCj4gPiArICAgICBnaW1wbGlmaWVkIGJlZm9y ZSBnaW1wbGlmeWluZyB0aGUgc2l6ZSBleHByZXNzaW9ucy4NCj4gPiArDQo+ID4gKyAgICAgU28g d2UgZG8gdGhpcyBpbiB0aHJlZSBzdGVwcy4gIEZpcnN0IHdlIGRlYWwgd2l0aCB2YXJpYWJsZQ0K PiA+ICsgICAgIGJvdW5kcywgc2l6ZXMsIGFuZCBwb3NpdGlvbnMsIHRoZW4gd2UgZ2ltcGxpZnkg dGhlIGJhc2UsDQo+ID4gKyAgICAgdGhlbiB3ZSBkZWFsIHdpdGggdGhlIGFubm90YXRpb25zIGZv ciBhbnkgdmFyaWFibGVzIGluIHRoZQ0KPiA+ICsgICAgIGNvbXBvbmVudHMgYW5kIGFueSBpbmRp Y2VzLCBmcm9tIGxlZnQgdG8gcmlnaHQuICAqLw0KPiA+ICsNCj4gPiAgICAgZm9yIChpID0gZXhw cl9zdGFjay5sZW5ndGggKCkgLSAxOyBpID49IDA7IGktLSkNCj4gPiAgICAgICB7DQo+ID4gICAg ICAgICB0cmVlIHQgPSBleHByX3N0YWNrW2ldOw0KPiA+ICAgDQo+ID4gICAgICAgICBpZiAoVFJF RV9DT0RFICh0KSA9PSBBUlJBWV9SRUYgfHwgVFJFRV9DT0RFICh0KSA9PSBBUlJBWV9SQU5HRV9S RUYpDQo+ID4gICAJew0KPiA+IC0JICAvKiBHaW1wbGlmeSB0aGUgbG93IGJvdW5kIGFuZCBlbGVt ZW50IHR5cGUgc2l6ZSBhbmQgcHV0IHRoZW0gaW50bw0KPiA+ICsJICAvKiBEZWFsIHdpdGggdGhl IGxvdyBib3VuZCBhbmQgZWxlbWVudCB0eXBlIHNpemUgYW5kIHB1dCB0aGVtIGludG8NCj4gPiAg IAkgICAgIHRoZSBBUlJBWV9SRUYuICBJZiB0aGVzZSB2YWx1ZXMgYXJlIHNldCwgdGhleSBoYXZl IGFscmVhZHkgYmVlbg0KPiA+ICAgCSAgICAgZ2ltcGxpZmllZC4gICovDQo+ID4gICAJICBpZiAo VFJFRV9PUEVSQU5EICh0LCAyKSA9PSBOVUxMX1RSRUUpDQo+ID4gQEAgLTMxMjEsMTggKzMxMzAs OCBAQCBnaW1wbGlmeV9jb21wb3VuZF9sdmFsICh0cmVlICpleHByX3AsIGdpbXBsZV9zZXEgKnBy ZV9wLCBnaW1wbGVfc2VxDQo+ID4gKnBvc3RfcCwNCj4gPiAgIAkgICAgICBpZiAoIWlzX2dpbXBs ZV9taW5faW52YXJpYW50IChsb3cpKQ0KPiA+ICAgCQl7DQo+ID4gICAJCSAgVFJFRV9PUEVSQU5E ICh0LCAyKSA9IGxvdzsNCj4gPiAtCQkgIHRyZXQgPSBnaW1wbGlmeV9leHByICgmVFJFRV9PUEVS QU5EICh0LCAyKSwgcHJlX3AsDQo+ID4gLQkJCQkJcG9zdF9wLCBpc19naW1wbGVfcmVnLA0KPiA+ IC0JCQkJCWZiX3J2YWx1ZSk7DQo+ID4gLQkJICByZXQgPSBNSU4gKHJldCwgdHJldCk7DQo+ID4g ICAJCX0NCj4gPiAgIAkgICAgfQ0KPiA+IC0JICBlbHNlDQo+ID4gLQkgICAgew0KPiA+IC0JICAg ICAgdHJldCA9IGdpbXBsaWZ5X2V4cHIgKCZUUkVFX09QRVJBTkQgKHQsIDIpLCBwcmVfcCwgcG9z dF9wLA0KPiA+IC0JCQkJICAgIGlzX2dpbXBsZV9yZWcsIGZiX3J2YWx1ZSk7DQo+ID4gLQkgICAg ICByZXQgPSBNSU4gKHJldCwgdHJldCk7DQo+ID4gLQkgICAgfQ0KPiA+ICAgDQo+ID4gICAJICBp ZiAoVFJFRV9PUEVSQU5EICh0LCAzKSA9PSBOVUxMX1RSRUUpDQo+ID4gICAJICAgIHsNCj4gPiBA QCAtMzE0OSwxOCArMzE0OCw4IEBAIGdpbXBsaWZ5X2NvbXBvdW5kX2x2YWwgKHRyZWUgKmV4cHJf cCwgZ2ltcGxlX3NlcSAqcHJlX3AsIGdpbXBsZV9zZXENCj4gPiAqcG9zdF9wLA0KPiA+ICAgCQkJ CQkgICAgICBlbG10X3NpemUsIGZhY3Rvcik7DQo+ID4gICANCj4gPiAgIAkJICBUUkVFX09QRVJB TkQgKHQsIDMpID0gZWxtdF9zaXplOw0KPiA+IC0JCSAgdHJldCA9IGdpbXBsaWZ5X2V4cHIgKCZU UkVFX09QRVJBTkQgKHQsIDMpLCBwcmVfcCwNCj4gPiAtCQkJCQlwb3N0X3AsIGlzX2dpbXBsZV9y ZWcsDQo+ID4gLQkJCQkJZmJfcnZhbHVlKTsNCj4gPiAtCQkgIHJldCA9IE1JTiAocmV0LCB0cmV0 KTsNCj4gPiAgIAkJfQ0KPiA+ICAgCSAgICB9DQo+ID4gLQkgIGVsc2UNCj4gPiAtCSAgICB7DQo+ ID4gLQkgICAgICB0cmV0ID0gZ2ltcGxpZnlfZXhwciAoJlRSRUVfT1BFUkFORCAodCwgMyksIHBy ZV9wLCBwb3N0X3AsDQo+ID4gLQkJCQkgICAgaXNfZ2ltcGxlX3JlZywgZmJfcnZhbHVlKTsNCj4g PiAtCSAgICAgIHJldCA9IE1JTiAocmV0LCB0cmV0KTsNCj4gPiAtCSAgICB9DQo+ID4gICAJfQ0K PiA+ICAgICAgICAgZWxzZSBpZiAoVFJFRV9DT0RFICh0KSA9PSBDT01QT05FTlRfUkVGKQ0KPiA+ ICAgCXsNCj4gPiBAQCAtMzE4MCwxOCArMzE2OSw4IEBAIGdpbXBsaWZ5X2NvbXBvdW5kX2x2YWwg KHRyZWUgKmV4cHJfcCwgZ2ltcGxlX3NlcSAqcHJlX3AsIGdpbXBsZV9zZXENCj4gPiAqcG9zdF9w LA0KPiA+ICAgCQkJCQkgICBvZmZzZXQsIGZhY3Rvcik7DQo+ID4gICANCj4gPiAgIAkJICBUUkVF X09QRVJBTkQgKHQsIDIpID0gb2Zmc2V0Ow0KPiA+IC0JCSAgdHJldCA9IGdpbXBsaWZ5X2V4cHIg KCZUUkVFX09QRVJBTkQgKHQsIDIpLCBwcmVfcCwNCj4gPiAtCQkJCQlwb3N0X3AsIGlzX2dpbXBs ZV9yZWcsDQo+ID4gLQkJCQkJZmJfcnZhbHVlKTsNCj4gPiAtCQkgIHJldCA9IE1JTiAocmV0LCB0 cmV0KTsNCj4gPiAgIAkJfQ0KPiA+ICAgCSAgICB9DQo+ID4gLQkgIGVsc2UNCj4gPiAtCSAgICB7 DQo+ID4gLQkgICAgICB0cmV0ID0gZ2ltcGxpZnlfZXhwciAoJlRSRUVfT1BFUkFORCAodCwgMiks IHByZV9wLCBwb3N0X3AsDQo+ID4gLQkJCQkgICAgaXNfZ2ltcGxlX3JlZywgZmJfcnZhbHVlKTsN Cj4gPiAtCSAgICAgIHJldCA9IE1JTiAocmV0LCB0cmV0KTsNCj4gPiAtCSAgICB9DQo+ID4gICAJ fQ0KPiA+ICAgICAgIH0NCj4gPiAgIA0KPiA+IEBAIC0zMjAyLDIxICszMTgxLDM0IEBAIGdpbXBs aWZ5X2NvbXBvdW5kX2x2YWwgKHRyZWUgKmV4cHJfcCwgZ2ltcGxlX3NlcSAqcHJlX3AsIGdpbXBs ZV9zZXENCj4gPiAqcG9zdF9wLA0KPiA+ICAgCQkJZmFsbGJhY2sgfCBmYl9sdmFsdWUpOw0KPiA+ ICAgICByZXQgPSBNSU4gKHJldCwgdHJldCk7DQo+ID4gICANCj4gPiAtICAvKiBBbmQgZmluYWxs eSwgdGhlIGluZGljZXMgYW5kIG9wZXJhbmRzIG9mIEFSUkFZX1JFRi4gIER1cmluZyB0aGlzDQo+ ID4gLSAgICAgbG9vcCB3ZSBhbHNvIHJlbW92ZSBhbnkgdXNlbGVzcyBjb252ZXJzaW9ucy4gICov DQo+ID4gKyAgLyogU3RlcCAzOiBnaW1wbGlmeSBzaXplIGV4cHJlc3Npb25zIGFuZCB0aGUgaW5k aWNlcyBhbmQgb3BlcmFuZHMgb2YNCj4gPiArICAgICBBUlJBWV9SRUYuICBEdXJpbmcgdGhpcyBs b29wIHdlIGFsc28gcmVtb3ZlIGFueSB1c2VsZXNzIGNvbnZlcnNpb25zLiAgKi8NCj4gPiArDQo+ ID4gICAgIGZvciAoOyBleHByX3N0YWNrLmxlbmd0aCAoKSA+IDA7ICkNCj4gPiAgICAgICB7DQo+ ID4gICAgICAgICB0cmVlIHQgPSBleHByX3N0YWNrLnBvcCAoKTsNCj4gPiAgIA0KPiA+ICAgICAg ICAgaWYgKFRSRUVfQ09ERSAodCkgPT0gQVJSQVlfUkVGIHx8IFRSRUVfQ09ERSAodCkgPT0gQVJS QVlfUkFOR0VfUkVGKQ0KPiA+ICAgCXsNCj4gPiArCSAgLyogR2ltcGxpZnkgdGhlIGxvdyBib3Vu ZCBhbmQgZWxlbWVudCB0eXBlIHNpemUuICovDQo+ID4gKwkgIHRyZXQgPSBnaW1wbGlmeV9leHBy ICgmVFJFRV9PUEVSQU5EICh0LCAyKSwgcHJlX3AsIHBvc3RfcCwNCj4gPiArCQkJCWlzX2dpbXBs ZV9yZWcsIGZiX3J2YWx1ZSk7DQo+ID4gKwkgIHJldCA9IE1JTiAocmV0LCB0cmV0KTsNCj4gPiAr DQo+ID4gKwkgIHRyZXQgPSBnaW1wbGlmeV9leHByICgmVFJFRV9PUEVSQU5EICh0LCAzKSwgcHJl X3AsIHBvc3RfcCwNCj4gPiArCQkJCWlzX2dpbXBsZV9yZWcsIGZiX3J2YWx1ZSk7DQo+ID4gKwkg IHJldCA9IE1JTiAocmV0LCB0cmV0KTsNCj4gPiArDQo+ID4gICAJICAvKiBHaW1wbGlmeSB0aGUg ZGltZW5zaW9uLiAgKi8NCj4gPiAtCSAgaWYgKCFpc19naW1wbGVfbWluX2ludmFyaWFudCAoVFJF RV9PUEVSQU5EICh0LCAxKSkpDQo+ID4gLQkgICAgew0KPiA+IC0JICAgICAgdHJldCA9IGdpbXBs aWZ5X2V4cHIgKCZUUkVFX09QRVJBTkQgKHQsIDEpLCBwcmVfcCwgcG9zdF9wLA0KPiA+IC0JCQkJ ICAgIGlzX2dpbXBsZV92YWwsIGZiX3J2YWx1ZSk7DQo+ID4gLQkgICAgICByZXQgPSBNSU4gKHJl dCwgdHJldCk7DQo+ID4gLQkgICAgfQ0KPiA+ICsJICB0cmV0ID0gZ2ltcGxpZnlfZXhwciAoJlRS RUVfT1BFUkFORCAodCwgMSksIHByZV9wLCBwb3N0X3AsDQo+ID4gKwkJCQlpc19naW1wbGVfdmFs LCBmYl9ydmFsdWUpOw0KPiA+ICsJICByZXQgPSBNSU4gKHJldCwgdHJldCk7DQo+ID4gKwl9DQo+ ID4gKyAgICAgIGVsc2UgaWYgKFRSRUVfQ09ERSAodCkgPT0gQ09NUE9ORU5UX1JFRikNCj4gPiAr CXsNCj4gPiArCSAgdHJldCA9IGdpbXBsaWZ5X2V4cHIgKCZUUkVFX09QRVJBTkQgKHQsIDIpLCBw cmVfcCwgcG9zdF9wLA0KPiA+ICsJCQkJaXNfZ2ltcGxlX3JlZywgZmJfcnZhbHVlKTsNCj4gPiAr CSAgcmV0ID0gTUlOIChyZXQsIHRyZXQpOw0KPiA+ICAgCX0NCj4gPiAgIA0KPiA+ICAgICAgICAg U1RSSVBfVVNFTEVTU19UWVBFX0NPTlZFUlNJT04gKFRSRUVfT1BFUkFORCAodCwgMCkpOw0KPiA+ IEBAIC02OTE0LDYgKzY5MDYsOCBAQCBnaW1wbGlmeV90YXJnZXRfZXhwciAodHJlZSAqZXhwcl9w LCBnaW1wbGVfc2VxICpwcmVfcCwgZ2ltcGxlX3NlcSAqcG9zdF9wKQ0KPiA+ICAgCXsNCj4gPiAg IAkgIGlmICghVFlQRV9TSVpFU19HSU1QTElGSUVEIChUUkVFX1RZUEUgKHRlbXApKSkNCj4gPiAg IAkgICAgZ2ltcGxpZnlfdHlwZV9zaXplcyAoVFJFRV9UWVBFICh0ZW1wKSwgcHJlX3ApOw0KPiA+ ICsJICAvKiBGSVhNRTogdGhpcyBpcyBjb3JyZWN0IG9ubHkgd2hlbiB0aGUgc2l6ZSBvZiB0aGUg dHlwZSBkb2VzDQo+ID4gKwkgICAgIG5vdCBkZXBlbmQgb24gZXhwcmVzc2lvbnMgZXZhbHVhdGVk IGluIGluaXQuICovDQo+ID4gICAJICBnaW1wbGlmeV92bGFfZGVjbCAodGVtcCwgcHJlX3ApOw0K PiA+ICAgCX0NCj4gPiAgICAgICAgIGVsc2UNCj4gPiANCg==