Skip to content

Commit 8dd4c44

Browse files
merge with master to pick up pulldown switch
2 parents bfd01b7 + 2c48ae6 commit 8dd4c44

File tree

1,196 files changed

+28770
-37133
lines changed

Some content is hidden

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

1,196 files changed

+28770
-37133
lines changed

.gitmodules

+5-6
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@
55
[submodule "src/compiler-rt"]
66
path = src/compiler-rt
77
url = https://github.com/rust-lang/compiler-rt.git
8-
[submodule "src/rt/hoedown"]
9-
path = src/rt/hoedown
10-
url = https://github.com/rust-lang/hoedown.git
11-
branch = rust-2015-09-21-do-not-delete
128
[submodule "src/jemalloc"]
139
path = src/jemalloc
1410
url = https://github.com/rust-lang/jemalloc.git
@@ -20,10 +16,13 @@
2016
url = https://github.com/rust-lang/libc.git
2117
[submodule "src/doc/nomicon"]
2218
path = src/doc/nomicon
23-
url = https://github.com/rust-lang-nursery/nomicon
19+
url = https://github.com/rust-lang-nursery/nomicon.git
2420
[submodule "src/tools/cargo"]
2521
path = cargo
26-
url = https://github.com/rust-lang/cargo
22+
url = https://github.com/rust-lang/cargo.git
2723
[submodule "reference"]
2824
path = src/doc/reference
2925
url = https://github.com/rust-lang-nursery/reference.git
26+
[submodule "book"]
27+
path = src/doc/book
28+
url = https://github.com/rust-lang/book.git

.travis.yml

+73-26
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,70 +48,81 @@ 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
4657
RUST_CONFIGURE_ARGS=--build=x86_64-apple-darwin
4758
SRC=.
4859
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
4960
SCCACHE_ERROR_LOG=/tmp/sccache.log
50-
RUST_LOG=sccache=debug
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-04-04-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=debug
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=debug
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: *osx_install_sccache
8099
- env: >
81100
RUST_CHECK_TARGET=dist
82101
RUST_CONFIGURE_ARGS="--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios --enable-extended"
83102
SRC=.
84103
DEPLOY=1
85104
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
86105
SCCACHE_ERROR_LOG=/tmp/sccache.log
87-
RUST_LOG=sccache=debug
106+
MACOSX_DEPLOYMENT_TARGET=10.7
88107
os: osx
89-
osx_image: xcode8.2
108+
osx_image: xcode7
90109
install: *osx_install_sccache
91110
92111
# "alternate" deployments, these are "nightlies" but don't have assertions
93112
# turned on, they're deployed to a different location primarily for projects
94113
# which are stuck on nightly and don't want llvm assertions in the artifacts
95114
# that they use.
96-
- env: IMAGE=dist-x86-linux DEPLOY_ALT=1
115+
- env: IMAGE=dist-x86_64-linux DEPLOY_ALT=1
97116
- env: >
98117
RUST_CHECK_TARGET=dist
99118
RUST_CONFIGURE_ARGS="--enable-extended"
100119
SRC=.
101120
DEPLOY_ALT=1
102121
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
103122
SCCACHE_ERROR_LOG=/tmp/sccache.log
104-
RUST_LOG=sccache=debug
123+
MACOSX_DEPLOYMENT_TARGET=10.7
105124
os: osx
106-
osx_image: xcode8.2
125+
osx_image: xcode7
107126
install: *osx_install_sccache
108127
109128
env:
@@ -113,6 +132,12 @@ env:
113132
# AWS_SECRET_ACCESS_KEY=...
114133
- secure: "Pixhh0hXDqGCdOyLtGFjli3J2AtDWIpyb2btIrLe956nCBDRutRoMm6rv5DI9sFZN07Mms7VzNNvhc9wCW1y63JAm414d2Co7Ob8kWMZlz9l9t7ACHuktUiis8yr+S4Quq1Vqd6pqi7pf2J++UxC8R/uLeqVrubzr6+X7AbmEFE="
115134

135+
# Note that this is overridden on OSX builders
136+
install: >
137+
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 &&
138+
chmod +x $HOME/stamp &&
139+
export PATH=$PATH:$HOME
140+
116141
before_script:
117142
- >
118143
echo "#### Disk usage before running script:";
@@ -122,13 +147,14 @@ before_script:
122147
script:
123148
- >
124149
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;
150+
echo skipping, not a full build
129151
else
130-
travis_retry sh -c 'git submodule deinit -f . && git submodule update --init' &&
131-
src/ci/docker/run.sh $IMAGE;
152+
stamp src/ci/init_repo.sh . "$HOME/rustsrc" &&
153+
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
154+
stamp src/ci/run.sh;
155+
else
156+
stamp src/ci/docker/run.sh $IMAGE;
157+
fi
132158
fi
133159
134160
after_success:
@@ -142,24 +168,45 @@ after_failure:
142168
echo "#### Build failed; Disk usage after running script:";
143169
df -h;
144170
du . | sort -nr | head -n100
171+
172+
# One of these is the linux sccache log, one is the OSX sccache log. Instead
173+
# of worrying about what system we are just cat both. One of these commands
174+
# will fail but that's ok, they'll both get executed.
145175
- cat obj/tmp/sccache.log
146176
- cat /tmp/sccache.log
147177

178+
# Random attempt at debugging currently. Just poking around in here to see if
179+
# anything shows up.
180+
- ls $HOME/Library/Logs/DiagnosticReports/
181+
182+
# attempt to debug anything killed by the oom killer on linux, just to see if
183+
# it happened
184+
- dmesg | grep -i kill
185+
148186
# Save tagged docker images we created and load them if they're available
187+
# Travis saves caches whether the build failed or not, nuke rustsrc if
188+
# the failure was while updating it (as it may be in an bad state)
189+
# https://github.com/travis-ci/travis-ci/issues/4472
149190
before_cache:
150191
- docker history -q rust-ci |
151192
grep -v missing |
152193
xargs docker save |
153194
gzip > $HOME/docker/rust-ci.tar.gz
195+
- if [ ! -f $HOME/rustsrc/cache_valid1 ]; then
196+
echo "WARNING rustsrc cache was invalid when saving";
197+
rm -rf $HOME/rustsrc && mkdir $HOME/rustsrc;
198+
fi
154199
before_install:
155200
- zcat $HOME/docker/rust-ci.tar.gz | docker load || true
201+
- mkdir -p $HOME/rustsrc
156202

157203
notifications:
158204
email: false
159205

160206
cache:
161207
directories:
162208
- $HOME/docker
209+
- $HOME/rustsrc
163210

164211
before_deploy:
165212
- mkdir -p deploy/$TRAVIS_COMMIT

CONTRIBUTING.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -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

+4-3
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

RELEASES.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ Version 1.16.0 (2017-03-16)
44
Language
55
--------
66

7-
* Lifetimes in statics and consts default to `'static`. [RFC 1623]
87
* [The compiler's `dead_code` lint now accounts for type aliases][38051].
98
* [Uninhabitable enums (those without any variants) no longer permit wildcard
109
match patterns][38069]
@@ -5056,7 +5055,7 @@ Version 0.1 (2012-01-20)
50565055

50575056
* Compiler works with the following configurations:
50585057
* Linux: x86 and x86_64 hosts and targets
5059-
* MacOS: x86 and x86_64 hosts and targets
5058+
* macOS: x86 and x86_64 hosts and targets
50605059
* Windows: x86 hosts and targets
50615060

50625061
* Cross compilation / multi-target configuration supported.

appveyor.yml

+28-17
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,16 @@ environment:
4343
# *not* use debug assertions and llvm assertions. This is because they take
4444
# too long on appveyor and this is tested by rustbuild below.
4545
- MSYS_BITS: 32
46-
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu
46+
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-ninja
4747
SCRIPT: python x.py test
48-
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci
49-
MINGW_ARCHIVE: i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z
48+
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror
49+
MINGW_ARCHIVE: i686-6.2.0-release-win32-dwarf-rt_v5-rev1.7z
5050
MINGW_DIR: mingw32
5151
- MSYS_BITS: 64
5252
SCRIPT: python x.py test
53-
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu
54-
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci
55-
MINGW_ARCHIVE: x86_64-4.9.2-release-win32-seh-rt_v4-rev4.7z
53+
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-ninja
54+
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror
55+
MINGW_ARCHIVE: x86_64-6.2.0-release-win32-seh-rt_v5-rev1.7z
5656
MINGW_DIR: mingw64
5757

5858
# 32/64 bit MSVC and GNU deployment
@@ -68,17 +68,17 @@ environment:
6868
SCRIPT: python x.py dist
6969
DEPLOY: 1
7070
- MSYS_BITS: 32
71-
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-extended
71+
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-gnu --enable-extended --enable-ninja
7272
SCRIPT: python x.py dist
73-
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci
74-
MINGW_ARCHIVE: i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z
73+
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror
74+
MINGW_ARCHIVE: i686-6.2.0-release-win32-dwarf-rt_v5-rev1.7z
7575
MINGW_DIR: mingw32
7676
DEPLOY: 1
7777
- MSYS_BITS: 64
7878
SCRIPT: python x.py dist
79-
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-extended
80-
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci
81-
MINGW_ARCHIVE: x86_64-4.9.2-release-win32-seh-rt_v4-rev4.7z
79+
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-gnu --enable-extended --enable-ninja
80+
MINGW_URL: https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror
81+
MINGW_ARCHIVE: x86_64-6.2.0-release-win32-seh-rt_v5-rev1.7z
8282
MINGW_DIR: mingw64
8383
DEPLOY: 1
8484

@@ -115,10 +115,17 @@ install:
115115
- set PATH=C:\Python27;%PATH%
116116

117117
# Download and install sccache
118-
- appveyor-retry appveyor DownloadFile https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-02-25-sccache-x86_64-pc-windows-msvc
119-
- mv 2017-02-25-sccache-x86_64-pc-windows-msvc sccache
118+
- appveyor-retry appveyor DownloadFile https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-04-04-sccache-x86_64-pc-windows-msvc
119+
- mv 2017-04-04-sccache-x86_64-pc-windows-msvc sccache.exe
120120
- set PATH=%PATH%;%CD%
121121

122+
# Download and install ninja
123+
#
124+
# Note that this is originally from the github releases patch of Ninja
125+
- appveyor-retry appveyor DownloadFile https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-03-15-ninja-win.zip
126+
- 7z x 2017-03-15-ninja-win.zip
127+
# - set PATH=%PATH%;%CD% -- this already happens above for sccache
128+
122129
# Install InnoSetup to get `iscc` used to produce installers
123130
- appveyor-retry choco install -y InnoSetup
124131
- set PATH="C:\Program Files (x86)\Inno Setup 5";%PATH%
@@ -131,19 +138,21 @@ install:
131138
- handle.exe -accepteula -help
132139

133140
# Attempt to debug sccache failures
134-
- set RUST_LOG=sccache=debug
135141
- set SCCACHE_ERROR_LOG=%CD%/sccache.log
136142

137143
test_script:
138-
- appveyor-retry sh -c 'git submodule deinit -f . && git submodule update --init'
144+
- if not exist C:\cache\rustsrc\NUL mkdir C:\cache\rustsrc
145+
- sh src/ci/init_repo.sh . /c/cache/rustsrc
139146
- set SRC=.
140147
- set NO_CCACHE=1
141148
- sh src/ci/run.sh
142149

143150
on_failure:
144-
- cat %CD%/sccache.log
151+
- cat %CD%\sccache.log
152+
- cat C:\Users\appveyor\AppData\Local\Temp\1\build-cache-logs\*.log
145153

146154
cache:
155+
- C:\cache\rustsrc
147156
- "build/i686-pc-windows-msvc/llvm -> src/rustllvm/llvm-rebuild-trigger"
148157
- "build/x86_64-pc-windows-msvc/llvm -> src/rustllvm/llvm-rebuild-trigger"
149158
- "i686-pc-windows-msvc/llvm -> src/rustllvm/llvm-rebuild-trigger"
@@ -176,6 +185,7 @@ deploy:
176185
on:
177186
branch: auto
178187
DEPLOY: 1
188+
max_error_retry: 5
179189

180190
# This provider is the same as the one above except that it has a slightly
181191
# different upload directory and a slightly different trigger
@@ -192,6 +202,7 @@ deploy:
192202
on:
193203
branch: auto
194204
DEPLOY_ALT: 1
205+
max_error_retry: 5
195206

196207
# init:
197208
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

0 commit comments

Comments
 (0)