Skip to content

Commit daab45d

Browse files
committed
---
yaml --- r: 277759 b: refs/heads/try c: cc98f4c h: refs/heads/master i: 277757: e3aa5a8 277755: 88dd594 277751: ef496c0 277743: 4dc22ad 277727: 380edbb 277695: 1e3177e 277631: 2084a9a 277503: 0f41694
1 parent 5da081d commit daab45d

File tree

176 files changed

+4297
-1598
lines changed

Some content is hidden

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

176 files changed

+4297
-1598
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 6dbb0e86aec11050480beb76eade6fb805010ba7
33
refs/heads/snap-stage3: 235d77457d80b549dad3ac36d94f235208a1eafb
4-
refs/heads/try: a9779df1886e18923f40cf0bb67ab72d4e4942df
4+
refs/heads/try: cc98f4cbb09d0165dcca18664d1fe10cb39a5dfa
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
66
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
77
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try/mk/crates.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ DEPS_rustc_lint := rustc log syntax rustc_const_eval
111111
DEPS_rustc_llvm := native:rustllvm libc std rustc_bitflags
112112
DEPS_rustc_metadata := rustc syntax rbml rustc_const_math
113113
DEPS_rustc_passes := syntax rustc core rustc_const_eval
114-
DEPS_rustc_mir := rustc syntax rustc_const_math rustc_const_eval
114+
DEPS_rustc_mir := rustc syntax rustc_const_math rustc_const_eval rustc_bitflags
115115
DEPS_rustc_resolve := arena rustc log syntax
116116
DEPS_rustc_platform_intrinsics := std
117117
DEPS_rustc_plugin := rustc rustc_metadata syntax rustc_mir

branches/try/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/try/mk/dist.mk

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ $(PKG_TAR): $(PKG_FILES)
7777
$(Q)mkdir -p tmp/dist/$(PKG_NAME)
7878
$(Q)tar \
7979
-C $(S) \
80+
-f - \
8081
--exclude-vcs \
8182
--exclude=*~ \
8283
--exclude=*.pyc \
@@ -86,7 +87,7 @@ $(PKG_TAR): $(PKG_FILES)
8687
--exclude=*/llvm/test/*/*/*.ll \
8788
--exclude=*/llvm/test/*/*/*.td \
8889
--exclude=*/llvm/test/*/*/*.s \
89-
-c $(UNROOTED_PKG_FILES) | tar -x -C tmp/dist/$(PKG_NAME)
90+
-c $(UNROOTED_PKG_FILES) | tar -x -f - -C tmp/dist/$(PKG_NAME)
9091
@$(call E, making $@)
9192
$(Q)tar -czf $(PKG_TAR) -C tmp/dist $(PKG_NAME)
9293
$(Q)rm -Rf tmp/dist/$(PKG_NAME)

branches/try/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/try/mk/tests.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -635,8 +635,8 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) = \
635635
--host-rustcflags "$(RUSTC_FLAGS_$(3)) $$(CTEST_RUSTC_FLAGS) -L $$(RT_OUTPUT_DIR_$(3))" \
636636
--lldb-python-dir=$(CFG_LLDB_PYTHON_DIR) \
637637
--target-rustcflags "$(RUSTC_FLAGS_$(2)) $$(CTEST_RUSTC_FLAGS) -L $$(RT_OUTPUT_DIR_$(2))" \
638-
--cc '$$(CC_$(2))' \
639-
--cxx '$$(CXX_$(2))' \
638+
--cc '$$(call FIND_COMPILER,$$(CC_$(2)))' \
639+
--cxx '$$(call FIND_COMPILER,$$(CXX_$(2)))' \
640640
--cflags "$$(CFG_GCCISH_CFLAGS_$(2))" \
641641
--llvm-components "$$(LLVM_ALL_COMPONENTS_$(2))" \
642642
--llvm-cxxflags "$$(LLVM_CXXFLAGS_$(2))" \

branches/try/src/bootstrap/build/job.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ pub unsafe fn setup() {
5454

5555
// Indicate that when all handles to the job object are gone that all
5656
// process in the object should be killed. Note that this includes our
57-
// entire process tree by default because we've added ourselves and and our
57+
// entire process tree by default because we've added ourselves and our
5858
// children will reside in the job by default.
5959
let mut info = mem::zeroed::<JOBOBJECT_EXTENDED_LIMIT_INFORMATION>();
6060
info.BasicLimitInformation.LimitFlags = JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE;

branches/try/src/doc/reference.md

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2063,33 +2063,41 @@ arbitrarily complex configurations through nesting.
20632063

20642064
The following configurations must be defined by the implementation:
20652065

2066-
* `debug_assertions` - Enabled by default when compiling without optimizations.
2067-
This can be used to enable extra debugging code in development but not in
2068-
production. For example, it controls the behavior of the standard library's
2069-
`debug_assert!` macro.
2070-
* `target_arch = "..."` - Target CPU architecture, such as `"x86"`, `"x86_64"`
2071-
`"mips"`, `"powerpc"`, `"powerpc64"`, `"arm"`, or `"aarch64"`.
2072-
* `target_endian = "..."` - Endianness of the target CPU, either `"little"` or
2073-
`"big"`.
2074-
* `target_env = ".."` - An option provided by the compiler by default
2075-
describing the runtime environment of the target platform. Some examples of
2076-
this are `musl` for builds targeting the MUSL libc implementation, `msvc` for
2077-
Windows builds targeting MSVC, and `gnu` frequently the rest of the time. This
2078-
option may also be blank on some platforms.
2066+
* `target_arch = "..."` - Target CPU architecture, such as `"x86"`,
2067+
`"x86_64"` `"mips"`, `"powerpc"`, `"powerpc64"`, `"arm"`, or
2068+
`"aarch64"`. This value is closely related to the first element of
2069+
the platform target triple, though it is not identical.
2070+
* `target_os = "..."` - Operating system of the target, examples
2071+
include `"windows"`, `"macos"`, `"ios"`, `"linux"`, `"android"`,
2072+
`"freebsd"`, `"dragonfly"`, `"bitrig"` , `"openbsd"` or
2073+
`"netbsd"`. This value is closely related to the second and third
2074+
element of the platform target triple, though it is not identical.
20792075
* `target_family = "..."` - Operating system family of the target, e. g.
20802076
`"unix"` or `"windows"`. The value of this configuration option is defined
20812077
as a configuration itself, like `unix` or `windows`.
2082-
* `target_os = "..."` - Operating system of the target, examples include
2083-
`"windows"`, `"macos"`, `"ios"`, `"linux"`, `"android"`, `"freebsd"`, `"dragonfly"`,
2084-
`"bitrig"` , `"openbsd"` or `"netbsd"`.
2078+
* `unix` - See `target_family`.
2079+
* `windows` - See `target_family`.
2080+
* `target_env = ".."` - Further disambiguates the target platform with
2081+
information about the ABI/libc. Presently this value is either
2082+
`"gnu"`, `"msvc"`, `"musl"`, or the empty string. For historical
2083+
reasons this value has only been defined as non-empty when needed
2084+
for disambiguation. Thus on many GNU platforms this value will be
2085+
empty. This value is closely related to the fourth element of the
2086+
platform target triple, though it is not identical. For example,
2087+
embedded ABIs such as `gnueabihf` will simply define `target_env` as
2088+
`"gnu"`.
2089+
* `target_endian = "..."` - Endianness of the target CPU, either `"little"` or
2090+
`"big"`.
20852091
* `target_pointer_width = "..."` - Target pointer width in bits. This is set
20862092
to `"32"` for targets with 32-bit pointers, and likewise set to `"64"` for
20872093
64-bit pointers.
20882094
* `target_vendor = "..."` - Vendor of the target, for example `apple`, `pc`, or
20892095
simply `"unknown"`.
20902096
* `test` - Enabled when compiling the test harness (using the `--test` flag).
2091-
* `unix` - See `target_family`.
2092-
* `windows` - See `target_family`.
2097+
* `debug_assertions` - Enabled by default when compiling without optimizations.
2098+
This can be used to enable extra debugging code in development but not in
2099+
production. For example, it controls the behavior of the standard library's
2100+
`debug_assert!` macro.
20932101

20942102
You can also set another attribute based on a `cfg` variable with `cfg_attr`:
20952103

branches/try/src/libcollections/slice.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,8 +419,8 @@ impl<T> [T] {
419419
///
420420
/// ```rust
421421
/// let v = &[1, 2, 3, 4, 5];
422-
/// for win in v.chunks(2) {
423-
/// println!("{:?}", win);
422+
/// for chunk in v.chunks(2) {
423+
/// println!("{:?}", chunk);
424424
/// }
425425
/// ```
426426
#[stable(feature = "rust1", since = "1.0.0")]

branches/try/src/libcore/clone.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ use marker::Sized;
4949
/// A common trait for cloning an object.
5050
///
5151
/// This trait can be used with `#[derive]`.
52+
///
53+
/// Types that are `Copy` should have a trivial implementation of `Clone`. More formally:
54+
/// if `T: Copy`, `x: T`, and `y: &T`, then `let x = y.clone();` is equivalent to `let x = *y;`.
55+
/// Manual implementations should be careful to uphold this invariant; however, unsafe code
56+
/// must not rely on it to ensure memory safety.
5257
#[stable(feature = "rust1", since = "1.0.0")]
5358
pub trait Clone : Sized {
5459
/// Returns a copy of the value.

branches/try/src/libcore/iter/iterator.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ pub trait Iterator {
214214
/// Like most indexing operations, the count starts from zero, so `nth(0)`
215215
/// returns the first value, `nth(1)` the second, and so on.
216216
///
217-
/// `nth()` will return `None` if `n` is larger than the length of the
217+
/// `nth()` will return `None` if `n` is greater than or equal to the length of the
218218
/// iterator.
219219
///
220220
/// # Examples
@@ -237,7 +237,7 @@ pub trait Iterator {
237237
/// assert_eq!(iter.nth(1), None);
238238
/// ```
239239
///
240-
/// Returning `None` if there are less than `n` elements:
240+
/// Returning `None` if there are less than `n + 1` elements:
241241
///
242242
/// ```
243243
/// let a = [1, 2, 3];

branches/try/src/libcore/num/mod.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,17 @@ use slice::SliceExt;
3737
/// `wrapping_add`, or through the `Wrapping<T>` type, which says that
3838
/// all standard arithmetic operations on the underlying value are
3939
/// intended to have wrapping semantics.
40+
///
41+
/// # Examples
42+
///
43+
/// ```
44+
/// use std::num::Wrapping;
45+
///
46+
/// let zero = Wrapping(0u32);
47+
/// let one = Wrapping(1u32);
48+
///
49+
/// assert_eq!(std::u32::MAX, (zero - one).0);
50+
/// ```
4051
#[stable(feature = "rust1", since = "1.0.0")]
4152
#[derive(PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Default, Hash)]
4253
pub struct Wrapping<T>(#[stable(feature = "rust1", since = "1.0.0")] pub T);

branches/try/src/libcoretest/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#![feature(box_syntax)]
1616
#![feature(cell_extras)]
1717
#![feature(const_fn)]
18-
#![feature(core_float)]
1918
#![feature(core_private_bignum)]
2019
#![feature(core_private_diy_float)]
2120
#![feature(dec2flt)]

branches/try/src/libcoretest/num/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ use core::convert::TryFrom;
1212
use core::cmp::PartialEq;
1313
use core::fmt::Debug;
1414
use core::marker::Copy;
15-
use core::num::Float;
1615
use core::ops::{Add, Sub, Mul, Div, Rem};
1716
use core::option::Option;
1817
use core::option::Option::{Some, None};

branches/try/src/librand/distributions/exponential.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
//! The exponential distribution.
1212
13+
#[cfg(not(test))] // only necessary for no_std
1314
use FloatMath;
1415

1516
use {Rng, Rand};

branches/try/src/librand/distributions/gamma.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use self::GammaRepr::*;
1414
use self::ChiSquaredRepr::*;
1515

16+
#[cfg(not(test))] // only necessary for no_std
1617
use FloatMath;
1718

1819
use {Rng, Open01};

branches/try/src/librand/distributions/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
//! internally. The `IndependentSample` trait is for generating values
1818
//! that do not need to record state.
1919
20+
#[cfg(not(test))] // only necessary for no_std
2021
use core::num::Float;
22+
2123
use core::marker::PhantomData;
2224

2325
use {Rng, Rand};

branches/try/src/librand/distributions/normal.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
//! The normal and derived distributions.
1212
13+
#[cfg(not(test))] // only necessary for no_std
1314
use FloatMath;
1415

1516
use {Rng, Rand, Open01};

branches/try/src/librand/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@
2828
#![unstable(feature = "rand",
2929
reason = "use `rand` from crates.io",
3030
issue = "27703")]
31-
#![feature(core_float)]
3231
#![feature(core_intrinsics)]
3332
#![feature(staged_api)]
3433
#![feature(step_by)]
3534
#![feature(custom_attribute)]
3635
#![allow(unused_attributes)]
3736

37+
#![cfg_attr(not(test), feature(core_float))] // only necessary for no_std
3838
#![cfg_attr(test, feature(test, rand))]
3939

4040
#![allow(deprecated)]

branches/try/src/librustc/dep_graph/dep_node.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,13 @@ pub enum DepNode<D: Clone + Debug> {
5959
TypeckItemBody(D),
6060
Dropck,
6161
DropckImpl(D),
62+
UnusedTraitCheck,
6263
CheckConst(D),
6364
Privacy,
6465
IntrinsicCheck(D),
6566
MatchCheck(D),
6667
MirMapConstruction(D),
68+
MirPass(D),
6769
MirTypeck(D),
6870
BorrowCheck(D),
6971
RvalueCheck(D),
@@ -164,6 +166,7 @@ impl<D: Clone + Debug> DepNode<D> {
164166
CheckEntryFn => Some(CheckEntryFn),
165167
Variance => Some(Variance),
166168
Dropck => Some(Dropck),
169+
UnusedTraitCheck => Some(UnusedTraitCheck),
167170
Privacy => Some(Privacy),
168171
Reachability => Some(Reachability),
169172
DeadCheck => Some(DeadCheck),
@@ -186,6 +189,7 @@ impl<D: Clone + Debug> DepNode<D> {
186189
IntrinsicCheck(ref d) => op(d).map(IntrinsicCheck),
187190
MatchCheck(ref d) => op(d).map(MatchCheck),
188191
MirMapConstruction(ref d) => op(d).map(MirMapConstruction),
192+
MirPass(ref d) => op(d).map(MirPass),
189193
MirTypeck(ref d) => op(d).map(MirTypeck),
190194
BorrowCheck(ref d) => op(d).map(BorrowCheck),
191195
RvalueCheck(ref d) => op(d).map(RvalueCheck),

branches/try/src/librustc/dep_graph/thread.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ pub fn main(swap_in: Receiver<Vec<DepMessage>>,
176176
DepMessage::Query => query_out.send(edges.query()).unwrap(),
177177
}
178178
}
179-
swap_out.send(messages).unwrap();
179+
if let Err(_) = swap_out.send(messages) {
180+
// the receiver must have been dropped already
181+
break;
182+
}
180183
}
181184
}

0 commit comments

Comments
 (0)