Enum repc::Target[][src]

#[non_exhaustive]
pub enum Target {
Show 124 variants 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,
}
Expand description

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)

This enum is marked as 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

Returns the name of the LLVM target.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.