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 Targetpub fn adjust_abi(&self, abi: Abi) -> Abi[src]
pub fn adjust_abi(&self, abi: Abi) -> AbiGiven 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) -> u64Minimum 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) -> u64Maximum 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) -> boolpub fn from_json(obj: Json) -> TargetResult[src]
pub fn from_json(obj: Json) -> TargetResultLoad 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 Targetfn eq(&self, other: &Target) -> bool[src]
fn eq(&self, other: &Target) -> boolThis 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) -> boolThis method tests for !=.
impl Clone for Target[src]
impl Clone for Targetfn clone(&self) -> Target[src]
fn clone(&self) -> TargetReturns 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 Targetfn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl<'a> HasTargetSpec for &'a Target[src]
impl<'a> HasTargetSpec for &'a Targetfn target_spec(&self) -> &Target[src]
fn target_spec(&self) -> &Targetimpl ToJson for Target[src]
impl ToJson for Target