Skip to content

Commit 4ec4632

Browse files
committed
---
yaml --- r: 162607 b: refs/heads/try c: 4156bc4 h: refs/heads/master i: 162605: da7ea06 162603: 8230783 162599: 597c946 162591: 939c1d3 v: v3
1 parent db3d710 commit 4ec4632

File tree

285 files changed

+3155
-6556
lines changed

Some content is hidden

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

285 files changed

+3155
-6556
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 9146a919b616e39e528e4d7100d16eef52f1f852
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: cafe2966770ff377aad6dd9fd808e68055587c58
5-
refs/heads/try: 8d7b3199d9a285b66b4f9a49d97234c956cb5e6c
5+
refs/heads/try: 4156bc44176d93296a0f1834690dd9792390cec6
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
88
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596

branches/try/AUTHORS.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ Cole Mickens <[email protected]>
121121
Colin Davidson <[email protected]>
122122
Colin Sherratt <[email protected]>
123123
Conrad Kleinespel <[email protected]>
124-
Corey Farwell <[email protected]>
125124
Corey Ford <[email protected]>
126125
Corey Richardson <[email protected]>
127126

branches/try/configure

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -546,27 +546,13 @@ CFG_TARGET=$(to_llvm_triple $CFG_TARGET)
546546
# there's no rpath. This is where the build system itself puts libraries;
547547
# --libdir is used to configure the installation directory.
548548
# FIXME: This needs to parameterized over target triples. Do it in platform.mk
549+
CFG_LIBDIR_RELATIVE=lib
549550
if [ "$CFG_OSTYPE" = "pc-windows-gnu" ]
550551
then
551552
CFG_LIBDIR_RELATIVE=bin
552-
else
553-
CFG_LIBDIR_RELATIVE=lib
554553
fi
555554

556-
valopt libdir "${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}" "install libraries (do not set it on windows platform)"
557-
558-
case "$CFG_LIBDIR" in
559-
"$CFG_PREFIX"/*) CAT_INC=2;;
560-
"$CFG_PREFIX"*) CAT_INC=1;;
561-
*)
562-
err "libdir must begin with the prefix. Use --prefix to set it accordingly.";;
563-
esac
564-
565-
CFG_LIBDIR_RELATIVE=`echo ${CFG_LIBDIR} | cut -c$((${#CFG_PREFIX}+${CAT_INC}))-`
566-
567-
if [ "$CFG_OSTYPE" = "pc-windows-gnu" ] && [ "$CFG_LIBDIR_RELATIVE" != "bin" ]; then
568-
err "libdir on windows should be set to 'bin'"
569-
fi
555+
valopt libdir "${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}" "install libraries"
570556

571557
if [ $HELP -eq 1 ]
572558
then
@@ -715,6 +701,11 @@ then
715701
fi
716702
step_msg "using rustc at: ${CFG_LOCAL_RUST_ROOT} with version: $LRV"
717703
putvar CFG_LOCAL_RUST_ROOT
704+
else
705+
if [ ! -z "$CFG_LOCAL_RUST_ROOT" ]
706+
then
707+
warn "Use of --local-rust-root without --enable-local-rust"
708+
fi
718709
fi
719710

720711
# Force freebsd to build with clang; gcc doesn't like us there
@@ -892,10 +883,7 @@ CFG_PREFIX=${CFG_PREFIX%/}
892883
CFG_MANDIR=${CFG_MANDIR%/}
893884
CFG_HOST="$(echo $CFG_HOST | tr ',' ' ')"
894885
CFG_TARGET="$(echo $CFG_TARGET | tr ',' ' ')"
895-
CFG_SUPPORTED_TARGET=""
896-
for target_file in ${CFG_SRC_DIR}mk/cfg/*.mk; do
897-
CFG_SUPPORTED_TARGET="${CFG_SUPPORTED_TARGET} $(basename "$target_file" .mk)"
898-
done
886+
CFG_SUPPORTED_TARGET="$(ls ${CFG_SRC_DIR}mk/cfg)"
899887

900888
# copy host-triples to target-triples so that hosts are a subset of targets
901889
V_TEMP=""
@@ -1001,15 +989,6 @@ for h in $CFG_HOST
1001989
do
1002990
for t in $CFG_TARGET
1003991
do
1004-
# host lib dir stage0
1005-
make_dir $h/stage0/lib
1006-
1007-
# target bin dir stage0
1008-
make_dir $h/stage0/lib/rustlib/$t/bin
1009-
1010-
# target lib dir stage0
1011-
make_dir $h/stage0/lib/rustlib/$t/lib
1012-
1013992
for i in 0 1 2 3
1014993
do
1015994
# host bin dir

branches/try/mk/crates.mk

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
################################################################################
5151

5252
TARGET_CRATES := libc std flate arena term \
53-
serialize getopts collections test time rand \
53+
serialize sync getopts collections test time rand \
5454
log regex graphviz core rbml alloc rustrt \
5555
unicode
5656
HOST_CRATES := syntax rustc rustc_trans rustdoc regex_macros fmt_macros \
@@ -63,7 +63,7 @@ DEPS_libc := core
6363
DEPS_unicode := core
6464
DEPS_alloc := core libc native:jemalloc
6565
DEPS_rustrt := alloc core libc collections native:rustrt_native
66-
DEPS_std := core libc rand alloc collections rustrt unicode \
66+
DEPS_std := core libc rand alloc collections rustrt sync unicode \
6767
native:rust_builtin native:backtrace
6868
DEPS_graphviz := std
6969
DEPS_syntax := std term serialize log fmt_macros arena libc
@@ -81,6 +81,7 @@ DEPS_glob := std
8181
DEPS_serialize := std log
8282
DEPS_rbml := std log serialize
8383
DEPS_term := std log
84+
DEPS_sync := core alloc rustrt collections
8485
DEPS_getopts := std
8586
DEPS_collections := core alloc unicode
8687
DEPS_num := std

branches/try/mk/main.mk

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -190,14 +190,11 @@ endif
190190
# Target-and-rule "utility variables"
191191
######################################################################
192192

193-
define DEF_FOR_TARGET
193+
define DEF_X
194194
X_$(1) := $(CFG_EXE_SUFFIX_$(1))
195-
ifndef CFG_LLVM_TARGET_$(1)
196-
CFG_LLVM_TARGET_$(1) := $(1)
197-
endif
198195
endef
199196
$(foreach target,$(CFG_TARGET), \
200-
$(eval $(call DEF_FOR_TARGET,$(target))))
197+
$(eval $(call DEF_X,$(target))))
201198

202199
# "Source" files we generate in builddir along the way.
203200
GENERATED :=
@@ -335,15 +332,7 @@ define SREQ
335332
# Destinations of artifacts for the host compiler
336333
HROOT$(1)_H_$(3) = $(3)/stage$(1)
337334
HBIN$(1)_H_$(3) = $$(HROOT$(1)_H_$(3))/bin
338-
ifeq ($$(CFG_WINDOWSY_$(3)),1)
339-
HLIB$(1)_H_$(3) = $$(HROOT$(1)_H_$(3))/$$(CFG_LIBDIR_RELATIVE)
340-
else
341-
ifeq ($(1),0)
342-
HLIB$(1)_H_$(3) = $$(HROOT$(1)_H_$(3))/lib
343-
else
344335
HLIB$(1)_H_$(3) = $$(HROOT$(1)_H_$(3))/$$(CFG_LIBDIR_RELATIVE)
345-
endif
346-
endif
347336

348337
# Destinations of artifacts for target architectures
349338
TROOT$(1)_T_$(2)_H_$(3) = $$(HLIB$(1)_H_$(3))/rustlib/$(2)

branches/try/mk/platform.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ $(foreach cvar,CC CXX CPP CFLAGS CXXFLAGS CPPFLAGS, \
113113

114114
CFG_RLIB_GLOB=lib$(1)-*.rlib
115115

116-
include $(wildcard $(CFG_SRC_DIR)mk/cfg/*.mk)
116+
include $(wildcard $(CFG_SRC_DIR)mk/cfg/*)
117117

118118
# The -Qunused-arguments sidesteps spurious warnings from clang
119119
define FILTER_FLAGS

branches/try/mk/rt.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ $$(RT_OUTPUT_DIR_$(1))/%.o: $(S)src/rt/%.ll $$(MKFILE_DEPS) \
7575
@mkdir -p $$(@D)
7676
@$$(call E, compile: $$@)
7777
$$(Q)$$(LLC_$$(CFG_BUILD)) $$(CFG_LLC_FLAGS_$(1)) \
78-
-filetype=obj -mtriple=$$(CFG_LLVM_TARGET_$(1)) -relocation-model=pic -o $$@ $$<
78+
-filetype=obj -mtriple=$(1) -relocation-model=pic -o $$@ $$<
7979

8080
$$(RT_OUTPUT_DIR_$(1))/%.o: $(S)src/rt/%.c $$(MKFILE_DEPS)
8181
@mkdir -p $$(@D)

branches/try/mk/stage0.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ ifdef CFG_ENABLE_LOCAL_RUST
2222
else
2323
$(Q)$(CFG_PYTHON) $(S)src/etc/get-snapshot.py $(CFG_BUILD) $(SNAPSHOT_FILE)
2424
endif
25-
$(Q)if [ -e "$@" ]; then touch "$@"; else echo "ERROR: snapshot $@ not found"; exit 1; fi
25+
$(Q)touch $@
2626

2727
# For other targets, let the host build the target:
2828

branches/try/mk/target.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ $$(TBIN$(1)_T_$(2)_H_$(3))/$(4)$$(X_$(2)): \
116116
$$(foreach dep,$$(TOOL_DEPS_$(4)), \
117117
$$(TLIB$(1)_T_$(2)_H_$(3))/stamp.$$(dep)) \
118118
$$(TSREQ$(1)_T_$(2)_H_$(3)) \
119-
| $$(TBIN$(1)_T_$(2)_H_$(3))/
119+
| $$(TBIN$(1)_T_$(4)_H_$(3))/
120120
@$$(call E, rustc: $$@)
121121
$$(STAGE$(1)_T_$(2)_H_$(3)) -o $$@ $$< --cfg $(4)
122122

branches/try/src/compiletest/errors.rs

Lines changed: 10 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
10-
use self::WhichLine::*;
1110

12-
use std::ascii::AsciiExt;
1311
use std::io::{BufferedReader, File};
1412
use regex::Regex;
1513

@@ -19,74 +17,28 @@ pub struct ExpectedError {
1917
pub msg: String,
2018
}
2119

22-
/// Looks for either "//~| KIND MESSAGE" or "//~^^... KIND MESSAGE"
23-
/// The former is a "follow" that inherits its target from the preceding line;
24-
/// the latter is an "adjusts" that goes that many lines up.
25-
///
26-
/// Goal is to enable tests both like: //~^^^ ERROR go up three
27-
/// and also //~^ ERROR message one for the preceding line, and
28-
/// //~| ERROR message two for that same line.
29-
30-
pub static EXPECTED_PATTERN : &'static str =
31-
r"//~(?P<follow>\|)?(?P<adjusts>\^*)\s*(?P<kind>\S*)\s*(?P<msg>.*)";
32-
33-
#[deriving(PartialEq, Show)]
34-
enum WhichLine { ThisLine, FollowPrevious(uint), AdjustBackward(uint) }
20+
pub static EXPECTED_PATTERN : &'static str = r"//~(?P<adjusts>\^*)\s*(?P<kind>\S*)\s*(?P<msg>.*)";
3521

3622
// Load any test directives embedded in the file
3723
pub fn load_errors(re: &Regex, testfile: &Path) -> Vec<ExpectedError> {
3824
let mut rdr = BufferedReader::new(File::open(testfile).unwrap());
3925

40-
// `last_nonfollow_error` tracks the most recently seen
41-
// line with an error template that did not use the
42-
// follow-syntax, "//~| ...".
43-
//
44-
// (pnkfelix could not find an easy way to compose Iterator::scan
45-
// and Iterator::filter_map to pass along this information into
46-
// `parse_expected`. So instead I am storing that state here and
47-
// updating it in the map callback below.)
48-
let mut last_nonfollow_error = None;
49-
5026
rdr.lines().enumerate().filter_map(|(line_no, ln)| {
51-
parse_expected(last_nonfollow_error,
52-
line_no + 1,
53-
ln.unwrap().as_slice(), re)
54-
.map(|(which, error)| {
55-
match which {
56-
FollowPrevious(_) => {}
57-
_ => last_nonfollow_error = Some(error.line),
58-
}
59-
error
60-
})
27+
parse_expected(line_no + 1, ln.unwrap().as_slice(), re)
6128
}).collect()
6229
}
6330

64-
fn parse_expected(last_nonfollow_error: Option<uint>,
65-
line_num: uint,
66-
line: &str,
67-
re: &Regex) -> Option<(WhichLine, ExpectedError)> {
31+
fn parse_expected(line_num: uint, line: &str, re: &Regex) -> Option<ExpectedError> {
6832
re.captures(line).and_then(|caps| {
6933
let adjusts = caps.name("adjusts").len();
70-
let kind = caps.name("kind").to_ascii_lower();
34+
let kind = caps.name("kind").to_ascii().to_lowercase().into_string();
7135
let msg = caps.name("msg").trim().to_string();
72-
let follow = caps.name("follow").len() > 0;
73-
74-
let (which, line) = if follow {
75-
assert!(adjusts == 0, "use either //~| or //~^, not both.");
76-
let line = last_nonfollow_error.unwrap_or_else(|| {
77-
panic!("encountered //~| without preceding //~^ line.")
78-
});
79-
(FollowPrevious(line), line)
80-
} else {
81-
let which =
82-
if adjusts > 0 { AdjustBackward(adjusts) } else { ThisLine };
83-
let line = line_num - adjusts;
84-
(which, line)
85-
};
8636

87-
debug!("line={} which={} kind={} msg={}", line_num, which, kind, msg);
88-
Some((which, ExpectedError { line: line,
89-
kind: kind,
90-
msg: msg, }))
37+
debug!("line={} kind={} msg={}", line_num, kind, msg);
38+
Some(ExpectedError {
39+
line: line_num - adjusts,
40+
kind: kind,
41+
msg: msg,
42+
})
9143
})
9244
}

branches/try/src/compiletest/runtest.rs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
10-
10+
#[cfg(not(stage0))]
1111
use self::TargetLocation::*;
1212

1313
use common::Config;
@@ -990,7 +990,7 @@ fn check_expected_errors(expected_errors: Vec<errors::ExpectedError> ,
990990
let i = s.chars();
991991
let c : Vec<char> = i.map( |c| {
992992
if c.is_ascii() {
993-
c.to_ascii().to_lowercase().as_char()
993+
c.to_ascii().to_lowercase().to_char()
994994
} else {
995995
c
996996
}
@@ -1161,7 +1161,7 @@ fn compile_test_(config: &Config, props: &TestProps,
11611161
let args = make_compile_args(config,
11621162
props,
11631163
link_args,
1164-
|a, b| TargetLocation::ThisFile(make_exe_name(a, b)), testfile);
1164+
|a, b| ThisFile(make_exe_name(a, b)), testfile);
11651165
compose_and_run_compiler(config, props, testfile, args, None)
11661166
}
11671167

@@ -1219,7 +1219,7 @@ fn compose_and_run_compiler(
12191219
crate_type,
12201220
|a,b| {
12211221
let f = make_lib_name(a, b, testfile);
1222-
TargetLocation::ThisDirectory(f.dir_path())
1222+
ThisDirectory(f.dir_path())
12231223
},
12241224
&abs_ab);
12251225
let auxres = compose_and_run(config,
@@ -1296,11 +1296,11 @@ fn make_compile_args(config: &Config,
12961296
args.push("prefer-dynamic".to_string());
12971297
}
12981298
let path = match xform_file {
1299-
TargetLocation::ThisFile(path) => {
1299+
ThisFile(path) => {
13001300
args.push("-o".to_string());
13011301
path
13021302
}
1303-
TargetLocation::ThisDirectory(path) => {
1303+
ThisDirectory(path) => {
13041304
args.push("--out-dir".to_string());
13051305
path
13061306
}
@@ -1566,7 +1566,7 @@ fn _arm_exec_compiled_test(config: &Config,
15661566

15671567
let mut exitcode: int = 0;
15681568
for c in exitcode_out.as_slice().chars() {
1569-
if !c.is_numeric() { break; }
1569+
if !c.is_digit() { break; }
15701570
exitcode = exitcode * 10 + match c {
15711571
'0' ... '9' => c as int - ('0' as int),
15721572
_ => 101,
@@ -1672,8 +1672,7 @@ fn compile_test_and_save_bitcode(config: &Config, props: &TestProps,
16721672
let args = make_compile_args(config,
16731673
props,
16741674
link_args,
1675-
|a, b| TargetLocation::ThisDirectory(
1676-
output_base_name(a, b).dir_path()),
1675+
|a, b| ThisDirectory(output_base_name(a, b).dir_path()),
16771676
testfile);
16781677
compose_and_run_compiler(config, props, testfile, args, None)
16791678
}

branches/try/src/doc/guide.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3144,8 +3144,8 @@ pub fn add_three_times_four(x: int) -> int {
31443144
}
31453145
```
31463146

3147-
We're calling this file `lib.rs`, because Cargo uses that filename as the crate
3148-
root by convention.
3147+
We're calling this file `lib.rs` because it has the same name as our project,
3148+
and so it's named this, by convention.
31493149

31503150
We'll then need to use this crate in our `src/main.rs`:
31513151

branches/try/src/doc/reference.md

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1334,12 +1334,7 @@ specific type; the type-specified aspects of a value include:
13341334
For example, the type `(u8, u8)` defines the set of immutable values that are
13351335
composite pairs, each containing two unsigned 8-bit integers accessed by
13361336
pattern-matching and laid out in memory with the `x` component preceding the
1337-
`y` component:
1338-
1339-
```
1340-
type Point = (u8, u8);
1341-
let p: Point = (41, 68);
1342-
```
1337+
`y` component.
13431338

13441339
### Structures
13451340

@@ -1689,20 +1684,7 @@ methods in such an implementation can only be used as direct calls on the
16891684
values of the type that the implementation targets. In such an implementation,
16901685
the trait type and `for` after `impl` are omitted. Such implementations are
16911686
limited to nominal types (enums, structs), and the implementation must appear
1692-
in the same module or a sub-module as the `self` type:
1693-
1694-
```
1695-
struct Point {x: int, y: int}
1696-
1697-
impl Point {
1698-
fn log(&self) {
1699-
println!("Point is at ({}, {})", self.x, self.y);
1700-
}
1701-
}
1702-
1703-
let my_point = Point {x: 10, y:11};
1704-
my_point.log();
1705-
```
1687+
in the same module or a sub-module as the `self` type.
17061688

17071689
When a trait _is_ specified in an `impl`, all methods declared as part of the
17081690
trait must be implemented, with matching types and type parameter counts.

0 commit comments

Comments
 (0)