about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm
diff options
context:
space:
mode:
authorIrina Popa <irinagpopa@gmail.com>2018-07-13 15:27:55 +0300
committerIrina Popa <irinagpopa@gmail.com>2018-07-30 20:10:36 +0300
commit92af9694b9d70a78d0fbd0d8d7d421265a244a3c (patch)
treec43714f60e7eb234dadc6976113a7aa5d2d403f3 /src/librustc_codegen_llvm
parentc1eeb69ce8f922e91b5471e2e84d9289a0cefef1 (diff)
downloadrust-92af9694b9d70a78d0fbd0d8d7d421265a244a3c.tar.gz
rust-92af9694b9d70a78d0fbd0d8d7d421265a244a3c.zip
rustc_codegen_llvm: use safe mutable references for output parameters.
Diffstat (limited to 'src/librustc_codegen_llvm')
-rw-r--r--src/librustc_codegen_llvm/common.rs4
-rw-r--r--src/librustc_codegen_llvm/llvm/ffi.rs20
2 files changed, 12 insertions, 12 deletions
diff --git a/src/librustc_codegen_llvm/common.rs b/src/librustc_codegen_llvm/common.rs
index 90e42dd803a..fffb3561744 100644
--- a/src/librustc_codegen_llvm/common.rs
+++ b/src/librustc_codegen_llvm/common.rs
@@ -273,7 +273,7 @@ pub fn const_get_real(v: &'ll Value) -> Option<(f64, bool)> {
     unsafe {
         if is_const_real(v) {
             let mut loses_info: llvm::Bool = ::std::mem::uninitialized();
-            let r = llvm::LLVMConstRealGetDouble(v, &mut loses_info as *mut llvm::Bool);
+            let r = llvm::LLVMConstRealGetDouble(v, &mut loses_info);
             let loses_info = if loses_info == 1 { true } else { false };
             Some((r, loses_info))
         } else {
@@ -311,7 +311,7 @@ pub fn const_to_opt_u128(v: &'ll Value, sign_ext: bool) -> Option<u128> {
         if is_const_integral(v) {
             let (mut lo, mut hi) = (0u64, 0u64);
             let success = llvm::LLVMRustConstInt128Get(v, sign_ext,
-                                                       &mut hi as *mut u64, &mut lo as *mut u64);
+                                                       &mut hi, &mut lo);
             if success {
                 Some(hi_lo_to_u128(lo, hi))
             } else {
diff --git a/src/librustc_codegen_llvm/llvm/ffi.rs b/src/librustc_codegen_llvm/llvm/ffi.rs
index c2b23246b93..d55466726c2 100644
--- a/src/librustc_codegen_llvm/llvm/ffi.rs
+++ b/src/librustc_codegen_llvm/llvm/ffi.rs
@@ -559,8 +559,8 @@ extern "C" {
     pub fn LLVMConstIntOfArbitraryPrecision(IntTy: &Type, Wn: c_uint, Ws: *const u64) -> &Value;
     pub fn LLVMConstIntGetZExtValue(ConstantVal: &Value) -> c_ulonglong;
     pub fn LLVMRustConstInt128Get(ConstantVal: &Value, SExt: bool,
-                                  high: *mut u64, low: *mut u64) -> bool;
-    pub fn LLVMConstRealGetDouble (ConstantVal: &Value, losesInfo: *mut Bool) -> f64;
+                                  high: &mut u64, low: &mut u64) -> bool;
+    pub fn LLVMConstRealGetDouble (ConstantVal: &Value, losesInfo: &mut Bool) -> f64;
 
 
     // Operations on composite constants
@@ -1470,13 +1470,13 @@ extern "C" {
     pub fn LLVMRustOpenArchive(path: *const c_char) -> Option<&'static mut Archive>;
     pub fn LLVMRustArchiveIteratorNew(AR: &Archive) -> ArchiveIteratorRef;
     pub fn LLVMRustArchiveIteratorNext(AIR: ArchiveIteratorRef) -> ArchiveChildRef;
-    pub fn LLVMRustArchiveChildName(ACR: ArchiveChildRef, size: *mut size_t) -> *const c_char;
-    pub fn LLVMRustArchiveChildData(ACR: ArchiveChildRef, size: *mut size_t) -> *const c_char;
+    pub fn LLVMRustArchiveChildName(ACR: ArchiveChildRef, size: &mut size_t) -> *const c_char;
+    pub fn LLVMRustArchiveChildData(ACR: ArchiveChildRef, size: &mut size_t) -> *const c_char;
     pub fn LLVMRustArchiveChildFree(ACR: ArchiveChildRef);
     pub fn LLVMRustArchiveIteratorFree(AIR: ArchiveIteratorRef);
     pub fn LLVMRustDestroyArchive(AR: &'static mut Archive);
 
-    pub fn LLVMRustGetSectionName(SI: SectionIteratorRef, data: *mut *const c_char) -> size_t;
+    pub fn LLVMRustGetSectionName(SI: SectionIteratorRef, data: &mut *const c_char) -> size_t;
 
     pub fn LLVMRustWriteTwineToString(T: &Twine, s: &RustString);
 
@@ -1492,9 +1492,9 @@ extern "C" {
                                                 loc_filename_out: &RustString,
                                                 message_out: &RustString);
     pub fn LLVMRustUnpackInlineAsmDiagnostic(DI: &'a DiagnosticInfo,
-                                             cookie_out: *mut c_uint,
-                                             message_out: *mut Option<&'a Twine>,
-                                             instruction_out: *mut Option<&'a Value>);
+                                             cookie_out: &mut c_uint,
+                                             message_out: &mut Option<&'a Twine>,
+                                             instruction_out: &mut Option<&'a Value>);
 
     pub fn LLVMRustWriteDiagnosticInfoToString(DI: &DiagnosticInfo, s: &RustString);
     pub fn LLVMRustGetDiagInfoKind(DI: &DiagnosticInfo) -> DiagnosticKind;
@@ -1572,8 +1572,8 @@ extern "C" {
         Identifier: *const c_char,
     ) -> Option<&Module>;
     pub fn LLVMRustThinLTOGetDICompileUnit(M: &Module,
-                                           CU1: *mut *mut c_void,
-                                           CU2: *mut *mut c_void);
+                                           CU1: &mut *mut c_void,
+                                           CU2: &mut *mut c_void);
     pub fn LLVMRustThinLTOPatchDICompileUnit(M: &Module, CU: *mut c_void);
 
     pub fn LLVMRustLinkerNew(M: &Module) -> LinkerRef;