delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2021/10/27/09:40:25.1

X-Recipient: archive-cygwin AT delorie DOT com
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 868533858C27
Authentication-Results: sourceware.org;
dmarc=none (p=none dis=none) header.from=towo.net
Authentication-Results: sourceware.org; spf=none smtp.mailfrom=towo.net
To: cygwin AT cygwin DOT com
From: Thomas Wolff <towo AT towo DOT net>
Subject: gcc 11 weird bug
Message-ID: <248361fa-f16d-cebb-eefe-be78e09f4c10@towo.net>
Date: Wed, 27 Oct 2021 11:19:00 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
MIME-Version: 1.0
X-Provags-ID: V03:K1:St2fALADZ3fyTBQBaFpP8mNaeDerEJICaf0R8/x134T8syEoyza
6wFmGWyyhkqBFhEP1hUWQmEN1KTGUhEzsuhkIixWvZKW7PDZQKCOnOG82yzyRjD0w7j+fyA
ZZijwl6p0m/T0IO3S5zw0EPkU0gGHrHZ+0gtFEapc2NwiKORGmY55OmlIHpS0kHF2+4uD1P
gzEMAMmbcm34RHKX3Y7xQ==
X-UI-Out-Filterresults: notjunk:1;V03:K0:rFv/pMOxhzY=:0BC8pYuTfnoen1i773+wlD
UNhjMf0BRvX3TCbPsG5wnzqalgKqpO4QIr1Zc36buTE7KS4b0+/4rpaMj6weIIJEiO+JSciw8
T0CGZsEodoXhUz0XMtvFgP7OQEWmnxCuaVSR7LDR5Qjyd2By2lHXQxnml9sYE9ofPZ6+CGaHc
1UlLT/+AEPgN2vzkf0ngigQzoChHgoYk0WvdfQMF/t8Kk7dNx16bzq2O6pqeht8lRV3ZO1fZm
aVa88zTVDRpiuloNH/bPhAU7n8atsb2xKpfsmfr3xs+7XQ/w8UwYpDKlUO4vi2WS3gEATomZW
sq6t/PGwbWAPBGCB8BrvWVdSmgAivmVMp9YMN8MaD5kz14Yhg7CruairTRnQ42EHP/ctTh71G
zTXmaXWmhduHdHfJMpgL3FoBguoo5uE93gWuEMSLIkMLT4qtcKWRfos13FoTWvzALVxX51GOF
PXM8QJPRurgQJbuQyS+UDly85ydKzIPC2gPJlUFb2Eg35OtHcZW8TPMP5AzIgHZWeTFcvTXGi
laTKJZxpGNoT0LqCz7VkOR+004TjzfjSFJDrEKVW6r/iRxh1jnCrS2sTDGaAzNmZn9rNGbcdF
aZKUWwkQObBhLybMoA7O/KK6IZaYy8tR+MFUmsBZqNmrWOKqtKgYCz3Hu5zqtw0h9PsJo74ZM
FX13mMiF5uEKhH9WSgdVGzFTH26OF6d7ng/HMBvbxMwBNH2MTVqq89L38TEU00ueshIg=
X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,
SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_NONE,
TXREP autolearn=no autolearn_force=no version=3.4.4
X-Spam-Level: *
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>

This is a multi-part message in MIME format.
--------------30D4158897F42C92C2A22C2F
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

I noticed that mintty did not compile anymore after upgrade to gcc 11, 
but only on cygwin 32-bit.
I tried to minimize the test case as much as possible without having the 
bug vanish, to the attached standalone file.
Compile this with
cc -O2 -Wall -Werror m0.c
and it gives a false positive warning about possible uninitialized data 
usage.
While data flow analysis is not perfect, it is weird that this used to 
happen on 32 bit but not on 64 bit.
Meanwhile, after updating some other packages (not sure which), but 
still the same gcc version, the report on the test case also happens on 
64 bit, while the original, unstripped file, as part of mintty, still 
works without error on 64 bit, which is even weirder.
I have not yet had the opportunity to test this on Linux, sorry, so I'm 
reporting it here.
Thomas

--------------30D4158897F42C92C2A22C2F
Content-Type: text/plain; charset=UTF-8;
 name="m0.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="m0.c"

I2luY2x1ZGUgPHN0ZGJvb2wuaD4KdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB3Y2hhcjsgICAg
Ly8gVVRGLTE2CnR5cGVkZWYgdW5zaWduZWQgY2hhciB1Y2hhcjsKI2RlZmluZSBsZW5ndGhv
ZihhcnJheSkgKHNpemVvZihhcnJheSkgLyBzaXplb2YoKihhcnJheSkpKQoKI2RlZmluZSB3
aGVuIGJyZWFrOyBjYXNlCiNkZWZpbmUgb3IgOiBjYXNlCiNkZWZpbmUgb3RoZXJ3aXNlIGJy
ZWFrOyBkZWZhdWx0Cgp0eXBlZGVmIHVuc2lnbmVkIGludCB1Y3NjaGFyOwoKdHlwZWRlZiBz
dHJ1Y3Qgewp9IGJpZGlfY2hhcjsKCi8qIGJpZGkgY2xhc3NlcyAoVW5pY29kZTogUHJvcGVy
dHlWYWx1ZUFsaWFzZXMudHh0KSAqLwplbnVtIHsKICBMLCBMUkUsIExSTywgUiwgQUwsIFJM
RSwgUkxPLCBQREYsIEVOLCBFUywgRVQsIEFOLCBDUywgTlNNLCBCTiwgQiwgUywgV1MsIE9O
LAogIExSSSwgUkxJLCBGU0ksIFBESQp9OwoKI2RlZmluZSBsZWFzdEdyZWF0ZXJPZGQoeCkg
KCAoKHgpKzEpIHwgMSApCiNkZWZpbmUgbGVhc3RHcmVhdGVyRXZlbih4KSAoICgoeCkrMikg
Jn4gMSApCgoKc3RhdGljIGJvb2wKaXNfTkkodWNoYXIgYmMpCnsKICByZXR1cm4gMSAmICgx
IDw8IChiYykpOwp9CgoKLyoKICogVGhlIE1haW4gQmlkaSBGdW5jdGlvbiwgYW5kIHRoZSBv
bmx5IGZ1bmN0aW9uIHRoYXQgc2hvdWxkCiAqIGJlIHVzZWQgYnkgdGhlIG91dHNpZGUgd29y
bGQuCiAqCiAqIGxpbmU6IGEgYnVmZmVyIG9mIHNpemUgY291bnQgY29udGFpbmluZyB0ZXh0
IHRvIGFwcGx5CiAqIHRoZSBCaWRpcmVjdGlvbmFsIGFsZ29yaXRobSB0by4KICovCmludApk
b19iaWRpKGJvb2wgYXV0b2RpciwgaW50IHBhcmFncmFwaExldmVsLCBib29sIGV4cGxpY2l0
UlRMLCBib29sIGJveF9taXJyb3IsIAogICAgICAgIGJpZGlfY2hhciAqIGxpbmUsIGludCBj
b3VudCkKewogIHVjaGFyIGN1cnJlbnRFbWJlZGRpbmc7CiAgdWNoYXIgY3VycmVudE92ZXJy
aWRlOwogIHVjaGFyIHRlbXBUeXBlOwogIGludCBpLCBqOwoKICB1Y2hhciBiaWRpX2NsYXNz
X29mKGludCBpKSB7CiAgICAodm9pZClpOwoKICAgIGlmIChleHBsaWNpdFJUTCkKICAgICAg
cmV0dXJuIFI7CgogICAgcmV0dXJuIE9OOwogIH0KCiAvKiBSdWxlIChQMiksIChQMykKICAq
IFAyLiBJbiBlYWNoIHBhcmFncmFwaCwgZmluZCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHR5
cGUgTCwgQUwsIG9yIFIgCiAgICB3aGlsZSBza2lwcGluZyBvdmVyIGFueSBjaGFyYWN0ZXJz
IGJldHdlZW4gYW4gaXNvbGF0ZSBpbml0aWF0b3IgYW5kIAogICAgaXRzIG1hdGNoaW5nIFBE
SSBvciwgaWYgaXQgaGFzIG5vIG1hdGNoaW5nIFBESSwgdGhlIGVuZCBvZiB0aGUgcGFyYWdy
YXBoLgogICogUDMuIElmIGEgY2hhcmFjdGVyIGlzIGZvdW5kIGluIFAyIGFuZCBpdCBpcyBv
ZiB0eXBlIEFMIG9yIFIsIHRoZW4gc2V0CiAgKiB0aGUgcGFyYWdyYXBoIGVtYmVkZGluZyBs
ZXZlbCB0byBvbmU7IG90aGVyd2lzZSwgc2V0IGl0IHRvIHplcm8uCiAgKi8KICBpbnQgaXNv
bGF0ZUxldmVsID0gMDsKICBpbnQgcmVzTGV2ZWwgPSAtMTsKCgogLyogSW5pdGlhbGl6ZSB0
eXBlcywgbGV2ZWxzICovCiAgdWNoYXIgdHlwZXNbY291bnRdOwogIHVjaGFyIGxldmVsc1tj
b3VudF07CiAgKHZvaWQpbGV2ZWxzOwoKIC8qIFJ1bGUgKFgxKQogICAgWDEuIEF0IHRoZSBi
ZWdpbm5pbmcgb2YgYSBwYXJhZ3JhcGgsIHBlcmZvcm0gdGhlIGZvbGxvd2luZyBzdGVwczoK
ICDigKIgU2V0IHRoZSBzdGFjayB0byBlbXB0eS4KICDigKIgUHVzaCBvbnRvIHRoZSBzdGFj
ayBhbiBlbnRyeSBjb25zaXN0aW5nIG9mIHRoZSBwYXJhZ3JhcGggZW1iZWRkaW5nIGxldmVs
LAogICAgYSBuZXV0cmFsIGRpcmVjdGlvbmFsIG92ZXJyaWRlIHN0YXR1cywgYW5kIGEgZmFs
c2UgZGlyZWN0aW9uYWwgaXNvbGF0ZSBzdGF0dXMuCiAg4oCiIFNldCB0aGUgb3ZlcmZsb3cg
aXNvbGF0ZSBjb3VudCB0byB6ZXJvLgogIOKAoiBTZXQgdGhlIG92ZXJmbG93IGVtYmVkZGlu
ZyBjb3VudCB0byB6ZXJvLgogIOKAoiBTZXQgdGhlIHZhbGlkIGlzb2xhdGUgY291bnQgdG8g
emVyby4KICDigKIgUHJvY2VzcyBlYWNoIGNoYXJhY3RlciBpdGVyYXRpdmVseSwgYXBwbHlp
bmcgcnVsZXMgWDIgdGhyb3VnaCBYOC4gCiAgICBPbmx5IGVtYmVkZGluZyBsZXZlbHMgZnJv
bSAwIHRocm91Z2ggbWF4X2RlcHRoIGFyZSB2YWxpZCBpbiB0aGlzIHBoYXNlLiAKICAgIChO
b3RlIHRoYXQgaW4gdGhlIHJlc29sdXRpb24gb2YgbGV2ZWxzIGluIHJ1bGVzIEkxIGFuZCBJ
MiwgCiAgICB0aGUgbWF4aW11bSBlbWJlZGRpbmcgbGV2ZWwgb2YgbWF4X2RlcHRoKzEgY2Fu
IGJlIHJlYWNoZWQuKQogICovCiAgY3VycmVudEVtYmVkZGluZyA9IHBhcmFncmFwaExldmVs
OwogIGN1cnJlbnRPdmVycmlkZSA9IE9OOwogIGJvb2wgY3VycmVudElzb2xhdGUgPSBmYWxz
ZTsKCiAgLy8gQnkgbWFraW5nIHRoZSBkc3MgYXMgbGFyZ2UgYXMgdGhlIHdob2xlIGxpbmUs
IHdlIGF2b2lkIG92ZXJmbG93IGhhbmRsaW5nLgogIHVjaGFyIGRzc19lbWJbY291bnQgKyAx
XTsKICB1Y2hhciBkc3Nfb3ZyW2NvdW50ICsgMV07CiAgYm9vbCBkc3NfaXNvbFtjb3VudCAr
IDFdOwogIGludCBkc3NfdG9wID0gLTE7CgogIGludCBjb3VudGRzcygpIHsgcmV0dXJuIGRz
c190b3AgKyAxOyB9CgogIHZvaWQgcHVzaGRzcygpIHsKICAgIGRzc190b3ArKzsKICAgIGRz
c19lbWJbZHNzX3RvcF0gPSBjdXJyZW50RW1iZWRkaW5nOwogICAgZHNzX292cltkc3NfdG9w
XSA9IGN1cnJlbnRPdmVycmlkZTsKICAgIGRzc19pc29sW2Rzc190b3BdID0gY3VycmVudElz
b2xhdGU7CiAgfQoKICB2b2lkIHBvcGRzcygpIHsKICAgIC8vIHJlbW92ZSB0b3AKICAgIGlm
IChkc3NfdG9wID49IDApCiAgICAgIGRzc190b3AtLTsKICAgIC8vIHRoZW4gc2V0IGN1cnJl
bnQgdmFsdWVzIHRvIG5ldyB0b3AKICAgIGlmIChkc3NfdG9wID49IDApIHsKICAgICAgY3Vy
cmVudEVtYmVkZGluZyA9IGRzc19lbWJbZHNzX3RvcF07CiAgICAgIGN1cnJlbnRPdmVycmlk
ZSA9IGRzc19vdnJbZHNzX3RvcF07CiAgICAgIGN1cnJlbnRJc29sYXRlID0gZHNzX2lzb2xb
ZHNzX3RvcF07CiAgICB9CiAgfQoKICBwdXNoZHNzKCk7CiAgLy9pbnQgb3ZmSXNvbGF0ZSA9
IDA7CiAgLy9pbnQgb3ZmRW1iZWRkaW5nID0gMDsKICBpc29sYXRlTGV2ZWwgPSAwOwoKIC8q
IFJ1bGUgKFgyKSwgKFgzKSwgKFg0KSwgKFg1KSwgKFg2KSwgKFg3KSwgKFg4KQogICogWDIu
IFdpdGggZWFjaCBSTEUsIGNvbXB1dGUgdGhlIGxlYXN0IGdyZWF0ZXIgb2RkIGVtYmVkZGlu
ZyBsZXZlbC4KICAqIFgzLiBXaXRoIGVhY2ggTFJFLCBjb21wdXRlIHRoZSBsZWFzdCBncmVh
dGVyIGV2ZW4gZW1iZWRkaW5nIGxldmVsLgogICogWDQuIFdpdGggZWFjaCBSTE8sIGNvbXB1
dGUgdGhlIGxlYXN0IGdyZWF0ZXIgb2RkIGVtYmVkZGluZyBsZXZlbC4KICAqIFg1LiBXaXRo
IGVhY2ggTFJPLCBjb21wdXRlIHRoZSBsZWFzdCBncmVhdGVyIGV2ZW4gZW1iZWRkaW5nIGxl
dmVsLgogICogWDYuIEZvciBhbGwgdHlwZXMgYmVzaWRlcyBSTEUsIExSRSwgUkxPLCBMUk8s
IGFuZCBQREY6CiAgKiAgICAgICAgICBhLiBTZXQgdGhlIGxldmVsIG9mIHRoZSBjdXJyZW50
IGNoYXJhY3RlciB0byB0aGUgY3VycmVudAogICogICAgICAgICAgICAgIGVtYmVkZGluZyBs
ZXZlbC4KICAqICAgICAgICAgIGIuIFdoZW5ldmVyIHRoZSBkaXJlY3Rpb25hbCBvdmVycmlk
ZSBzdGF0dXMgaXMgbm90IG5ldXRyYWwsCiAgKiAgICAgICAgICAgICAgcmVzZXQgdGhlIGN1
cnJlbnQgY2hhcmFjdGVyIHR5cGUgdG8gdGhlIGRpcmVjdGlvbmFsCiAgKiAgICAgICAgICAg
ICAgb3ZlcnJpZGUgc3RhdHVzLgogICogWDcuIFdpdGggZWFjaCBQREYsIGRldGVybWluZSB0
aGUgbWF0Y2hpbmcgZW1iZWRkaW5nIG9yIG92ZXJyaWRlIGNvZGUuCiAgKiBJZiB0aGVyZSB3
YXMgYSB2YWxpZCBtYXRjaGluZyBjb2RlLCByZXN0b3JlIChwb3ApIHRoZSBsYXN0CiAgKiBy
ZW1lbWJlcmVkIChwdXNoZWQpIGVtYmVkZGluZyBsZXZlbCBhbmQgZGlyZWN0aW9uYWwgb3Zl
cnJpZGUuCiAgKiBYOC4gQWxsIGV4cGxpY2l0IGRpcmVjdGlvbmFsIGVtYmVkZGluZ3MgYW5k
IG92ZXJyaWRlcyBhcmUgY29tcGxldGVseQogICogdGVybWluYXRlZCBhdCB0aGUgZW5kIG9m
IGVhY2ggcGFyYWdyYXBoLiBQYXJhZ3JhcGggc2VwYXJhdG9ycyBhcmUgbm90CiAgKiBpbmNs
dWRlZCBpbiB0aGUgZW1iZWRkaW5nLiAoVXNlbGVzcyBoZXJlKSBOT1QgSU1QTEVNRU5URUQK
ICAqLwogIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICB0ZW1wVHlwZSA9IGJp
ZGlfY2xhc3Nfb2YoaSk7CiAgICBsZXZlbHNbaV0gPSBjdXJyZW50RW1iZWRkaW5nOwoKICAg
IGlmICh0ZW1wVHlwZSA9PSBGU0kpIHsKICAgICAgaW50IGx2bCA9IDA7CiAgICAgIHRlbXBU
eXBlID0gTFJJOwogICAgICBmb3IgKGludCBrID0gaSArIDE7IGsgPCBjb3VudDsgaysrKSB7
CiAgICAgICAgdWNoYXIga1R5cGUgPSBiaWRpX2NsYXNzX29mKGspOwogICAgICAgIGlmIChr
VHlwZSA9PSBGU0kgfHwga1R5cGUgPT0gUkxJIHx8IGtUeXBlID09IExSSSkKICAgICAgICAg
IGx2bCsrOwogICAgICAgIGVsc2UgaWYgKGtUeXBlID09IFBESSkgewogICAgICAgICAgaWYg
KGx2bCkKICAgICAgICAgICAgbHZsLS07CiAgICAgICAgICBlbHNlCiAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChrVHlwZSA9PSBSIHx8IGtUeXBlID09
IEFMKSB7CiAgICAgICAgICB0ZW1wVHlwZSA9IFJMSTsKICAgICAgICAgIGJyZWFrOwogICAg
ICAgIH0KICAgICAgICBlbHNlIGlmIChrVHlwZSA9PSBMKQogICAgICAgICAgYnJlYWs7CiAg
ICAgIH0KICAgIH0KICAgIHN3aXRjaCAodGVtcFR5cGUpIHsKICAgICAgd2hlbiBSTEU6CiAg
ICAgICAgY3VycmVudEVtYmVkZGluZyA9IGxlYXN0R3JlYXRlck9kZChjdXJyZW50RW1iZWRk
aW5nKTsKICAgICAgICBjdXJyZW50T3ZlcnJpZGUgPSBPTjsKICAgICAgICBjdXJyZW50SXNv
bGF0ZSA9IGZhbHNlOwogICAgICAgIHB1c2hkc3MoKTsKICAgICAgd2hlbiBMUkU6CiAgICAg
ICAgY3VycmVudEVtYmVkZGluZyA9IGxlYXN0R3JlYXRlckV2ZW4oY3VycmVudEVtYmVkZGlu
Zyk7CiAgICAgICAgY3VycmVudE92ZXJyaWRlID0gT047CiAgICAgICAgY3VycmVudElzb2xh
dGUgPSBmYWxzZTsKICAgICAgICBwdXNoZHNzKCk7CiAgICAgIHdoZW4gUkxPOgogICAgICAg
IGN1cnJlbnRFbWJlZGRpbmcgPSBsZWFzdEdyZWF0ZXJPZGQoY3VycmVudEVtYmVkZGluZyk7
CiAgICAgICAgY3VycmVudE92ZXJyaWRlID0gUjsKICAgICAgICBjdXJyZW50SXNvbGF0ZSA9
IGZhbHNlOwogICAgICAgIHB1c2hkc3MoKTsKICAgICAgd2hlbiBMUk86CiAgICAgICAgY3Vy
cmVudEVtYmVkZGluZyA9IGxlYXN0R3JlYXRlckV2ZW4oY3VycmVudEVtYmVkZGluZyk7CiAg
ICAgICAgY3VycmVudE92ZXJyaWRlID0gTDsKICAgICAgICBjdXJyZW50SXNvbGF0ZSA9IGZh
bHNlOwogICAgICAgIHB1c2hkc3MoKTsKICAgICAgd2hlbiBSTEk6CiAgICAgICAgaWYgKGN1
cnJlbnRPdmVycmlkZSAhPSBPTikKICAgICAgICAgIHRlbXBUeXBlID0gY3VycmVudE92ZXJy
aWRlOwogICAgICAgIGN1cnJlbnRFbWJlZGRpbmcgPSBsZWFzdEdyZWF0ZXJPZGQoY3VycmVu
dEVtYmVkZGluZyk7CiAgICAgICAgaXNvbGF0ZUxldmVsKys7CiAgICAgICAgY3VycmVudE92
ZXJyaWRlID0gT047CiAgICAgICAgY3VycmVudElzb2xhdGUgPSB0cnVlOwogICAgICAgIHB1
c2hkc3MoKTsKICAgICAgd2hlbiBMUkk6CiAgICAgICAgaWYgKGN1cnJlbnRPdmVycmlkZSAh
PSBPTikKICAgICAgICAgIHRlbXBUeXBlID0gY3VycmVudE92ZXJyaWRlOwogICAgICAgIGN1
cnJlbnRFbWJlZGRpbmcgPSBsZWFzdEdyZWF0ZXJFdmVuKGN1cnJlbnRFbWJlZGRpbmcpOwog
ICAgICAgIGlzb2xhdGVMZXZlbCsrOwogICAgICAgIGN1cnJlbnRPdmVycmlkZSA9IE9OOwog
ICAgICAgIGN1cnJlbnRJc29sYXRlID0gdHJ1ZTsKICAgICAgICBwdXNoZHNzKCk7CiAgICAg
IHdoZW4gUERGOgogICAgICAgIGlmICghY3VycmVudElzb2xhdGUgJiYgY291bnRkc3MoKSA+
PSAyKQogICAgICAgICAgcG9wZHNzKCk7CiAgICAgICAgbGV2ZWxzW2ldID0gY3VycmVudEVt
YmVkZGluZzsKICAgICAgd2hlbiBQREk6CiAgICAgICAgaWYgKGlzb2xhdGVMZXZlbCkgewog
ICAgICAgICAgd2hpbGUgKCFjdXJyZW50SXNvbGF0ZSAmJiBjb3VudGRzcygpID4gMCkKICAg
ICAgICAgICAgcG9wZHNzKCk7CiAgICAgICAgICBwb3Bkc3MoKTsKICAgICAgICAgIGlzb2xh
dGVMZXZlbC0tOwogICAgICAgIH0KICAgICAgICBpZiAoY3VycmVudE92ZXJyaWRlICE9IE9O
KQogICAgICAgICAgdGVtcFR5cGUgPSBjdXJyZW50T3ZlcnJpZGU7CiAgICAgICAgbGV2ZWxz
W2ldID0gY3VycmVudEVtYmVkZGluZzsKICAgICAgd2hlbiBXUyBvciBTOiAvKiBXaGl0ZXNw
YWNlIGlzIHRyZWF0ZWQgYXMgbmV1dHJhbCBmb3Igbm93ICovCiAgICAgICAgaWYgKGN1cnJl
bnRPdmVycmlkZSAhPSBPTikKICAgICAgICAgIHRlbXBUeXBlID0gY3VycmVudE92ZXJyaWRl
OwogICAgICBvdGhlcndpc2U6CiAgICAgICAgaWYgKGN1cnJlbnRPdmVycmlkZSAhPSBPTikK
ICAgICAgICAgIHRlbXBUeXBlID0gY3VycmVudE92ZXJyaWRlOwogICAgfQogICAgdHlwZXNb
aV0gPSB0ZW1wVHlwZTsKICB9CgogLyogUnVsZSAoWDkpCiAgKiBYOS4gUmVtb3ZlIGFsbCBS
TEUsIExSRSwgUkxPLCBMUk8sIFBERiwgYW5kIEJOIGNvZGVzLgogICogSGVyZSwgdGhleSdy
ZSBjb252ZXJ0ZWQgdG8gTlNNICh1c2VkIHRvIGJlIEJOKS4KICAqLwogIGJvb2wgc2tpcFtj
b3VudF07CiAgZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKICAgIHN3aXRjaCAodHlw
ZXNbaV0pIHsKICAgICAgd2hlbiBSTEUgb3IgTFJFIG9yIFJMTyBvciBMUk8gb3IgUERGIG9y
IEJOOgogICAgICAgIC8vdHlwZXNbaV0gPSBCTjsKICAgICAgICB0eXBlc1tpXSA9IE5TTTsg
IC8vIGZpeGVzIDQ1OTQgdGVzdCBjYXNlcyArIDI4IGNoYXIgdGVzdCBjYXNlcwogICAgICAg
IHNraXBbaV0gPSB0cnVlOyAgLy8gcmVtb3ZlIGNoYXIgZnJvbSBhbGdvcml0aG0uLi4gKHVz
YWdlIGluY29tcGxldGUpCiAgICAgIG90aGVyd2lzZToKICAgICAgICBza2lwW2ldID0gZmFs
c2U7CiAgICB9CiAgfQoKIC8qIFJ1bGUgKFcxKQogICogVzEuIEV4YW1pbmUgZWFjaCBub24t
c3BhY2luZyBtYXJrIChOU00pIGluIHRoZSBsZXZlbCBydW4sIGFuZCBjaGFuZ2UKICAqIHRo
ZSB0eXBlIG9mIHRoZSBOU00gdG8gdGhlIHR5cGUgb2YgdGhlIHByZXZpb3VzIGNoYXJhY3Rl
ci4gSWYgdGhlIE5TTQogICogaXMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsZXZlbCBydW4sIGl0
IHdpbGwgZ2V0IHRoZSB0eXBlIG9mIHNvci4KICAvLyBUT0RPOiBjaGVjawogICAgVzEuIEV4
YW1pbmUgZWFjaCBub25zcGFjaW5nIG1hcmsgKE5TTSkgaW4gdGhlIGlzb2xhdGluZyBydW4g
c2VxdWVuY2UsIAogICAgYW5kIGNoYW5nZSB0aGUgdHlwZSBvZiB0aGUgTlNNIAogICAgdG8g
T3RoZXIgTmV1dHJhbCBpZiB0aGUgcHJldmlvdXMgY2hhcmFjdGVyIGlzIGFuIGlzb2xhdGUg
aW5pdGlhdG9yIG9yIFBESSwgCiAgICBhbmQgdG8gdGhlIHR5cGUgb2YgdGhlIHByZXZpb3Vz
IGNoYXJhY3RlciBvdGhlcndpc2UuIAogICAgSWYgdGhlIE5TTSBpcyBhdCB0aGUgc3RhcnQg
b2YgdGhlIGlzb2xhdGluZyBydW4gc2VxdWVuY2UsIAogICAgaXQgd2lsbCBnZXQgdGhlIHR5
cGUgb2Ygc29zLiAKICAgIChOb3RlIHRoYXQgaW4gYW4gaXNvbGF0aW5nIHJ1biBzZXF1ZW5j
ZSwgYW4gaXNvbGF0ZSBpbml0aWF0b3IgZm9sbG93ZWQgYnkgCiAgICBhbiBOU00gb3IgYW55
IHR5cGUgb3RoZXIgdGhhbiBQREkgbXVzdCBiZSBhbiBvdmVyZmxvdyBpc29sYXRlIGluaXRp
YXRvci4pCiAgKi8KICBpZiAodHlwZXNbMF0gPT0gTlNNIC8qJiYgIXNraXBbMF0qLykKICAg
IHR5cGVzWzBdID0gKHBhcmFncmFwaExldmVsICYgMSkgPyBSIDogTDsgIC8vIHNvcgoKICBm
b3IgKGkgPSAxOyBpIDwgY291bnQ7IGkrKykgewogICAgaWYgKHR5cGVzW2ldID09IE5TTSAv
KiYmICFza2lwW2ldKi8pCiAgICAgIHN3aXRjaCAodHlwZXNbaSAtIDFdKSB7CiAgICAgICAg
d2hlbiBMUkkgb3IgUkxJIG9yIEZTSSBvciBQREk6CiAgICAgICAgICB0eXBlc1tpXSA9IE9O
OwogICAgICAgIG90aGVyd2lzZToKICAgICAgICAgIHR5cGVzW2ldID0gdHlwZXNbaSAtIDFd
OwogICAgICB9CiAgfQoKIC8qIFJ1bGUgKFc0KQogICogVzQuIEEgc2luZ2xlIEV1cm9wZWFu
IHNlcGFyYXRvciBiZXR3ZWVuIHR3byBFdXJvcGVhbiBudW1iZXJzIGNoYW5nZXMKICAqIHRv
IGEgRXVyb3BlYW4gbnVtYmVyLiBBIHNpbmdsZSBjb21tb24gc2VwYXJhdG9yIGJldHdlZW4g
dHdvIG51bWJlcnMKICAqIG9mIHRoZSBzYW1lIHR5cGUgY2hhbmdlcyB0byB0aGF0IHR5cGUu
CiAgKi8KICBmb3IgKGkgPSAxOyBpIDwgY291bnQgLSAxOyBpKyspIHsKICAgIGlmICh0eXBl
c1tpXSA9PSBFUykgewogICAgICBpZiAodHlwZXNbaSAtIDFdID09IEVOICYmIHR5cGVzW2kg
KyAxXSA9PSBFTikKICAgICAgICB0eXBlc1tpXSA9IEVOOwogICAgfQogICAgZWxzZSBpZiAo
dHlwZXNbaV0gPT0gQ1MpIHsKICAgICAgaWYgKHR5cGVzW2kgLSAxXSA9PSBFTiAmJiB0eXBl
c1tpICsgMV0gPT0gRU4pCiAgICAgICAgdHlwZXNbaV0gPSBFTjsKICAgICAgZWxzZSBpZiAo
dHlwZXNbaSAtIDFdID09IEFOICYmIHR5cGVzW2kgKyAxXSA9PSBBTikKICAgICAgICB0eXBl
c1tpXSA9IEFOOwogICAgfQogIH0KCiAvKiBSdWxlIChXNSkKICAqIFc1LiBBIHNlcXVlbmNl
IG9mIEV1cm9wZWFuIHRlcm1pbmF0b3JzIGFkamFjZW50IHRvIEV1cm9wZWFuIG51bWJlcnMK
ICAqIGNoYW5nZXMgdG8gYWxsIEV1cm9wZWFuIG51bWJlcnMuCiAgKgogICogT3B0aW1pemF0
aW9uOiBsb3RzIGhlcmUuLi4gZWxzZSBpZnMgbmVlZCByZWFycmFuZ2VtZW50CiAgKi8KICBm
b3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgaWYgKHR5cGVzW2ldID09IEVUKSB7
CiAgICAgIGlmIChpID4gMCAmJiB0eXBlc1tpIC0gMV0gPT0gRU4pIHsKICAgICAgICB0eXBl
c1tpXSA9IEVOOwogICAgICAgIGNvbnRpbnVlOwogICAgICB9CiAgICAgIGVsc2UgaWYgKGkg
PCBjb3VudCAtIDEgJiYgdHlwZXNbaSArIDFdID09IEVOKSB7CiAgICAgICAgdHlwZXNbaV0g
PSBFTjsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBlbHNlIGlmIChpIDwgY291
bnQgLSAxICYmIHR5cGVzW2kgKyAxXSA9PSBFVCkgewogICAgICAgIGogPSBpOwogICAgICAg
IHdoaWxlIChqIDwgY291bnQgJiYgdHlwZXNbal0gPT0gRVQpIHsKICAgICAgICAgIGorKzsK
ICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVzW2pdID09IEVOKQogICAgICAgICAgdHlwZXNb
aV0gPSBFTjsKICAgICAgfQogICAgfQogIH0KCiAvKiBSdWxlIChOMSkKICAqIE4xLiBBIHNl
cXVlbmNlIG9mIE5JcyB0YWtlcyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBzdXJyb3VuZGluZwog
ICogc3Ryb25nIHRleHQgaWYgdGhlIHRleHQgb24gYm90aCBzaWRlcyBoYXMgdGhlIHNhbWUg
ZGlyZWN0aW9uLgogICogRXVyb3BlYW4gYW5kIEFyYWJpYyBudW1iZXJzIGFyZSB0cmVhdGVk
IGFzIHRob3VnaCB0aGV5IHdlcmUgUi4KICAvLyBUT0RPOiBjaGVjawogICAgRXVyb3BlYW4g
YW5kIEFyYWJpYyBudW1iZXJzIGFjdCBhcyBpZiB0aGV5IHdlcmUgUiBpbiB0ZXJtcyBvZiB0
aGVpciAKICAgIGluZmx1ZW5jZSBvbiBOSXMuIFRoZSBzdGFydC1vZi1zZXF1ZW5jZSAoc29z
KSBhbmQgZW5kLW9mLXNlcXVlbmNlIChlb3MpIAogICAgdHlwZXMgYXJlIHVzZWQgYXQgaXNv
bGF0aW5nIHJ1biBzZXF1ZW5jZSBib3VuZGFyaWVzLgogICovCiAgaWYgKGNvdW50ID49IDIg
JiYgaXNfTkkodHlwZXNbMF0pKSB7CiAgICBpZiAoKHBhcmFncmFwaExldmVsICYgMSkgJiYK
ICAgICAgICAoKHR5cGVzWzFdID09IFIpIHx8ICh0eXBlc1sxXSA9PSBFTikgfHwgKHR5cGVz
WzFdID09IEFOKSkKICAgICAgICkKICAgICAgdHlwZXNbMF0gPSBSOwogICAgZWxzZSBpZiAo
IShwYXJhZ3JhcGhMZXZlbCAmIDEpICYmIHR5cGVzWzFdID09IEwpCiAgICAgIHR5cGVzWzBd
ID0gTDsKICB9CiAgZm9yIChpID0gMTsgaSA8IGNvdW50IC0gMTsgaSsrKSB7CiAgICBpZiAo
aXNfTkkodHlwZXNbaV0pKSB7CiAgICAgIGlmICh0eXBlc1tpIC0gMV0gPT0gTCkgewogICAg
ICAgIGogPSBpOwogICAgICAgIHdoaWxlIChqIDwgY291bnQgLSAxICYmIGlzX05JKHR5cGVz
W2pdKSkgewogICAgICAgICAgaisrOwogICAgICAgIH0KICAgICAgICBpZiAodHlwZXNbal0g
PT0gTCkgewogICAgICAgICAgd2hpbGUgKGkgPCBqKSB7CiAgICAgICAgICAgIHR5cGVzW2ld
ID0gTDsKICAgICAgICAgICAgaSsrOwogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgIH0K
ICAgICAgZWxzZSBpZiAoKHR5cGVzW2kgLSAxXSA9PSBSKSB8fCAodHlwZXNbaSAtIDFdID09
IEVOKSB8fAogICAgICAgICAgICAgICAodHlwZXNbaSAtIDFdID09IEFOKSkgewogICAgICAg
IGogPSBpOwogICAgICAgIHdoaWxlIChqIDwgY291bnQgLSAxICYmIGlzX05JKHR5cGVzW2pd
KSkgewogICAgICAgICAgaisrOwogICAgICAgIH0KICAgICAgICBpZiAoKHR5cGVzW2pdID09
IFIpIHx8ICh0eXBlc1tqXSA9PSBFTikgfHwgKHR5cGVzW2pdID09IEFOKSkgewogICAgICAg
ICAgd2hpbGUgKGkgPCBqKSB7CiAgICAgICAgICAgIHR5cGVzW2ldID0gUjsKICAgICAgICAg
ICAgaSsrOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KICBpZiAo
Y291bnQgPj0gMiAmJiBpc19OSSh0eXBlc1tjb3VudCAtIDFdKSkgewogICAgaWYgKChwYXJh
Z3JhcGhMZXZlbCAmIDEpICYmCiAgICAgICAgKHR5cGVzW2NvdW50IC0gMl0gPT0gUiB8fCB0
eXBlc1tjb3VudCAtIDJdID09IEVOIHx8IHR5cGVzW2NvdW50IC0gMl0gPT0gQU4pCiAgICAg
ICApCiAgICAgIHR5cGVzW2NvdW50IC0gMV0gPSBSOwogICAgZWxzZSBpZiAoIShwYXJhZ3Jh
cGhMZXZlbCAmIDEpICYmIHR5cGVzW2NvdW50IC0gMl0gPT0gTCkKICAgICAgdHlwZXNbY291
bnQgLSAxXSA9IEw7CiAgfQoKIC8qIFJ1bGUgKEwxKQogICogTDEuIE9uIGVhY2ggbGluZSwg
cmVzZXQgdGhlIGVtYmVkZGluZyBsZXZlbCBvZiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnMK
ICAqIHRvIHRoZSBwYXJhZ3JhcGggZW1iZWRkaW5nIGxldmVsOgogICogICAoMSkgc2VnbWVu
dCBzZXBhcmF0b3JzLAogICogICAoMikgcGFyYWdyYXBoIHNlcGFyYXRvcnMsCiAgKiAgICgz
KSBhbnkgc2VxdWVuY2Ugb2Ygd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIG9yIGlzb2xhdGUgbWFy
a2VycwogICogICAgICAgcHJlY2VkaW5nIGEgc2VnbWVudCBzZXBhcmF0b3Igb3IgcGFyYWdy
YXBoIHNlcGFyYXRvciwKICAqICAgKDQpIGFuZCBhbnkgc2VxdWVuY2Ugb2Ygd2hpdGVzcGFj
ZSBjaGFyYWN0ZXJzIG9yIGlzb2xhdGUgbWFya2VycwogICogICAgICAgYXQgdGhlIGVuZCBv
ZiB0aGUgbGluZS4KICAqIFRoZSB0eXBlcyBvZiBjaGFyYWN0ZXJzIHVzZWQgaGVyZSBhcmUg
dGhlIG9yaWdpbmFsIHR5cGVzLCBub3QgdGhvc2UKICAqIG1vZGlmaWVkIGJ5IHRoZSBwcmV2
aW91cyBwaGFzZS4KICAgIE4vQTogQmVjYXVzZSBhIHBhcmFncmFwaCBzZXBhcmF0b3IgYnJl
YWtzIGxpbmVzLCB0aGVyZSB3aWxsIGJlIGF0IG1vc3QgCiAgICBvbmUgcGVyIGxpbmUsIGF0
IHRoZSBlbmQgb2YgdGhhdCBsaW5lLgogICovCiAgLy8gKDQpCiAgaiA9IGNvdW50IC0gMTsK
ICB3aGlsZSAoaiA+IDAgJiYgKGJpZGlfY2xhc3Nfb2YoaikgPT0gV1MgfHwgc2tpcFtqXSkp
IHsKICAgIGotLTsKICB9CiAgaWYgKGogPCBjb3VudCAtIDEpIHsKICAgIGZvciAoaisrOyBq
IDwgY291bnQ7IGorKykKICAgICAgbGV2ZWxzW2pdID0gcGFyYWdyYXBoTGV2ZWw7CiAgfQog
IC8vICgzKQogIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICB0ZW1wVHlwZSA9
IGJpZGlfY2xhc3Nfb2YoaSk7CiAgICBpZiAodGVtcFR5cGUgPT0gV1MpIHsKICAgICAgaiA9
IGk7CiAgICAgIHdoaWxlIChqIDwgY291bnQgJiYgKGJpZGlfY2xhc3Nfb2YoaikgPT0gV1Mg
fHwgc2tpcFtqXSkpIHsKICAgICAgICBqKys7CiAgICAgIH0KICAgICAgaWYgKGogPT0gY291
bnQgfHwgYmlkaV9jbGFzc19vZihqKSA9PSBCIHx8IGJpZGlfY2xhc3Nfb2YoaikgPT0gUykg
ewogICAgICAgIGZvciAoai0tOyBqID49IGk7IGotLSkgewogICAgICAgICAgbGV2ZWxzW2pd
ID0gcGFyYWdyYXBoTGV2ZWw7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICBlbHNlIGlm
ICh0ZW1wVHlwZSA9PSBCIHx8IHRlbXBUeXBlID09IFMpIHsKICAgICAgbGV2ZWxzW2ldID0g
cGFyYWdyYXBoTGV2ZWw7CiAgICB9CiAgfQoKICByZXR1cm4gcmVzTGV2ZWw7Cn0K
--------------30D4158897F42C92C2A22C2F
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

--------------30D4158897F42C92C2A22C2F--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019