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