Skip to content

Commit 47bb1c0

Browse files
committed
---
yaml --- r: 179878 b: refs/heads/snap-stage3 c: dff8182 h: refs/heads/master v: v3
1 parent 58ab4de commit 47bb1c0

File tree

523 files changed

+8090
-3878
lines changed

Some content is hidden

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

523 files changed

+8090
-3878
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: 5936278ed6bef736f6eb8c0dd4d650fd8e10461b
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: 00d1873c4729f1e8c109b64a7eeb87877f075279
4+
refs/heads/snap-stage3: dff8182ed259e28ecc0b8ce1a49cf7821332f242
55
refs/heads/try: ccf8fedf1cffcb8f6f3581d53d220039e192fe77
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d

branches/snap-stage3/Makefile.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@
5959
# * check-stage$(stage)-$(crate) - Test a crate in a specific stage
6060
# * check-stage$(stage)-{rpass,rfail,cfail,rmake,...} - Run tests in src/test/
6161
# * check-stage1-T-$(target)-H-$(host) - Run cross-compiled-tests
62+
# * tidy-basic - show file / line stats
63+
# * tidy-errors - show the highest rustc error code
64+
# * tidy-features - show the status of language and lib features
6265
#
6366
# Then mix in some of these environment variables to harness the
6467
# ultimate power of The Rust Build System.

branches/snap-stage3/configure

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -653,9 +653,7 @@ probe CFG_GRUN grun
653653
probe CFG_FLEX flex
654654
probe CFG_BISON bison
655655
probe CFG_PANDOC pandoc
656-
probe CFG_PDFLATEX pdflatex
657656
probe CFG_XELATEX xelatex
658-
probe CFG_LUALATEX lualatex
659657
probe CFG_GDB gdb
660658
probe CFG_LLDB lldb
661659

branches/snap-stage3/mk/docs.mk

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -85,27 +85,16 @@ else
8585
HTML_DEPS :=
8686
endif
8787

88-
# Check for the various external utilities for the EPUB/PDF docs:
89-
90-
ifeq ($(CFG_LUALATEX),)
91-
$(info cfg: no lualatex found, deferring to xelatex)
92-
ifeq ($(CFG_XELATEX),)
93-
$(info cfg: no xelatex found, deferring to pdflatex)
94-
ifeq ($(CFG_PDFLATEX),)
95-
$(info cfg: no pdflatex found, disabling LaTeX docs)
96-
NO_PDF_DOCS = 1
97-
else
98-
CFG_LATEX := $(CFG_PDFLATEX)
99-
endif
100-
else
88+
# Check for xelatex
89+
90+
ifeq ($(CFG_XELATEX),)
10191
CFG_LATEX := $(CFG_XELATEX)
10292
XELATEX = 1
103-
endif
104-
else
105-
CFG_LATEX := $(CFG_LUALATEX)
93+
else
94+
$(info cfg: no xelatex found, disabling LaTeX docs)
95+
NO_PDF_DOCS = 1
10696
endif
10797

108-
10998
ifeq ($(CFG_PANDOC),)
11099
$(info cfg: no pandoc found, omitting PDF and EPUB docs)
111100
ONLY_HTML_DOCS = 1

branches/snap-stage3/mk/main.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ endif
7272
# numbers and dots here
7373
CFG_VERSION_WIN = $(CFG_RELEASE_NUM)
7474

75+
CFG_INFO := $(info cfg: version $(CFG_VERSION))
7576

7677
######################################################################
7778
# More configuration
@@ -179,6 +180,7 @@ endif
179180

180181
ifndef CFG_DISABLE_VALGRIND_RPASS
181182
$(info cfg: enabling valgrind run-pass tests (CFG_ENABLE_VALGRIND_RPASS))
183+
$(info cfg: valgrind-rpass command set to $(CFG_VALGRIND))
182184
CFG_VALGRIND_RPASS :=$(CFG_VALGRIND)
183185
else
184186
CFG_VALGRIND_RPASS :=

branches/snap-stage3/mk/tests.mk

Lines changed: 25 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,8 @@ $(foreach file,$(wildcard $(S)src/doc/trpl/*.md), \
162162
######################################################################
163163

164164
# The main testing target. Tests lots of stuff.
165-
check: cleantmptestlogs cleantestlibs check-notidy tidy
165+
check: cleantmptestlogs cleantestlibs all check-stage2 tidy
166+
$(Q)$(CFG_PYTHON) $(S)src/etc/check-summary.py tmp/*.log
166167

167168
# As above but don't bother running tidy.
168169
check-notidy: cleantmptestlogs cleantestlibs all check-stage2
@@ -235,57 +236,24 @@ cleantestlibs:
235236
######################################################################
236237

237238
ifdef CFG_NOTIDY
239+
.PHONY: tidy
238240
tidy:
239241
else
240242

241-
ALL_CS := $(wildcard $(S)src/rt/*.cpp \
242-
$(S)src/rt/*/*.cpp \
243-
$(S)src/rt/*/*/*.cpp \
244-
$(S)src/rustllvm/*.cpp)
245-
ALL_CS := $(filter-out $(S)src/rt/miniz.cpp \
246-
$(wildcard $(S)src/rt/hoedown/src/*.c) \
247-
$(wildcard $(S)src/rt/hoedown/bin/*.c) \
248-
,$(ALL_CS))
249-
ALL_HS := $(wildcard $(S)src/rt/*.h \
250-
$(S)src/rt/*/*.h \
251-
$(S)src/rt/*/*/*.h \
252-
$(S)src/rustllvm/*.h)
253-
ALL_HS := $(filter-out $(S)src/rt/valgrind/valgrind.h \
254-
$(S)src/rt/valgrind/memcheck.h \
255-
$(S)src/rt/msvc/typeof.h \
256-
$(S)src/rt/msvc/stdint.h \
257-
$(S)src/rt/msvc/inttypes.h \
258-
$(wildcard $(S)src/rt/hoedown/src/*.h) \
259-
$(wildcard $(S)src/rt/hoedown/bin/*.h) \
260-
,$(ALL_HS))
261-
262243
# Run the tidy script in multiple parts to avoid huge 'echo' commands
263-
tidy:
244+
.PHONY: tidy
245+
tidy: tidy-basic tidy-binaries tidy-errors tidy-features
246+
247+
endif
248+
249+
.PHONY: tidy-basic
250+
tidy-basic:
264251
@$(call E, check: formatting)
265-
$(Q)find $(S)src -name '*.r[sc]' \
266-
-and -not -regex '^$(S)src/jemalloc.*' \
267-
-and -not -regex '^$(S)src/libuv.*' \
268-
-and -not -regex '^$(S)src/llvm.*' \
269-
-and -not -regex '^$(S)src/gyp.*' \
270-
-and -not -regex '^$(S)src/libbacktrace.*' \
271-
-print0 \
272-
| xargs -0 -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
273-
$(Q)find $(S)src/etc -name '*.py' \
274-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
275-
$(Q)find $(S)src/doc -name '*.js' \
276-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
277-
$(Q)find $(S)src/etc -name '*.sh' \
278-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
279-
$(Q)find $(S)src/etc -name '*.pl' \
280-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
281-
$(Q)find $(S)src/etc -name '*.c' \
282-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
283-
$(Q)find $(S)src/etc -name '*.h' \
284-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
285-
$(Q)echo $(ALL_CS) \
286-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
287-
$(Q)echo $(ALL_HS) \
288-
| xargs -n 10 $(CFG_PYTHON) $(S)src/etc/tidy.py
252+
$(Q) $(CFG_PYTHON) $(S)src/etc/tidy.py $(S)src/
253+
254+
.PHONY: tidy-binaries
255+
tidy-binaries:
256+
@$(call E, check: binaries)
289257
$(Q)find $(S)src -type f -perm +a+x \
290258
-not -name '*.rs' -and -not -name '*.py' \
291259
-and -not -name '*.sh' \
@@ -300,11 +268,16 @@ tidy:
300268
| grep '^$(S)src/libbacktrace' -v \
301269
| grep '^$(S)src/rust-installer' -v \
302270
| xargs $(CFG_PYTHON) $(S)src/etc/check-binaries.py
303-
$(Q) $(CFG_PYTHON) $(S)src/etc/errorck.py $(S)src/
304-
$(Q) $(CFG_PYTHON) $(S)src/etc/featureck.py $(S)src/
305271

272+
.PHONY: tidy-errors
273+
tidy-errors:
274+
@$(call E, check: extended errors)
275+
$(Q) $(CFG_PYTHON) $(S)src/etc/errorck.py $(S)src/
306276

307-
endif
277+
.PHONY: tidy-features
278+
tidy-features:
279+
@$(call E, check: feature sanity)
280+
$(Q) $(CFG_PYTHON) $(S)src/etc/featureck.py $(S)src/
308281

309282

310283
######################################################################
@@ -479,6 +452,7 @@ RPASS_FULL_RS := $(wildcard $(S)src/test/run-pass-fulldeps/*.rs)
479452
CFAIL_FULL_RS := $(wildcard $(S)src/test/compile-fail-fulldeps/*.rs)
480453
RFAIL_RS := $(wildcard $(S)src/test/run-fail/*.rs)
481454
CFAIL_RS := $(wildcard $(S)src/test/compile-fail/*.rs)
455+
PFAIL_RS := $(wildcard $(S)src/test/parse-fail/*.rs)
482456
BENCH_RS := $(wildcard $(S)src/test/bench/*.rs)
483457
PRETTY_RS := $(wildcard $(S)src/test/pretty/*.rs)
484458
DEBUGINFO_GDB_RS := $(wildcard $(S)src/test/debuginfo/*.rs)
@@ -495,7 +469,7 @@ RPASS_VALGRIND_TESTS := $(RPASS_VALGRIND_RS)
495469
RPASS_FULL_TESTS := $(RPASS_FULL_RS)
496470
CFAIL_FULL_TESTS := $(CFAIL_FULL_RS)
497471
RFAIL_TESTS := $(RFAIL_RS)
498-
CFAIL_TESTS := $(CFAIL_RS)
472+
CFAIL_TESTS := $(CFAIL_RS) $(PFAIL_RS)
499473
BENCH_TESTS := $(BENCH_RS)
500474
PERF_TESTS := $(PERF_RS)
501475
PRETTY_TESTS := $(PRETTY_RS)
@@ -639,7 +613,6 @@ CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) := \
639613

640614
ifdef CFG_VALGRIND_RPASS
641615
ifdef GOOD_VALGRIND_$(2)
642-
$(info cfg: valgrind-path set to $(CFG_VALGRIND_RPASS))
643616
CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3) += --valgrind-path "$(CFG_VALGRIND_RPASS)"
644617
endif
645618
endif

branches/snap-stage3/src/compiletest/compiletest.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,10 @@ pub fn parse_config(args: Vec<String> ) -> Config {
118118
}
119119

120120
fn opt_path(m: &getopts::Matches, nm: &str) -> Path {
121-
Path::new(m.opt_str(nm).unwrap())
121+
match m.opt_str(nm) {
122+
Some(s) => Path::new(s),
123+
None => panic!("no option (=path) found for {}", nm),
124+
}
122125
}
123126

124127
let filter = if !matches.free.is_empty() {

branches/snap-stage3/src/doc/reference.md

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -256,11 +256,11 @@ cases mentioned in [Number literals](#number-literals) below.
256256

257257
| [Number literals](#number-literals)`*` | Example | Exponentiation | Suffixes |
258258
|----------------------------------------|---------|----------------|----------|
259-
| Decimal integer | `98_222is` | `N/A` | Integer suffixes |
260-
| Hex integer | `0xffis` | `N/A` | Integer suffixes |
261-
| Octal integer | `0o77is` | `N/A` | Integer suffixes |
262-
| Binary integer | `0b1111_0000is` | `N/A` | Integer suffixes |
263-
| Floating-point | `123.0E+77f64` | `Optional` | Floating-point suffixes |
259+
| Decimal integer | `98_222` | `N/A` | Integer suffixes |
260+
| Hex integer | `0xff` | `N/A` | Integer suffixes |
261+
| Octal integer | `0o77` | `N/A` | Integer suffixes |
262+
| Binary integer | `0b1111_0000` | `N/A` | Integer suffixes |
263+
| Floating-point | `123.0E+77` | `Optional` | Floating-point suffixes |
264264

265265
`*` All number literals allow `_` as a visual separator: `1_234.0E+18f64`
266266

@@ -1813,7 +1813,6 @@ default visibility with the `priv` keyword. When an item is declared as `pub`,
18131813
it can be thought of as being accessible to the outside world. For example:
18141814

18151815
```
1816-
# #![allow(missing_copy_implementations)]
18171816
# fn main() {}
18181817
// Declare a private struct
18191818
struct Foo;
@@ -2015,6 +2014,11 @@ type int8_t = i8;
20152014
- `no_start` - disable linking to the `native` crate, which specifies the
20162015
"start" language item.
20172016
- `no_std` - disable linking to the `std` crate.
2017+
- `plugin` — load a list of named crates as compiler plugins, e.g.
2018+
`#![plugin(foo, bar)]`. Optional arguments for each plugin,
2019+
i.e. `#![plugin(foo(... args ...))]`, are provided to the plugin's
2020+
registrar function. The `plugin` feature gate is required to use
2021+
this attribute.
20182022

20192023
### Module-only attributes
20202024

@@ -2083,7 +2087,7 @@ On `struct`s:
20832087
remove any padding between fields (note that this is very fragile and may
20842088
break platforms which require aligned access).
20852089

2086-
### Macro- and plugin-related attributes
2090+
### Macro-related attributes
20872091

20882092
- `macro_use` on a `mod` — macros defined in this module will be visible in the
20892093
module's parent, after this module has been included.
@@ -2098,13 +2102,8 @@ On `struct`s:
20982102

20992103
- `macro_export` - export a macro for cross-crate usage.
21002104

2101-
- `plugin` on an `extern crate` — load this crate as a [compiler
2102-
plugin][plugin]. The `plugin` feature gate is required. Any arguments to
2103-
the attribute, e.g. `#[plugin=...]` or `#[plugin(...)]`, are provided to the
2104-
plugin.
2105-
2106-
- `no_link` on an `extern crate` — even if we load this crate for macros or
2107-
compiler plugins, don't link it into the output.
2105+
- `no_link` on an `extern crate` — even if we load this crate for macros, don't
2106+
link it into the output.
21082107

21092108
See the [macros section of the
21102109
book](book/macros.html#scoping-and-macro-import/export) for more information on
@@ -2468,6 +2467,12 @@ The currently implemented features of the reference compiler are:
24682467

24692468
* `associated_types` - Allows type aliases in traits. Experimental.
24702469

2470+
* `no_std` - Allows the `#![no_std]` crate attribute, which disables the implicit
2471+
`extern crate std`. This typically requires use of the unstable APIs
2472+
behind the libstd "facade", such as libcore and libcollections. It
2473+
may also cause problems when using syntax extensions, including
2474+
`#[derive]`.
2475+
24712476
If a feature is promoted to a language feature, then all existing programs will
24722477
start to receive compilation warnings about #[feature] directives which enabled
24732478
the new feature (because the directive is no longer necessary). However, if a

0 commit comments

Comments
 (0)