From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id F40943BFC2F8; Mon, 19 Dec 2022 09:26:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F40943BFC2F8 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.96,255,1665475200"; d="diff'?scan'208";a="90036284" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 19 Dec 2022 01:26:58 -0800 IronPort-SDR: CvdmP5nEfzmAQVNQINZbCnsoieuc8jcZ+CYAdVJVjH2lFsG+6w+agsM0K5PaFc7Mcr51XwUr/j 4Y/MGJkVWWSIAMaLt80nk5MwYjhQWDSTy4xL2sx7jkjvU8HK/ygRlIC9W7ecsPF1G93lMBywOU y7DVwnVICNVCArt+hmOJpqvBCNqhnZfizOuTGUR7EeMrANCXP+7jN7N3G4BIAXLaL7uUSpl9dV ln7hcHohP6WPB8L5D/kqJoBhbD53wNdFEGsHtt7beZ48ACG7XxU6HwTKNtXTqiRA3udLi4ells B5g= Content-Type: multipart/mixed; boundary="------------2Oj0e4AMQEkm610Qn8PXVYFK" Message-ID: <345db222-b459-6a2b-c8c4-c49808979594@codesourcery.com> Date: Mon, 19 Dec 2022 10:26:48 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: [Patch] gfortran.dg/read_dir.f90: Make PASS on Windows Content-Language: en-US From: Tobias Burnus To: gcc-patches , fortran , Jerry D , NightStrike References: In-Reply-To: X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,NICE_REPLY_A,SPF_HELO_PASS,SPF_PASS,TXREP 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: --------------2Oj0e4AMQEkm610Qn8PXVYFK Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable And here is a more light-wight variant, suggested by Nightstrike: Using '.' instead of creating a new directory - and checking for __WIN32__ instead for __MINGW32__. The only downside of this variant is that it does not check whether "close(10,status=3D'delete')" will delete a directory without failing with an error. =E2=80=93 If the latter makes sense, I think a follow-up check sh= ould be added to ensure the directory has indeed been removed by 'close'. Thoughts about which variant is better? Other suggestions or comments? Tobias PS: On my x86-64 Linux, OPEN works but READ fails with EISDIR/errno =3D=3D = 21. On 19.12.22 10:09, Tobias Burnus wrote: > As discussed in #gfortran IRC, on Windows opening a directory fails > with EACCESS. > (It works under Cygwin - nightstrike was so kind to test this.) > > Additionally, '[ -d dir ] || mkdir dir' is also not very portable. > > Hence, I use an auxiliary C file calling the POSIX functions and > expect a fail for non-Cygwin windows. > > Comments? Suggestions? - If there aren't any, I plan to commit it > as obvious tomorrow. ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --------------2Oj0e4AMQEkm610Qn8PXVYFK Content-Type: text/x-patch; charset="UTF-8"; name="fix-read_dir-var2.diff" Content-Disposition: attachment; filename="fix-read_dir-var2.diff" Content-Transfer-Encoding: base64 Z2ZvcnRyYW4uZGcvcmVhZF9kaXIuZjkwOiBNYWtlIFBBU1Mgb24gV2luZG93cwoKQXZvaWQg Y2FsbCB0byB0aGUgc2hlbGwgdXNpbmcgUE9TSVggc3ludGF4IGFuZCB1c2UgJy4nIGluc3Rl YWQuCkFkZGl0aW9uYWxseSwgZXhwZWN0IGZhaWwgb24gbm9uLUN5Z3dpbiBXaW5kb3dzIGFz IG9wZW5pbmcgYSBkaXJlY3RvcnkKaXMgZG9jdW1lbnRlZCB0byBmYWlsIHdpdGggRUFDQ0VT Uy4KCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgoKCSogZ2ZvcnRyYW4uZGcvcmVhZF9kaXIu ZjkwOiBPcGVuICcuJyBpbnN0ZWFkIG9mIGEgZnJlc2hseSBjcmVhdGVkCglkaXJlY3Rvcnk7 IGV4cGVjdCBlcnJvciBvbiBXaW5kb3dzIHdoZW4gb3BlbmluZyBhIGRpcmVjdG9yeS4KCiBn Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3JlYWRfZGlyLmY5MCB8IDIxICsrKysrKysrKysr KysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDcgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9yZWFkX2Rp ci5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3JlYWRfZGlyLmY5MAppbmRleCBj N2RkYzUxZmI5MC4uYzkxZDBmNzg0MTMgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvcmVhZF9kaXIuZjkwCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv cmVhZF9kaXIuZjkwCkBAIC0xLDIwICsxLDI3IEBACiAhIHsgZGctZG8gcnVuIH0KKyEgeyBk Zy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1jcHAiIH0KKyEKICEgUFI2NzM2NworCiBwcm9ncmFt IGJ1ZwogICAgaW1wbGljaXQgbm9uZQogICAgY2hhcmFjdGVyKGxlbj0xKSA6OiBjCi0gICBj aGFyYWN0ZXIobGVuPTI1NikgOjogbWVzc2FnZQogICAgaW50ZWdlciBpb3MKLSAgIGNhbGwg c3lzdGVtKCdbIC1kIGp1bmtvLmRpciBdIHx8IG1rZGlyIGp1bmtvLmRpcicpCi0gICBvcGVu KHVuaXQ9MTAsIGZpbGU9J2p1bmtvLmRpcicsaW9zdGF0PWlvcyxhY3Rpb249J3JlYWQnLGFj Y2Vzcz0nc3RyZWFtJykKKyAgIG9wZW4odW5pdD0xMCwgZmlsZT0nLicsaW9zdGF0PWlvcyxh Y3Rpb249J3JlYWQnLGFjY2Vzcz0nc3RyZWFtJykKKworI2lmIGRlZmluZWQoX19XSU4zMl9f KSAmJiAhZGVmaW5lZChfX0NZR1dJTl9fKQorICAgISBXaW5kb3dzIGlzIGRvY3VtZW50ZWQg dG8gZmFpbCB3aXRoIEVBQ0NFU1Mgd2hlbiB0cnlpbmcgdG8gb3BlbiBhIGRpcmVjdG9yeQor ICAgaWYgKGlvcyA9PSAwKSAmCisgICAgICBzdG9wIDMgICEgRXhwZWN0ZWQgRUFDQ0VTUwor ICAgc3RvcCAwICAhIE9LCisjZW5kaWYgICAKKwogICAgaWYgKGlvcy5uZS4wKSB0aGVuCi0g ICAgICBjYWxsIHN5c3RlbSgncm1kaXIganVua28uZGlyJykKICAgICAgIFNUT1AgMQogICAg ZW5kIGlmCiAgICByZWFkKDEwLCBpb3N0YXQ9aW9zKSBjCi0gICBpZiAoaW9zLm5lLjIxLmFu ZC5pb3MubmUuMCkgdGhlbiAKLSAgICAgIGNsb3NlKDEwLCBzdGF0dXM9J2RlbGV0ZScpCisg ICBjbG9zZSgxMCkKKyAgIGlmIChpb3MubmUuMjEuYW5kLmlvcy5uZS4wKSB0aGVuICAhIEVJ U0RJUiBoYXMgb2Z0ZW4gdGhlIHZhbHVlIDIxCiAgICAgICBTVE9QIDIKICAgIGVuZCBpZgot ICAgY2xvc2UoMTAsIHN0YXR1cz0nZGVsZXRlJykKIGVuZCBwcm9ncmFtIGJ1Zwo= --------------2Oj0e4AMQEkm610Qn8PXVYFK--