[gcc(refs/vendors/ibm/heads/gcc-9-branch)] libstdc++: Use _wstat64 for Windows [PR 95749]

Peter Bergner bergner@gcc.gnu.org
Fri Sep 4 19:28:23 GMT 2020


https://gcc.gnu.org/g:caac3ee7008286404323c4aa93ee0e1c4753c4c2

commit caac3ee7008286404323c4aa93ee0e1c4753c4c2
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_size member.
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/95749
            * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
            (stat_type): Change to __stat64.
            (stat): Use _wstat64.
    
    (cherry picked from commit 9939be5758b52ed2fe1a7e56b94ce6d0f4d81580)

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 21d0bbabb43..5c907fbca1e 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