Fix libstdc++ lstat missing return type for Windows target

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Fix libstdc++ lstat missing return type for Windows target

Joseph Myers
Building for i686-mingw32 target (with some local changes) produced an
error

error: ISO C++ forbids declaration of 'lstat' with no type [-fpermissive]

in libstdc++-v3/src/filesystem/ops-common.h.  This patch adds the
missing return type.  OK to commit (trunk and GCC 9 branch)?

Note 1: I haven't run the testsuite with this patch, but it fixes the
build failure I see (in sources with other local changes).

Note 2: I don't know why this hasn't produced build failures for other
people, but the missing return type looks wrong in any case even if
other local changes are for some reason needed for it to produce an
error.

2019-08-23  Joseph Myers  <[hidden email]>

        * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
        (std::filesystem::__gnu_posix::lstat): Add return type.

Index: libstdc++-v3/src/filesystem/ops-common.h
===================================================================
--- libstdc++-v3/src/filesystem/ops-common.h (revision 274854)
+++ libstdc++-v3/src/filesystem/ops-common.h (working copy)
@@ -76,7 +76,7 @@
   inline int stat(const wchar_t* path, stat_type* buffer)
   { return ::_wstat(path, buffer); }
 
-  inline lstat(const wchar_t* path, stat_type* buffer)
+  inline int lstat(const wchar_t* path, stat_type* buffer)
   {
     // TODO symlinks not currently supported
     return stat(path, buffer);

--
Joseph S. Myers
[hidden email]