Skip to content

Commit 7a301ee

Browse files
committed
---
yaml --- r: 100819 b: refs/heads/snap-stage3 c: b11e73d h: refs/heads/master i: 100817: 4fa7706 100815: c320899 v: v3
1 parent 011a35d commit 7a301ee

File tree

7 files changed

+69
-14
lines changed

7 files changed

+69
-14
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: e3b1f3c443c048913e2d573fcc5a9c2be3484a78
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: f0bad904a1b53c5c5972e24edd79a96a1d442576
4+
refs/heads/snap-stage3: b11e73d0be97162904ced06f32f68444041f9ffa
55
refs/heads/try: a97642026c18a624ff6ea01075dd9550f8ed07ff
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/Makefile.in

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,54 @@
88
# option. This file may not be copied, modified, or distributed
99
# except according to those terms.
1010

11-
# An explanation of how the build is structured:
11+
# <help>
12+
#
13+
# # The Rust Build System
14+
#
15+
# Start with these these build targets:
16+
#
17+
# * all - The default rule. Builds a complete stage2 compiler, std,
18+
# and extra for all hosts and targets
19+
# * docs - Generate HTML documentation for the std and extra libraries
20+
# from source code comments
21+
# * rustc - The stage 2 compiler for the build platform with standard
22+
# and extra libraries
23+
# * install
24+
# * uninstall
25+
# * check - Run tests
26+
# * check-stage1-$(crate) - Run tests for a crate, e.g. `check-stage1-std`
27+
# * check-stage1-rpass - Run the language tests
28+
# * check-docs - Run the doc tests
29+
#
30+
# Then mix in some of these environment variables to harness the
31+
# ultimate power of Rust Build System.
32+
#
33+
# * `VERBOSE=1` - Print all commands. Use this to see what's going on.
34+
# * `RUSTFLAGS=...` - Add compiler flags to all `rustc` invocations
35+
# * `CFG_ENABLE_VALGRIND=1` - Run tests under valgrind
36+
# * `VALGRIND_COMPILE=1` - Run the compiler itself under valgrind
37+
# (may require `CFG_ENABLE_VALGRIND`)
38+
# * `NO_REBUILD=1` - Don't rebootstrap when testing std
39+
# (and possibly other crates)
40+
# * `SAVE_TEMPS=1` - Use `--save-temps` flag on all `rustc` invocations
41+
# * `ASM_COMMENTS=1` - Use `-Z asm-comments`
42+
# * `TIME_PASSES=1` - Use `-Z time-passes`
43+
# * `TIME_LLVM_PASSES=1` - Use `-Z time-llvm-passes`
44+
# * `TRACE=1` - Use `-Z trace`
45+
#
46+
# This is hardly all there is to know of The Rust Build System's
47+
# mysteries. Your journey continues on the wiki[1][2].
48+
#
49+
# [1]: https://github.com/mozilla/rust/wiki/Note-build-system
50+
# [2]: https://github.com/mozilla/rust/wiki/Note-testsuite
51+
#
52+
# </help>
53+
#
54+
# # An (old) explanation of how the build is structured:
55+
#
56+
# *Note: Hey, like, this is probably inaccurate, and is definitely
57+
# an outdated and insufficient explanation of the remarkable
58+
# and discomfiting Rust Build System.*
1259
#
1360
# There are multiple build stages (0-3) needed to verify that the
1461
# compiler is properly self-hosting. Each stage is divided between
@@ -598,3 +645,9 @@ endif
598645
# header file dependencies.
599646
ALL_DEP_FILES := $(ALL_OBJ_FILES:%.o=%.d)
600647
-include $(ALL_DEP_FILES)
648+
649+
help:
650+
# Show the comments from this file as "help"
651+
# pick everything between tags | remove first line | remove last line
652+
# | remove extra (?) line | strip leading `#` from lines
653+
$(Q)awk '/<help>/,/<\/help>/' $(S)/Makefile.in | sed '1d' | sed '$$d' | sed 's/^# \?//'

branches/snap-stage3/src/librustc/back/link.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1122,6 +1122,13 @@ fn link_args(sess: Session,
11221122
args.push(~"-Wl,--allow-multiple-definition");
11231123
}
11241124

1125+
// Stack growth requires statically linking a __morestack function
1126+
args.push(~"-lmorestack");
1127+
// compiler-rt contains implementations of low-level LLVM helpers
1128+
// It should go before platform and user libraries, so it has first dibs
1129+
// at resolving symbols that also appear in libgcc.
1130+
args.push(~"-lcompiler-rt");
1131+
11251132
add_local_native_libraries(&mut args, sess);
11261133
add_upstream_rust_crates(&mut args, sess, dylib, tmpdir);
11271134
add_upstream_native_libraries(&mut args, sess);
@@ -1156,13 +1163,6 @@ fn link_args(sess: Session,
11561163
args.push_all(rpath::get_rpath_flags(sess, out_filename));
11571164
}
11581165

1159-
// Stack growth requires statically linking a __morestack function
1160-
args.push(~"-lmorestack");
1161-
// compiler-rt contains implementations of low-level LLVM helpers
1162-
// It should go before platform and user libraries, so it has first dibs
1163-
// at resolving symbols that also appear in libgcc.
1164-
args.push(~"-lcompiler-rt");
1165-
11661166
// Finally add all the linker arguments provided on the command line along
11671167
// with any #[link_args] attributes found inside the crate
11681168
args.push_all(sess.opts.cg.link_args);

branches/snap-stage3/src/librustdoc/html/render.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -418,10 +418,8 @@ impl<'a> SourceCollector<'a> {
418418
// can't have the source to it anyway.
419419
let contents = match File::open(&p).read_to_end() {
420420
Ok(r) => r,
421-
// macros from other libraries get special filenames which we can
422-
// safely ignore
423-
Err(..) if filename.starts_with("<") &&
424-
filename.ends_with("macros>") => return Ok(()),
421+
// eew macro hacks
422+
Err(..) if filename == "<std-macros>" => return Ok(()),
425423
Err(e) => return Err(e)
426424
};
427425
let contents = str::from_utf8_owned(contents).unwrap();

branches/snap-stage3/src/libstd/num/i64.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ impl CheckedSub for i64 {
6060
}
6161
}
6262

63+
// FIXME: #8449: should not be disabled on 32-bit
64+
#[cfg(target_word_size = "64")]
6365
impl CheckedMul for i64 {
6466
#[inline]
6567
fn checked_mul(&self, v: &i64) -> Option<i64> {

branches/snap-stage3/src/libstd/num/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ pub trait Int: Integer
426426
+ Bitwise
427427
+ CheckedAdd
428428
+ CheckedSub
429-
+ CheckedMul
429+
// + CheckedMul // FIXME #8849: currently not impled on 32-bit
430430
+ CheckedDiv {}
431431

432432
/// Returns the smallest power of 2 greater than or equal to `n`.

branches/snap-stage3/src/libstd/num/u64.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ impl CheckedSub for u64 {
4747
}
4848
}
4949

50+
// FIXME: #8449: should not be disabled on 32-bit
51+
#[cfg(target_word_size = "64")]
5052
impl CheckedMul for u64 {
5153
#[inline]
5254
fn checked_mul(&self, v: &u64) -> Option<u64> {

0 commit comments

Comments
 (0)