Crate target_lexicon
source ·Expand description
Target triple support.
Macros
- A convenient syntax for triple literals.
Structs
- A simple wrapper around
Triple
that provides an implementation ofDefault
which defaults toTriple::host()
. - A simple wrapper around
Triple
that provides an implementation ofDefault
which defaults toTriple::unknown()
. - A target “triple”. Historically such things had three fields, though they’ve added additional fields over time.
Enums
- The “architecture” field, which in some cases also specifies a specific subarchitecture.
- The “binary format” field, which is usually omitted, and the binary format is implied by the other fields.
- The C data model used on a target.
- The calling convention, which specifies things like which registers are used for passing arguments, which registers are callee-saved, and so on.
- A string for a
Vendor::Custom
that can either be used inconst
contexts or hold dynamic strings. - The target memory endianness.
- The “environment” field, which specifies an ABI environment on top of the operating system. In many configurations, this field is omitted, and the environment is implied by the operating system.
- An enum for all 32-bit MIPS architectures (not just “MIPS32”).
- An enum for all 64-bit MIPS architectures (not just “MIPS64”).
- The “operating system” field, which sometimes implies an environment, and sometimes isn’t an actual operating system.
- An error returned from parsing a triple.
- The width of a pointer (in the default address space).
- An enum for all 32-bit RISC-V architectures.
- An enum for all 64-bit RISC-V architectures.
- The size of a type.
- The “vendor” field, which in practice is little more than an arbitrary modifier.
- An enum for all 32-bit x86 architectures.
Constants
- The
Triple
of the current host.