| delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| DKIM-Filter: | OpenDKIM Filter v2.11.0 sourceware.org 47A463858021 |
| DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; |
| s=default; t=1605626121; | |
| bh=MkVXNIwKMqeMzlTcbZICD3Vuya0vz7E0YP6leXzx52E=; | |
| h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: | |
| List-Help:List-Subscribe:From:Reply-To:From; | |
| b=nVb3qwaHC/QbUSDzhtvjUFXMBL3vKF3hA4Rdqx8xVkA2sGId1M5vg33LUAJNQuk3X | |
| wu0M4EWDRcPP0BcKJGqqSM1S4nzVS3OcjNrVWnDDHyFbWSvenPgwkQARZPGV4ZfYKX | |
| ICUb4UEPrlOBVQYADUqZcr3vEmlQCgXjshacJuoc= | |
| X-Original-To: | cygwin AT cygwin DOT com |
| Delivered-To: | cygwin AT cygwin DOT com |
| DMARC-Filter: | OpenDMARC Filter v1.3.2 sourceware.org 248C63858021 |
| X-Google-DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
| d=1e100.net; s=20161025; | |
| h=x-gm-message-state:from:to:subject:date:message-id:mime-version | |
| :thread-index:content-language; | |
| bh=0AfN+uLk/CKU5I3gVas0R83Dm/vz3l/qF8Yf8T64dw0=; | |
| b=lraMWhXG8wHj0Xkdoy8ot4zvBfeeLcjW7BwOsjBhHLnlvbRKgzHooRBk40gLQ9gKWW | |
| trCILZveC3/dsrUnw09fHCJa3IOAGNBbtXNcZxjmg+qjTmB35XbxQkiegQ56rKaRnhjU | |
| UFsxY6mVz4qb/vlcg/MdfEHRMFCl58zLmcCAY5ZxEs9ph71gvuoIoiftbP95cT1qZEjw | |
| phgaEZiuedUNz4qEydVlfTpjrtIu/jli5cDgd1RINPcxzVXuZ5XvJDI5hTZmddX50IxK | |
| zgirbYU0fRPpHcWjTp5I1DdbPdjcVKDs2zYqy9JyWe5K0QKnuMM0/DP1AXMi0ckZzwr9 | |
| PlDw== | |
| X-Gm-Message-State: | AOAM530vesVTafogBnGNewRW6eHA5UHZUsZza6oT4pCub6LrnYboA8cA |
| u506oyw6q99yYglhUpD1YJ65acS9b+4= | |
| X-Google-Smtp-Source: | ABdhPJx1Upp54hdysneeHRI/aFa03KIWzCAJrrqdV5bcCnNuhdKbIe30Hs9bcLMB3eyBOV4svIV/bA== |
| X-Received: | by 2002:a05:651c:1195:: with SMTP id |
| w21mr1931391ljo.427.1605626115489; | |
| Tue, 17 Nov 2020 07:15:15 -0800 (PST) | |
| To: | <cygwin AT cygwin DOT com> |
| Subject: | g++ and c++17 filesystem |
| Date: | Tue, 17 Nov 2020 16:15:14 +0100 |
| Message-ID: | <000001d6bcf4$736e0300$5a4a0900$@gmail.com> |
| MIME-Version: | 1.0 |
| X-Mailer: | Microsoft Outlook 16.0 |
| Thread-Index: | Ada89GzV2DDZmSbxQTSSuQxYzeyQWg== |
| X-Spam-Status: | No, score=-3.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, |
| DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, | |
| SPF_HELO_NONE, 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: | 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> | |
| From: | Kristian Ivarsson via Cygwin <cygwin AT cygwin DOT com> |
| Reply-To: | sten DOT kristian DOT ivarsson AT gmail DOT com |
| Sender: | "Cygwin" <cygwin-bounces AT cygwin DOT com> |
This is a multipart message in MIME format.
------=_NextPart_000_0001_01D6BCFC.D53418B0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
Hi folks
The filesystem-library as a part of C++17 seems to have some defects and
flaws in the cygwin-package and pretty much every lexical- and canonical
operation works in mysterious ways (or not at all)
Following output with g++cygwin
$ uname -a
CYGWIN_NT-10.0 JOKK 3.1.7(0.340/5/3) 2020-08-22 17:48 x86_64 Cygwin
$ g++ --version
g++ (GCC) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ g++ -std=c++17 main.cpp
$ ./a.exe
true
C:/Temp
filesystem error: cannot make canonical path: No such file or directory
[C:/Temp]
Following output with mingw (that also is a bit strange (note the last
"generic" (i.e. posix) output))
$ .\g++.exe --version
g++.exe (MinGW.org GCC Build-2) 9.2.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ .\g++.exe -std=c++17 main.cpp
$ .\a.exe
true
C:/Temp
C:\Temp
Following output with cl (that seems to be the most standard-conformant)
C:\>cl /std:c++17 main.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 19.27.29112 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
main.cpp
/out:main.exe
main.obj
C:\>main.exe
true
C:/Temp
C:/Temp
I have failed to find out exactly where the defect are though and I also do
have a hard time to see where/how/if there's a gcc/g++/mingw- or
libstdc++-fork for the cygwin package where this breaks
Does anyone have any ideas about this and know of any patches or (hot)fixes
to this ?
I haven't tried out all the mingw generic/lexical/canonical functions yet,
but maybe they're flawed as well
Thanx in advance
Best regards,
Kristian
------=_NextPart_000_0001_01D6BCFC.D53418B0
Content-Type: text/plain;
name="main.cpp"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="main.cpp"
#include <filesystem>=0A=
#include <iostream>=0A=
#include <stdexcept>=0A=
=0A=
// g++ -std=3Dc++17 main.cpp=0A=
=0A=
=0A=
int main()=0A=
{=0A=
=0A=
try=0A=
{=0A=
const std::filesystem::path path{"C:\\Temp"};=0A=
std::cout << std::boolalpha << std::filesystem::exists(path) << =
std::noboolalpha << std::endl;=0A=
std::cout << path.generic_u8string() << std::endl;=0A=
std::cout << std::filesystem::canonical(path).generic_u8string() =
<< std::endl;=0A=
}=0A=
catch(const std::exception& e)=0A=
{=0A=
std::cerr << e.what() << std::endl;=0A=
}=0A=
=0A=
=0A=
return 0;=0A=
}=0A=
=0A=
------=_NextPart_000_0001_01D6BCFC.D53418B0
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
------=_NextPart_000_0001_01D6BCFC.D53418B0--
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |