2.7.3 Target-specific Predefined Versions

The D compiler normally predefines several versions that indicate what type of system and machine is in use. They are obviously different on each target supported by GCC.

AArch64

Version relating to the AArch64 family of processors.

Android

Version relating to the Android platform.

ARM
ARM_HardFloat
ARM_SoftFloat
ARM_SoftFP
ARM_Thumb

Versions relating to the ARM family of processors.

Cygwin

Version relating to the Cygwin environment.

darwin

Deprecated; use OSX instead.

DragonFlyBSD

Versions relating to DragonFlyBSD systems.

FreeBSD
FreeBSD_9
FreeBSD_10
FreeBSD_11
FreeBSD_...

Versions relating to FreeBSD systems. The FreeBSD major version number is inferred from the target triplet.

HPPA
HPPA64

Versions relating to the HPPA family of processors.

Hurd

Version relating to GNU Hurd systems.

linux

Version relating to Linux systems.

MinGW

Version relating to the MinGW environment.

MIPS32
MIPS64
MIPS_EABI
MIPS_HardFloat
MIPS_N32
MIPS_N64
MIPS_O32
MIPS_O64
MIPS_SoftFloat

Versions relating to the MIPS family of processors.

NetBSD

Version relating to NetBSD systems.

OpenBSD

Version relating to OpenBSD systems.

OSX

Version relating to OSX systems.

Posix

Version relating to POSIX systems (includes Linux, FreeBSD, OSX, Solaris, etc).

PPC
PPC64
PPC_HardFloat
PPC_SoftFloat

Versions relating to the PowerPC family of processors.

RISCV32
RISCV64

Versions relating to the RISC-V family of processors.

S390
SystemZ

Versions relating to the S/390 and System Z family of processors.

S390X

Deprecated; use SystemZ instead.

Solaris

Versions relating to Solaris systems.

SPARC
SPARC64
SPARC_HardFloat
SPARC_SoftFloat
SPARC_V8Plus

Versions relating to the SPARC family of processors.

Thumb

Deprecated; use ARM_Thumb instead.

D_X32
X86
X86_64

Versions relating to the x86-32 and x86-64 family of processors.

Windows
Win32
Win64

Versions relating to Microsoft Windows systems.