DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 578KAlB13920975 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 578KAlB13920975 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=u45RL64H X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D1FD13858D29 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1754683845; bh=8HzuDULm6caR0YLJijsNRjfASiqTSS5kIx/AGsiMb28=; h=Date:Cc:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=u45RL64H1aaSDHSPJDB2xuJbPfWkkfOzFAU4FyCLQgCY8MaNo9OySAYvCRwg7X6oz XBDKK/aL0Ts/9WKGY+BGNw/04fefAzMRpnLhY/9ENDDpIE9nLXanA+TtQdURNLrztn jlbhzsw0c7Hg04mEvOfBjKQMW1zxzNucB8PEIA08= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5D11D3858D29 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5D11D3858D29 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1754683822; cv=none; b=kkNjz+W5EGY+CXsqn4hC2DNEx3qBwZbpncIq2IgimKRS1VPJaIzumF1OrP1SASL7zTMf0vibQW7IGy0bXQq+xwk8fD4BdbAbecnVXIpsaNWkGUjMCw1ukA7qZpdWofOgojrjfPTUUJS6IChP3PUOKKi2b8trSMJi3x2yCPdl5Gc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1754683822; c=relaxed/simple; bh=wPKPwEioYYOgK7YSwDe5eLrb6i+vURA23oZuTyLBp/8=; h=DKIM-Signature:Date:From:Message-ID:Subject:MIME-Version; b=FFaThu3svLAd+Z1RSQB7kgNl6RgMKc5WiuDfAygcs/2ZdMS5vMmrow1PSTCnwKzJe4UZ9f3jUhD5caUel0Y8pTAY6WmPsM/C0Pm989WYsfTTRYy5P+p+dCWtee84x3zvW3FY0WfVUJqkS8Xtg5hwxTi7YGztyyxVH9x3JZMnd6U= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5D11D3858D29 X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1754683822; bh=QJIGZLVRDLfLVa+GiSPsswEpxPzOd3elF4gK2LfI8tM=; h=X-Sonic-MF:Date:From:Subject:From:Subject; b=IAlGDVLPmDSPzxJY36wPyIaCDu1J014Gg70OPzGgpbqk5jathBABg+UI+zFGL2gaM5qR5dvfxPhjEi31mMRO9ThDf8QekfJQBKrsCY46VnrXLR3yT1Lez8Zy9W/pW1qoQ1dcEnKeZP4ZWFlhHfNMwEophnIPOWpC0R5N9Xn9WQ2KG0ENvGVyY0t9rPnwwclSgi7wTf3SUd9Tue8vqzi/eO1iaJjCvKeM/y7ec+Oqm1kKcRLJmuGWWhnoJLeUMyrByDW+aU2z7iRsFphoNbBGFe8rg8jxwy8y7he8j0RRKFDqBoPVCmWowLqEs0Z/y5ZlluNthKKvwK7lpqU9YL+kbQ== X-YMail-OSG: UxHIoX8VM1kQKwQIE9D0_.9eg7om.V99GXgf8hOMOVh9C4XjqzE4eG44uRrmaIh FqKUY7IU.mtNF0ATRP7f1vPmPr0CK.jtvgTYndY60wnO9UPPLozr_jyvUPXbCbUMle3mwqvjYZg_ aHQgdzPxmFANEkMBCV6TDM5A7zeQx69FkQtdBRIiDtvFYZHvUYUE21Mtba_jc96qa8AbMxxzMcr1 AZywFcn3C29Tkr2u2lROvoRw0SkWEId_3nfUfKi2ZZnvDbeGZPysfCO171zoPpOBMWCQP_bOjFY_ 1ifVTIxDJi4ZrglCDqYDTl_bHDfyN7yB__TA3NunKUEEYhozzFK80E9NB442dINtBeQiG24GAMKF TP4E.QS2Ni7lJbszXpC0KEsilV8ly4mkAnjYrwaEPDVsgkuFULmzApGs8cPE7s5UO5EcuymvyLsY 0EueDfebiK2n3OZ2wAg23fEmfwyjoIhOYfXP0seoJral9RlJ8DkGlzIshGd09k1qbh6LRZdR_pHX zKBqEWSgErezDTTfbsuGXVAZSelTBE8U4D7zpQZ_W6ajQ2OZArnPWybPQw_oTU5uhU37pkuAx60o zOvh2xLwHnr1WSAMqbhwITJbINzx0Xw9YUU0YwNj3weuhTQyiQhozfHl1p3Ge4f7Pp9gg1LGz8u9 BuSF7NLgvojZGmcyDQYOOYKTYa8dSDNzsOGX2dajwC1DDzYmeh.a_Yonuo8bT782RAkL8Eve36.j 7lfVLTETIcwBQzOdwBMw6DoqEIHSnmupcIh.N0jqbiNgFHWaaDaZrqtz8e5jXKb5KA4BBw6sP0uD j6PrxG6uU9kZyDVR_67wO5S2gtt2l_5gY_RlLuHJeDADSkpIZ_6ai1GgwHpbX1DEd9_P.Cv1SSty WwgtXBirDfceKKq4x_tBlOdN2oSs.QKrIWhkVtRoQYUOLfXpZ.ll8T6K9sn1uZi9OMEnnmZYliVH DnBKhqNQXPP8GENLB25SbA_Tk8fTyoShwGhRL1wQ0M0Hg8DxBwW5l0xDKg9FfFR93DeTy8bBLqYD j.9FUpi.9vx9hh8WNVDAsh6x42SBT8RmkdScN9FYS7Tyf3HdyLbQFwraSeYIQjuU2nsSvPhr6qUl .PRsUe0Bawd5GguvGPkTe_RJWydzOw0bIacAv4_Jgz9H1QoxMrBpORu67ixm8WsazM7tpI7w8HOG CYV2zt_z4M7tvgGsO_C0_QEdfYSgj4dPaDYcdal9FDCNe1wWxWeCbsOMW9admxDFBfA_FqfXWZ6Q jb5qS230RtOPSMFHnnm97ubb8wOiXBpCXqBZsTbtRxBobZIafX1arB758J4Na24iaPkgLpWk7gFs 7MsUXGI_BcPONKQb2U__JJfxm4X32WL.Yyx.SPp3QWZXBlaan0iOatYlo3VKxB6_VwU5K69ho9iH H6480cy1c9_Vmd7pZHAVngtdAqaK.dFnDzTO8lR1ee.hhDaO1RX41WGlpA4UAtdwkiKxuCF47kQO 53dSvAA4xyX3Ok3AFD6w5lZKlRYfIpLwi8VIlJh5rKuYSOXfIsu9gFd0i9kGsF5qirSeNDZS1Msa QlDkcah45jNQ9wz93mIFjFv9WRo2RPfjqDjRL6QOm5WxkcVcYlaj00BXMvTB_AiUlEhxmKF6zGj9 qEiEz0zYk8x3hJW8sP8qAEv0wDideKOfr3ZHCLYqa2rkxbjcOZoH6Ox2PyFAbeucH8Eequh1Xg_t SFFCgeuCPuclnOpbKAjqLQ9WfKYlIi9Wtl1JTRiW5sNbhrau40mNNpExYRUKCnO8cEmWdEFEiWWv Rf2raTidIJQFQXMzqP8VEotX9gwLqxODlkJB1KkXRqBF8oGrEJQCdLtTOZL8GnE49jAiqlU2eAGJ P9Wdm9KfGsPfSf7MviW6pf95j7a1nUA3Mz5rLIsqje8gvsNAH.Psx27i3H4rqLN1hBGym5suD5Mr UEZ2yex0g_6f1gIhLITaMVVI3kYot47At1Vg_5x7yOpYw66yffmkemQRl35Vxpl8N57M0y0sY5Qv VbHzOo.i5VBevA0l9gZtmKEGe6edz8PtlNgz78c1hbk5AQGjx9unwggokxnkBNyKekYCZYu1rPLf RdSPIInB_FppyI2srff1JJOE3zIyF8CE1.WBLITkdhjgGRP7o1asS5QY8kFp0Svz6drOJ90mQ_Mp fnDYbhAW4gYnzAky_xO3qRvd4xIh3g_XoPyUJevRQKYwJCQa7QP.S5fqVTGKT3d8UN1VbASiJc0r yMUswUFt34qB2E609bVXKVAPRukETdyUXJd2Xw5Rq8sPlBg-- X-Sonic-MF: X-Sonic-ID: ea68cdfb-1378-4980-afbc-9d10bb586748 Date: Fri, 8 Aug 2025 20:10:18 +0000 (UTC) Cc: "cygwin AT cygwin DOT com" Message-ID: <1443637579.1902343.1754683818731@mail.yahoo.com> In-Reply-To: References: <36a0093c-fc8b-f268-9cbf-71c1c1268ef7 AT jdrake DOT com> <11a5bd41-e977-4f25-9bf8-4917f1c65934 AT towo DOT net> Subject: Re: getting the on-disk case for a path MIME-Version: 1.0 X-Mailer: WebService/1.1.24260 YMailNorrin X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: matthew patton via Cygwin Reply-To: matthew patton Content-Type: text/plain; charset="utf-8" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 578KAlB13920975 > > Background: I'm trying to debug some test failures in Clang, due to a > > warning that's supposed to be issued when you #include "foo.h" but the > > file on disk that it opened is "Foo.h". sounds like Clang is misbehaved. If it opened the file regardless of case it should just continue. Is it doing a gratuitous stat() call or something else to compare actual vs requested? Why? That's just unnecessary meddling and introducing breakage for no good reason. actually stat() is "broken" as it just blindly returns the command-line argument rather than the accurate representation of what is ON the disk. My spidey sense says we had a whole conversation about this and Cygwin lying to the user some years back. System.IO.FileInfo() lies. The only "easy" solution I have is run powershell> (get-Item $pwd).GetFiles('foo.h').NameĀ  which will give you the correct answer. Similarly PS> (get-item("foo.h*")).Name emits the correct case. Please note the wildcard is MANDATORY for it to work. Basically the .Net API properly handles case. The windows systemcall APIs do not. -- 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