diff options
Diffstat (limited to 'libphobos/libdruntime/core/sys/posix/sys/types.d')
-rw-r--r-- | libphobos/libdruntime/core/sys/posix/sys/types.d | 118 |
1 files changed, 94 insertions, 24 deletions
diff --git a/libphobos/libdruntime/core/sys/posix/sys/types.d b/libphobos/libdruntime/core/sys/posix/sys/types.d index 9270bf53ca9..6188047cf0e 100644 --- a/libphobos/libdruntime/core/sys/posix/sys/types.d +++ b/libphobos/libdruntime/core/sys/posix/sys/types.d @@ -112,20 +112,25 @@ version (CRuntime_Glibc) } else version (CRuntime_Musl) { - alias long blksize_t; - alias ulong nlink_t; - alias long dev_t; - alias long blkcnt_t; - alias ulong ino_t; - alias long off_t; - alias long _Addr; - alias int pid_t; - alias uint uid_t; - alias uint gid_t; - alias long time_t; - alias long clock_t; - alias ulong pthread_t; - alias _Addr ssize_t; + alias c_long blksize_t; + alias c_ulong nlink_t; + alias long dev_t; + alias long blkcnt_t; + alias ulong ino_t; + alias long off_t; + alias int pid_t; + alias uint uid_t; + alias uint gid_t; + version (D_X32) + alias long time_t; + else + alias c_long time_t; + alias c_long clock_t; + alias c_ulong pthread_t; + version (D_LP64) + alias c_long ssize_t; + else + alias int ssize_t; } else version (Darwin) { @@ -447,7 +452,10 @@ else version (CRuntime_Musl) } alias uint mode_t; alias uint id_t; - alias long suseconds_t; + version (D_X32) + alias long susseconds_t; + else + alias c_long suseconds_t; } else version (CRuntime_UClibc) { @@ -750,40 +758,77 @@ version (CRuntime_Glibc) } else version (CRuntime_Musl) { - version (X86_64) { + version (D_LP64) + { union pthread_attr_t { int[14] __i; ulong[7] __s; } + union pthread_cond_t { int[12] __i; void*[6] __p; } + union pthread_mutex_t { int[10] __i; void*[5] __p; } + union pthread_rwlock_t { int[14] __i; void*[7] __p; } - struct pthread_rwlockattr_t + } + else + { + union pthread_attr_t + { + int[9] __i; + uint[9] __s; + } + + union pthread_cond_t + { + int[12] __i; + void*[12] __p; + } + + union pthread_mutex_t + { + int[6] __i; + void*[6] __p; + } + + union pthread_rwlock_t { - uint[2] __attr; + int[8] __i; + void*[8] __p; } - alias uint pthread_key_t; - alias uint pthread_condattr_t; - alias uint pthread_mutexattr_t; - alias int pthread_once_t; } - else + + struct pthread_rwlockattr_t { - static assert (false, "Architecture unsupported"); + uint[2] __attr; + } + + alias uint pthread_key_t; + + struct pthread_condattr_t + { + uint __attr; } + + struct pthread_mutexattr_t + { + uint __attr; + } + + alias int pthread_once_t; } else version (Darwin) { @@ -1352,6 +1397,27 @@ else version (CRuntime_Bionic) } else version (CRuntime_Musl) { + version (D_LP64) + { + union pthread_barrier_t + { + int[8] __i; + void*[4] __p; + } + } + else + { + union pthread_barrier_t + { + int[5] __i; + void*[5] __p; + } + } + + struct pthread_barrierattr_t + { + uint __attr; + } } else version (CRuntime_UClibc) { @@ -1407,6 +1473,10 @@ else version (CRuntime_UClibc) { alias int pthread_spinlock_t; // volatile } +else version (CRuntime_Musl) +{ + alias int pthread_spinlock_t; +} // // Timer (TMR) |