[gcc(refs/users/aoliva/heads/testbase)] libstdc++: Use _wstat64 for Windows [PR 95749]

Alexandre Oliva aoliva@gcc.gnu.org
Fri Aug 21 03:54:23 GMT 2020


https://gcc.gnu.org/g:9939be5758b52ed2fe1a7e56b94ce6d0f4d81580

commit 9939be5758b52ed2fe1a7e56b94ce6d0f4d81580
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Mon Aug 10 11:10:26 2020 +0100

    libstdc++: Use _wstat64 for Windows [PR 95749]
    
    In order to handle large files on Windows we need to use stat API with
    64-bit st_sioze member.
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/95749
            * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
            (stat_type): Change to __wstat64.
            (stat): Use _wstat64.

Diff:
---
 libstdc++-v3/src/filesystem/ops-common.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libstdc++-v3/src/filesystem/ops-common.h b/libstdc++-v3/src/filesystem/ops-common.h
index 445d1ad0544..5cf900b045b 100644
--- a/libstdc++-v3/src/filesystem/ops-common.h
+++ b/libstdc++-v3/src/filesystem/ops-common.h
@@ -71,14 +71,14 @@ namespace __gnu_posix
   inline int close(int fd)
   { return ::_close(fd); }
 
-  typedef struct ::_stat stat_type;
+  typedef struct ::__stat64 stat_type;
 
   inline int stat(const wchar_t* path, stat_type* buffer)
-  { return ::_wstat(path, buffer); }
+  { return ::_wstat64(path, buffer); }
 
   inline int lstat(const wchar_t* path, stat_type* buffer)
   {
-    // TODO symlinks not currently supported
+    // FIXME: symlinks not currently supported
     return stat(path, buffer);
   }


More information about the Libstdc++-cvs mailing list