No need for version expression is a lie
Basile B.
b2.temp at gmx.com
Mon Aug 21 15:39:35 UTC 2023
from core.sys.posix.sys.mman:
```d
version (linux)
{
enum MAP_SHARED = 0x01;
enum MAP_PRIVATE = 0x02;
enum MAP_FIXED = 0x10;
enum MAP_FAILED = cast(void*) -1;
version (MICROBLAZE)
private enum DEFAULTS = true;
else version (Alpha)
{
private enum DEFAULTS = false;
enum MAP_ANON = 0x10;
enum MS_ASYNC = 1;
enum MS_SYNC = 2;
enum MS_INVALIDATE = 4;
}
else version (SH)
private enum DEFAULTS = true;
else version (ARM_Any)
private enum DEFAULTS = true;
else version (IBMZ_Any)
private enum DEFAULTS = true;
else version (IA64)
private enum DEFAULTS = true;
else version (HPPA_Any)
{
private enum DEFAULTS = false;
enum MAP_ANON = 0x10;
enum MS_SYNC = 1;
enum MS_ASYNC = 2;
enum MS_INVALIDATE = 4;
}
else version (M68K)
private enum DEFAULTS = true;
else version (TILE)
private enum DEFAULTS = true;
else version (X86_Any)
private enum DEFAULTS = true;
else version (MIPS_Any)
{
private enum DEFAULTS = false;
enum MAP_ANON = 0x0800;
enum MS_ASYNC = 1;
enum MS_INVALIDATE = 2;
enum MS_SYNC = 4;
}
else version (RISCV_Any)
private enum DEFAULTS = true;
else version (SPARC_Any)
private enum DEFAULTS = true;
else version (PPC_Any)
private enum DEFAULTS = true;
else
static assert(0, "unimplemented");
static if (DEFAULTS)
{
enum MAP_ANON = 0x20;
enum MS_ASYNC = 1;
enum MS_INVALIDATE = 2;
enum MS_SYNC = 4;
}
}
```
Like you pretend that `enum DEFAULTS` is not a workaround the
limitations.
More information about the Digitalmars-d
mailing list