Skip to content

Commit d88c791

Browse files
committed
---
yaml --- r: 165600 b: refs/heads/master c: 25c1bfe h: refs/heads/master v: v3
1 parent 4687a20 commit d88c791

File tree

598 files changed

+12580
-15151
lines changed

Some content is hidden

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

598 files changed

+12580
-15151
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 65248c5e05493d2f90acf2944ea657a03bce380a
2+
refs/heads/master: 25c1bfe175fbdeb3ba67d9365a554602937c25a7
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 658529467d9d69ac9e09cacf98a6d61d781c2c76
55
refs/heads/try: aee614fc4973262a5a68efc643026e2b1458d65b

trunk/AUTHORS.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,6 @@ Robert Irelan <[email protected]>
498498
Robert Knight <[email protected]>
499499
Robert Millar <[email protected]>
500500
Roland Tanglao <[email protected]>
501-
Rolf Timmermans <[email protected]>
502501
Ron Dahlgren <[email protected]>
503502
Roy Frostig <[email protected]>
504503

trunk/man/rustc.1

Lines changed: 52 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -12,54 +12,75 @@ This program is a compiler for the Rust language, available at
1212
.SH OPTIONS
1313

1414
.TP
15-
\fB\-h\fR, \fB\-\-help\fR
16-
Display the help message
15+
\fB\-\-crate-name NAME\fR
16+
Specify the name of the crate being built
17+
.TP
18+
\fB\-\-crate-type=[bin|lib|dylib|rlib|staticlib]\fR
19+
Configure the flavor of rust crate that is generated (default `bin`)
1720
.TP
1821
\fB\-\-cfg\fR SPEC
1922
Configure the compilation environment
2023
.TP
21-
\fB\-L\fR PATH
22-
Add a directory to the library search path
23-
.TP
24-
\fB\-l\fR NAME[:KIND]
25-
Link the generated crate(s) to the specified native library NAME. The optional
26-
KIND can be one of, static, dylib, or framework. If omitted, dylib is assumed.
24+
\fB\-\-emit=[asm,ir,bc,obj,link]\fR
25+
Configure the output that rustc will produce
2726
.TP
28-
\fB\-\-crate-type\fR [bin|lib|rlib|dylib|staticlib]
29-
Comma separated list of types of crates for the compiler to emit
27+
\fB\-h\fR, \fB\-\-help\fR
28+
Display this message
3029
.TP
31-
\fB\-\-crate-name NAME\fR
32-
Specify the name of the crate being built
30+
\fB\-L\fR PATH
31+
Add a directory to the library search path
3332
.TP
34-
\fB\-\-emit\fR [asm|llvm-bc|llvm-ir|obj|link|dep-info]
35-
Configure the output that rustc will produce
33+
\fB\-\-no\-trans\fR
34+
Run all passes except translation; no output
3635
.TP
37-
\fB\-\-print\fR [crate-name|output-file-names|sysroot]
38-
Comma separated list of compiler information to print on stdout
36+
\fB\-\-no\-analysis\fR
37+
Parse and expand the source, but run no analysis and produce no output
3938
.TP
4039
\fB\-g\fR
41-
Equivalent to \fI\-C\fR debuginfo=2
40+
Emit DWARF debug information into object files generated.
41+
.TP
42+
\fB\-\-debuginfo\fR LEVEL
43+
Emit DWARF debug info to the objects created: 0 = no debug info, 1 =
44+
line-tables only (for stacktraces and breakpoints), 2 = full debug
45+
info with variable and type information (same as -g).
4246
.TP
4347
\fB\-O\fR
44-
Equivalent to \fI\-C\fR opt-level=2
48+
Equivalent to \fI\-\-opt\-level=2\fR
4549
.TP
4650
\fB\-o\fR FILENAME
47-
Write output to <filename>. Ignored if multiple \fI\-\-emit\fR outputs are
48-
specified.
51+
Write output to <filename>. Ignored if more than one --emit is specified.
52+
.TP
53+
\fB\-\-opt\-level\fR LEVEL
54+
Optimize with possible levels 0-3
4955
.TP
5056
\fB\-\-out\-dir\fR DIR
51-
Write output to compiler-chosen filename in <dir>. Ignored if \fI\-o\fR is
52-
specified. Defaults to the current directory.
57+
Write output to compiler-chosen filename in <dir>. Ignored if -o is specified.
58+
(default the current directory)
59+
.TP
60+
\fB\-\-parse\-only\fR
61+
Parse only; do not compile, assemble, or link
5362
.TP
54-
\fB\-\-explain\fR OPT
55-
Provide a detailed explanation of an error message
63+
\fB\-\-pretty\fR [TYPE]
64+
Pretty-print the input instead of compiling; valid types are: normal
65+
(un-annotated source), expanded (crates expanded), typed (crates
66+
expanded, with type annotations), identified (fully parenthesized,
67+
AST nodes and blocks with IDs), or flowgraph=<nodeid> (graphviz
68+
formatted flowgraph for node)
69+
.TP
70+
\fB\-\-dep-info\fR [FILENAME]
71+
Output dependency info to <filename> after compiling, in a format suitable
72+
for use by Makefiles.
73+
.TP
74+
\fB\-\-sysroot\fR PATH
75+
Override the system root
5676
.TP
5777
\fB\-\-test\fR
5878
Build a test harness
5979
.TP
6080
\fB\-\-target\fR TRIPLE
61-
Target triple cpu-manufacturer-kernel[-os] to compile for (see chapter 3.4 of
62-
http://www.sourceware.org/autobook/ for details)
81+
Target triple cpu-manufacturer-kernel[-os] to compile for (see
82+
http://sources.redhat.com/autobook/autobook/autobook_17.html
83+
for details)
6384
.TP
6485
\fB\-W\fR help
6586
Print 'lint' options and default settings
@@ -76,30 +97,15 @@ Set lint denied
7697
\fB\-F\fR OPT, \fB\-\-forbid\fR OPT
7798
Set lint forbidden
7899
.TP
100+
\fB\-Z\fR FLAG
101+
Set internal debugging options. Use "-Z help" to print available options.
102+
.TP
79103
\fB\-C\fR FLAG[=VAL], \fB\-\-codegen\fR FLAG[=VAL]
80104
Set a codegen-related flag to the value specified. Use "-C help" to print
81105
available flags. See CODEGEN OPTIONS below
82106
.TP
83-
\fB\-V\fR, \fB\-\-version\fR
107+
\fB\-v\fR, \fB\-\-version\fR
84108
Print version info and exit
85-
.TP
86-
\fB\-v\fR, \fB\-\-verbose\fR
87-
Use verbose output
88-
.TP
89-
\fB\-\-extern\fR NAME=PATH
90-
Specify where an external rust library is located
91-
.TP
92-
\fB\-\-sysroot\fR PATH
93-
Override the system root
94-
.TP
95-
\fB\-Z\fR FLAG
96-
Set internal debugging options. Use "-Z help" to print available options.
97-
.TP
98-
\fB\-\-color\fR auto|always|never
99-
Configure coloring of output:
100-
auto = colorize, if output goes to a tty (default);
101-
always = always colorize output;
102-
never = never colorize output
103109

104110
.SH CODEGEN OPTIONS
105111

@@ -115,9 +121,6 @@ objects.
115121
A space-separated list of extra arguments to pass to the linker when the linker
116122
is invoked.
117123
.TP
118-
\fBlto\fR
119-
Perform LLVM link-time optimizations.
120-
.TP
121124
\fBtarget-cpu\fR=help
122125
Selects a target processor. If the value is 'help', then a list of available
123126
CPUs is printed.
@@ -164,38 +167,8 @@ Prefers dynamic linking to static linking.
164167
\fBno-integrated-as\fR
165168
Force usage of an external assembler rather than LLVM's integrated one.
166169
.TP
167-
\fBno-redzone\fR
168-
Disable the use of the redzone.
169-
.TP
170170
\fBrelocation-model\fR=[pic,static,dynamic-no-pic]
171-
The relocation model to use. (Default: pic)
172-
.TP
173-
\fBcode-model\fR=[small,kernel,medium,large]
174-
Choose the code model to use.
175-
.TP
176-
\fBmetadata\fR=val
177-
Metadata to mangle symbol names with.
178-
.TP
179-
\fBextra-filename\fR=val
180-
Extra data to put in each output filename.
181-
.TP
182-
\fBcodegen-units\fR=val
183-
Divide crate into N units to optimize in parallel.
184-
.TP
185-
\fBremark\fR=val
186-
Print remarks for these optimization passes (space separated, or "all").
187-
.TP
188-
\fBno-stack-check\fR
189-
Disable checks for stack exhaustion (a memory-safety hazard!).
190-
.TP
191-
\fBdebuginfo\fR=val
192-
Debug info emission level:
193-
0 = no debug info;
194-
1 = line-tables only (for stacktraces and breakpoints);
195-
2 = full debug info with variable and type information.
196-
.TP
197-
\fBopt-level\fR=val
198-
Optimize with possible levels 0-3
171+
The relocation model to use. (default: pic)
199172

200173
.SH "EXAMPLES"
201174
To build an executable from a source file with a main function:

trunk/mk/cfg/x86_64-unknown-dragonfly.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ CFG_LIB_NAME_x86_64-unknown-dragonfly=lib$(1).so
77
CFG_STATIC_LIB_NAME_x86_64-unknown-dragonfly=lib$(1).a
88
CFG_LIB_GLOB_x86_64-unknown-dragonfly=lib$(1)-*.so
99
CFG_LIB_DSYM_GLOB_x86_64-unknown-dragonfly=$(1)-*.dylib.dSYM
10-
CFG_JEMALLOC_CFLAGS_x86_64-unknown-dragonfly := -I/usr/include -I/usr/local/include $(CFLAGS)
11-
CFG_GCCISH_CFLAGS_x86_64-unknown-dragonfly := -Wall -Werror -g -fPIC -I/usr/include -I/usr/local/include $(CFLAGS)
12-
CFG_GCCISH_LINK_FLAGS_x86_64-unknown-dragonfly := -shared -fPIC -g -pthread -lrt
10+
CFG_JEMALLOC_CFLAGS_x86_64-unknown-dragonfly := -m64 -I/usr/include -I/usr/local/include $(CFLAGS)
11+
CFG_GCCISH_CFLAGS_x86_64-unknown-dragonfly := -Wall -Werror -g -fPIC -m64 -I/usr/include -I/usr/local/include $(CFLAGS)
12+
CFG_GCCISH_LINK_FLAGS_x86_64-unknown-dragonfly := -shared -fPIC -g -pthread -lrt -m64
1313
CFG_GCCISH_DEF_FLAG_x86_64-unknown-dragonfly := -Wl,--export-dynamic,--dynamic-list=
1414
CFG_GCCISH_PRE_LIB_FLAGS_x86_64-unknown-dragonfly := -Wl,-whole-archive
1515
CFG_GCCISH_POST_LIB_FLAGS_x86_64-unknown-dragonfly := -Wl,-no-whole-archive

trunk/mk/crates.mk

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@ TARGET_CRATES := libc std flate arena term \
5353
serialize getopts collections test time rand \
5454
log regex graphviz core rbml alloc \
5555
unicode
56-
RUSTC_CRATES := rustc rustc_typeck rustc_borrowck rustc_resolve rustc_driver \
57-
rustc_trans rustc_back rustc_llvm
56+
RUSTC_CRATES := rustc rustc_typeck rustc_borrowck rustc_driver rustc_trans rustc_back rustc_llvm
5857
HOST_CRATES := syntax $(RUSTC_CRATES) rustdoc regex_macros fmt_macros
5958
CRATES := $(TARGET_CRATES) $(HOST_CRATES)
6059
TOOLS := compiletest rustdoc rustc
@@ -68,12 +67,11 @@ DEPS_std := core libc rand alloc collections unicode \
6867
DEPS_graphviz := std
6968
DEPS_syntax := std term serialize log fmt_macros arena libc
7069
DEPS_rustc_driver := arena flate getopts graphviz libc rustc rustc_back rustc_borrowck \
71-
rustc_typeck rustc_resolve log syntax serialize rustc_llvm rustc_trans
70+
rustc_typeck log syntax serialize rustc_llvm rustc_trans
7271
DEPS_rustc_trans := arena flate getopts graphviz libc rustc rustc_back \
7372
log syntax serialize rustc_llvm
7473
DEPS_rustc_typeck := rustc syntax
7574
DEPS_rustc_borrowck := rustc log graphviz syntax
76-
DEPS_rustc_resolve := rustc log syntax
7775
DEPS_rustc := syntax flate arena serialize getopts rbml \
7876
time log graphviz rustc_llvm rustc_back
7977
DEPS_rustc_llvm := native:rustllvm libc std
@@ -120,11 +118,9 @@ DOC_CRATES := $(filter-out rustc, \
120118
$(filter-out rustc_trans, \
121119
$(filter-out rustc_typeck, \
122120
$(filter-out rustc_borrowck, \
123-
$(filter-out rustc_resolve, \
124121
$(filter-out rustc_driver, \
125-
$(filter-out syntax, $(CRATES))))))))
126-
COMPILER_DOC_CRATES := rustc rustc_trans rustc_borrowck rustc_resolve \
127-
rustc_typeck rustc_driver syntax
122+
$(filter-out syntax, $(CRATES)))))))
123+
COMPILER_DOC_CRATES := rustc rustc_trans rustc_borrowck rustc_typeck rustc_driver syntax
128124

129125
# This macro creates some simple definitions for each crate being built, just
130126
# some munging of all of the parameters above.

trunk/mk/docs.mk

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,36 @@ endef
216216
$(foreach docname,$(DOCS),$(eval $(call DEF_DOC,$(docname))))
217217

218218

219+
# Localized documentation
220+
221+
# FIXME: I (huonw) haven't actually been able to test properly, since
222+
# e.g. (by default) I'm doing an out-of-tree build (#12763), but even
223+
# adjusting for that, the files are too old(?) and are rejected by
224+
# po4a.
225+
#
226+
# As such, I've attempted to get it working as much as possible (and
227+
# switching from pandoc to rustdoc), but preserving the old behaviour
228+
# (e.g. only running on the guide)
229+
.PHONY: l10n-mds
230+
l10n-mds: $(D)/po4a.conf \
231+
$(foreach lang,$(L10N_LANG),$(D)/po/$(lang)/*.md.po)
232+
$(warning WARNING: localized documentation is experimental)
233+
po4a --copyright-holder="The Rust Project Developers" \
234+
--package-name="Rust" \
235+
--package-version="$(CFG_RELEASE)" \
236+
-M UTF-8 -L UTF-8 \
237+
$(D)/po4a.conf
238+
239+
define DEF_L10N_DOC
240+
DOC_L10N_TARGETS += doc/l10n/$(1)/$(2).html
241+
doc/l10n/$(1)/$(2).html: l10n-mds $$(HTML_DEPS) $$(RUSTDOC_DEPS_$(2))
242+
@$$(call E, rustdoc: $$@)
243+
$$(RUSTDOC) $$(RUSTDOC_HTML_OPTS) $$(RUSTDOC_FLAGS_$(1)) doc/l10n/$(1)/$(2).md
244+
endef
245+
246+
$(foreach lang,$(L10N_LANGS),$(eval $(call DEF_L10N_DOC,$(lang),guide)))
247+
248+
219249
######################################################################
220250
# Rustdoc (libstd/extra)
221251
######################################################################
@@ -264,3 +294,7 @@ endif
264294

265295
docs: $(DOC_TARGETS)
266296
compiler-docs: $(COMPILER_DOC_TARGETS)
297+
298+
docs-l10n: $(DOC_L10N_TARGETS)
299+
300+
.PHONY: docs-l10n

trunk/mk/rt.mk

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
# that's per-target so you're allowed to conditionally add files based on the
3636
# target.
3737
################################################################################
38-
NATIVE_LIBS := rust_builtin hoedown morestack miniz \
38+
NATIVE_LIBS := rust_builtin hoedown morestack miniz context_switch \
3939
rustrt_native rust_test_helpers
4040

4141
# $(1) is the target triple
@@ -58,7 +58,8 @@ NATIVE_DEPS_rustrt_native_$(1) := \
5858
arch/$$(HOST_$(1))/record_sp.S
5959
NATIVE_DEPS_rust_test_helpers_$(1) := rust_test_helpers.c
6060
NATIVE_DEPS_morestack_$(1) := arch/$$(HOST_$(1))/morestack.S
61-
61+
NATIVE_DEPS_context_switch_$(1) := \
62+
arch/$$(HOST_$(1))/_context.S
6263

6364
################################################################################
6465
# You shouldn't find it that necessary to edit anything below this line.

trunk/mk/tests.mk

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ $(eval $(call RUST_CRATE,coretest))
2121

2222
TEST_TARGET_CRATES = $(filter-out core unicode,$(TARGET_CRATES)) coretest
2323
TEST_DOC_CRATES = $(DOC_CRATES)
24-
TEST_HOST_CRATES = $(filter-out rustc_typeck rustc_borrowck rustc_resolve rustc_trans,\
25-
$(HOST_CRATES))
24+
TEST_HOST_CRATES = $(filter-out rustc_typeck rustc_borrowck rustc_trans,$(HOST_CRATES))
2625
TEST_CRATES = $(TEST_TARGET_CRATES) $(TEST_HOST_CRATES)
2726

2827
######################################################################
@@ -74,6 +73,21 @@ endif
7473
TEST_LOG_FILE=tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).log
7574
TEST_OK_FILE=tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).ok
7675

76+
TEST_RATCHET_FILE=tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4)-metrics.json
77+
TEST_RATCHET_NOISE_PERCENT=10.0
78+
79+
# Whether to ratchet or merely save benchmarks
80+
ifdef CFG_RATCHET_BENCH
81+
CRATE_TEST_EXTRA_ARGS= \
82+
--test $(TEST_BENCH) \
83+
--ratchet-metrics $(call TEST_RATCHET_FILE,$(1),$(2),$(3),$(4)) \
84+
--ratchet-noise-percent $(TEST_RATCHET_NOISE_PERCENT)
85+
else
86+
CRATE_TEST_EXTRA_ARGS= \
87+
--test $(TEST_BENCH) \
88+
--save-metrics $(call TEST_RATCHET_FILE,$(1),$(2),$(3),$(4))
89+
endif
90+
7791
# If we're sharding the testsuite between parallel testers,
7892
# pass this argument along to the compiletest and crate test
7993
# invocations.
@@ -440,6 +454,7 @@ $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)): \
440454
$$(Q)touch tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).log
441455
$$(Q)$(CFG_ADB) pull $(CFG_ADB_TEST_DIR)/check-stage$(1)-T-$(2)-H-$(3)-$(4).log tmp/
442456
$$(Q)$(CFG_ADB) shell rm $(CFG_ADB_TEST_DIR)/check-stage$(1)-T-$(2)-H-$(3)-$(4).log
457+
$$(Q)$(CFG_ADB) pull $(CFG_ADB_TEST_DIR)/$$(call TEST_RATCHET_FILE,$(1),$(2),$(3),$(4)) tmp/
443458
@if grep -q "result: ok" tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).tmp; \
444459
then \
445460
rm tmp/check-stage$(1)-T-$(2)-H-$(3)-$(4).tmp; \
@@ -681,6 +696,7 @@ CTEST_ARGS$(1)-T-$(2)-H-$(3)-$(4) := \
681696
$$(CTEST_COMMON_ARGS$(1)-T-$(2)-H-$(3)) \
682697
--src-base $$(S)src/test/$$(CTEST_SRC_BASE_$(4))/ \
683698
--build-base $(3)/test/$$(CTEST_BUILD_BASE_$(4))/ \
699+
--ratchet-metrics $(call TEST_RATCHET_FILE,$(1),$(2),$(3),$(4)) \
684700
--mode $$(CTEST_MODE_$(4)) \
685701
$$(CTEST_RUNTOOL_$(4))
686702

trunk/src/compiletest/compiletest.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
152152
matches.opt_str("ratchet-metrics").map(|s| Path::new(s)),
153153
ratchet_noise_percent:
154154
matches.opt_str("ratchet-noise-percent")
155-
.and_then(|s| s.as_slice().parse::<f64>()),
155+
.and_then(|s| from_str::<f64>(s.as_slice())),
156156
runtool: matches.opt_str("runtool"),
157157
host_rustcflags: matches.opt_str("host-rustcflags"),
158158
target_rustcflags: matches.opt_str("target-rustcflags"),
@@ -190,7 +190,9 @@ pub fn log_config(config: &Config) {
190190
logv(c, format!("filter: {}",
191191
opt_str(&config.filter
192192
.as_ref()
193-
.map(|re| re.to_string()))));
193+
.map(|re| {
194+
re.to_string().into_string()
195+
}))));
194196
logv(c, format!("runtool: {}", opt_str(&config.runtool)));
195197
logv(c, format!("host-rustcflags: {}",
196198
opt_str(&config.host_rustcflags)));

0 commit comments

Comments
 (0)