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:
13
mk/target.mk
13
mk/target.mk
@@ -13,6 +13,15 @@
|
|||||||
# this exists can be found on issue #2400
|
# this exists can be found on issue #2400
|
||||||
export CFG_COMPILER_TRIPLE
|
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
|
# TARGET_STAGE_N template: This defines how target artifacts are built
|
||||||
# for all stage/target architecture combinations. The arguments:
|
# for all stage/target architecture combinations. The arguments:
|
||||||
# $(1) is the stage
|
# $(1) is the stage
|
||||||
@@ -39,7 +48,7 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_STDLIB_$(2)): \
|
|||||||
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
|
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
|
||||||
| $$(TLIB$(1)_T_$(2)_H_$(3))/
|
| $$(TLIB$(1)_T_$(2)_H_$(3))/
|
||||||
@$$(call E, compile_and_link: $$@)
|
@$$(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)): \
|
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_EXTRALIB_$(2)): \
|
||||||
$$(EXTRALIB_CRATE) $$(EXTRALIB_INPUTS) \
|
$$(EXTRALIB_CRATE) $$(EXTRALIB_INPUTS) \
|
||||||
@@ -47,7 +56,7 @@ $$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_EXTRALIB_$(2)): \
|
|||||||
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
|
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
|
||||||
| $$(TLIB$(1)_T_$(2)_H_$(3))/
|
| $$(TLIB$(1)_T_$(2)_H_$(3))/
|
||||||
@$$(call E, compile_and_link: $$@)
|
@$$(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)): \
|
$$(TLIB$(1)_T_$(2)_H_$(3))/$(CFG_LIBSYNTAX_$(3)): \
|
||||||
$$(LIBSYNTAX_CRATE) $$(LIBSYNTAX_INPUTS) \
|
$$(LIBSYNTAX_CRATE) $$(LIBSYNTAX_INPUTS) \
|
||||||
|
|||||||
@@ -15,12 +15,12 @@
|
|||||||
use core::prelude::*;
|
use core::prelude::*;
|
||||||
|
|
||||||
use core::io;
|
use core::io;
|
||||||
use core::os;
|
|
||||||
|
|
||||||
use terminfo::*;
|
#[cfg(not(target_os = "win32"))] use core::os;
|
||||||
use terminfo::searcher::open;
|
#[cfg(not(target_os = "win32"))] use terminfo::*;
|
||||||
use terminfo::parser::compiled::parse;
|
#[cfg(not(target_os = "win32"))] use terminfo::searcher::open;
|
||||||
use terminfo::parm::{expand, Number, Variables};
|
#[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.
|
// FIXME (#2807): Windows support.
|
||||||
|
|
||||||
@@ -122,10 +122,10 @@ impl Terminal {
|
|||||||
return Ok(Terminal {out: out, color_supported: false});
|
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) {
|
pub fn reset(&self) {
|
||||||
|
|||||||
@@ -568,7 +568,7 @@ pub mod types {
|
|||||||
pub mod os {
|
pub mod os {
|
||||||
pub mod common {
|
pub mod common {
|
||||||
pub mod posix01 {
|
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::extra::{int64, time64_t};
|
||||||
use libc::types::os::arch::posix88::{dev_t, ino_t};
|
use libc::types::os::arch::posix88::{dev_t, ino_t};
|
||||||
use libc::types::os::arch::posix88::mode_t;
|
use libc::types::os::arch::posix88::mode_t;
|
||||||
|
|||||||
@@ -33,9 +33,8 @@ use io;
|
|||||||
use iterator::IteratorUtil;
|
use iterator::IteratorUtil;
|
||||||
use libc;
|
use libc;
|
||||||
use libc::{c_char, c_void, c_int, size_t};
|
use libc::{c_char, c_void, c_int, size_t};
|
||||||
use libc::{mode_t, FILE};
|
use libc::FILE;
|
||||||
use local_data;
|
use local_data;
|
||||||
use option;
|
|
||||||
use option::{Some, None};
|
use option::{Some, None};
|
||||||
use os;
|
use os;
|
||||||
use prelude::*;
|
use prelude::*;
|
||||||
@@ -181,7 +180,6 @@ pub fn env() -> ~[(~str,~str)] {
|
|||||||
unsafe {
|
unsafe {
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
unsafe fn get_env_pairs() -> ~[~str] {
|
unsafe fn get_env_pairs() -> ~[~str] {
|
||||||
use libc::types::os::arch::extra::LPTCH;
|
|
||||||
use libc::funcs::extra::kernel32::{
|
use libc::funcs::extra::kernel32::{
|
||||||
GetEnvironmentStringsA,
|
GetEnvironmentStringsA,
|
||||||
FreeEnvironmentStringsA
|
FreeEnvironmentStringsA
|
||||||
@@ -248,10 +246,10 @@ pub fn getenv(n: &str) -> Option<~str> {
|
|||||||
do with_env_lock {
|
do with_env_lock {
|
||||||
let s = str::as_c_str(n, |s| libc::getenv(s));
|
let s = str::as_c_str(n, |s| libc::getenv(s));
|
||||||
if ptr::null::<u8>() == cast::transmute(s) {
|
if ptr::null::<u8>() == cast::transmute(s) {
|
||||||
option::None::<~str>
|
None::<~str>
|
||||||
} else {
|
} else {
|
||||||
let s = cast::transmute(s);
|
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)]
|
#[cfg(windows)]
|
||||||
fn secondary() -> Option<Path> {
|
fn secondary() -> Option<Path> {
|
||||||
do getenv(~"USERPROFILE").chain |p| {
|
do getenv("USERPROFILE").chain |p| {
|
||||||
if !p.is_empty() {
|
if !p.is_empty() {
|
||||||
Some(Path(p))
|
Some(Path(p))
|
||||||
} else {
|
} else {
|
||||||
@@ -647,9 +645,7 @@ pub fn make_dir(p: &Path, mode: c_int) -> bool {
|
|||||||
use os::win32::as_utf16_p;
|
use os::win32::as_utf16_p;
|
||||||
// FIXME: turn mode into something useful? #2623
|
// FIXME: turn mode into something useful? #2623
|
||||||
do as_utf16_p(p.to_str()) |buf| {
|
do as_utf16_p(p.to_str()) |buf| {
|
||||||
libc::CreateDirectoryW(buf, unsafe {
|
libc::CreateDirectoryW(buf, cast::transmute(0))
|
||||||
cast::transmute(0)
|
|
||||||
})
|
|
||||||
!= (0 as libc::BOOL)
|
!= (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 {
|
fn mkdir(p: &Path, mode: c_int) -> bool {
|
||||||
unsafe {
|
unsafe {
|
||||||
do as_c_charp(p.to_str()) |c| {
|
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)]
|
#[cfg(windows)]
|
||||||
unsafe fn get_list(p: &Path) -> ~[~str] {
|
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::consts::os::extra::INVALID_HANDLE_VALUE;
|
||||||
use libc::wcslen;
|
use libc::wcslen;
|
||||||
use libc::funcs::extra::kernel32::{
|
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
|
// Give the new file the old file's permissions
|
||||||
if do str::as_c_str(to.to_str()) |to_buf| {
|
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 {
|
} != 0 {
|
||||||
return false; // should be a condition...
|
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
|
/// Returns a vector of Path objects that match the given glob pattern
|
||||||
#[cfg(target_os = "win32")]
|
#[cfg(target_os = "win32")]
|
||||||
pub fn glob(pattern: &str) -> ~[Path] {
|
pub fn glob(_pattern: &str) -> ~[Path] {
|
||||||
fail!("glob() is unimplemented on Windows")
|
fail!("glob() is unimplemented on Windows")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -60,13 +60,13 @@ pub type Key = DWORD;
|
|||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
pub unsafe fn create(key: &mut Key) {
|
pub unsafe fn create(key: &mut Key) {
|
||||||
static TLS_OUT_OF_INDEXES: DWORD = 0xFFFFFFFF;
|
static TLS_OUT_OF_INDEXES: DWORD = 0xFFFFFFFF;
|
||||||
*key = unsafe { TlsAlloc() };
|
*key = TlsAlloc();
|
||||||
assert!(*key != TLS_OUT_OF_INDEXES);
|
assert!(*key != TLS_OUT_OF_INDEXES);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
pub unsafe fn set(key: Key, value: *mut c_void) {
|
pub unsafe fn set(key: Key, value: *mut c_void) {
|
||||||
unsafe { assert!(0 != TlsSetValue(key, value)) }
|
assert!(0 != TlsSetValue(key, value))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
|
|||||||
@@ -12,11 +12,10 @@
|
|||||||
|
|
||||||
#[allow(missing_doc)];
|
#[allow(missing_doc)];
|
||||||
|
|
||||||
use iterator::IteratorUtil;
|
|
||||||
use cast;
|
use cast;
|
||||||
use comm::{stream, SharedChan, GenericChan, GenericPort};
|
use comm::{stream, SharedChan, GenericChan, GenericPort};
|
||||||
use int;
|
|
||||||
use io;
|
use io;
|
||||||
|
use iterator::IteratorUtil;
|
||||||
use libc::{pid_t, c_void, c_int};
|
use libc::{pid_t, c_void, c_int};
|
||||||
use libc;
|
use libc;
|
||||||
use option::{Some, None};
|
use option::{Some, None};
|
||||||
@@ -465,7 +464,6 @@ fn spawn_process_os(prog: &str, args: &[~str],
|
|||||||
use libc::funcs::extra::msvcrt::get_osfhandle;
|
use libc::funcs::extra::msvcrt::get_osfhandle;
|
||||||
|
|
||||||
use sys;
|
use sys;
|
||||||
use uint;
|
|
||||||
|
|
||||||
unsafe {
|
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::posix88::unistd::{fork, dup2, close, chdir, execvp};
|
||||||
use libc::funcs::bsd44::getdtablesize;
|
use libc::funcs::bsd44::getdtablesize;
|
||||||
|
use int;
|
||||||
|
|
||||||
mod rustrt {
|
mod rustrt {
|
||||||
use libc::c_void;
|
use libc::c_void;
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ use uint;
|
|||||||
use util;
|
use util;
|
||||||
use unstable::sync::{Exclusive, exclusive};
|
use unstable::sync::{Exclusive, exclusive};
|
||||||
use rt::local::Local;
|
use rt::local::Local;
|
||||||
use iterator::{IteratorUtil};
|
use iterator::IteratorUtil;
|
||||||
|
|
||||||
#[cfg(test)] use task::default_task_opts;
|
#[cfg(test)] use task::default_task_opts;
|
||||||
#[cfg(test)] use comm;
|
#[cfg(test)] use comm;
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ The `ToStr` trait for converting to strings
|
|||||||
use str::OwnedStr;
|
use str::OwnedStr;
|
||||||
use hashmap::HashMap;
|
use hashmap::HashMap;
|
||||||
use hashmap::HashSet;
|
use hashmap::HashSet;
|
||||||
use iterator::IteratorUtil;
|
|
||||||
use hash::Hash;
|
use hash::Hash;
|
||||||
|
use iterator::IteratorUtil;
|
||||||
use cmp::Eq;
|
use cmp::Eq;
|
||||||
use vec::ImmutableVector;
|
use vec::ImmutableVector;
|
||||||
|
|
||||||
@@ -177,7 +177,7 @@ impl<A:ToStr> ToStr for @[A] {
|
|||||||
mod tests {
|
mod tests {
|
||||||
use hashmap::HashMap;
|
use hashmap::HashMap;
|
||||||
use hashmap::HashSet;
|
use hashmap::HashSet;
|
||||||
use container::{Set,Map};
|
use container::{Set, Map};
|
||||||
#[test]
|
#[test]
|
||||||
fn test_simple_types() {
|
fn test_simple_types() {
|
||||||
assert_eq!(1i.to_str(), ~"1");
|
assert_eq!(1i.to_str(), ~"1");
|
||||||
|
|||||||
@@ -164,7 +164,6 @@ mod dl {
|
|||||||
use libc;
|
use libc;
|
||||||
use path;
|
use path;
|
||||||
use ptr;
|
use ptr;
|
||||||
use str;
|
|
||||||
use task;
|
use task;
|
||||||
use result::*;
|
use result::*;
|
||||||
|
|
||||||
@@ -175,7 +174,7 @@ mod dl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub unsafe fn open_internal() -> *libc::c_void {
|
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);
|
GetModuleHandleExW(0 as libc::DWORD, ptr::null(), &handle as **libc::c_void);
|
||||||
handle
|
handle
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user