Skip to content

Commit 23707d2

Browse files
author
blake2-ppc
committed
---
yaml --- r: 67189 b: refs/heads/master c: 6e24b75 h: refs/heads/master i: 67187: 3b0fcdc v: v3
1 parent bc6aaac commit 23707d2

File tree

169 files changed

+8450
-2466
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

169 files changed

+8450
-2466
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 73921f91a326e51118077ff3fd5c5c6196ff7c3a
2+
refs/heads/master: 6e24b750e248078a0b3c86203a2e2a01cbf3cc23
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 18e3db7392d2d0697b7e27d6d986139960144d85
55
refs/heads/try: 7b78b52e602bb3ea8174f9b2006bff3315f03ef9

trunk/mk/target.mk

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ export CFG_COMPILER_TRIPLE
1717
# code, make sure that these common warnings are denied by default. These can
1818
# be overridden during development temporarily. For stage0, we allow all these
1919
# to suppress warnings which may be bugs in stage0 (should be fixed in stage1+)
20-
WFLAGS_ST0 = -A warnings
20+
# NOTE: add "-A warnings" after snapshot to WFLAGS_ST0
21+
WFLAGS_ST0 = -A unrecognized-lint
2122
WFLAGS_ST1 = -D warnings
2223
WFLAGS_ST2 = -D warnings
2324

trunk/src/compiletest/compiletest.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -242,13 +242,13 @@ pub fn make_tests(config: &config) -> ~[test::TestDescAndFn] {
242242
let mut tests = ~[];
243243
let dirs = os::list_dir_path(&config.src_base);
244244
for dirs.iter().advance |file| {
245-
let file = file.clone();
245+
let file = (*file).clone();
246246
debug!("inspecting file %s", file.to_str());
247-
if is_test(config, &file) {
248-
let t = do make_test(config, &file) {
247+
if is_test(config, file) {
248+
let t = do make_test(config, file) {
249249
match config.mode {
250-
mode_codegen => make_metrics_test_closure(config, &file),
251-
_ => make_test_closure(config, &file)
250+
mode_codegen => make_metrics_test_closure(config, file),
251+
_ => make_test_closure(config, file)
252252
}
253253
};
254254
tests.push(t)

trunk/src/etc/extract-tests.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@
6060
if not re.search(r"\bextern mod extra\b", block):
6161
block = "extern mod extra;\n" + block
6262
block = """#[ forbid(ctypes) ];
63+
#[ forbid(deprecated_pattern) ];
64+
#[ forbid(implicit_copies) ];
65+
#[ forbid(non_implicitly_copyable_typarams) ];
6366
#[ forbid(path_statement) ];
6467
#[ forbid(type_limits) ];
6568
#[ forbid(unrecognized_lint) ];

trunk/src/etc/zsh/_rust

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,12 @@ _rustc_opts_switches=(
3333
)
3434
_rustc_opts_lint=(
3535
'path-statement[path statements with no effect]'
36+
'deprecated-pattern[warn about deprecated uses of pattern bindings]'
37+
'non-implicitly-copyable-typarams[passing non implicitly copyable types as copy type params]'
3638
'missing-trait-doc[detects missing documentation for traits]'
3739
'missing-struct-doc[detects missing documentation for structs]'
3840
'ctypes[proper use of core::libc types in foreign modules]'
41+
'implicit-copies[implicit copies of non implicitly copyable data]'
3942
"unused-mut[detect mut variables which don't need to be mutable]"
4043
'unused-imports[imports that are never used]'
4144
'heap-memory[use of any (~ type or @ type) heap memory]'

trunk/src/libextra/arc.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,7 @@ struct RWARCInner<T> { priv lock: RWlock, priv failed: bool, priv data: T }
305305
*
306306
* Unlike mutex_arcs, rw_arcs are safe, because they cannot be nested.
307307
*/
308+
#[mutable] // XXX remove after snap
308309
#[no_freeze]
309310
struct RWARC<T> {
310311
priv x: UnsafeAtomicRcBox<RWARCInner<T>>,

trunk/src/libextra/arena.rs

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,15 @@ use std::sys;
4646
use std::uint;
4747
use std::vec;
4848
use std::unstable::intrinsics;
49-
use std::unstable::intrinsics::{TyDesc, get_tydesc};
49+
use std::unstable::intrinsics::{TyDesc};
50+
51+
#[cfg(not(stage0))]
52+
use std::unstable::intrinsics::{get_tydesc};
53+
54+
#[cfg(stage0)]
55+
unsafe fn get_tydesc<T>() -> *TyDesc {
56+
intrinsics::get_tydesc::<T>() as *TyDesc
57+
}
5058

5159
// The way arena uses arrays is really deeply awful. The arrays are
5260
// allocated, and have capacities reserved, but the fill for the array
@@ -57,6 +65,7 @@ struct Chunk {
5765
is_pod: bool,
5866
}
5967

68+
#[mutable] // XXX remove after snap
6069
#[no_freeze]
6170
pub struct Arena {
6271
// The head is separated out from the list as a unbenchmarked
@@ -108,6 +117,19 @@ fn round_up_to(base: uint, align: uint) -> uint {
108117
(base + (align - 1)) & !(align - 1)
109118
}
110119

120+
#[inline]
121+
#[cfg(not(stage0))]
122+
unsafe fn call_drop_glue(tydesc: *TyDesc, data: *i8) {
123+
// This function should be inlined when stage0 is gone
124+
((*tydesc).drop_glue)(data);
125+
}
126+
127+
#[inline]
128+
#[cfg(stage0)]
129+
unsafe fn call_drop_glue(tydesc: *TyDesc, data: *i8) {
130+
((*tydesc).drop_glue)(0 as **TyDesc, data);
131+
}
132+
111133
// Walk down a chunk, running the destructors for any objects stored
112134
// in it.
113135
unsafe fn destroy_chunk(chunk: &Chunk) {
@@ -127,7 +149,7 @@ unsafe fn destroy_chunk(chunk: &Chunk) {
127149
//debug!("freeing object: idx = %u, size = %u, align = %u, done = %b",
128150
// start, size, align, is_done);
129151
if is_done {
130-
((*tydesc).drop_glue)(ptr::offset(buf, start) as *i8);
152+
call_drop_glue(tydesc, ptr::offset(buf, start) as *i8);
131153
}
132154

133155
// Find where the next tydesc lives

trunk/src/libextra/dbg.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,15 @@
1313
#[allow(missing_doc)];
1414

1515
use std::cast::transmute;
16+
#[cfg(stage0)]
17+
use intrinsic::{get_tydesc};
18+
#[cfg(not(stage0))]
1619
use std::unstable::intrinsics::{get_tydesc};
1720

1821
pub mod rustrt {
22+
#[cfg(stage0)]
23+
use intrinsic::{TyDesc};
24+
#[cfg(not(stage0))]
1925
use std::unstable::intrinsics::{TyDesc};
2026

2127
#[abi = "cdecl"]

0 commit comments

Comments
 (0)