diff options
| author | Irina Popa <irinagpopa@gmail.com> | 2018-07-17 14:26:22 +0300 |
|---|---|---|
| committer | Irina Popa <irinagpopa@gmail.com> | 2018-07-30 20:10:41 +0300 |
| commit | 894467e5b4fd7c355f24c680a612ba810d1b4e8d (patch) | |
| tree | 782ed363ba6e07cf68e7f6f2e378a349b937eda6 /src/librustc_codegen_llvm/back | |
| parent | 2c1d7fbb8373321d043f4658f310c0b869124cdc (diff) | |
| download | rust-894467e5b4fd7c355f24c680a612ba810d1b4e8d.tar.gz rust-894467e5b4fd7c355f24c680a612ba810d1b4e8d.zip | |
rustc_codegen_llvm: use safe references for Linker.
Diffstat (limited to 'src/librustc_codegen_llvm/back')
| -rw-r--r-- | src/librustc_codegen_llvm/back/lto.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/librustc_codegen_llvm/back/lto.rs b/src/librustc_codegen_llvm/back/lto.rs index 0a8b143ae92..d5d21eb91ec 100644 --- a/src/librustc_codegen_llvm/back/lto.rs +++ b/src/librustc_codegen_llvm/back/lto.rs @@ -294,10 +294,10 @@ fn fat_lto(cgcx: &CodegenContext, }]) } -struct Linker(llvm::LinkerRef); +struct Linker<'a>(&'a mut llvm::Linker<'a>); -impl Linker { - fn new(llmod: &llvm::Module) -> Linker { +impl Linker<'a> { + fn new(llmod: &'a llvm::Module) -> Self { unsafe { Linker(llvm::LLVMRustLinkerNew(llmod)) } } @@ -314,9 +314,9 @@ impl Linker { } } -impl Drop for Linker { +impl Drop for Linker<'a> { fn drop(&mut self) { - unsafe { llvm::LLVMRustLinkerFree(self.0); } + unsafe { llvm::LLVMRustLinkerFree(&mut *(self.0 as *mut _)); } } } |
