diff --git a/src/libpanic_unwind/gcc.rs b/src/libpanic_unwind/gcc.rs index 8df68da3786..3c46072e17e 100644 --- a/src/libpanic_unwind/gcc.rs +++ b/src/libpanic_unwind/gcc.rs @@ -57,6 +57,7 @@ #![allow(private_no_mangle_fns)] use core::any::Any; +use core::ptr; use alloc::boxed::Box; use unwind as uw; @@ -88,7 +89,7 @@ pub unsafe fn panic(data: Box) -> u32 { } pub fn payload() -> *mut u8 { - 0 as *mut u8 + ptr::null_mut() } pub unsafe fn cleanup(ptr: *mut u8) -> Box { diff --git a/src/libpanic_unwind/seh64_gnu.rs b/src/libpanic_unwind/seh64_gnu.rs index 12e1a764c5f..56801e8cb6b 100644 --- a/src/libpanic_unwind/seh64_gnu.rs +++ b/src/libpanic_unwind/seh64_gnu.rs @@ -18,6 +18,7 @@ use alloc::boxed::Box; use core::any::Any; use core::intrinsics; +use core::ptr; use dwarf::eh; use windows as c; @@ -50,7 +51,7 @@ pub unsafe fn panic(data: Box) -> u32 { } pub fn payload() -> *mut u8 { - 0 as *mut u8 + ptr::null_mut() } pub unsafe fn cleanup(ptr: *mut u8) -> Box { diff --git a/src/librustc_trans/base.rs b/src/librustc_trans/base.rs index c080d1f06d0..8fadb191e25 100644 --- a/src/librustc_trans/base.rs +++ b/src/librustc_trans/base.rs @@ -98,6 +98,7 @@ use libc::c_uint; use std::ffi::{CStr, CString}; use std::cell::{Cell, RefCell}; use std::collections::{HashMap, HashSet}; +use std::ptr; use std::rc::Rc; use std::str; use std::{i8, i16, i32, i64}; @@ -2304,7 +2305,7 @@ pub fn maybe_create_entry_wrapper(ccx: &CrateContext) { start_fn, args.as_ptr(), args.len() as c_uint, - 0 as *mut _, + ptr::null_mut(), noname()); llvm::LLVMBuildRet(bld, result); diff --git a/src/librustc_trans/builder.rs b/src/librustc_trans/builder.rs index d4156986600..e88257dcd4c 100644 --- a/src/librustc_trans/builder.rs +++ b/src/librustc_trans/builder.rs @@ -177,7 +177,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { check_call("invoke", llfn, args); - let bundle = bundle.as_ref().map(|b| b.raw()).unwrap_or(0 as *mut _); + let bundle = bundle.as_ref().map(|b| b.raw()).unwrap_or(ptr::null_mut()); unsafe { llvm::LLVMRustBuildInvoke(self.llbuilder, @@ -859,7 +859,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { check_call("call", llfn, args); - let bundle = bundle.as_ref().map(|b| b.raw()).unwrap_or(0 as *mut _); + let bundle = bundle.as_ref().map(|b| b.raw()).unwrap_or(ptr::null_mut()); unsafe { llvm::LLVMRustBuildCall(self.llbuilder, llfn, args.as_ptr(), @@ -961,7 +961,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { self.count_insn("trap"); llvm::LLVMRustBuildCall(self.llbuilder, t, args.as_ptr(), args.len() as c_uint, - 0 as *mut _, + ptr::null_mut(), noname()); } } @@ -1000,7 +1000,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { parent: Option, args: &[ValueRef]) -> ValueRef { self.count_insn("cleanuppad"); - let parent = parent.unwrap_or(0 as *mut _); + let parent = parent.unwrap_or(ptr::null_mut()); let name = CString::new("cleanuppad").unwrap(); let ret = unsafe { llvm::LLVMRustBuildCleanupPad(self.llbuilder, @@ -1016,7 +1016,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { pub fn cleanup_ret(&self, cleanup: ValueRef, unwind: Option) -> ValueRef { self.count_insn("cleanupret"); - let unwind = unwind.unwrap_or(0 as *mut _); + let unwind = unwind.unwrap_or(ptr::null_mut()); let ret = unsafe { llvm::LLVMRustBuildCleanupRet(self.llbuilder, cleanup, unwind) }; @@ -1052,8 +1052,8 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { unwind: Option, num_handlers: usize) -> ValueRef { self.count_insn("catchswitch"); - let parent = parent.unwrap_or(0 as *mut _); - let unwind = unwind.unwrap_or(0 as *mut _); + let parent = parent.unwrap_or(ptr::null_mut()); + let unwind = unwind.unwrap_or(ptr::null_mut()); let name = CString::new("catchswitch").unwrap(); let ret = unsafe { llvm::LLVMRustBuildCatchSwitch(self.llbuilder, parent, unwind, diff --git a/src/libstd/sync/once.rs b/src/libstd/sync/once.rs index e9ea465cc99..54c1fe6c564 100644 --- a/src/libstd/sync/once.rs +++ b/src/libstd/sync/once.rs @@ -65,6 +65,7 @@ // it! use marker; +use ptr; use sync::atomic::{AtomicUsize, AtomicBool, Ordering}; use thread::{self, Thread}; @@ -297,7 +298,7 @@ impl Once { let mut node = Waiter { thread: Some(thread::current()), signaled: AtomicBool::new(false), - next: 0 as *mut Waiter, + next: ptr::null_mut(), }; let me = &mut node as *mut Waiter as usize; assert!(me & STATE_MASK == 0); diff --git a/src/libstd/sys/unix/os.rs b/src/libstd/sys/unix/os.rs index 21ce6b19ceb..5f7588de776 100644 --- a/src/libstd/sys/unix/os.rs +++ b/src/libstd/sys/unix/os.rs @@ -227,11 +227,11 @@ pub fn current_exe() -> io::Result { libc::KERN_PROC_ARGV]; let mib = mib.as_mut_ptr(); let mut argv_len = 0; - cvt(libc::sysctl(mib, 4, 0 as *mut _, &mut argv_len, - 0 as *mut _, 0))?; + cvt(libc::sysctl(mib, 4, ptr::null_mut(), &mut argv_len, + ptr::null_mut(), 0))?; let mut argv = Vec::<*const libc::c_char>::with_capacity(argv_len as usize); cvt(libc::sysctl(mib, 4, argv.as_mut_ptr() as *mut _, - &mut argv_len, 0 as *mut _, 0))?; + &mut argv_len, ptr::null_mut(), 0))?; argv.set_len(argv_len as usize); if argv[0].is_null() { return Err(io::Error::new(io::ErrorKind::Other, diff --git a/src/libstd/sys/unix/pipe.rs b/src/libstd/sys/unix/pipe.rs index 2dde9c0e615..01059413338 100644 --- a/src/libstd/sys/unix/pipe.rs +++ b/src/libstd/sys/unix/pipe.rs @@ -14,6 +14,7 @@ use cmp; use io; use libc::{self, c_int}; use mem; +use ptr; use sys::cvt_r; use sys::fd::FileDesc; @@ -92,8 +93,8 @@ pub fn read2(p1: AnonPipe, let mut read: libc::fd_set = mem::zeroed(); libc::FD_SET(p1.raw(), &mut read); libc::FD_SET(p2.raw(), &mut read); - libc::select(max + 1, &mut read, 0 as *mut _, 0 as *mut _, - 0 as *mut _) + libc::select(max + 1, &mut read, ptr::null_mut(), ptr::null_mut(), + ptr::null_mut()) })?; // Read as much as we can from each pipe, ignoring EWOULDBLOCK or diff --git a/src/libstd/sys/unix/process.rs b/src/libstd/sys/unix/process.rs index 98cfdcdf110..d68867fb3d2 100644 --- a/src/libstd/sys/unix/process.rs +++ b/src/libstd/sys/unix/process.rs @@ -96,7 +96,7 @@ impl Command { let mut saw_nul = false; let program = os2c(program, &mut saw_nul); Command { - argv: vec![program.as_ptr(), 0 as *const _], + argv: vec![program.as_ptr(), ptr::null()], program: program, args: Vec::new(), env: None, @@ -117,7 +117,7 @@ impl Command { // pointer. let arg = os2c(arg, &mut self.saw_nul); self.argv[self.args.len() + 1] = arg.as_ptr(); - self.argv.push(0 as *const _); + self.argv.push(ptr::null()); // Also make sure we keep track of the owned value to schedule a // destructor for this memory. @@ -134,7 +134,7 @@ impl Command { envp.push(s.as_ptr()); map.insert(k, (envp.len() - 1, s)); } - envp.push(0 as *const _); + envp.push(ptr::null()); self.env = Some(map); self.envp = Some(envp); } @@ -158,7 +158,7 @@ impl Command { Entry::Vacant(e) => { let len = envp.len(); envp[len - 1] = new_key.as_ptr(); - envp.push(0 as *const _); + envp.push(ptr::null()); e.insert((len - 1, new_key)); } } @@ -183,7 +183,7 @@ impl Command { pub fn env_clear(&mut self) { self.env = Some(HashMap::new()); - self.envp = Some(vec![0 as *const _]); + self.envp = Some(vec![ptr::null()]); } pub fn cwd(&mut self, dir: &OsStr) { diff --git a/src/libstd/sys/unix/time.rs b/src/libstd/sys/unix/time.rs index 68eebba9e7b..a08cec38f73 100644 --- a/src/libstd/sys/unix/time.rs +++ b/src/libstd/sys/unix/time.rs @@ -9,8 +9,8 @@ // except according to those terms. use cmp::Ordering; -use time::Duration; use libc; +use time::Duration; pub use self::inner::{Instant, SystemTime, UNIX_EPOCH}; @@ -164,12 +164,14 @@ mod inner { impl SystemTime { pub fn now() -> SystemTime { + use ptr; + let mut s = libc::timeval { tv_sec: 0, tv_usec: 0, }; cvt(unsafe { - libc::gettimeofday(&mut s, 0 as *mut _) + libc::gettimeofday(&mut s, ptr::null_mut()) }).unwrap(); return SystemTime::from(s) } diff --git a/src/libstd/sys/windows/handle.rs b/src/libstd/sys/windows/handle.rs index 74546bb893b..d10abae2865 100644 --- a/src/libstd/sys/windows/handle.rs +++ b/src/libstd/sys/windows/handle.rs @@ -46,10 +46,10 @@ impl Handle { pub fn new_event(manual: bool, init: bool) -> io::Result { unsafe { - let event = c::CreateEventW(0 as *mut _, + let event = c::CreateEventW(ptr::null_mut(), manual as c::BOOL, init as c::BOOL, - 0 as *const _); + ptr::null()); if event.is_null() { Err(io::Error::last_os_error()) } else { diff --git a/src/libstd/sys/windows/pipe.rs b/src/libstd/sys/windows/pipe.rs index 8631a63d653..6e9c67051a6 100644 --- a/src/libstd/sys/windows/pipe.rs +++ b/src/libstd/sys/windows/pipe.rs @@ -12,9 +12,10 @@ use prelude::v1::*; use os::windows::prelude::*; use ffi::OsStr; -use path::Path; use io; use mem; +use path::Path; +use ptr; use rand::{self, Rng}; use slice; use sys::c; @@ -66,7 +67,7 @@ pub fn anon_pipe() -> io::Result<(AnonPipe, AnonPipe)> { 4096, 4096, 0, - 0 as *mut _); + ptr::null_mut()); // We pass the FILE_FLAG_FIRST_PIPE_INSTANCE flag above, and we're // also just doing a best effort at selecting a unique name. If diff --git a/src/libtest/lib.rs b/src/libtest/lib.rs index c90c93e75ac..248f6f98650 100644 --- a/src/libtest/lib.rs +++ b/src/libtest/lib.rs @@ -959,6 +959,8 @@ fn get_concurrency() -> usize { target_os = "bitrig", target_os = "netbsd"))] fn num_cpus() -> usize { + use std::ptr; + let mut cpus: libc::c_uint = 0; let mut cpus_size = std::mem::size_of_val(&cpus); @@ -972,7 +974,7 @@ fn get_concurrency() -> usize { 2, &mut cpus as *mut _ as *mut _, &mut cpus_size as *mut _ as *mut _, - 0 as *mut _, + ptr::null_mut(), 0); } if cpus < 1 { @@ -984,6 +986,8 @@ fn get_concurrency() -> usize { #[cfg(target_os = "openbsd")] fn num_cpus() -> usize { + use std::ptr; + let mut cpus: libc::c_uint = 0; let mut cpus_size = std::mem::size_of_val(&cpus); let mut mib = [libc::CTL_HW, libc::HW_NCPU, 0, 0]; @@ -993,7 +997,7 @@ fn get_concurrency() -> usize { 2, &mut cpus as *mut _ as *mut _, &mut cpus_size as *mut _ as *mut _, - 0 as *mut _, + ptr::null_mut(), 0); } if cpus < 1 {