public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r9-9881] libphobos: Fix definition of stat_t for MIPS64 (PR103604)
@ 2021-12-21 13:17 Iain Buclaw
  0 siblings, 0 replies; only message in thread
From: Iain Buclaw @ 2021-12-21 13:17 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:38d8dec9c9d6a735759ddebe6d90a50719a7f94c

commit r9-9881-g38d8dec9c9d6a735759ddebe6d90a50719a7f94c
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Tue Dec 21 14:07:37 2021 +0100

    libphobos: Fix definition of stat_t for MIPS64 (PR103604)
    
    Backported specific change from commit r12-6003.
    
    libphobos/ChangeLog:
    
            PR d/103604
            * libdruntime/core/sys/posix/sys/stat.d (struct stat_t): Fix
            definition for MIPS64.
    
    (cherry picked from commit 96a09dec2421af3e201f5a54dadb35f00917ea5b)

Diff:
---
 libphobos/libdruntime/core/sys/posix/sys/stat.d | 46 +++++++++++++++----------
 1 file changed, 27 insertions(+), 19 deletions(-)

diff --git a/libphobos/libdruntime/core/sys/posix/sys/stat.d b/libphobos/libdruntime/core/sys/posix/sys/stat.d
index f394823767d..6c25bb45c9b 100644
--- a/libphobos/libdruntime/core/sys/posix/sys/stat.d
+++ b/libphobos/libdruntime/core/sys/posix/sys/stat.d
@@ -337,26 +337,23 @@ version (CRuntime_Glibc)
             }
             c_long[14]  st_pad5;
         }
+        static if (!__USE_FILE_OFFSET64)
+            static assert(stat_t.sizeof == 144);
+        else
+            static assert(stat_t.sizeof == 160);
     }
     else version (MIPS64)
     {
         struct stat_t
         {
-            c_ulong     st_dev;
+            dev_t       st_dev;
             int[3]      st_pad1;
-            static if (!__USE_FILE_OFFSET64)
-            {
-                ino_t       st_ino;
-            }
-            else
-            {
-                c_ulong     st_ino;
-            }
+            ino_t       st_ino;
             mode_t      st_mode;
             nlink_t     st_nlink;
             uid_t       st_uid;
             gid_t       st_gid;
-            c_ulong     st_rdev;
+            dev_t       st_rdev;
             static if (!__USE_FILE_OFFSET64)
             {
                 uint[2]     st_pad2;
@@ -365,8 +362,8 @@ version (CRuntime_Glibc)
             }
             else
             {
-                c_long[3]   st_pad2;
-                c_long      st_size;
+                uint[3]     st_pad2;
+                off_t       st_size;
             }
             static if (__USE_MISC || __USE_XOPEN2K8)
             {
@@ -391,15 +388,26 @@ version (CRuntime_Glibc)
             }
             blksize_t   st_blksize;
             uint        st_pad4;
+            blkcnt_t    st_blocks;
+            int[14]     st_pad5;
+        }
+        version (MIPS_N32)
+        {
             static if (!__USE_FILE_OFFSET64)
-            {
-                blkcnt_t    st_blocks;
-            }
+                static assert(stat_t.sizeof == 160);
             else
-            {
-                c_long  st_blocks;
-            }
-            c_long[14]  st_pad5;
+                static assert(stat_t.sizeof == 176);
+        }
+        else version (MIPS_O64)
+        {
+            static if (!__USE_FILE_OFFSET64)
+                static assert(stat_t.sizeof == 160);
+            else
+                static assert(stat_t.sizeof == 176);
+        }
+        else
+        {
+            static assert(stat_t.sizeof == 216);
         }
     }
     else version (PPC)


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-12-21 13:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-21 13:17 [gcc r9-9881] libphobos: Fix definition of stat_t for MIPS64 (PR103604) Iain Buclaw

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).