Skip to content

Commit 9656c84

Browse files
committed
---
yaml --- r: 68567 b: refs/heads/auto c: 8aa26ad h: refs/heads/master i: 68565: a9a72b7 68563: c27fbc1 68559: ee4c5ff v: v3
1 parent 0b33b7b commit 9656c84

File tree

29 files changed

+177
-168
lines changed

29 files changed

+177
-168
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
1414
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1515
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1616
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
17-
refs/heads/auto: 5183a6cc6c5bcd263ed7a31650351fc64b4412f4
17+
refs/heads/auto: 8aa26ad4547007996e1c3c0f1aa941ea8689b5a6
1818
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1919
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c

branches/auto/Makefile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ endif
139139

140140
# version-string calculation
141141
CFG_GIT_DIR := $(CFG_SRC_DIR).git
142-
CFG_RELEASE = 0.7
142+
CFG_RELEASE = 0.7-pre
143143
CFG_VERSION = $(CFG_RELEASE)
144144
# windows exe's need numeric versions - don't use anything but
145145
# numbers and dots here

branches/auto/RELEASES.txt

Lines changed: 30 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,54 @@
11
Version 0.7 (July 2013)
22
-----------------------
33

4-
* ~2000 changes, numerous bugfixes
4+
* ??? changes, numerous bugfixes
55

6-
* Language
6+
* Syntax changes
77
* `impl`s no longer accept a visibility qualifier. Put them on methods
88
instead.
9+
* `use mod` is no longer valid.
10+
* `fail!` and `assert!` accept `~str`, `&'static str` or `fmt!`-style
11+
argument list.
12+
* `Encodable`, `Decodable`, `Ord`, `TotalOrd`, `TotalEq`, `DeepClone`,
13+
`Rand`, `Zero` and `ToStr` can all be automatically derived with
14+
`#[deriving(...)]`.
15+
* The `Durable` trait is replaced with the `'static` bounds.
16+
* At long last, 'argument modes' no longer exist.
17+
* The `bytes!` macro returns a vector of bytes for string, u8, char,
18+
and unsuffixed integer literals.
19+
* `#[static_assert]` makes compile-time assertions about static bools.
20+
21+
* Semantic changes
922
* The borrow checker has been rewritten with flow-sensitivity, fixing
1023
many bugs and inconveniences.
1124
* The `self` parameter no longer implicitly means `&'self self`,
1225
and can be explicitly marked with a lifetime.
13-
* Overloadable compound operators (`+=`, etc.) have been temporarily
14-
removed due to bugs.
26+
* Structs with the `#[packed]` attribute have byte alignment and
27+
no padding between fields.
1528
* The `for` loop protocol now requires `for`-iterators to return `bool`
1629
so they compose better.
17-
* The `Durable` trait is replaced with the `'static` bounds.
1830
* Trait default methods work more often.
19-
* Structs with the `#[packed]` attribute have byte alignment and
20-
no padding between fields.
2131
* Type parameters bound by `Copy` must now be copied explicitly with
2232
the `copy` keyword.
2333
* It is now illegal to move out of a dereferenced unsafe pointer.
2434
* `Option<~T>` is now represented as a nullable pointer.
2535
* `@mut` does dynamic borrow checks correctly.
36+
* Macros TODO
2637
* The `main` function is only detected at the topmost level of the crate.
2738
The `#[main]` attribute is still valid anywhere.
2839
* Struct fields may no longer be mutable. Use inherited mutability.
29-
* The `#[no_send]` attribute makes a type that would otherwise be
30-
`Send`, not.
31-
* The `#[no_freeze]` attribute makes a type that would otherwise be
32-
`Freeze`, not.
40+
* The `#[non_owned]` attribute makes a type that would otherwise be
41+
`Owned`, not. TODO this may change to non_send before 0.7
42+
* The `#[mutable]` attribute makes a type that would otherwise be
43+
`Const`, note. TODO this may change to non_freeze before 0.7
3344
* Unbounded recursion will abort the process after reaching the limit
3445
specified by the `RUST_MAX_STACK` environment variable (default: 1GB).
3546
* The `vecs_implicitly_copyable` lint mode has been removed. Vectors
3647
are never implicitly copyable.
37-
* `#[static_assert]` makes compile-time assertions about static bools.
38-
* At long last, 'argument modes' no longer exist.
39-
* The rarely used `use mod` statement no longer exists.
40-
41-
* Syntax extensions
42-
* `fail!` and `assert!` accept `~str`, `&'static str` or `fmt!`-style
43-
argument list.
44-
* `Encodable`, `Decodable`, `Ord`, `TotalOrd`, `TotalEq`, `DeepClone`,
45-
`Rand`, `Zero` and `ToStr` can all be automatically derived with
46-
`#[deriving(...)]`.
47-
* The `bytes!` macro returns a vector of bytes for string, u8, char,
48-
and unsuffixed integer literals.
4948

5049
* Libraries
5150
* The `core` crate was renamed to `std`.
5251
* The `std` crate was renamed to `extra`.
53-
* More and improved documentation.
5452
* std: `iterator` module for external iterator objects.
5553
* Many old-style (internal, higher-order function) iterators replaced by
5654
implementations of `Iterator`.
@@ -93,16 +91,8 @@ Version 0.7 (July 2013)
9391
* extra: Implementation of fixed output size variations of SHA-2.
9492

9593
* Tooling
96-
* `unused_variable` lint mode for unused variables (default: warn).
97-
* `unused_unsafe` lint mode for detecting unnecessary `unsafe` blocks
98-
(default: warn).
99-
* `unused_mut` lint mode for identifying unused `mut` qualifiers
100-
(default: warn).
101-
* `dead_assignment` lint mode for unread variables (default: warn).
102-
* `unnecessary_allocation` lint mode detects some heap allocations that are
103-
immediately borrowed so could be written without allocating (default: warn).
104-
* `missing_doc` lint mode (default: allow).
105-
* `unreachable_code` lint mode (default: warn).
94+
* `unused_unsafe` lint mode for detecting unnecessary `unsafe` blocks.
95+
* `unused_mut` lint mode for identifying unused `mut` qualifiers.
10696
* The `rusti` command has been rewritten and a number of bugs addressed.
10797
* rustc outputs in color on more terminals.
10898
* rustc accepts a `--link-args` flag to pass arguments to the linker.
@@ -111,7 +101,12 @@ Version 0.7 (July 2013)
111101
dynamic borrowcheck failures for debugging.
112102
* rustdoc has a nicer stylesheet.
113103
* Various improvements to rustdoc.
114-
* Improvements to rustpkg (see the detailed release notes).
104+
* Improvements to rustpkg (see the detailed release notes)
105+
106+
* Other
107+
* More and improved library documentation.
108+
* Various improvements on ARM and Android.
109+
* Various improvements to MIPS backend.
115110

116111
Version 0.6 (April 2013)
117112
------------------------

branches/auto/src/compiletest/compiletest.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
#[no_core]; // XXX: Remove after snapshot
1616
#[no_std];
1717

18-
extern mod core(name = "std", vers = "0.7");
19-
extern mod extra(name = "extra", vers = "0.7");
18+
extern mod core(name = "std", vers = "0.7-pre");
19+
extern mod extra(name = "extra", vers = "0.7-pre");
2020

2121
use core::prelude::*;
2222
use core::*;

branches/auto/src/driver/driver.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#[no_core];
1212
#[no_std];
1313

14-
extern mod core(name = "std", vers = "0.7");
14+
extern mod core(name = "std", vers = "0.7-pre");
1515

1616
#[cfg(rustpkg)]
1717
extern mod this(name = "rustpkg");

branches/auto/src/etc/kate/rust.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<!ENTITY rustIdent "[a-zA-Z_][a-zA-Z_0-9]*">
88
<!ENTITY rustIntSuf "([iu](8|16|32|64)?)?">
99
]>
10-
<language name="Rust" version="0.7" kateversion="2.4" section="Sources" extensions="*.rs;*.rc" mimetype="text/x-rust" priority="15">
10+
<language name="Rust" version="0.7-pre" kateversion="2.4" section="Sources" extensions="*.rs;*.rc" mimetype="text/x-rust" priority="15">
1111
<highlighting>
1212
<list name="fn">
1313
<item> fn </item>

branches/auto/src/libextra/extra.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Rust extras are part of the standard Rust distribution.
2121
*/
2222

2323
#[link(name = "extra",
24-
vers = "0.7",
24+
vers = "0.7-pre",
2525
uuid = "122bed0b-c19b-4b82-b0b7-7ae8aead7297",
2626
url = "https://github.com/mozilla/rust/tree/master/src/libextra")];
2727

branches/auto/src/librust/rust.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
// FIXME #2238 Make run only accept source that emits an executable
1414

1515
#[link(name = "rust",
16-
vers = "0.7",
16+
vers = "0.7-pre",
1717
uuid = "4a24da33-5cc8-4037-9352-2cbe9bd9d27c",
1818
url = "https://github.com/mozilla/rust/tree/master/src/rust")];
1919

branches/auto/src/librustc/front/std_inject.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use syntax::codemap::dummy_sp;
1818
use syntax::codemap;
1919
use syntax::fold;
2020

21-
static STD_VERSION: &'static str = "0.7";
21+
static STD_VERSION: &'static str = "0.7-pre";
2222

2323
pub fn maybe_inject_libstd_ref(sess: Session, crate: @ast::crate)
2424
-> @ast::crate {

branches/auto/src/librustc/front/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ mod __test {
271271
*/
272272

273273
fn mk_std(cx: &TestCtxt) -> @ast::view_item {
274-
let vers = ast::lit_str(@"0.7");
274+
let vers = ast::lit_str(@"0.7-pre");
275275
let vers = nospan(vers);
276276
let mi = ast::meta_name_value(@"vers", vers);
277277
let mi = nospan(mi);

branches/auto/src/librustc/middle/trans/base.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -996,13 +996,13 @@ pub fn do_spill_noroot(cx: block, v: ValueRef) -> ValueRef {
996996

997997
pub fn spill_if_immediate(cx: block, v: ValueRef, t: ty::t) -> ValueRef {
998998
let _icx = push_ctxt("spill_if_immediate");
999-
if ty::type_is_immediate(t) { return do_spill(cx, v, t); }
999+
if ty::type_is_immediate(cx.tcx(), t) { return do_spill(cx, v, t); }
10001000
return v;
10011001
}
10021002

10031003
pub fn load_if_immediate(cx: block, v: ValueRef, t: ty::t) -> ValueRef {
10041004
let _icx = push_ctxt("load_if_immediate");
1005-
if ty::type_is_immediate(t) { return Load(cx, v); }
1005+
if ty::type_is_immediate(cx.tcx(), t) { return Load(cx, v); }
10061006
return v;
10071007
}
10081008

@@ -1527,7 +1527,7 @@ pub fn mk_standard_basic_blocks(llfn: ValueRef) -> BasicBlocks {
15271527
// slot where the return value of the function must go.
15281528
pub fn make_return_pointer(fcx: fn_ctxt, output_type: ty::t) -> ValueRef {
15291529
unsafe {
1530-
if !ty::type_is_immediate(output_type) {
1530+
if !ty::type_is_immediate(fcx.ccx.tcx, output_type) {
15311531
llvm::LLVMGetParam(fcx.llfn, 0)
15321532
} else {
15331533
let lloutputtype = type_of::type_of(fcx.ccx, output_type);
@@ -1566,7 +1566,7 @@ pub fn new_fn_ctxt_w_id(ccx: @mut CrateContext,
15661566
ty::subst_tps(ccx.tcx, substs.tys, substs.self_ty, output_type)
15671567
}
15681568
};
1569-
let is_immediate = ty::type_is_immediate(substd_output_type);
1569+
let is_immediate = ty::type_is_immediate(ccx.tcx, substd_output_type);
15701570
let fcx = @mut fn_ctxt_ {
15711571
llfn: llfndecl,
15721572
llenv: unsafe {
@@ -1672,7 +1672,7 @@ pub fn copy_args_to_allocas(fcx: fn_ctxt,
16721672
match fcx.llself {
16731673
Some(slf) => {
16741674
let self_val = if slf.is_copy
1675-
&& datum::appropriate_mode(slf.t).is_by_value() {
1675+
&& datum::appropriate_mode(bcx.tcx(), slf.t).is_by_value() {
16761676
let tmp = BitCast(bcx, slf.v, type_of(bcx.ccx(), slf.t));
16771677
let alloc = alloc_ty(bcx, slf.t);
16781678
Store(bcx, tmp, alloc);
@@ -1700,7 +1700,7 @@ pub fn copy_args_to_allocas(fcx: fn_ctxt,
17001700
// This alloca should be optimized away by LLVM's mem-to-reg pass in
17011701
// the event it's not truly needed.
17021702
// only by value if immediate:
1703-
let llarg = if datum::appropriate_mode(arg_ty).is_by_value() {
1703+
let llarg = if datum::appropriate_mode(bcx.tcx(), arg_ty).is_by_value() {
17041704
let alloc = alloc_ty(bcx, arg_ty);
17051705
Store(bcx, raw_llarg, alloc);
17061706
alloc
@@ -2883,10 +2883,6 @@ pub fn trans_crate(sess: session::Session,
28832883
reachable_map: @mut HashSet<ast::node_id>,
28842884
maps: astencode::Maps)
28852885
-> (ContextRef, ModuleRef, LinkMeta) {
2886-
// Before we touch LLVM, make sure that multithreading is enabled.
2887-
if unsafe { !llvm::LLVMRustStartMultithreading() } {
2888-
sess.bug("couldn't enable multi-threaded LLVM");
2889-
}
28902886
28912887
let mut symbol_hasher = hash::default_state();
28922888
let link_meta = link::build_link_meta(sess, crate, output, &mut symbol_hasher);
@@ -2901,6 +2897,12 @@ pub fn trans_crate(sess: session::Session,
29012897
// 1. http://llvm.org/bugs/show_bug.cgi?id=11479
29022898
let llmod_id = link_meta.name.to_owned() + ".rc";
29032899
2900+
// FIXME(#6511): get LLVM building with --enable-threads so this
2901+
// function can be called
2902+
// if !llvm::LLVMRustStartMultithreading() {
2903+
// sess.bug("couldn't enable multi-threaded LLVM");
2904+
// }
2905+
29042906
let ccx = @mut CrateContext::new(sess,
29052907
llmod_id,
29062908
tcx,

branches/auto/src/librustc/middle/trans/callee.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -633,7 +633,7 @@ pub fn trans_call_inner(in_cx: block,
633633

634634
let mut llargs = ~[];
635635

636-
if !ty::type_is_immediate(ret_ty) {
636+
if !ty::type_is_immediate(bcx.tcx(), ret_ty) {
637637
llargs.push(llretslot);
638638
}
639639

@@ -680,7 +680,7 @@ pub fn trans_call_inner(in_cx: block,
680680
// case to ignore instead of invoking the Store
681681
// below into a scratch pointer of a mismatched
682682
// type.
683-
} else if ty::type_is_immediate(ret_ty) {
683+
} else if ty::type_is_immediate(bcx.tcx(), ret_ty) {
684684
let llscratchptr = alloc_ty(bcx, ret_ty);
685685
Store(bcx, llresult, llscratchptr);
686686
bcx = glue::drop_ty(bcx, llscratchptr, ret_ty);
@@ -694,7 +694,7 @@ pub fn trans_call_inner(in_cx: block,
694694
// If this is an immediate, store into the result location.
695695
// (If this was not an immediate, the result will already be
696696
// directly written into the output slot.)
697-
if ty::type_is_immediate(ret_ty) {
697+
if ty::type_is_immediate(bcx.tcx(), ret_ty) {
698698
Store(bcx, llresult, lldest);
699699
}
700700
}
@@ -898,7 +898,7 @@ pub fn trans_arg_expr(bcx: block,
898898
}
899899
ty::ByCopy => {
900900
if ty::type_needs_drop(bcx.tcx(), arg_datum.ty) ||
901-
arg_datum.appropriate_mode().is_by_ref() {
901+
arg_datum.appropriate_mode(bcx.tcx()).is_by_ref() {
902902
debug!("by copy arg with type %s, storing to scratch",
903903
bcx.ty_to_str(arg_datum.ty));
904904
let scratch = scratch_datum(bcx, arg_datum.ty, false);
@@ -914,7 +914,7 @@ pub fn trans_arg_expr(bcx: block,
914914
scratch.add_clean(bcx);
915915
temp_cleanups.push(scratch.val);
916916

917-
match scratch.appropriate_mode() {
917+
match scratch.appropriate_mode(bcx.tcx()) {
918918
ByValue => val = Load(bcx, scratch.val),
919919
ByRef(_) => val = scratch.val,
920920
}

0 commit comments

Comments
 (0)