[patch] Implement ISO/IEC TS 18822 C++ File system TS
Jonathan Wakely
jwakely@redhat.com
Fri May 1 10:53:00 GMT 2015
On 01/05/15 10:05 +0900, Luke Allardyce wrote:
>This fails on mingw-w64 4.02 due to
Yay, thanks for trying it!
>an extra typename:
>
>/mnt/build/native/gcc/x86_64-w64-mingw32/libstdc++-v3/include/experimental/fs_path.h:784:35:
>error: expected nested-name-specifier
> using _CharAlloc = typename __alloc_rebind<_Allocator, char>;
Oops, forgetting how to use my own alias.
>readdir_r not available:
>
>/mnt/src/gcc/libstdc++-v3/src/filesystem/dir.cc:169:46: error:
>'readdir_r' was not declared in this scope
> if (int err = readdir_r(dirp, &ent, &result))
>
>
>and calling opendir with a wchar_t*
>
>/mnt/src/gcc/libstdc++-v3/src/filesystem/dir.cc:108:40: error: cannot
>convert 'const value_type* {aka const wchar_t*}' to 'const char*' for
>argument '1' to 'DIR* opendir(const char*)'
> if (DIR* dirp = ::opendir(p.c_str()))
>
>/mnt/src/gcc/libstdc++-v3/src/filesystem/dir.cc:256:38: error: cannot
>convert 'const value_type* {aka const wchar_t*}' to 'const char*' for
>argument '1' to 'DIR* opendir(const char*)'
> if (DIR* dirp = ::opendir(p.c_str()))
Ah interesting, this means mingw supports <dirent.h>, I was expecting
it to use the dummy definitions at the top of src/filesystem/dir.cc
(where I'd made opendir take wchar_t).
I've done some reading and am going to commit some fixes and
improvements for mingw in an hour or two. It would be great if you
could try it again after that.
More information about the Libstdc++
mailing list