llvm_quick 181.0.0-alpha.7

Rust's wrapper for llvm.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use llvm_sys::core::*;
use llvm_sys::LLVMModuleProvider;

use crate::owning::{OpaqueDrop, Owning};
use crate::*;

impl<'c> Module<'c> {
    pub fn create_module_provider_for_existing_module(&self) -> Owning<ModuleProvider> {
        unsafe { Owning::from_raw(LLVMCreateModuleProviderForExistingModule(self.as_raw())) }
    }
}

impl OpaqueDrop for LLVMModuleProvider {
    unsafe fn drop_raw(ptr: *mut Self) {
        unsafe { LLVMDisposeModuleProvider(ptr) }
    }
}