Hi Iain, > This patch merges the D front-end implementation with upstream dmd > 52844d4b1, as well as the D runtime libraries with druntime dbd0c874, > and phobos 896b1d0e1, including the latest features and bug-fixes ahead of > the 2.099.0-beta1 release.
this patch broke Solaris bootstrap: /vol/gcc/src/hg/master/local/libphobos/libdruntime/core/sys/posix/sys/ipc.d:193:5: error: static assert: "Unsupported platform" 193 | static assert(false, "Unsupported platform"); | ^ The attached patch fixes this. Tested on i386-pc-solaris2.11 and sparc-sun-solaris2.11. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University
diff --git a/libphobos/libdruntime/core/sys/posix/sys/ipc.d b/libphobos/libdruntime/core/sys/posix/sys/ipc.d --- a/libphobos/libdruntime/core/sys/posix/sys/ipc.d +++ b/libphobos/libdruntime/core/sys/posix/sys/ipc.d @@ -188,6 +188,31 @@ else version (DragonFlyBSD) enum IPC_SET = 1; enum IPC_STAT = 2; } +else version (Solaris) +{ + struct ipc_perm + { + uid_t uid; + gid_t gid; + uid_t cuid; + gid_t cgid; + mode_t mode; + uint seq; + key_t key; + version (D_LP64) {} else + int[4] pad; + } + + enum IPC_CREAT = 0x0200; + enum IPC_EXCL = 0x0400; + enum IPC_NOWAIT = 0x0800; + + enum key_t IPC_PRIVATE = 0; + + enum IPC_RMID = 10; + enum IPC_SET = 11; + enum IPC_STAT = 12; +} else { static assert(false, "Unsupported platform"); @@ -233,6 +258,10 @@ else version (CRuntime_UClibc) { key_t ftok(const scope char*, int); } +else version (Solaris) +{ + key_t ftok(const scope char*, int); +} else { static assert(false, "Unsupported platform");