Skip to content

Commit e8a67c0

Browse files
authored
[druntime]: Fix sys.posix.sys.types.nlink_t definition (dlang#21770)
I've taken the definitions from glibc's sysdeps/unix/sysv/linux/**/bits/typesizes.h. For convenience: ``` alpha/bits/typesizes.h #define __NLINK_T_TYPE __U32_TYPE arm/bits/typesizes.h #define __NLINK_T_TYPE __UWORD_TYPE hppa/bits/typesizes.h #define __NLINK_T_TYPE __UWORD_TYPE m68k/bits/typesizes.h #define __NLINK_T_TYPE __UWORD_TYPE microblaze/bits/typesizes.h #define __NLINK_T_TYPE __UWORD_TYPE mips/bits/typesizes.h #define __NLINK_T_TYPE __UWORD_TYPE powerpc/bits/typesizes.h #define __NLINK_T_TYPE __UWORD_TYPE s390/bits/typesizes.h #define __NLINK_T_TYPE __UWORD_TYPE sh/bits/typesizes.h #define __NLINK_T_TYPE __UWORD_TYPE sparc/bits/typesizes.h #define __NLINK_T_TYPE __U32_TYPE bits/typesizes.h #define __NLINK_T_TYPE __U32_TYPE ``` And x86: ``` // sysdeps/unix/sysv/linux/x86/bits/typesizes.h #ifdef __x86_64__ # define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE #else # define __NLINK_T_TYPE __UWORD_TYPE #endif ``` Signed-off-by: Andrei Horodniceanu <[email protected]>
1 parent 867114b commit e8a67c0

File tree

1 file changed

+14
-1
lines changed
  • druntime/src/core/sys/posix/sys

1 file changed

+14
-1
lines changed

druntime/src/core/sys/posix/sys/types.d

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,20 @@ version (linux)
103103
alias ulong dev_t;
104104
alias uint gid_t;
105105
alias uint mode_t;
106-
alias ulong_t nlink_t;
106+
107+
version (X86_64)
108+
alias ulong nlink_t;
109+
else version (S390)
110+
alias size_t nlink_t;
111+
else version (PPC64)
112+
alias size_t nlink_t;
113+
else version (MIPS64)
114+
alias size_t nlink_t;
115+
else version (HPPA64)
116+
alias size_t nlink_t;
117+
else
118+
alias uint nlink_t;
119+
107120
alias int pid_t;
108121
//size_t (defined in core.stdc.stddef)
109122
alias c_long ssize_t;

0 commit comments

Comments
 (0)