On 10/02/21 16:58 +0000, Jonathan Wakely wrote:
This wasn't fixed upstream for mingw-w64 so we still need the
workaround.
libstdc++-v3/ChangeLog:
PR libstdc++/88881
* src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
Oops, the same change is needed in symlink_status as well.
Tested x86_64-w64-mingw32. Committed to trunk.
commit b7210405ed8eb5fd723b2c99960dcc5f0aec89b4
Author: Jonathan Wakely <jwak...@redhat.com>
Date: Wed Feb 10 16:51:34 2021
libstdc++: Re-enable workaround for _wstat64 bug, again [PR 88881]
I forgot that the workaround is present in both filesystem::status and
filesystem::symlink_status. This restores it in the latter.
libstdc++-v3/ChangeLog:
PR libstdc++/88881
* src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
diff --git a/libstdc++-v3/src/c++17/fs_ops.cc b/libstdc++-v3/src/c++17/fs_ops.cc
index 3e1671e611e..66207ae5e44 100644
--- a/libstdc++-v3/src/c++17/fs_ops.cc
+++ b/libstdc++-v3/src/c++17/fs_ops.cc
@@ -1537,7 +1537,6 @@ fs::symlink_status(const fs::path& p, std::error_code& ec) noexcept
auto str = p.c_str();
#if _GLIBCXX_FILESYSTEM_IS_WINDOWS
-#if ! defined __MINGW64_VERSION_MAJOR || __MINGW64_VERSION_MAJOR < 6
// stat() fails if there's a trailing slash (PR 88881)
path p2;
if (p.has_relative_path() && !p.has_filename())
@@ -1554,7 +1553,6 @@ fs::symlink_status(const fs::path& p, std::error_code& ec) noexcept
}
str = p2.c_str();
}
-#endif
#endif
stat_type st;