Struct rustc_target::spec::Target [−][src]
pub struct Target { pub llvm_target: String, pub target_endian: String, pub target_pointer_width: String, pub target_c_int_width: String, pub target_os: String, pub target_env: String, pub target_vendor: String, pub arch: String, pub data_layout: String, pub linker_flavor: LinkerFlavor, pub options: TargetOptions, }
Everything rustc
knows about how to compile for a specific target.
Every field here must be specified, and has no default value.
Fields
llvm_target: String
Target triple to pass to LLVM.
target_endian: String
String to use as the target_endian
cfg
variable.
target_pointer_width: String
String to use as the target_pointer_width
cfg
variable.
target_c_int_width: String
Width of c_int type
target_os: String
OS name to use for conditional compilation.
target_env: String
Environment name to use for conditional compilation.
target_vendor: String
Vendor name to use for conditional compilation.
arch: String
Architecture to use for ABI considerations. Valid options: "x86", "x86_64", "arm", "aarch64", "mips", "powerpc", and "powerpc64".
data_layout: String
Data layout to pass to LLVM.
linker_flavor: LinkerFlavor
Linker flavor
options: TargetOptions
Optional settings with defaults.
Methods
impl Target
[src]
impl Target
pub fn adjust_abi(&self, abi: Abi) -> Abi
[src]
pub fn adjust_abi(&self, abi: Abi) -> Abi
Given a function ABI, turn "System" into the correct ABI for this target.
pub fn min_atomic_width(&self) -> u64
[src]
pub fn min_atomic_width(&self) -> u64
Minimum integer size in bits that this target can perform atomic operations on.
pub fn max_atomic_width(&self) -> u64
[src]
pub fn max_atomic_width(&self) -> u64
Maximum integer size in bits that this target can perform atomic operations on.
pub fn is_abi_supported(&self, abi: Abi) -> bool
[src]
pub fn is_abi_supported(&self, abi: Abi) -> bool
pub fn from_json(obj: Json) -> TargetResult
[src]
pub fn from_json(obj: Json) -> TargetResult
Load a target descriptor from a JSON object.
pub fn search(target_triple: &TargetTriple) -> Result<Target, String>
[src]
pub fn search(target_triple: &TargetTriple) -> Result<Target, String>
Search RUST_TARGET_PATH for a JSON file specifying the given target triple. Note that it could also just be a bare filename already, so also check for that. If one of the hardcoded targets we know about, just return it directly.
The error string could come from any of the APIs called, including filesystem access and JSON decoding.
Trait Implementations
impl PartialEq for Target
[src]
impl PartialEq for Target
fn eq(&self, other: &Target) -> bool
[src]
fn eq(&self, other: &Target) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Target) -> bool
[src]
fn ne(&self, other: &Target) -> bool
This method tests for !=
.
impl Clone for Target
[src]
impl Clone for Target
fn clone(&self) -> Target
[src]
fn clone(&self) -> Target
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for Target
[src]
impl Debug for Target
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<'a> HasTargetSpec for &'a Target
[src]
impl<'a> HasTargetSpec for &'a Target
fn target_spec(&self) -> &Target
[src]
fn target_spec(&self) -> &Target
impl ToJson for Target
[src]
impl ToJson for Target