[gcc/devel/omp/gcc-9] Fix libstdc++ lstat missing return type for Windows target.

Tobias Burnus burnus@gcc.gnu.org
Thu Mar 5 13:56:00 GMT 2020


commit ce42d48212674d274b56846c257af58f9f838c33
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Aug 23 22:05:50 2019 +0100

    Fix libstdc++ lstat missing return type for Windows target.
    Building for i686-mingw32 target (with some local changes) produced an
    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
    	* src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
    	(std::filesystem::__gnu_posix::lstat): Add return type.
    From-SVN: r274886

 libstdc++-v3/ChangeLog                   | 5 +++++
 libstdc++-v3/src/filesystem/ops-common.h | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 3c6c145..b8f2f3b 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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>
 	* include/std/numeric (reduce): Fix Doxygen markup.
diff --git a/libstdc++-v3/src/filesystem/ops-common.h b/libstdc++-v3/src/filesystem/ops-common.h
index 6dc9b13..21d0bba 100644
--- a/libstdc++-v3/src/filesystem/ops-common.h
+++ b/libstdc++-v3/src/filesystem/ops-common.h
@@ -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);

More information about the Libstdc++-cvs mailing list