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;

Reply via email to