Tested x86_64-linux (and built on x86_64-w64-mingw), pushed to trunk.

The std::filesystem code needs to use posix::DIR not ::DIR, as that is
an alias for _WDIR on Windows.

libstdc++-v3/ChangeLog:

        * src/filesystem/dir-common.h (_Dir_base::openat): Change return
        type to use portable posix::DIR alias.
---
 libstdc++-v3/src/filesystem/dir-common.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libstdc++-v3/src/filesystem/dir-common.h 
b/libstdc++-v3/src/filesystem/dir-common.h
index ee4f33b6bc1..0b7665a3f70 100644
--- a/libstdc++-v3/src/filesystem/dir-common.h
+++ b/libstdc++-v3/src/filesystem/dir-common.h
@@ -173,7 +173,7 @@ struct _Dir_base
     return true;
   }
 
-  static ::DIR*
+  static posix::DIR*
   openat(int fd, const posix::char_type* pathname, bool nofollow)
   {
 #if _GLIBCXX_HAVE_FDOPENDIR && defined O_RDONLY && defined O_DIRECTORY \
-- 
2.34.1

Reply via email to