Skip to content

Commit 7475135

Browse files
committed
Merge remote-tracking branch 'upstream/master' into fast-swap
2 parents c6307a2 + 3e7908f commit 7475135

File tree

2,269 files changed

+71197
-59762
lines changed

Some content is hidden

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

2,269 files changed

+71197
-59762
lines changed

.gitmodules

+10-4
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,23 @@
1313
path = src/jemalloc
1414
url = https://github.com/rust-lang/jemalloc.git
1515
[submodule "src/rust-installer"]
16-
path = src/rust-installer
16+
path = src/tools/rust-installer
1717
url = https://github.com/rust-lang/rust-installer.git
1818
[submodule "src/liblibc"]
1919
path = src/liblibc
2020
url = https://github.com/rust-lang/libc.git
2121
[submodule "src/doc/nomicon"]
2222
path = src/doc/nomicon
23-
url = https://github.com/rust-lang-nursery/nomicon
23+
url = https://github.com/rust-lang-nursery/nomicon.git
2424
[submodule "src/tools/cargo"]
25-
path = cargo
26-
url = https://github.com/rust-lang/cargo
25+
path = src/tools/cargo
26+
url = https://github.com/rust-lang/cargo.git
2727
[submodule "reference"]
2828
path = src/doc/reference
2929
url = https://github.com/rust-lang-nursery/reference.git
30+
[submodule "book"]
31+
path = src/doc/book
32+
url = https://github.com/rust-lang/book.git
33+
[submodule "src/tools/rls"]
34+
path = src/tools/rls
35+
url = https://github.com/rust-lang-nursery/rls.git

.mailmap

+1
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ Margaret Meyerhofer <[email protected]> <mmeyerho@andrew>
139139
Mark Sinclair <[email protected]>
140140
Mark Sinclair <[email protected]> =Mark Sinclair <[email protected]>
141141
Markus Westerlind <[email protected]> Markus <[email protected]>
142+
Martin Hafskjold Thoresen <[email protected]>
142143
Matej Lach <[email protected]> Matej Ľach <[email protected]>
143144
144145
Matthew Auld <[email protected]>

.travis.yml

+81-30
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,27 @@ matrix:
1515
- env: IMAGE=arm-android
1616
- env: IMAGE=armhf-gnu
1717
- env: IMAGE=cross DEPLOY=1
18+
- env: IMAGE=dist-aarch64-linux DEPLOY=1
1819
- env: IMAGE=dist-android DEPLOY=1
1920
- env: IMAGE=dist-arm-linux DEPLOY=1
20-
- env: IMAGE=dist-armv7-aarch64-linux DEPLOY=1
21-
- env: IMAGE=dist-freebsd DEPLOY=1
22-
- env: IMAGE=dist-i586-gnu-i686-musl DEPLOY=1
21+
- env: IMAGE=dist-armhf-linux DEPLOY=1
22+
- env: IMAGE=dist-armv7-linux DEPLOY=1
2323
- env: IMAGE=dist-fuchsia DEPLOY=1
24+
- env: IMAGE=dist-i586-gnu-i686-musl DEPLOY=1
25+
- env: IMAGE=dist-i686-freebsd DEPLOY=1
26+
- env: IMAGE=dist-i686-linux DEPLOY=1
2427
- env: IMAGE=dist-mips-linux DEPLOY=1
2528
- env: IMAGE=dist-mips64-linux DEPLOY=1
29+
- env: IMAGE=dist-mips64el-linux DEPLOY=1
30+
- env: IMAGE=dist-mipsel-linux DEPLOY=1
2631
- env: IMAGE=dist-powerpc-linux DEPLOY=1
2732
- env: IMAGE=dist-powerpc64-linux DEPLOY=1
28-
- env: IMAGE=dist-s390x-linux-netbsd DEPLOY=1
29-
- env: IMAGE=dist-x86-linux DEPLOY=1
33+
- env: IMAGE=dist-powerpc64le-linux DEPLOY=1
34+
- env: IMAGE=dist-s390x-linux DEPLOY=1
35+
- env: IMAGE=dist-x86_64-freebsd DEPLOY=1
36+
- env: IMAGE=dist-x86_64-linux DEPLOY=1
3037
- env: IMAGE=dist-x86_64-musl DEPLOY=1
38+
- env: IMAGE=dist-x86_64-netbsd DEPLOY=1
3139
- env: IMAGE=emscripten
3240
- env: IMAGE=i686-gnu
3341
- env: IMAGE=i686-gnu-nopt
@@ -40,71 +48,91 @@ matrix:
4048
- env: IMAGE=x86_64-gnu-distcheck
4149
- env: IMAGE=x86_64-gnu-incremental
4250

43-
# OSX builders
51+
# OSX builders running tests, these run the full test suite.
52+
#
53+
# Note that the compiler is compiled to target 10.8 here because the Xcode
54+
# version that we're using, 8.2, cannot compile LLVM for OSX 10.7.
4455
- env: >
4556
RUST_CHECK_TARGET=check
46-
RUST_CONFIGURE_ARGS=--build=x86_64-apple-darwin
57+
RUST_CONFIGURE_ARGS="--build=x86_64-apple-darwin --enable-sanitizers"
4758
SRC=.
4859
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
4960
SCCACHE_ERROR_LOG=/tmp/sccache.log
50-
RUST_LOG=sccache
61+
MACOSX_DEPLOYMENT_TARGET=10.8
62+
MACOSX_STD_DEPLOYMENT_TARGET=10.7
5163
os: osx
5264
osx_image: xcode8.2
5365
install: &osx_install_sccache >
54-
travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-apple-darwin &&
55-
chmod +x /usr/local/bin/sccache
66+
travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-05-12-sccache-x86_64-apple-darwin &&
67+
chmod +x /usr/local/bin/sccache &&
68+
travis_retry curl -o /usr/local/bin/stamp https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-17-stamp-x86_64-apple-darwin &&
69+
chmod +x /usr/local/bin/stamp
5670
- env: >
5771
RUST_CHECK_TARGET=check
5872
RUST_CONFIGURE_ARGS=--build=i686-apple-darwin
5973
SRC=.
6074
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
6175
SCCACHE_ERROR_LOG=/tmp/sccache.log
62-
RUST_LOG=sccache
76+
MACOSX_DEPLOYMENT_TARGET=10.8
77+
MACOSX_STD_DEPLOYMENT_TARGET=10.7
6378
os: osx
6479
osx_image: xcode8.2
6580
install: *osx_install_sccache
6681
82+
# OSX builders producing releases. These do not run the full test suite and
83+
# just produce a bunch of artifacts.
84+
#
85+
# Note that these are running in the `xcode7` image instead of the
86+
# `xcode8.2` image as above. That's because we want to build releases for
87+
# OSX 10.7 and `xcode7` is the latest Xcode able to compile LLVM for 10.7.
6788
- env: >
6889
RUST_CHECK_TARGET=dist
6990
RUST_CONFIGURE_ARGS="--build=i686-apple-darwin --enable-extended"
7091
SRC=.
7192
DEPLOY=1
7293
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
7394
SCCACHE_ERROR_LOG=/tmp/sccache.log
74-
RUST_LOG=sccache
95+
MACOSX_DEPLOYMENT_TARGET=10.7
7596
os: osx
76-
osx_image: xcode8.2
77-
install: >
78-
travis_retry curl -o /usr/local/bin/sccache https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-apple-darwin &&
79-
chmod +x /usr/local/bin/sccache
97+
osx_image: xcode7
98+
install:
99+
- travis_retry brew update
100+
- travis_retry brew install xz
101+
- *osx_install_sccache
80102
- env: >
81103
RUST_CHECK_TARGET=dist
82-
RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-extended"
104+
RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-extended --enable-sanitizers"
83105
SRC=.
84106
DEPLOY=1
85107
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
86108
SCCACHE_ERROR_LOG=/tmp/sccache.log
87-
RUST_LOG=sccache
109+
MACOSX_DEPLOYMENT_TARGET=10.7
88110
os: osx
89-
osx_image: xcode8.2
90-
install: *osx_install_sccache
111+
osx_image: xcode7
112+
install:
113+
- travis_retry brew update
114+
- travis_retry brew install xz
115+
- *osx_install_sccache
91116
92117
# "alternate" deployments, these are "nightlies" but don't have assertions
93118
# turned on, they're deployed to a different location primarily for projects
94119
# which are stuck on nightly and don't want llvm assertions in the artifacts
95120
# that they use.
96-
- env: IMAGE=dist-x86-linux DEPLOY_ALT=1
121+
- env: IMAGE=dist-x86_64-linux DEPLOY_ALT=1
97122
- env: >
98123
RUST_CHECK_TARGET=dist
99124
RUST_CONFIGURE_ARGS="--enable-extended"
100125
SRC=.
101126
DEPLOY_ALT=1
102127
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
103128
SCCACHE_ERROR_LOG=/tmp/sccache.log
104-
RUST_LOG=sccache
129+
MACOSX_DEPLOYMENT_TARGET=10.7
105130
os: osx
106-
osx_image: xcode8.2
107-
install: *osx_install_sccache
131+
osx_image: xcode7
132+
install:
133+
- travis_retry brew update
134+
- travis_retry brew install xz
135+
- *osx_install_sccache
108136
109137
env:
110138
global:
@@ -113,6 +141,12 @@ env:
113141
# AWS_SECRET_ACCESS_KEY=...
114142
- secure: "Pixhh0hXDqGCdOyLtGFjli3J2AtDWIpyb2btIrLe956nCBDRutRoMm6rv5DI9sFZN07Mms7VzNNvhc9wCW1y63JAm414d2Co7Ob8kWMZlz9l9t7ACHuktUiis8yr+S4Quq1Vqd6pqi7pf2J++UxC8R/uLeqVrubzr6+X7AbmEFE="
115143

144+
# Note that this is overridden on OSX builders
145+
install: >
146+
travis_retry curl -o $HOME/stamp https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-17-stamp-x86_64-unknown-linux-musl &&
147+
chmod +x $HOME/stamp &&
148+
export PATH=$PATH:$HOME
149+
116150
before_script:
117151
- >
118152
echo "#### Disk usage before running script:";
@@ -122,13 +156,14 @@ before_script:
122156
script:
123157
- >
124158
if [ "$ALLOW_PR" = "" ] && [ "$TRAVIS_BRANCH" != "auto" ]; then
125-
echo skipping, not a full build;
126-
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
127-
travis_retry sh -c 'git submodule deinit -f . && git submodule update --init' &&
128-
src/ci/run.sh;
159+
echo skipping, not a full build
129160
else
130-
travis_retry sh -c 'git submodule deinit -f . && git submodule update --init' &&
131-
src/ci/docker/run.sh $IMAGE;
161+
stamp src/ci/init_repo.sh . "$HOME/rustsrc" &&
162+
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
163+
stamp src/ci/run.sh;
164+
else
165+
stamp src/ci/docker/run.sh $IMAGE;
166+
fi
132167
fi
133168
134169
after_success:
@@ -142,17 +177,33 @@ after_failure:
142177
echo "#### Build failed; Disk usage after running script:";
143178
df -h;
144179
du . | sort -nr | head -n100
180+
181+
# One of these is the linux sccache log, one is the OSX sccache log. Instead
182+
# of worrying about what system we are just cat both. One of these commands
183+
# will fail but that's ok, they'll both get executed.
145184
- cat obj/tmp/sccache.log
146185
- cat /tmp/sccache.log
147186

187+
# Random attempt at debugging currently. Just poking around in here to see if
188+
# anything shows up.
189+
- ls $HOME/Library/Logs/DiagnosticReports/
190+
191+
# attempt to debug anything killed by the oom killer on linux, just to see if
192+
# it happened
193+
- dmesg | grep -i kill
194+
148195
# Save tagged docker images we created and load them if they're available
196+
# Travis saves caches whether the build failed or not, nuke rustsrc if
197+
# the failure was while updating it (as it may be in a bad state)
198+
# https://github.com/travis-ci/travis-ci/issues/4472
149199
before_cache:
150200
- docker history -q rust-ci |
151201
grep -v missing |
152202
xargs docker save |
153203
gzip > $HOME/docker/rust-ci.tar.gz
154204
before_install:
155205
- zcat $HOME/docker/rust-ci.tar.gz | docker load || true
206+
- mkdir -p $HOME/rustsrc
156207

157208
notifications:
158209
email: false

CONTRIBUTING.md

+7-3
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ python x.py test src/test/rustdoc
177177
python x.py build src/libcore --stage 0
178178
```
179179

180-
You can explore the build system throught the various `--help` pages for each
180+
You can explore the build system through the various `--help` pages for each
181181
subcommand. For example to learn more about a command you can run:
182182

183183
```
@@ -311,9 +311,13 @@ To save @bors some work, and to get small changes through more quickly, when
311311
the other rollup-eligible patches too, and they'll get tested and merged at
312312
the same time.
313313

314-
To find documentation-related issues, sort by the [A-docs label][adocs].
314+
To find documentation-related issues, sort by the [T-doc label][tdoc].
315315

316-
[adocs]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AA-docs
316+
[tdoc]: https://github.com/rust-lang/rust/issues?q=is%3Aopen%20is%3Aissue%20label%3AT-doc
317+
318+
You can find documentation style guidelines in [RFC 1574][rfc1574].
319+
320+
[rfc1574]: https://github.com/rust-lang/rfcs/blob/master/text/1574-more-api-documentation-conventions.md#appendix-a-full-conventions-text
317321

318322
In many cases, you don't need a full `./x.py doc`. You can use `rustdoc` directly
319323
to check small fixes. For example, `rustdoc src/doc/reference.md` will render

README.md

+6-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Read ["Installing Rust"] from [The Book].
1616

1717
1. Make sure you have installed the dependencies:
1818

19-
* `g++` 4.7 or later or `clang++` 3.x
19+
* `g++` 4.7 or later or `clang++` 3.x or later
2020
* `python` 2.7 (but not 3.x)
2121
* GNU `make` 3.81 or later
2222
* `cmake` 3.4.3 or later
@@ -161,8 +161,9 @@ If you’d like to build the documentation, it’s almost the same:
161161
$ ./x.py doc
162162
```
163163

164-
The generated documentation will appear in a top-level `doc` directory,
165-
created by the `make` rule.
164+
The generated documentation will appear under `doc` in the `build` directory for
165+
the ABI used. I.e., if the ABI was `x86_64-pc-windows-msvc`, the directory will be
166+
`build\x86_64-pc-windows-msvc\doc`.
166167

167168
## Notes
168169

@@ -197,8 +198,8 @@ The Rust community congregates in a few places:
197198
* [users.rust-lang.org] - General discussion and broader questions.
198199
* [/r/rust] - News and general discussion.
199200

200-
[Stack Overflow]: http://stackoverflow.com/questions/tagged/rust
201-
[/r/rust]: http://reddit.com/r/rust
201+
[Stack Overflow]: https://stackoverflow.com/questions/tagged/rust
202+
[/r/rust]: https://reddit.com/r/rust
202203
[users.rust-lang.org]: https://users.rust-lang.org/
203204

204205
## Contributing

0 commit comments

Comments
 (0)