auto merge of #7113 : alexcrichton/rust/banned-warnings, r=cmr
Reopening of #7031, Closes #6963 I imagine though that this will bounce in bors once or twice... Because attributes can't be cfg(stage0)'d off, there's temporarily a lot of new stage0/stage1+ code.
This commit is contained in:
commit
09b4525f84
13
mk/target.mk
13
mk/target.mk
@ -13,6 +13,15 @@
|
||||
# this exists can be found on issue #2400
|
||||
export CFG_COMPILER_TRIPLE
|
||||
|
||||
# The standard libraries should be held up to a higher standard than any old
|
||||
# code, make sure that these common warnings are denied by default. These can
|
||||
# be overridden during development temporarily. For stage0, we allow all these
|
||||
# to suppress warnings which may be bugs in stage0 (should be fixed in stage1+)
|
||||
# NOTE: add "-A warnings" after snapshot to WFLAGS_ST0
|
||||
WFLAGS_ST0 = -A unrecognized-lint
|
||||
WFLAGS_ST1 = -D warnings
|
||||
WFLAGS_ST2 = -D warnings
|
||||
|
||||
# TARGET_STAGE_N template: This defines how target artifacts are built
|
||||
# for all stage/target architecture combinations. The arguments:
|
||||
# $(1) is the stage
|
||||
@ -39,7 +48,7 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2)): \
|
||||
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
|
||||
| $$(TLIB$(1)_T_$(2)_H_$(3))/
|
||||
@$$(call E, compile_and_link: $$@)
|
||||
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< && touch $$@
|
||||
$$(STAGE$(1)_T_$(2)_H_$(3)) $$(WFLAGS_ST$(1)) -o $$@ $$< && touch $$@
|
||||
|
||||
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_EXTRALIB_$(2)): \
|
||||
$$(EXTRALIB_CRATE) $$(EXTRALIB_INPUTS) \
|
||||
@ -47,7 +56,7 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_EXTRALIB_$(2)): \
|
||||
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
|
||||
| $$(TLIB$(1)_T_$(2)_H_$(3))/
|
||||
@$$(call E, compile_and_link: $$@)
|
||||
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< && touch $$@
|
||||
$$(STAGE$(1)_T_$(2)_H_$(3)) $$(WFLAGS_ST$(1)) -o $$@ $$< && touch $$@
|
||||
|
||||
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBSYNTAX_$(3)): \
|
||||
$$(LIBSYNTAX_CRATE) $$(LIBSYNTAX_INPUTS) \
|
||||
|
@ -15,12 +15,12 @@
|
||||
use core::prelude::*;
|
||||
|
||||
use core::io;
|
||||
use core::os;
|
||||
|
||||
use terminfo::*;
|
||||
use terminfo::searcher::open;
|
||||
use terminfo::parser::compiled::parse;
|
||||
use terminfo::parm::{expand, Number, Variables};
|
||||
#[cfg(not(target_os = "win32"))] use core::os;
|
||||
#[cfg(not(target_os = "win32"))] use terminfo::*;
|
||||
#[cfg(not(target_os = "win32"))] use terminfo::searcher::open;
|
||||
#[cfg(not(target_os = "win32"))] use terminfo::parser::compiled::parse;
|
||||
#[cfg(not(target_os = "win32"))] use terminfo::parm::{expand, Number, Variables};
|
||||
|
||||
// FIXME (#2807): Windows support.
|
||||
|
||||
@ -122,10 +122,10 @@ impl Terminal {
|
||||
return Ok(Terminal {out: out, color_supported: false});
|
||||
}
|
||||
|
||||
pub fn fg(&self, color: u8) {
|
||||
pub fn fg(&self, _color: u8) {
|
||||
}
|
||||
|
||||
pub fn bg(&self, color: u8) {
|
||||
pub fn bg(&self, _color: u8) {
|
||||
}
|
||||
|
||||
pub fn reset(&self) {
|
||||
|
@ -568,7 +568,7 @@ pub mod types {
|
||||
pub mod os {
|
||||
pub mod common {
|
||||
pub mod posix01 {
|
||||
use libc::types::os::arch::c95::{c_int, c_short};
|
||||
use libc::types::os::arch::c95::c_short;
|
||||
use libc::types::os::arch::extra::{int64, time64_t};
|
||||
use libc::types::os::arch::posix88::{dev_t, ino_t};
|
||||
use libc::types::os::arch::posix88::mode_t;
|
||||
|
@ -33,9 +33,8 @@ use io;
|
||||
use iterator::IteratorUtil;
|
||||
use libc;
|
||||
use libc::{c_char, c_void, c_int, size_t};
|
||||
use libc::{mode_t, FILE};
|
||||
use libc::FILE;
|
||||
use local_data;
|
||||
use option;
|
||||
use option::{Some, None};
|
||||
use os;
|
||||
use prelude::*;
|
||||
@ -181,7 +180,6 @@ pub fn env() -> ~[(~str,~str)] {
|
||||
unsafe {
|
||||
#[cfg(windows)]
|
||||
unsafe fn get_env_pairs() -> ~[~str] {
|
||||
use libc::types::os::arch::extra::LPTCH;
|
||||
use libc::funcs::extra::kernel32::{
|
||||
GetEnvironmentStringsA,
|
||||
FreeEnvironmentStringsA
|
||||
@ -248,10 +246,10 @@ pub fn getenv(n: &str) -> Option<~str> {
|
||||
do with_env_lock {
|
||||
let s = str::as_c_str(n, |s| libc::getenv(s));
|
||||
if ptr::null::<u8>() == cast::transmute(s) {
|
||||
option::None::<~str>
|
||||
None::<~str>
|
||||
} else {
|
||||
let s = cast::transmute(s);
|
||||
option::Some::<~str>(str::raw::from_buf(s))
|
||||
Some::<~str>(str::raw::from_buf(s))
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -540,7 +538,7 @@ pub fn homedir() -> Option<Path> {
|
||||
|
||||
#[cfg(windows)]
|
||||
fn secondary() -> Option<Path> {
|
||||
do getenv(~"USERPROFILE").chain |p| {
|
||||
do getenv("USERPROFILE").chain |p| {
|
||||
if !p.is_empty() {
|
||||
Some(Path(p))
|
||||
} else {
|
||||
@ -647,9 +645,7 @@ pub fn make_dir(p: &Path, mode: c_int) -> bool {
|
||||
use os::win32::as_utf16_p;
|
||||
// FIXME: turn mode into something useful? #2623
|
||||
do as_utf16_p(p.to_str()) |buf| {
|
||||
libc::CreateDirectoryW(buf, unsafe {
|
||||
cast::transmute(0)
|
||||
})
|
||||
libc::CreateDirectoryW(buf, cast::transmute(0))
|
||||
!= (0 as libc::BOOL)
|
||||
}
|
||||
}
|
||||
@ -659,7 +655,7 @@ pub fn make_dir(p: &Path, mode: c_int) -> bool {
|
||||
fn mkdir(p: &Path, mode: c_int) -> bool {
|
||||
unsafe {
|
||||
do as_c_charp(p.to_str()) |c| {
|
||||
libc::mkdir(c, mode as mode_t) == (0 as c_int)
|
||||
libc::mkdir(c, mode as libc::mode_t) == (0 as c_int)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -732,7 +728,6 @@ pub fn list_dir(p: &Path) -> ~[~str] {
|
||||
}
|
||||
#[cfg(windows)]
|
||||
unsafe fn get_list(p: &Path) -> ~[~str] {
|
||||
use libc::types::os::arch::extra::{LPCTSTR, HANDLE, BOOL};
|
||||
use libc::consts::os::extra::INVALID_HANDLE_VALUE;
|
||||
use libc::wcslen;
|
||||
use libc::funcs::extra::kernel32::{
|
||||
@ -961,7 +956,7 @@ pub fn copy_file(from: &Path, to: &Path) -> bool {
|
||||
|
||||
// Give the new file the old file's permissions
|
||||
if do str::as_c_str(to.to_str()) |to_buf| {
|
||||
libc::chmod(to_buf, from_mode as mode_t)
|
||||
libc::chmod(to_buf, from_mode as libc::mode_t)
|
||||
} != 0 {
|
||||
return false; // should be a condition...
|
||||
}
|
||||
@ -1329,7 +1324,7 @@ pub fn glob(pattern: &str) -> ~[Path] {
|
||||
|
||||
/// Returns a vector of Path objects that match the given glob pattern
|
||||
#[cfg(target_os = "win32")]
|
||||
pub fn glob(pattern: &str) -> ~[Path] {
|
||||
pub fn glob(_pattern: &str) -> ~[Path] {
|
||||
fail!("glob() is unimplemented on Windows")
|
||||
}
|
||||
|
||||
|
@ -60,13 +60,13 @@ pub type Key = DWORD;
|
||||
#[cfg(windows)]
|
||||
pub unsafe fn create(key: &mut Key) {
|
||||
static TLS_OUT_OF_INDEXES: DWORD = 0xFFFFFFFF;
|
||||
*key = unsafe { TlsAlloc() };
|
||||
*key = TlsAlloc();
|
||||
assert!(*key != TLS_OUT_OF_INDEXES);
|
||||
}
|
||||
|
||||
#[cfg(windows)]
|
||||
pub unsafe fn set(key: Key, value: *mut c_void) {
|
||||
unsafe { assert!(0 != TlsSetValue(key, value)) }
|
||||
assert!(0 != TlsSetValue(key, value))
|
||||
}
|
||||
|
||||
#[cfg(windows)]
|
||||
|
@ -12,11 +12,10 @@
|
||||
|
||||
#[allow(missing_doc)];
|
||||
|
||||
use iterator::IteratorUtil;
|
||||
use cast;
|
||||
use comm::{stream, SharedChan, GenericChan, GenericPort};
|
||||
use int;
|
||||
use io;
|
||||
use iterator::IteratorUtil;
|
||||
use libc::{pid_t, c_void, c_int};
|
||||
use libc;
|
||||
use option::{Some, None};
|
||||
@ -465,7 +464,6 @@ fn spawn_process_os(prog: &str, args: &[~str],
|
||||
use libc::funcs::extra::msvcrt::get_osfhandle;
|
||||
|
||||
use sys;
|
||||
use uint;
|
||||
|
||||
unsafe {
|
||||
|
||||
@ -638,6 +636,7 @@ fn spawn_process_os(prog: &str, args: &[~str],
|
||||
|
||||
use libc::funcs::posix88::unistd::{fork, dup2, close, chdir, execvp};
|
||||
use libc::funcs::bsd44::getdtablesize;
|
||||
use int;
|
||||
|
||||
mod rustrt {
|
||||
use libc::c_void;
|
||||
|
@ -91,7 +91,7 @@ use uint;
|
||||
use util;
|
||||
use unstable::sync::{Exclusive, exclusive};
|
||||
use rt::local::Local;
|
||||
use iterator::{IteratorUtil};
|
||||
use iterator::IteratorUtil;
|
||||
|
||||
#[cfg(test)] use task::default_task_opts;
|
||||
#[cfg(test)] use comm;
|
||||
|
@ -17,8 +17,8 @@ The `ToStr` trait for converting to strings
|
||||
use str::OwnedStr;
|
||||
use hashmap::HashMap;
|
||||
use hashmap::HashSet;
|
||||
use iterator::IteratorUtil;
|
||||
use hash::Hash;
|
||||
use iterator::IteratorUtil;
|
||||
use cmp::Eq;
|
||||
use vec::ImmutableVector;
|
||||
|
||||
@ -177,7 +177,7 @@ impl<A:ToStr> ToStr for @[A] {
|
||||
mod tests {
|
||||
use hashmap::HashMap;
|
||||
use hashmap::HashSet;
|
||||
use container::{Set,Map};
|
||||
use container::{Set, Map};
|
||||
#[test]
|
||||
fn test_simple_types() {
|
||||
assert_eq!(1i.to_str(), ~"1");
|
||||
|
@ -164,7 +164,6 @@ mod dl {
|
||||
use libc;
|
||||
use path;
|
||||
use ptr;
|
||||
use str;
|
||||
use task;
|
||||
use result::*;
|
||||
|
||||
@ -175,7 +174,7 @@ mod dl {
|
||||
}
|
||||
|
||||
pub unsafe fn open_internal() -> *libc::c_void {
|
||||
let mut handle = ptr::null();
|
||||
let handle = ptr::null();
|
||||
GetModuleHandleExW(0 as libc::DWORD, ptr::null(), &handle as **libc::c_void);
|
||||
handle
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user