Fix libstdc++ lstat missing return type for Windows target.
authorJoseph Myers <joseph@codesourcery.com>
Fri, 23 Aug 2019 21:04:33 +0000 (22:04 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Fri, 23 Aug 2019 21:04:33 +0000 (22:04 +0100)
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.

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

From-SVN: r274885

libstdc++-v3/ChangeLog
libstdc++-v3/src/filesystem/ops-common.h

index d1c651d46fc7003846ac8a01a51c215f87203a33..e1e109ce723b881d09f047e926e59da496e1aec8 100644 (file)
@@ -1,3 +1,8 @@
+2019-08-23  Joseph Myers  <joseph@codesourcery.com>
+
+       * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
+       (std::filesystem::__gnu_posix::lstat): Add return type.
+
 2019-08-20  Jonathan Wakely  <jwakely@redhat.com>
 
        * doc/doxygen/user.cfg.in (INPUT): Remove profile mode headers.
index 6dc9b137dbff6b414aba2e8cd457e40c8b5c755b..21d0bbabb43bcba7503916c3a85e5288ebeaada5 100644 (file)
@@ -76,7 +76,7 @@ namespace __gnu_posix
   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);