This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [patch] Implement ISO/IEC TS 18822 C++ File system TS
- From: Jonathan Wakely <jwakely at redhat dot com>
- To: Luke Allardyce <lukeallardyce at gmail dot com>
- Cc: libstdc++ <libstdc++ at gcc dot gnu dot org>
- Date: Fri, 1 May 2015 11:53:51 +0100
- Subject: Re: [patch] Implement ISO/IEC TS 18822 C++ File system TS
- Authentication-results: sourceware.org; auth=none
- References: <20150430173236 dot GT3618 at redhat dot com> <20150430191353 dot GW3618 at redhat dot com> <CAFW6PZB9WvskzrKCsNKK4s-5oXWjcwkuZGMrWbrfgJ7fpJiCXQ at mail dot gmail dot com>
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.