Enum repc::Target[][src]

#[non_exhaustive]pub enum Target {
    Aarch64AppleMacosx,
    Aarch64Fuchsia,
    Aarch64LinuxAndroid,
    Aarch64PcWindowsMsvc,
    Aarch64UnknownFreebsd,
    Aarch64UnknownHermit,
    Aarch64UnknownLinuxGnu,
    Aarch64UnknownLinuxMusl,
    Aarch64UnknownNetbsd,
    Aarch64UnknownNone,
    Aarch64UnknownOpenbsd,
    Aarch64UnknownRedox,
    Arm64AppleIos,
    Arm64AppleIosMacabi,
    Arm64AppleTvos,
    Armebv7rUnknownNoneEabi,
    Armebv7rUnknownNoneEabihf,
    ArmLinuxAndroideabi,
    ArmUnknownLinuxGnueabi,
    ArmUnknownLinuxGnueabihf,
    Armv4tUnknownLinuxGnueabi,
    Armv5teUnknownLinuxGnueabi,
    Armv5teUnknownLinuxUclibcgnueabi,
    Armv6UnknownFreebsdGnueabihf,
    Armv6UnknownNetbsdelfEabihf,
    Armv7aNoneEabi,
    Armv7aNoneEabihf,
    Armv7AppleIos,
    Armv7NoneLinuxAndroid,
    Armv7rUnknownNoneEabi,
    Armv7rUnknownNoneEabihf,
    Armv7sAppleIos,
    Armv7UnknownFreebsdGnueabihf,
    Armv7UnknownLinuxGnueabi,
    Armv7UnknownLinuxGnueabihf,
    Armv7UnknownNetbsdelfEabihf,
    AvrUnknownUnknown,
    HexagonUnknownLinuxMusl,
    I386AppleIos,
    I586PcWindowsMsvc,
    I586UnknownLinuxGnu,
    I586UnknownLinuxMusl,
    I686AppleMacosx,
    I686LinuxAndroid,
    I686PcWindowsGnu,
    I686PcWindowsMsvc,
    I686UnknownFreebsd,
    I686UnknownHaiku,
    I686UnknownLinuxGnu,
    I686UnknownLinuxMusl,
    I686UnknownNetbsdelf,
    I686UnknownOpenbsd,
    I686UnknownWindows,
    Mips64elUnknownLinuxGnuabi64,
    Mips64elUnknownLinuxMusl,
    Mips64UnknownLinuxGnuabi64,
    Mips64UnknownLinuxMusl,
    MipselSonyPsp,
    MipselUnknownLinuxGnu,
    MipselUnknownLinuxMusl,
    MipselUnknownLinuxUclibc,
    MipselUnknownNone,
    Mipsisa32r6elUnknownLinuxGnu,
    Mipsisa32r6UnknownLinuxGnu,
    Mipsisa64r6elUnknownLinuxGnuabi64,
    Mipsisa64r6UnknownLinuxGnuabi64,
    MipsUnknownLinuxGnu,
    MipsUnknownLinuxMusl,
    MipsUnknownLinuxUclibc,
    Msp430NoneElf,
    Powerpc64leUnknownLinuxGnu,
    Powerpc64leUnknownLinuxMusl,
    Powerpc64UnknownFreebsd,
    Powerpc64UnknownLinuxGnu,
    Powerpc64UnknownLinuxMusl,
    PowerpcUnknownLinuxGnu,
    PowerpcUnknownLinuxGnuspe,
    PowerpcUnknownLinuxMusl,
    PowerpcUnknownNetbsd,
    Riscv32,
    Riscv32UnknownLinuxGnu,
    Riscv64,
    Riscv64UnknownLinuxGnu,
    S390xUnknownLinuxGnu,
    Sparc64UnknownLinuxGnu,
    Sparc64UnknownNetbsd,
    Sparc64UnknownOpenbsd,
    SparcUnknownLinuxGnu,
    Sparcv9SunSolaris,
    Thumbv4tNoneEabi,
    Thumbv6mNoneEabi,
    Thumbv7aPcWindowsMsvc,
    Thumbv7emNoneEabihf,
    Thumbv7emNoneEabi,
    Thumbv7mNoneEabi,
    Thumbv8mBaseNoneEabi,
    Thumbv8mMainNoneEabihf,
    Thumbv8mMainNoneEabi,
    Wasm32UnknownEmscripten,
    Wasm32UnknownUnknown,
    Wasm32Wasi,
    X86_64AppleIosMacabi,
    X86_64AppleIos,
    X86_64AppleMacosx,
    X86_64AppleTvos,
    X86_64Elf,
    X86_64Fuchsia,
    X86_64LinuxAndroid,
    X86_64PcSolaris,
    X86_64PcWindowsGnu,
    X86_64PcWindowsMsvc,
    X86_64RumprunNetbsd,
    X86_64UnknownDragonfly,
    X86_64UnknownFreebsd,
    X86_64UnknownHaiku,
    X86_64UnknownHermit,
    X86_64UnknownL4reUclibc,
    X86_64UnknownLinuxGnux32,
    X86_64UnknownLinuxGnu,
    X86_64UnknownLinuxMusl,
    X86_64UnknownNetbsd,
    X86_64UnknownOpenbsd,
    X86_64UnknownRedox,
    X86_64UnknownWindows,
}

The target of a C compiler.

The names used here are the names used by LLVM and Clang. GCC uses the same target names except that x86_64-pc-windows-gnu is called x86_64-w64-mingw64 and i686-pc-windows-gnu is called i686-w64-mingw32.

Each target documents its system compiler. The system compiler of a target is its native compiler. For the *-windows-gnu targets this is GCC. For all other *-windows* targets it is MSVC. For most *-linux-* targets it is GCC. For most other targets it is Clang.

The notion of a target's system compiler matters because compilers generate slightly different layouts even on the same target.

Variants (Non-exhaustive)

Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Aarch64AppleMacosx

The aarch64-apple-macosx target.

The system compiler of this target is Clang.

Aarch64Fuchsia

The aarch64-fuchsia target.

The system compiler of this target is Clang.

Aarch64LinuxAndroid

The aarch64-linux-android target.

The system compiler of this target is Clang.

Aarch64PcWindowsMsvc

The aarch64-pc-windows-msvc target.

The system compiler of this target is MSVC.

Aarch64UnknownFreebsd

The aarch64-unknown-freebsd target.

The system compiler of this target is Clang.

Aarch64UnknownHermit

The aarch64-unknown-hermit target.

The system compiler of this target is Clang.

Aarch64UnknownLinuxGnu

The aarch64-unknown-linux-gnu target.

The system compiler of this target is GCC.

Aarch64UnknownLinuxMusl

The aarch64-unknown-linux-musl target.

The system compiler of this target is GCC.

Aarch64UnknownNetbsd

The aarch64-unknown-netbsd target.

The system compiler of this target is Clang.

Aarch64UnknownNone

The aarch64-unknown-none target.

The system compiler of this target is Clang.

Aarch64UnknownOpenbsd

The aarch64-unknown-openbsd target.

The system compiler of this target is Clang.

Aarch64UnknownRedox

The aarch64-unknown-redox target.

The system compiler of this target is Clang.

Arm64AppleIos

The arm64-apple-ios target.

The system compiler of this target is Clang.

Arm64AppleIosMacabi

The arm64-apple-ios-macabi target.

The system compiler of this target is Clang.

Arm64AppleTvos

The arm64-apple-tvos target.

The system compiler of this target is Clang.

Armebv7rUnknownNoneEabi

The armebv7r-unknown-none-eabi target.

The system compiler of this target is Clang.

Armebv7rUnknownNoneEabihf

The armebv7r-unknown-none-eabihf target.

The system compiler of this target is Clang.

ArmLinuxAndroideabi

The arm-linux-androideabi target.

The system compiler of this target is Clang.

ArmUnknownLinuxGnueabi

The arm-unknown-linux-gnueabi target.

The system compiler of this target is GCC.

ArmUnknownLinuxGnueabihf

The arm-unknown-linux-gnueabihf target.

The system compiler of this target is GCC.

Armv4tUnknownLinuxGnueabi

The armv4t-unknown-linux-gnueabi target.

The system compiler of this target is GCC.

Armv5teUnknownLinuxGnueabi

The armv5te-unknown-linux-gnueabi target.

The system compiler of this target is GCC.

Armv5teUnknownLinuxUclibcgnueabi

The armv5te-unknown-linux-uclibcgnueabi target.

The system compiler of this target is GCC.

Armv6UnknownFreebsdGnueabihf

The armv6-unknown-freebsd-gnueabihf target.

The system compiler of this target is Clang.

Armv6UnknownNetbsdelfEabihf

The armv6-unknown-netbsdelf-eabihf target.

The system compiler of this target is Clang.

Armv7aNoneEabi

The armv7a-none-eabi target.

The system compiler of this target is Clang.

Armv7aNoneEabihf

The armv7a-none-eabihf target.

The system compiler of this target is Clang.

Armv7AppleIos

The armv7-apple-ios target.

The system compiler of this target is Clang.

Armv7NoneLinuxAndroid

The armv7-none-linux-android target.

The system compiler of this target is Clang.

Armv7rUnknownNoneEabi

The armv7r-unknown-none-eabi target.

The system compiler of this target is Clang.

Armv7rUnknownNoneEabihf

The armv7r-unknown-none-eabihf target.

The system compiler of this target is Clang.

Armv7sAppleIos

The armv7s-apple-ios target.

The system compiler of this target is Clang.

Armv7UnknownFreebsdGnueabihf

The armv7-unknown-freebsd-gnueabihf target.

The system compiler of this target is Clang.

Armv7UnknownLinuxGnueabi

The armv7-unknown-linux-gnueabi target.

The system compiler of this target is GCC.

Armv7UnknownLinuxGnueabihf

The armv7-unknown-linux-gnueabihf target.

The system compiler of this target is GCC.

Armv7UnknownNetbsdelfEabihf

The armv7-unknown-netbsdelf-eabihf target.

The system compiler of this target is Clang.

AvrUnknownUnknown

The avr-unknown-unknown target.

The system compiler of this target is GCC.

HexagonUnknownLinuxMusl

The hexagon-unknown-linux-musl target.

The system compiler of this target is Clang.

I386AppleIos

The i386-apple-ios target.

The system compiler of this target is Clang.

I586PcWindowsMsvc

The i586-pc-windows-msvc target.

The system compiler of this target is MSVC.

I586UnknownLinuxGnu

The i586-unknown-linux-gnu target.

The system compiler of this target is GCC.

I586UnknownLinuxMusl

The i586-unknown-linux-musl target.

The system compiler of this target is GCC.

I686AppleMacosx

The i686-apple-macosx target.

The system compiler of this target is Clang.

I686LinuxAndroid

The i686-linux-android target.

The system compiler of this target is Clang.

I686PcWindowsGnu

The i686-pc-windows-gnu target.

The system compiler of this target is GCC.

I686PcWindowsMsvc

The i686-pc-windows-msvc target.

The system compiler of this target is MSVC.

I686UnknownFreebsd

The i686-unknown-freebsd target.

The system compiler of this target is Clang.

I686UnknownHaiku

The i686-unknown-haiku target.

The system compiler of this target is Clang.

I686UnknownLinuxGnu

The i686-unknown-linux-gnu target.

The system compiler of this target is GCC.

I686UnknownLinuxMusl

The i686-unknown-linux-musl target.

The system compiler of this target is GCC.

I686UnknownNetbsdelf

The i686-unknown-netbsdelf target.

The system compiler of this target is Clang.

I686UnknownOpenbsd

The i686-unknown-openbsd target.

The system compiler of this target is Clang.

I686UnknownWindows

The i686-unknown-windows target.

The system compiler of this target is MSVC.

Mips64elUnknownLinuxGnuabi64

The mips64el-unknown-linux-gnuabi64 target.

The system compiler of this target is GCC.

Mips64elUnknownLinuxMusl

The mips64el-unknown-linux-musl target.

The system compiler of this target is GCC.

Mips64UnknownLinuxGnuabi64

The mips64-unknown-linux-gnuabi64 target.

The system compiler of this target is GCC.

Mips64UnknownLinuxMusl

The mips64-unknown-linux-musl target.

The system compiler of this target is GCC.

MipselSonyPsp

The mipsel-sony-psp target.

The system compiler of this target is Clang.

MipselUnknownLinuxGnu

The mipsel-unknown-linux-gnu target.

The system compiler of this target is GCC.

MipselUnknownLinuxMusl

The mipsel-unknown-linux-musl target.

The system compiler of this target is GCC.

MipselUnknownLinuxUclibc

The mipsel-unknown-linux-uclibc target.

The system compiler of this target is GCC.

MipselUnknownNone

The mipsel-unknown-none target.

The system compiler of this target is Clang.

Mipsisa32r6elUnknownLinuxGnu

The mipsisa32r6el-unknown-linux-gnu target.

The system compiler of this target is GCC.

Mipsisa32r6UnknownLinuxGnu

The mipsisa32r6-unknown-linux-gnu target.

The system compiler of this target is GCC.

Mipsisa64r6elUnknownLinuxGnuabi64

The mipsisa64r6el-unknown-linux-gnuabi64 target.

The system compiler of this target is GCC.

Mipsisa64r6UnknownLinuxGnuabi64

The mipsisa64r6-unknown-linux-gnuabi64 target.

The system compiler of this target is GCC.

MipsUnknownLinuxGnu

The mips-unknown-linux-gnu target.

The system compiler of this target is GCC.

MipsUnknownLinuxMusl

The mips-unknown-linux-musl target.

The system compiler of this target is GCC.

MipsUnknownLinuxUclibc

The mips-unknown-linux-uclibc target.

The system compiler of this target is GCC.

Msp430NoneElf

The msp430-none-elf target.

The system compiler of this target is Clang.

Powerpc64leUnknownLinuxGnu

The powerpc64le-unknown-linux-gnu target.

The system compiler of this target is GCC.

Powerpc64leUnknownLinuxMusl

The powerpc64le-unknown-linux-musl target.

The system compiler of this target is GCC.

Powerpc64UnknownFreebsd

The powerpc64-unknown-freebsd target.

The system compiler of this target is Clang.

Powerpc64UnknownLinuxGnu

The powerpc64-unknown-linux-gnu target.

The system compiler of this target is GCC.

Powerpc64UnknownLinuxMusl

The powerpc64-unknown-linux-musl target.

The system compiler of this target is GCC.

PowerpcUnknownLinuxGnu

The powerpc-unknown-linux-gnu target.

The system compiler of this target is GCC.

PowerpcUnknownLinuxGnuspe

The powerpc-unknown-linux-gnuspe target.

The system compiler of this target is Clang.

PowerpcUnknownLinuxMusl

The powerpc-unknown-linux-musl target.

The system compiler of this target is GCC.

PowerpcUnknownNetbsd

The powerpc-unknown-netbsd target.

The system compiler of this target is Clang.

Riscv32

The riscv32 target.

The system compiler of this target is Clang.

Riscv32UnknownLinuxGnu

The riscv32-unknown-linux-gnu target.

The system compiler of this target is GCC.

Riscv64

The riscv64 target.

The system compiler of this target is Clang.

Riscv64UnknownLinuxGnu

The riscv64-unknown-linux-gnu target.

The system compiler of this target is GCC.

S390xUnknownLinuxGnu

The s390x-unknown-linux-gnu target.

The system compiler of this target is GCC.

Sparc64UnknownLinuxGnu

The sparc64-unknown-linux-gnu target.

The system compiler of this target is GCC.

Sparc64UnknownNetbsd

The sparc64-unknown-netbsd target.

The system compiler of this target is Clang.

Sparc64UnknownOpenbsd

The sparc64-unknown-openbsd target.

The system compiler of this target is Clang.

SparcUnknownLinuxGnu

The sparc-unknown-linux-gnu target.

The system compiler of this target is GCC.

Sparcv9SunSolaris

The sparcv9-sun-solaris target.

The system compiler of this target is Clang.

Thumbv4tNoneEabi

The thumbv4t-none-eabi target.

The system compiler of this target is Clang.

Thumbv6mNoneEabi

The thumbv6m-none-eabi target.

The system compiler of this target is Clang.

Thumbv7aPcWindowsMsvc

The thumbv7a-pc-windows-msvc target.

The system compiler of this target is MSVC.

Thumbv7emNoneEabihf

The thumbv7em-none-eabihf target.

The system compiler of this target is Clang.

Thumbv7emNoneEabi

The thumbv7em-none-eabi target.

The system compiler of this target is Clang.

Thumbv7mNoneEabi

The thumbv7m-none-eabi target.

The system compiler of this target is Clang.

Thumbv8mBaseNoneEabi

The thumbv8m.base-none-eabi target.

The system compiler of this target is Clang.

Thumbv8mMainNoneEabihf

The thumbv8m.main-none-eabihf target.

The system compiler of this target is Clang.

Thumbv8mMainNoneEabi

The thumbv8m.main-none-eabi target.

The system compiler of this target is Clang.

Wasm32UnknownEmscripten

The wasm32-unknown-emscripten target.

The system compiler of this target is Clang.

Wasm32UnknownUnknown

The wasm32-unknown-unknown target.

The system compiler of this target is Clang.

Wasm32Wasi

The wasm32-wasi target.

The system compiler of this target is Clang.

X86_64AppleIosMacabi

The x86_64-apple-ios-macabi target.

The system compiler of this target is Clang.

X86_64AppleIos

The x86_64-apple-ios target.

The system compiler of this target is Clang.

X86_64AppleMacosx

The x86_64-apple-macosx target.

The system compiler of this target is Clang.

X86_64AppleTvos

The x86_64-apple-tvos target.

The system compiler of this target is Clang.

X86_64Elf

The x86_64-elf target.

The system compiler of this target is Clang.

X86_64Fuchsia

The x86_64-fuchsia target.

The system compiler of this target is Clang.

X86_64LinuxAndroid

The x86_64-linux-android target.

The system compiler of this target is Clang.

X86_64PcSolaris

The x86_64-pc-solaris target.

The system compiler of this target is Clang.

X86_64PcWindowsGnu

The x86_64-pc-windows-gnu target.

The system compiler of this target is GCC.

X86_64PcWindowsMsvc

The x86_64-pc-windows-msvc target.

The system compiler of this target is MSVC.

X86_64RumprunNetbsd

The x86_64-rumprun-netbsd target.

The system compiler of this target is Clang.

X86_64UnknownDragonfly

The x86_64-unknown-dragonfly target.

The system compiler of this target is Clang.

X86_64UnknownFreebsd

The x86_64-unknown-freebsd target.

The system compiler of this target is Clang.

X86_64UnknownHaiku

The x86_64-unknown-haiku target.

The system compiler of this target is Clang.

X86_64UnknownHermit

The x86_64-unknown-hermit target.

The system compiler of this target is Clang.

X86_64UnknownL4reUclibc

The x86_64-unknown-l4re-uclibc target.

The system compiler of this target is Clang.

X86_64UnknownLinuxGnux32

The x86_64-unknown-linux-gnux32 target.

The system compiler of this target is GCC.

X86_64UnknownLinuxGnu

The x86_64-unknown-linux-gnu target.

The system compiler of this target is GCC.

X86_64UnknownLinuxMusl

The x86_64-unknown-linux-musl target.

The system compiler of this target is GCC.

X86_64UnknownNetbsd

The x86_64-unknown-netbsd target.

The system compiler of this target is Clang.

X86_64UnknownOpenbsd

The x86_64-unknown-openbsd target.

The system compiler of this target is Clang.

X86_64UnknownRedox

The x86_64-unknown-redox target.

The system compiler of this target is Clang.

X86_64UnknownWindows

The x86_64-unknown-windows target.

The system compiler of this target is MSVC.

Implementations

impl Target[src]

pub fn name(self) -> &'static str[src]

Returns the name of the LLVM target.

Trait Implementations

impl Clone for Target[src]

impl Copy for Target[src]

impl Debug for Target[src]

impl Eq for Target[src]

impl PartialEq<Target> for Target[src]

impl StructuralEq for Target[src]

impl StructuralPartialEq for Target[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.