Skip to content

Commit 8a78adb

Browse files
committed
---
yaml --- r: 278079 b: refs/heads/auto c: b651b2c h: refs/heads/master i: 278077: fbbb80b 278075: d3a83ed 278071: 56f6426 278063: 46d8699 278047: fcb4c8a 278015: f12855c
1 parent 002f338 commit 8a78adb

File tree

656 files changed

+9335
-6539
lines changed

Some content is hidden

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

656 files changed

+9335
-6539
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
88
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
99
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1010
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
11-
refs/heads/auto: eba43fb5c3baaeb543edb6c0abbcf778a176c4a9
11+
refs/heads/auto: b651b2c8af0bb98557a4f283a878c65b5ce25fc7
1212
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1313
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336
1414
refs/tags/0.2: 1754d02027f2924bed83b0160ee340c7f41d5ea1

branches/auto/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Read ["Installing Rust"] from [The Book].
1616

1717
1. Make sure you have installed the dependencies:
1818

19-
* `g++` 4.7 or `clang++` 3.x
19+
* `g++` 4.7 or later or `clang++` 3.x
2020
* `python` 2.7 (but not 3.x)
2121
* GNU `make` 3.81 or later
2222
* `curl`

branches/auto/mk/ctags.mk

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,21 @@
1515

1616
.PHONY: TAGS.emacs TAGS.vi
1717

18-
CTAGS_LOCATIONS=$(wildcard ${CFG_SRC_DIR}src/lib*)
18+
CTAGS_RUSTC_LOCATIONS=$(patsubst ${CFG_SRC_DIR}src/lib%test,, \
19+
$(wildcard ${CFG_SRC_DIR}src/lib*)) ${CFG_SRC_DIR}src/libtest
1920
CTAGS_LOCATIONS=$(patsubst ${CFG_SRC_DIR}src/librust%,, \
2021
$(patsubst ${CFG_SRC_DIR}src/lib%test,, \
2122
$(wildcard ${CFG_SRC_DIR}src/lib*))) ${CFG_SRC_DIR}src/libtest
22-
CTAGS_OPTS=--options="${CFG_SRC_DIR}src/etc/ctags.rust" --languages=Rust --recurse ${CTAGS_LOCATIONS}
23+
CTAGS_OPTS=--options="${CFG_SRC_DIR}src/etc/ctags.rust" --languages=Rust --recurse
24+
25+
TAGS.rustc.emacs:
26+
ctags -e -f $@ ${CTAGS_OPTS} ${CTAGS_RUSTC_LOCATIONS}
2327

2428
TAGS.emacs:
25-
ctags -e -f $@ ${CTAGS_OPTS}
29+
ctags -e -f $@ ${CTAGS_OPTS} ${CTAGS_LOCATIONS}
30+
31+
TAGS.rustc.vi:
32+
ctags -f $@ ${CTAGS_OPTS} ${CTAGS_RUSTC_LOCATIONS}
2633

2734
TAGS.vi:
28-
ctags -f $@ ${CTAGS_OPTS}
35+
ctags -f $@ ${CTAGS_OPTS} ${CTAGS_LOCATIONS}

branches/auto/mk/debuggers.mk

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,13 @@ DEBUGGER_BIN_SCRIPTS_LLDB_ABS=\
4141

4242

4343
## ALL ##
44-
DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL=$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB) \
45-
$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB)
46-
DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS=$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_GDB_ABS) \
47-
$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_LLDB_ABS)
44+
DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL=gdb_load_rust_pretty_printers.py \
45+
gdb_rust_pretty_printing.py \
46+
lldb_rust_formatters.py \
47+
debugger_pretty_printers_common.py
48+
DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL_ABS=\
49+
$(foreach script,$(DEBUGGER_RUSTLIB_ETC_SCRIPTS_ALL), \
50+
$(CFG_SRC_DIR)src/etc/$(script))
4851
DEBUGGER_BIN_SCRIPTS_ALL=$(DEBUGGER_BIN_SCRIPTS_GDB) \
4952
$(DEBUGGER_BIN_SCRIPTS_LLDB)
5053
DEBUGGER_BIN_SCRIPTS_ALL_ABS=$(DEBUGGER_BIN_SCRIPTS_GDB_ABS) \

branches/auto/mk/main.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ endif
390390
# This 'function' will determine which debugger scripts to copy based on a
391391
# target triple. See debuggers.mk for more information.
392392
TRIPLE_TO_DEBUGGER_SCRIPT_SETTING=\
393-
$(if $(findstring windows,$(1)),none,$(if $(findstring darwin,$(1)),lldb,gdb))
393+
$(if $(findstring windows-msvc,$(1)),none,all)
394394

395395
STAGES = 0 1 2 3
396396

branches/auto/mk/platform.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ ifdef CFG_CCACHE_BASEDIR
169169
export CCACHE_BASEDIR
170170
endif
171171

172-
FIND_COMPILER = $(word 1,$(1:ccache=))
172+
FIND_COMPILER = $(strip $(1:ccache=))
173173

174174
define CFG_MAKE_TOOLCHAIN
175175
# Prepend the tools with their prefix if cross compiling
@@ -187,7 +187,7 @@ define CFG_MAKE_TOOLCHAIN
187187
endif
188188
endif
189189

190-
CFG_COMPILE_C_$(1) = '$$(CC_$(1))' \
190+
CFG_COMPILE_C_$(1) = '$$(call FIND_COMPILER,$$(CC_$(1)))' \
191191
$$(CFLAGS) \
192192
$$(CFG_GCCISH_CFLAGS) \
193193
$$(CFG_GCCISH_CFLAGS_$(1)) \
@@ -198,7 +198,7 @@ define CFG_MAKE_TOOLCHAIN
198198
$$(CFG_GCCISH_LINK_FLAGS_$(1)) \
199199
$$(CFG_GCCISH_DEF_FLAG_$(1))$$(3) $$(2) \
200200
$$(call CFG_INSTALL_NAME_$(1),$$(4))
201-
CFG_COMPILE_CXX_$(1) = '$$(CXX_$(1))' \
201+
CFG_COMPILE_CXX_$(1) = '$$(call FIND_COMPILER,$$(CXX_$(1)))' \
202202
$$(CXXFLAGS) \
203203
$$(CFG_GCCISH_CFLAGS) \
204204
$$(CFG_GCCISH_CXXFLAGS) \

branches/auto/mk/tests.mk

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -616,13 +616,12 @@ ifdef CFG_ENABLE_DEBUGINFO_TESTS
616616
CTEST_RUSTC_FLAGS += -g
617617
endif
618618

619-
CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
619+
CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) = \
620620
--compile-lib-path $$(HLIB$(1)_H_$(3)) \
621621
--run-lib-path $$(TLIB$(1)_T_$(2)_H_$(3)) \
622622
--rustc-path $$(HBIN$(1)_H_$(3))/rustc$$(X_$(3)) \
623623
--rustdoc-path $$(HBIN$(1)_H_$(3))/rustdoc$$(X_$(3)) \
624624
--llvm-filecheck $(CFG_LLVM_INST_DIR_$(CFG_BUILD))/bin/FileCheck \
625-
--aux-base $$(S)src/test/auxiliary/ \
626625
--stage-id stage$(1)-$(2) \
627626
--target $(2) \
628627
--host $(3) \
@@ -636,11 +635,11 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
636635
--host-rustcflags "$(RUSTC_FLAGS_$(3)) $$(CTEST_RUSTC_FLAGS) -L $$(RT_OUTPUT_DIR_$(3))" \
637636
--lldb-python-dir=$(CFG_LLDB_PYTHON_DIR) \
638637
--target-rustcflags "$(RUSTC_FLAGS_$(2)) $$(CTEST_RUSTC_FLAGS) -L $$(RT_OUTPUT_DIR_$(2))" \
639-
--cc '$$(CC_$(3))' \
640-
--cxx '$$(CXX_$(3))' \
641-
--cflags "$$(CFG_GCCISH_CFLAGS_$(3))" \
642-
--llvm-components "$$(LLVM_ALL_COMPONENTS_$(3))" \
643-
--llvm-cxxflags "$$(LLVM_CXXFLAGS_$(3))" \
638+
--cc '$$(call FIND_COMPILER,$$(CC_$(2)))' \
639+
--cxx '$$(call FIND_COMPILER,$$(CXX_$(2)))' \
640+
--cflags "$$(CFG_GCCISH_CFLAGS_$(2))" \
641+
--llvm-components "$$(LLVM_ALL_COMPONENTS_$(2))" \
642+
--llvm-cxxflags "$$(LLVM_CXXFLAGS_$(2))" \
644643
$$(CTEST_TESTARGS)
645644

646645
ifdef CFG_VALGRIND_RPASS
@@ -686,7 +685,7 @@ $(foreach host,$(CFG_HOST), \
686685

687686
define DEF_RUN_COMPILETEST
688687

689-
CTEST_ARGS$(1)-T-$(2)-H-$(3)-$(4) := \
688+
CTEST_ARGS$(1)-T-$(2)-H-$(3)-$(4) = \
690689
$$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
691690
--src-base $$(S)src/test/$$(CTEST_SRC_BASE_$(4))/ \
692691
--build-base $(3)/test/$$(CTEST_BUILD_BASE_$(4))/ \
@@ -779,7 +778,7 @@ $(foreach host,$(CFG_HOST), \
779778

780779
define DEF_RUN_PRETTY_TEST
781780

782-
PRETTY_ARGS$(1)-T-$(2)-H-$(3)-$(4) := \
781+
PRETTY_ARGS$(1)-T-$(2)-H-$(3)-$(4) = \
783782
$$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
784783
--src-base $$(S)src/test/$$(PRETTY_DIRNAME_$(4))/ \
785784
--build-base $(3)/test/$$(PRETTY_DIRNAME_$(4))/ \

branches/auto/src/bootstrap/build/check.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ pub fn compiletest(build: &Build,
7070
cmd.arg("--rustc-path").arg(build.compiler_path(compiler));
7171
cmd.arg("--rustdoc-path").arg(build.rustdoc(compiler));
7272
cmd.arg("--src-base").arg(build.src.join("src/test").join(suite));
73-
cmd.arg("--aux-base").arg(build.src.join("src/test/auxiliary"));
7473
cmd.arg("--build-base").arg(testdir(build, compiler.host).join(suite));
7574
cmd.arg("--stage-id").arg(format!("stage{}-{}", compiler.stage, target));
7675
cmd.arg("--mode").arg(mode);

branches/auto/src/bootstrap/build/dist.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -217,23 +217,23 @@ pub fn debugger_scripts(build: &Build,
217217
t!(fs::create_dir_all(&dst));
218218
install(&build.src.join("src/etc/").join(file), &dst, 0o644);
219219
};
220-
if host.contains("windows") {
220+
if host.contains("windows-msvc") {
221221
// no debugger scripts
222-
} else if host.contains("darwin") {
223-
// lldb debugger scripts
224-
install(&build.src.join("src/etc/rust-lldb"), &sysroot.join("bin"),
225-
0o755);
226-
227-
cp_debugger_script("lldb_rust_formatters.py");
228-
cp_debugger_script("debugger_pretty_printers_common.py");
229222
} else {
223+
cp_debugger_script("debugger_pretty_printers_common.py");
224+
230225
// gdb debugger scripts
231226
install(&build.src.join("src/etc/rust-gdb"), &sysroot.join("bin"),
232227
0o755);
233228

234229
cp_debugger_script("gdb_load_rust_pretty_printers.py");
235230
cp_debugger_script("gdb_rust_pretty_printing.py");
236-
cp_debugger_script("debugger_pretty_printers_common.py");
231+
232+
// lldb debugger scripts
233+
install(&build.src.join("src/etc/rust-lldb"), &sysroot.join("bin"),
234+
0o755);
235+
236+
cp_debugger_script("lldb_rust_formatters.py");
237237
}
238238
}
239239

branches/auto/src/doc/book/getting-started.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ we’ll talk about Cargo, Rust’s build system and package manager.
88

99
The first step to using Rust is to install it. Generally speaking, you’ll need
1010
an Internet connection to run the commands in this section, as we’ll be
11-
downloading Rust from the internet.
11+
downloading Rust from the Internet.
1212

1313
We’ll be showing off a number of commands using a terminal, and those lines all
1414
start with `$`. We don't need to type in the `$`s, they are there to indicate
@@ -399,13 +399,13 @@ Let’s convert the Hello World program to Cargo. To Cargo-fy a project, you nee
399399
to do three things:
400400

401401
1. Put your source file in the right directory.
402-
2. Get rid of the old executable (`main.exe` on Windows, `main` everywhere else)
403-
and make a new one.
402+
2. Get rid of the old executable (`main.exe` on Windows, `main` everywhere
403+
else).
404404
3. Make a Cargo configuration file.
405405

406406
Let's get started!
407407

408-
### Creating a new Executable and Source Directory
408+
### Creating a Source Directory and Removing the Old Executable
409409

410410
First, go back to your terminal, move to your *hello_world* directory, and
411411
enter the following commands:

branches/auto/src/liballoc_jemalloc/lib.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,28 +41,28 @@ use libc::{c_int, c_void, size_t};
4141
#[cfg(not(cargobuild))]
4242
extern {}
4343

44-
// Note that the symbols here are prefixed by default on OSX (we don't
45-
// explicitly request it), and on Android and DragonFly we explicitly request
46-
// it as unprefixing cause segfaults (mismatches in allocators).
44+
// Note that the symbols here are prefixed by default on OSX and Windows (we
45+
// don't explicitly request it), and on Android and DragonFly we explicitly
46+
// request it as unprefixing cause segfaults (mismatches in allocators).
4747
extern {
4848
#[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios",
49-
target_os = "dragonfly"),
49+
target_os = "dragonfly", target_os = "windows"),
5050
link_name = "je_mallocx")]
5151
fn mallocx(size: size_t, flags: c_int) -> *mut c_void;
5252
#[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios",
53-
target_os = "dragonfly"),
53+
target_os = "dragonfly", target_os = "windows"),
5454
link_name = "je_rallocx")]
5555
fn rallocx(ptr: *mut c_void, size: size_t, flags: c_int) -> *mut c_void;
5656
#[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios",
57-
target_os = "dragonfly"),
57+
target_os = "dragonfly", target_os = "windows"),
5858
link_name = "je_xallocx")]
5959
fn xallocx(ptr: *mut c_void, size: size_t, extra: size_t, flags: c_int) -> size_t;
6060
#[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios",
61-
target_os = "dragonfly"),
61+
target_os = "dragonfly", target_os = "windows"),
6262
link_name = "je_sdallocx")]
6363
fn sdallocx(ptr: *mut c_void, size: size_t, flags: c_int);
6464
#[cfg_attr(any(target_os = "macos", target_os = "android", target_os = "ios",
65-
target_os = "dragonfly"),
65+
target_os = "dragonfly", target_os = "windows"),
6666
link_name = "je_nallocx")]
6767
fn nallocx(size: size_t, flags: c_int) -> size_t;
6868
}

branches/auto/src/libcollections/fmt.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@
333333
//! precision := count | '*'
334334
//! type := identifier | ''
335335
//! count := parameter | integer
336-
//! parameter := integer '$'
336+
//! parameter := argument '$'
337337
//! ```
338338
//!
339339
//! # Formatting Parameters
@@ -403,11 +403,12 @@
403403
//! println!("Hello {:5}!", "x");
404404
//! println!("Hello {:1$}!", "x", 5);
405405
//! println!("Hello {1:0$}!", 5, "x");
406+
//! println!("Hello {:width$}!", "x", width = 5);
406407
//! ```
407408
//!
408409
//! Referring to an argument with the dollar syntax does not affect the "next
409-
//! argument" counter, so it's usually a good idea to refer to all arguments by
410-
//! their position explicitly.
410+
//! argument" counter, so it's usually a good idea to refer to arguments by
411+
//! position, or use named arguments.
411412
//!
412413
//! ## Precision
413414
//!
@@ -426,7 +427,7 @@
426427
//!
427428
//! the integer `N` itself is the precision.
428429
//!
429-
//! 2. An integer followed by dollar sign `.N$`:
430+
//! 2. An integer or name followed by dollar sign `.N$`:
430431
//!
431432
//! use format *argument* `N` (which must be a `usize`) as the precision.
432433
//!
@@ -456,6 +457,10 @@
456457
//! // Hello {next arg (x)} is {arg 2 (0.01) with precision
457458
//! // specified in its predecessor (5)}
458459
//! println!("Hello {} is {2:.*}", "x", 5, 0.01);
460+
//!
461+
//! // Hello {next arg (x)} is {arg "number" (0.01) with precision specified
462+
//! // in arg "prec" (5)}
463+
//! println!("Hello {} is {number:.prec$}", "x", prec = 5, number = 0.01);
459464
//! ```
460465
//!
461466
//! All print the same thing:

branches/auto/src/libcore/cell.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,18 @@ impl<T:Copy> Cell<T> {
232232
pub fn as_unsafe_cell(&self) -> &UnsafeCell<T> {
233233
&self.value
234234
}
235+
236+
/// Returns a mutable reference to the underlying data.
237+
///
238+
/// This call borrows `Cell` mutably (at compile-time) which guarantees
239+
/// that we possess the only reference.
240+
#[inline]
241+
#[unstable(feature = "cell_get_mut", issue = "33444")]
242+
pub fn get_mut(&mut self) -> &mut T {
243+
unsafe {
244+
&mut *self.value.get()
245+
}
246+
}
235247
}
236248

237249
#[stable(feature = "rust1", since = "1.0.0")]
@@ -455,6 +467,18 @@ impl<T: ?Sized> RefCell<T> {
455467
pub unsafe fn as_unsafe_cell(&self) -> &UnsafeCell<T> {
456468
&self.value
457469
}
470+
471+
/// Returns a mutable reference to the underlying data.
472+
///
473+
/// This call borrows `RefCell` mutably (at compile-time) so there is no
474+
/// need for dynamic checks.
475+
#[inline]
476+
#[unstable(feature = "cell_get_mut", issue="33444")]
477+
pub fn get_mut(&mut self) -> &mut T {
478+
unsafe {
479+
&mut *self.value.get()
480+
}
481+
}
458482
}
459483

460484
#[stable(feature = "rust1", since = "1.0.0")]

branches/auto/src/libcore/intrinsics.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,11 +192,8 @@ extern "rust-intrinsic" {
192192

193193
/// The size of a type in bytes.
194194
///
195-
/// This is the exact number of bytes in memory taken up by a
196-
/// value of the given type. In other words, a memset of this size
197-
/// would *exactly* overwrite a value. When laid out in vectors
198-
/// and structures there may be additional padding between
199-
/// elements.
195+
/// More specifically, this is the offset in bytes between successive
196+
/// items of the same type, including alignment padding.
200197
pub fn size_of<T>() -> usize;
201198

202199
/// Moves a value to an uninitialized memory location.

branches/auto/src/libcore/iter/mod.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,6 +541,23 @@ impl<A, B> Iterator for Chain<A, B> where
541541
}
542542
}
543543

544+
#[inline]
545+
fn find<P>(&mut self, mut predicate: P) -> Option<Self::Item> where
546+
P: FnMut(&Self::Item) -> bool,
547+
{
548+
match self.state {
549+
ChainState::Both => match self.a.find(&mut predicate) {
550+
None => {
551+
self.state = ChainState::Back;
552+
self.b.find(predicate)
553+
}
554+
v => v
555+
},
556+
ChainState::Front => self.a.find(predicate),
557+
ChainState::Back => self.b.find(predicate),
558+
}
559+
}
560+
544561
#[inline]
545562
fn last(self) -> Option<A::Item> {
546563
match self.state {

branches/auto/src/libcore/mem.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,17 @@ pub use intrinsics::transmute;
110110
/// }
111111
/// }
112112
/// ```
113+
#[inline]
113114
#[stable(feature = "rust1", since = "1.0.0")]
114115
pub fn forget<T>(t: T) {
115116
unsafe { intrinsics::forget(t) }
116117
}
117118

118119
/// Returns the size of a type in bytes.
119120
///
121+
/// More specifically, this is the offset in bytes between successive
122+
/// items of the same type, including alignment padding.
123+
///
120124
/// # Examples
121125
///
122126
/// ```

branches/auto/src/libcore/num/bignum.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ use mem;
3333
use intrinsics;
3434

3535
/// Arithmetic operations required by bignums.
36-
pub trait FullOps {
36+
pub trait FullOps: Sized {
3737
/// Returns `(carry', v')` such that `carry' * 2^W + v' = self + other + carry`,
3838
/// where `W` is the number of bits in `Self`.
3939
fn full_add(self, other: Self, carry: bool) -> (bool /*carry*/, Self);

0 commit comments

Comments
 (0)