#[repr(transparent)]pub struct OwnedTargetMachine {
tm_unique: NonNull<TargetMachine>,
phantom: PhantomData<TargetMachine>,
}
Expand description
Responsible for safely creating and disposing llvm::TargetMachine via ffi functions. Not cloneable as there is no clone function for llvm::TargetMachine.
Fields§
§tm_unique: NonNull<TargetMachine>
§phantom: PhantomData<TargetMachine>
Implementations§
source§impl OwnedTargetMachine
impl OwnedTargetMachine
pub fn new( triple: &CStr, cpu: &CStr, features: &CStr, abi: &CStr, model: CodeModel, reloc: RelocModel, level: CodeGenOptLevel, use_soft_fp: bool, function_sections: bool, data_sections: bool, unique_section_names: bool, trap_unreachable: bool, singletree: bool, asm_comments: bool, emit_stack_size_section: bool, relax_elf_relocations: bool, use_init_array: bool, split_dwarf_file: &CStr, output_obj_file: &CStr, debug_info_compression: &CStr, use_emulated_tls: bool, args_cstr_buff: &[u8] ) -> Result<Self, LlvmError<'static>>
Trait Implementations§
source§impl Deref for OwnedTargetMachine
impl Deref for OwnedTargetMachine
Auto Trait Implementations§
impl !DynSend for OwnedTargetMachine
impl !DynSync for OwnedTargetMachine
impl Freeze for OwnedTargetMachine
impl !RefUnwindSafe for OwnedTargetMachine
impl !Send for OwnedTargetMachine
impl !Sync for OwnedTargetMachine
impl !Unpin for OwnedTargetMachine
impl !UnwindSafe for OwnedTargetMachine
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 8 bytes