Skip to content

Commit 54da3a6

Browse files
committed
---
yaml --- r: 182649 b: refs/heads/beta c: f39297f h: refs/heads/master i: 182647: 58e680b v: v3
1 parent 8ec71e0 commit 54da3a6

File tree

457 files changed

+14855
-9346
lines changed

Some content is hidden

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

457 files changed

+14855
-9346
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ refs/heads/automation-fail: 1bf06495443584539b958873e04cc2f864ab10e4
3131
refs/heads/issue-18208-method-dispatch-3-quick-reject: 2009f85b9f99dedcec4404418eda9ddba90258a2
3232
refs/heads/batch: b7fd822592a4fb577552d93010c4a4e14f314346
3333
refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
34-
refs/heads/beta: bb7cc4eb26e87ec4cb2acdc5bc3a7d25b9c817be
34+
refs/heads/beta: f39297f9918625ff95fdd0b771902037adf069f5
3535
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928
3636
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
3737
refs/heads/tmp: eb836bf767aa1d8d4cba488a9091cde3c0ab4b2f

branches/beta/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ documentation.
2121
1. Make sure you have installed the dependencies:
2222
* `g++` 4.7 or `clang++` 3.x
2323
* `python` 2.6 or later (but not 3.x)
24+
* `perl` 5.0 or later
2425
* GNU `make` 3.81 or later
2526
* `curl`
2627
* `git`

branches/beta/configure

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,7 @@ opt optimize-tests 1 "build tests with optimizations"
509509
opt libcpp 1 "build with llvm with libc++ instead of libstdc++ when using clang"
510510
opt llvm-assertions 1 "build LLVM with assertions"
511511
opt debug 1 "build with extra debug fun"
512+
opt ratchet-bench 0 "ratchet benchmarks"
512513
opt fast-make 0 "use .gitmodules as timestamp for submodule deps"
513514
opt ccache 0 "invoke gcc/clang via ccache to reuse object files between builds"
514515
opt local-rust 0 "use an installed rustc rather than downloading a snapshot"
@@ -616,6 +617,7 @@ putvar CFG_BOOTSTRAP_KEY
616617

617618
step_msg "looking for build programs"
618619

620+
probe_need CFG_PERL perl
619621
probe_need CFG_CURLORWGET curl wget
620622
probe_need CFG_PYTHON python2.7 python2.6 python2 python
621623

@@ -645,6 +647,8 @@ probe CFG_ISCC iscc
645647
probe CFG_JAVAC javac
646648
probe CFG_ANTLR4 antlr4
647649
probe CFG_GRUN grun
650+
probe CFG_FLEX flex
651+
probe CFG_BISON bison
648652
probe CFG_PANDOC pandoc
649653
probe CFG_PDFLATEX pdflatex
650654
probe CFG_XELATEX xelatex
@@ -1373,7 +1377,7 @@ do
13731377
done
13741378

13751379
# Munge any paths that appear in config.mk back to posix-y
1376-
sed -i.bak -e 's@ \([a-zA-Z]\):[/\\]@ /\1/@g;' config.tmp
1380+
perl -i.bak -p -e 's@ ([a-zA-Z]):[/\\]@ /\1/@go;' config.tmp
13771381
rm -f config.tmp.bak
13781382

13791383
msg

branches/beta/mk/cfg/aarch64-linux-android.mk

Lines changed: 0 additions & 30 deletions
This file was deleted.

branches/beta/mk/cfg/i686-pc-windows-gnu.mk

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ CFG_LIB_NAME_i686-pc-windows-gnu=$(1).dll
88
CFG_STATIC_LIB_NAME_i686-pc-windows-gnu=$(1).lib
99
CFG_LIB_GLOB_i686-pc-windows-gnu=$(1)-*.dll
1010
CFG_LIB_DSYM_GLOB_i686-pc-windows-gnu=$(1)-*.dylib.dSYM
11-
CFG_JEMALLOC_CFLAGS_i686-pc-windows-gnu := -march=i686 -m32 -D_WIN32_WINNT=0x0600 -D__USE_MINGW_ANSI_STDIO=1 $(CFLAGS)
12-
CFG_GCCISH_CFLAGS_i686-pc-windows-gnu := -Wall -Werror -g -m32 -D_WIN32_WINNT=0x0600 -D__USE_MINGW_ANSI_STDIO=1 $(CFLAGS)
11+
CFG_JEMALLOC_CFLAGS_i686-pc-windows-gnu := -march=i686 -m32 -D_WIN32_WINNT=0x0600 $(CFLAGS)
12+
CFG_GCCISH_CFLAGS_i686-pc-windows-gnu := -Wall -Werror -g -m32 -D_WIN32_WINNT=0x0600 $(CFLAGS)
1313
CFG_GCCISH_CXXFLAGS_i686-pc-windows-gnu := -fno-rtti $(CXXFLAGS)
1414
CFG_GCCISH_LINK_FLAGS_i686-pc-windows-gnu := -shared -g -m32
1515
CFG_GCCISH_DEF_FLAG_i686-pc-windows-gnu :=
@@ -22,7 +22,7 @@ CFG_EXE_SUFFIX_i686-pc-windows-gnu := .exe
2222
CFG_WINDOWSY_i686-pc-windows-gnu := 1
2323
CFG_UNIXY_i686-pc-windows-gnu :=
2424
CFG_PATH_MUNGE_i686-pc-windows-gnu :=
25-
CFG_LDPATH_i686-pc-windows-gnu :=
26-
CFG_RUN_i686-pc-windows-gnu=$(2)
27-
CFG_RUN_TARG_i686-pc-windows-gnu=$(call CFG_RUN_i686-pc-windows-gnu,,$(2))
25+
CFG_LDPATH_i686-pc-windows-gnu :=$(CFG_LDPATH_i686-pc-windows-gnu):$(PATH)
26+
CFG_RUN_i686-pc-windows-gnu=PATH="$(CFG_LDPATH_i686-pc-windows-gnu):$(1)" $(2)
27+
CFG_RUN_TARG_i686-pc-windows-gnu=$(call CFG_RUN_i686-pc-windows-gnu,$(HLIB$(1)_H_$(CFG_BUILD)),$(2))
2828
CFG_GNU_TRIPLE_i686-pc-windows-gnu := i686-w64-mingw32

branches/beta/mk/cfg/x86_64-pc-windows-gnu.mk

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ CFG_LIB_NAME_x86_64-pc-windows-gnu=$(1).dll
88
CFG_STATIC_LIB_NAME_x86_64-pc-windows-gnu=$(1).lib
99
CFG_LIB_GLOB_x86_64-pc-windows-gnu=$(1)-*.dll
1010
CFG_LIB_DSYM_GLOB_x86_64-pc-windows-gnu=$(1)-*.dylib.dSYM
11-
CFG_JEMALLOC_CFLAGS_x86_64-pc-windows-gnu := -m64 -D_WIN32_WINNT=0x0600 -D__USE_MINGW_ANSI_STDIO=1 $(CFLAGS)
12-
CFG_GCCISH_CFLAGS_x86_64-pc-windows-gnu := -Wall -Werror -g -m64 -D_WIN32_WINNT=0x0600 -D__USE_MINGW_ANSI_STDIO=1 $(CFLAGS)
11+
CFG_JEMALLOC_CFLAGS_x86_64-pc-windows-gnu := -m64 -D_WIN32_WINNT=0x0600 $(CFLAGS)
12+
CFG_GCCISH_CFLAGS_x86_64-pc-windows-gnu := -Wall -Werror -g -m64 -D_WIN32_WINNT=0x0600 $(CFLAGS)
1313
CFG_GCCISH_CXXFLAGS_x86_64-pc-windows-gnu := -fno-rtti $(CXXFLAGS)
1414
CFG_GCCISH_LINK_FLAGS_x86_64-pc-windows-gnu := -shared -g -m64
1515
CFG_GCCISH_DEF_FLAG_x86_64-pc-windows-gnu :=
@@ -22,7 +22,7 @@ CFG_EXE_SUFFIX_x86_64-pc-windows-gnu := .exe
2222
CFG_WINDOWSY_x86_64-pc-windows-gnu := 1
2323
CFG_UNIXY_x86_64-pc-windows-gnu :=
2424
CFG_PATH_MUNGE_x86_64-pc-windows-gnu :=
25-
CFG_LDPATH_x86_64-pc-windows-gnu :=
26-
CFG_RUN_x86_64-pc-windows-gnu=$(2)
27-
CFG_RUN_TARG_x86_64-pc-windows-gnu=$(call CFG_RUN_x86_64-pc-windows-gnu,,$(2))
25+
CFG_LDPATH_x86_64-pc-windows-gnu :=$(CFG_LDPATH_x86_64-pc-windows-gnu):$(PATH)
26+
CFG_RUN_x86_64-pc-windows-gnu=PATH="$(CFG_LDPATH_x86_64-pc-windows-gnu):$(1)" $(2)
27+
CFG_RUN_TARG_x86_64-pc-windows-gnu=$(call CFG_RUN_x86_64-pc-windows-gnu,$(HLIB$(1)_H_$(CFG_BUILD)),$(2))
2828
CFG_GNU_TRIPLE_x86_64-pc-windows-gnu := x86_64-w64-mingw32

branches/beta/mk/crates.mk

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151

5252
TARGET_CRATES := libc std flate arena term \
5353
serialize getopts collections test rand \
54-
log graphviz core rbml alloc \
54+
log regex graphviz core rbml alloc \
5555
unicode rustc_bitflags
5656
RUSTC_CRATES := rustc rustc_typeck rustc_borrowck rustc_resolve rustc_driver \
5757
rustc_trans rustc_back rustc_llvm rustc_privacy
@@ -95,15 +95,16 @@ DEPS_term := std log
9595
DEPS_getopts := std
9696
DEPS_collections := core alloc unicode
9797
DEPS_num := std
98-
DEPS_test := std getopts serialize rbml term native:rust_test_helpers
98+
DEPS_test := std getopts serialize rbml term regex native:rust_test_helpers
9999
DEPS_rand := core
100-
DEPS_log := std
100+
DEPS_log := std regex
101+
DEPS_regex := std
101102
DEPS_fmt_macros = std
102103

103104
TOOL_DEPS_compiletest := test getopts
104105
TOOL_DEPS_rustdoc := rustdoc
105106
TOOL_DEPS_rustc := rustc_driver
106-
TOOL_DEPS_rustbook := std rustdoc
107+
TOOL_DEPS_rustbook := std regex rustdoc
107108
TOOL_SOURCE_compiletest := $(S)src/compiletest/compiletest.rs
108109
TOOL_SOURCE_rustdoc := $(S)src/driver/driver.rs
109110
TOOL_SOURCE_rustc := $(S)src/driver/driver.rs
@@ -129,8 +130,9 @@ DOC_CRATES := $(filter-out rustc, \
129130
$(filter-out rustc_driver, \
130131
$(filter-out rustc_privacy, \
131132
$(filter-out log, \
133+
$(filter-out regex, \
132134
$(filter-out getopts, \
133-
$(filter-out syntax, $(CRATES)))))))))))
135+
$(filter-out syntax, $(CRATES))))))))))))
134136
COMPILER_DOC_CRATES := rustc rustc_trans rustc_borrowck rustc_resolve \
135137
rustc_typeck rustc_driver syntax rustc_privacy
136138

branches/beta/mk/grammar.mk

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ B = $(CFG_BUILD_DIR)/$(CFG_BUILD)/stage2/
1414
L = $(B)lib/rustlib/$(CFG_BUILD)/lib
1515
LD = $(CFG_BUILD)/stage2/lib/rustlib/$(CFG_BUILD)/lib/
1616
RUSTC = $(STAGE2_T_$(CFG_BUILD)_H_$(CFG_BUILD))
17+
ifeq ($(CFG_OSTYPE),apple-darwin)
18+
FLEX_LDFLAGS=-ll
19+
else
20+
FLEX_LDFLAGS=-lfl
21+
endif
1722

1823
# Run the reference lexer against libsyntax and compare the tokens and spans.
1924
# If "// ignore-lexer-test" is present in the file, it will be ignored.
@@ -67,3 +72,46 @@ $(info cfg: javac not available, skipping lexer test...)
6772
check-lexer:
6873

6974
endif
75+
76+
$(BG)lex.yy.c: $(SG)lexer.l $(BG)
77+
@$(call E, flex: $@)
78+
$(Q)$(CFG_FLEX) -o $@ $<
79+
80+
$(BG)lexer-lalr.o: $(BG)lex.yy.c $(BG)parser-lalr.tab.h
81+
@$(call E, cc: $@)
82+
$(Q)$(CFG_CC) -include $(BG)parser-lalr.tab.h -c -o $@ $<
83+
84+
$(BG)parser-lalr.tab.c $(BG)parser-lalr.tab.h: $(SG)parser-lalr.y
85+
@$(call E, bison: $@)
86+
$(Q)$(CFG_BISON) $< --output=$(BG)parser-lalr.tab.c --defines=$(BG)parser-lalr.tab.h \
87+
--name-prefix=rs --warnings=error=all
88+
89+
$(BG)parser-lalr.o: $(BG)parser-lalr.tab.c
90+
@$(call E, cc: $@)
91+
$(Q)$(CFG_CC) -c -o $@ $<
92+
93+
$(BG)parser-lalr-main.o: $(SG)parser-lalr-main.c
94+
@$(call E, cc: $@)
95+
$(Q)$(CFG_CC) -std=c99 -c -o $@ $<
96+
97+
$(BG)parser-lalr: $(BG)parser-lalr.o $(BG)parser-lalr-main.o $(BG)lexer-lalr.o
98+
@$(call E, cc: $@)
99+
$(Q)$(CFG_CC) -o $@ $^ $(FLEX_LDFLAGS)
100+
101+
102+
ifdef CFG_FLEX
103+
ifdef CFG_BISON
104+
check-grammar: $(BG) $(BG)parser-lalr
105+
$(info Verifying grammar ...)
106+
$(SG)testparser.py -p $(BG)parser-lalr -s $(S)src
107+
108+
else
109+
$(info cfg: bison not available, skipping parser test...)
110+
check-grammar:
111+
112+
endif
113+
else
114+
$(info cfg: flex not available, skipping parser test...)
115+
check-grammar:
116+
117+
endif

branches/beta/mk/rt.mk

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,6 @@ else ifeq ($(OSTYPE_$(1)), apple-ios)
141141
JEMALLOC_ARGS_$(1) := --disable-tls
142142
else ifeq ($(OSTYPE_$(1)), linux-androideabi)
143143
JEMALLOC_ARGS_$(1) := --disable-tls
144-
else ifeq ($(OSTYPE_$(1)), linux-android)
145-
JEMALLOC_ARGS_$(1) := --disable-tls
146144
endif
147145

148146
################################################################################

branches/beta/mk/tests.mk

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,6 @@ tidy:
300300
| grep '^$(S)src/libbacktrace' -v \
301301
| grep '^$(S)src/rust-installer' -v \
302302
| xargs $(CFG_PYTHON) $(S)src/etc/check-binaries.py
303-
$(Q) $(CFG_PYTHON) $(S)src/etc/errorck.py $(S)src/
304303

305304

306305
endif

branches/beta/src/compiletest/common.rs

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ pub use self::Mode::*;
1111

1212
use std::fmt;
1313
use std::str::FromStr;
14+
use regex::Regex;
1415

15-
#[derive(Clone, PartialEq, Debug)]
16+
#[derive(Clone, PartialEq)]
1617
pub enum Mode {
1718
CompileFail,
1819
RunFail,
@@ -42,9 +43,9 @@ impl FromStr for Mode {
4243
}
4344
}
4445

45-
impl fmt::Display for Mode {
46+
impl fmt::String for Mode {
4647
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
47-
fmt::Display::fmt(match *self {
48+
fmt::String::fmt(match *self {
4849
CompileFail => "compile-fail",
4950
RunFail => "run-fail",
5051
RunPass => "run-pass",
@@ -57,6 +58,12 @@ impl fmt::Display for Mode {
5758
}
5859
}
5960

61+
impl fmt::Show for Mode {
62+
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
63+
fmt::String::fmt(self, f)
64+
}
65+
}
66+
6067
#[derive(Clone)]
6168
pub struct Config {
6269
// The library paths required for running the compiler
@@ -100,11 +107,28 @@ pub struct Config {
100107
pub run_ignored: bool,
101108

102109
// Only run tests that match this filter
103-
pub filter: Option<String>,
110+
pub filter: Option<Regex>,
111+
112+
// Precompiled regex for finding expected errors in cfail
113+
pub cfail_regex: Regex,
104114

105115
// Write out a parseable log of tests that were run
106116
pub logfile: Option<Path>,
107117

118+
// Write out a json file containing any metrics of the run
119+
pub save_metrics: Option<Path>,
120+
121+
// Write and ratchet a metrics file
122+
pub ratchet_metrics: Option<Path>,
123+
124+
// Percent change in metrics to consider noise
125+
pub ratchet_noise_percent: Option<f64>,
126+
127+
// "Shard" of the testsuite to pub run: this has the form of
128+
// two numbers (a,b), and causes only those tests with
129+
// positional order equal to a mod b to run.
130+
pub test_shard: Option<(uint,uint)>,
131+
108132
// A command line to prefix program execution with,
109133
// for running under valgrind
110134
pub runtool: Option<String>,

0 commit comments

Comments
 (0)