diff options
| author | Denis Merigoux <denis.merigoux@gmail.com> | 2018-08-30 14:24:41 +0200 |
|---|---|---|
| committer | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2018-11-16 14:11:59 +0200 |
| commit | 33eee83737b399ccea5b916fc6249259ca618208 (patch) | |
| tree | 36bc8f81b34af106a96612b26913bb7e63609190 /src/librustc_codegen_llvm/back | |
| parent | 4cc18d3de50b6540e53ddcfefb88dee9ed991264 (diff) | |
| download | rust-33eee83737b399ccea5b916fc6249259ca618208.tar.gz rust-33eee83737b399ccea5b916fc6249259ca618208.zip | |
Removed code duplication for CommonWriteMethods
Diffstat (limited to 'src/librustc_codegen_llvm/back')
| -rw-r--r-- | src/librustc_codegen_llvm/back/write.rs | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/librustc_codegen_llvm/back/write.rs b/src/librustc_codegen_llvm/back/write.rs index 3c32da43031..24f58ac59c1 100644 --- a/src/librustc_codegen_llvm/back/write.rs +++ b/src/librustc_codegen_llvm/back/write.rs @@ -24,7 +24,7 @@ use rustc::session::config::{self, OutputFilenames, OutputType, Passes, Sanitize use rustc::session::Session; use rustc::util::nodemap::FxHashMap; use time_graph::{self, TimeGraph, Timeline}; -use llvm::{self, DiagnosticInfo, PassManager, SMDiagnostic, BasicBlock, True}; +use llvm::{self, DiagnosticInfo, PassManager, SMDiagnostic, BasicBlock}; use llvm_util; use {CodegenResults, ModuleCodegen, CompiledModule, ModuleKind, // ModuleLlvm, CachedModuleCodegen}; @@ -47,6 +47,7 @@ use syntax_pos::symbol::Symbol; use type_::Type; use context::{is_pie_binary, get_reloc_model}; use interfaces::{Backend, CommonWriteMethods}; +use common; use jobserver::{Client, Acquired}; use rustc_demangle; use value::Value; @@ -437,16 +438,11 @@ impl<'ll> Backend for CodegenContext<'ll> { impl CommonWriteMethods for CodegenContext<'ll> { fn val_ty(&self, v: &'ll Value) -> &'ll Type { - unsafe { - llvm::LLVMTypeOf(v) - } + common::val_ty(v) } fn c_bytes_in_context(&self, llcx: &'ll llvm::Context, bytes: &[u8]) -> &'ll Value { - unsafe { - let ptr = bytes.as_ptr() as *const c_char; - return llvm::LLVMConstStringInContext(llcx, ptr, bytes.len() as c_uint, True); - } + common::c_bytes_in_context(llcx, bytes) } fn c_struct_in_context( @@ -455,11 +451,7 @@ impl CommonWriteMethods for CodegenContext<'ll> { elts: &[&'a Value], packed: bool, ) -> &'a Value { - unsafe { - llvm::LLVMConstStructInContext(llcx, - elts.as_ptr(), elts.len() as c_uint, - packed as llvm::Bool) - } + common::c_struct_in_context(llcx, elts, packed) } } |
