Target Predefined Versions (The GNU D Compiler)

#### 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.