Commit graph

4073 commits

Author SHA1 Message Date
Nikita Popov
841558d3bd Remove trailing newline from llvm-config output 2020-03-19 20:09:57 +01:00
Josh Stone
3a2a4429a2 Avoid llvm-config in more situations, like bootstrap test runs 2020-03-19 10:28:47 -07:00
Mazdak Farrokhzad
61fe2e4036
Rollup merge of #69443 - ehuss:tidy-license, r=skade,Mark-Simulacrum
tidy: Better license checks.

This implements some improvements to the license checks in tidy:

* Use `cargo_metadata` instead of parsing vendored crates. This allows license checks to run without vendoring enabled, and allows the checks to run on PR builds.
* Check for stale entries.
* Check that the licenses for exceptions are what we think they are.
* Verify exceptions do not leak into the runtime.

Closes #62618
Closes #62619
Closes #63238 (I think)

There are some substantive changes here. The follow licenses have changed from the original comments:

* openssl BSD+advertising clause to Apache-2.0
* pest MPL2 to MIT/Apache-2.0
* smallvec MPL2 to MIT/Apache-2.0
* clippy lints MPL2 to MIT OR Apache-2.0
2020-03-19 06:57:30 +01:00
Josh Stone
e1a6a306ad Revert "Fix missing libLLVM.so in stage0 sysroot."
This reverts commit 8b9c5396ca.
2020-03-18 16:09:06 -07:00
Josh Stone
0536b8dcaa Ensure LLVM is in the link path for rustc tools 2020-03-18 16:09:06 -07:00
Josh Stone
71f5aed385 Rename add_lib_path to add_dylib_path 2020-03-18 13:49:53 -07:00
Eric Huss
287c4eb094 Tidy: fix running rustfmt twice 2020-03-18 08:15:29 -07:00
Mazdak Farrokhzad
c4a900f57c
Rollup merge of #69735 - tmiasko:bootstrap-sanitizers-hash, r=Mark-Simulacrum
bootstrap: Use hash to determine if sanitizers needs to be rebuilt

* Rebuild sanitizers runtimes when LLVM submodule commit changes.
* When rebuilding LLVM / sanitizers, remove the stamp file before
  starting the build process to invalidate previous build output.
2020-03-17 12:16:14 +01:00
Mazdak Farrokhzad
f907598ba4
Rollup merge of #70029 - jonas-schievink:bootstrap, r=Centril
Bump the bootstrap compiler
2020-03-17 03:05:17 +01:00
Dylan DPC
fdb5df049c
Rollup merge of #69964 - ollie27:ci_nodejs, r=Mark-Simulacrum,GuillaumeGomez
Add Node.js to PR CI image

This should allow the `rustdoc-js` and `rustdoc-js-std` test suites to run automatically on PRs.
2020-03-16 01:30:33 +01:00
Jonas Schievink
f53f9a88f1 Bump the bootstrap compiler 2020-03-15 19:43:25 +01:00
Oliver Middleton
3f58ab6e24 Allow rustdoc-js and rustdoc-js-std to use none default build dir location 2020-03-13 23:24:12 +00:00
Eric Huss
349fcb9ef6 tidy: Use cargo_metadata for license checks. 2020-03-12 19:19:18 -07:00
Mazdak Farrokhzad
3d23de7baf
Rollup merge of #69705 - ehuss:toolstate-remove-redundant-beta, r=Mark-Simulacrum
Toolstate: remove redundant beta-week check.

I made a bit of a mistake in #69624.  The "beta regression" doesn't need to be checked twice.

I also rolled up #69693 to avoid merge conflicts.
2020-03-12 16:32:15 +01:00
Mazdak Farrokhzad
dde2484fce
Rollup merge of #69603 - chrissimpkins:tidy-docs-update, r=petrochenkov
tidy: replace `make check` with `./x.py test` in documentation

This PR includes a minor documentation update for tidy.  It replaces the `make check` approach with `./x.py test` and describes how to execute the tidy checks (only) with ~~`./x.py test src/tools/tidy`~~ `./x.py test tidy`.
2020-03-11 14:03:44 +01:00
Chris Simpkins
4922b683de remove trailing whitespace (tidy) 2020-03-09 22:15:41 -04:00
Chris Simpkins
9f734c978c Add documentation of tool testing with x.py script 2020-03-09 22:04:59 -04:00
Chris Simpkins
259b06e33f add documentation of x.py tool testing 2020-03-09 21:55:56 -04:00
Mazdak Farrokhzad
b3c405cf46
Rollup merge of #69631 - RalfJung:rust-src, r=Mark-Simulacrum
remove non-sysroot sources from rust-src component

See https://github.com/rust-lang/rust/pull/69592#discussion_r386238725: these were likely added in https://github.com/rust-lang/rust/pull/58269 for the sake of compiler plugins, but those are being entirely phased out, so there is no good reason to ship these sources.

OTOH, @eddyb [wrote](https://github.com/rust-lang/rust/pull/58269#issuecomment-463408918)

> Yeah, my question is why librustc_plugin specifically? Everything else makes sense.

So maybe there is some good reason to keep these? Then we should have a comment explaining that reason.

Cc @eddyb @taeguk @Mark-Simulacrum
2020-03-08 16:53:35 +01:00
Matthias Krüger
136ad015b6 fix various typos 2020-03-06 15:19:31 +01:00
Tomasz Miąsko
726d5185e0 bootstrap: Use hash to determine if sanitizers needs to be rebuilt
* Rebuild sanitizers runtimes when LLVM submodule commit changes.
* When rebuilding LLVM / sanitizers, remove the stamp file before
  starting the build process to invalidate previous build output.
2020-03-05 15:52:49 +01:00
Eric Huss
a41f1f128e Further clarifications and comments on toolstate operation. 2020-03-04 09:49:55 -08:00
Ralf Jung
a6d8c9c5eb more toolstate comments 2020-03-04 08:30:26 -08:00
Eric Huss
0e1cd5935f Toolstate: remove redundant beta-week check. 2020-03-04 08:23:26 -08:00
bors
2b0cfa5b4c Auto merge of #69636 - RalfJung:miri, r=nikomatsakis
update miri

Let's make that toolstate green again. :D

This bumps serde in the lockfile, so r? @oli-obk

Fixes https://github.com/rust-lang/rust/issues/69462
2020-03-04 10:44:55 +00:00
Ralf Jung
0a6f45e2e5 point cargo-miri to the right xargo binary 2020-03-04 10:31:00 +01:00
Eric Huss
fdc14cb0b0 Toolstate: don't duplicate nightly tool list. 2020-03-02 08:42:35 -08:00
Dylan DPC
f8fb3efe6f
Rollup merge of #69624 - ehuss:toolstate-beta-regress, r=Mark-Simulacrum
Toolstate: Don't block beta week on already broken tools.

This changes it so that tools are allowed to be broken entering the beta week if they are already broken.  This restores the original behavior before the changes in #69332.

Closes #68458
2020-03-02 13:42:43 +01:00
Ralf Jung
cbf52b1675 remove non-sysroot sources from rust-src component 2020-03-02 10:13:11 +01:00
Eric Huss
22d840e501 Toolstate: Don't block beta week on already broken tools. 2020-03-01 15:46:38 -08:00
Yuki Okushi
559e5ab7ad
Rollup merge of #69549 - mati865:mingw, r=kennytm
Improve MinGW detection when cross compiling

Official mingw-w64 builds, MSYS2 and LLVM MinGW provide both `gcc.exe` and `$ARCH-w64-mingw32-gcc.exe` so they should not regress but I included CI changes to verify it though `@bors try` (I don't have permission).

This change will come handy when cross compiling from Linux or Cygwin since they use `gcc` as native compiler and `$ARCH-w64-mingw32-gcc.exe` for MinGW. This means users will no longer have to override the linker.
2020-03-01 19:28:07 +09:00
Yuki Okushi
1e258784e1
Rollup merge of #69397 - tmiasko:llvm-version-suffix, r=nagisa
bootstrap: Remove commit hash from LLVM version suffix to avoid rebuilds

The custom LLVM version suffix was introduced to avoid unintentional
library names conflicts. By default it included the LLVM submodule
commit hash. Changing the version suffix requires the complete LLVM
rebuild, and since then every change to the submodules required it as
well.

Remove the commit hash from version suffix to avoid complete rebuilds,
while leaving the `rust` string, the release number and release channel
to disambiguate the library name.

Context: version suffix was introduced by #59173 as solution to #59034.

Resolves #68715.
2020-03-01 19:28:05 +09:00
Vadim Petrochenkov
6054a30370 Make it build again 2020-02-29 20:47:10 +03:00
Mateusz Mikuła
cdb6955659 Update src/bootstrap/dist.rs
Co-Authored-By: kennytm <kennytm@gmail.com>
2020-02-29 18:42:42 +01:00
Andre Richter
7cf2bfb657
Fix no_std detection for target triples
The current check for wether a target is no_std or not is matching for the
string "-none-" in a target triple. This doesn't work for triples that end in
"-none", like "aarch64-unknown-none".

Fix this by matching for "-none" instead.

I checked for all the current target triples containing "none", and this should
not generate any false positives.

This fixes an issue encountered in https://github.com/rust-lang/rust/pull/68334
2020-02-28 21:51:16 +01:00
Mateusz Mikuła
3713ed67fd Improve MinGW detection when cross compiling 2020-02-28 14:15:06 +01:00
Felix S. Klock II
cac4eeee24 Ignore untracked paths when running rustfmt on repository. 2020-02-27 15:52:09 -05:00
Guillaume Gomez
c57de34e8f Stabilize --crate-version option in rustdoc 2020-02-26 22:08:59 +01:00
Dylan DPC
d799f2deb1
Rollup merge of #69381 - QuiltOS:no-std-from-config, r=Mark-Simulacrum
Allow getting `no_std` from the config file

Currently, it is only set correctly in the sanity checking implicit
default fallback code. Having a config file at all will for force
`no_std = false`.
2020-02-26 15:34:32 +01:00
John Ericson
4f15867faf bootstrap: Further centralize target defaulting logic.
Background: targets can be specied with or without config files;
unneccessarily differences in the logic between those cases has caused
a) the bug I tried to fix in the previous commit, b) the bug I
introduced in the previous commit.

The solution is to make the code paths the same as much as possible.

1. Targets are now not created from the `default` method. (I would both
remove the impl if this was a public library, but just wrap it for
convience becaues it's not.) Instead, there is a `from_triple` method
which does the defaulting.

2. Besides the sanity checking, use the new method in the code reading
config files. Now `no_std` is overriden iff set explicitly just like the
other fields which are optional in the TOML AST type.

3. In sanity checking, just populate the map for all targets no matter
what. That way do don't duplicate logic trying to be clever and remember
which targets have "non standard" overrides. Sanity checking is back to
just sanity checking, and out of the game of trying to default too.
2020-02-24 21:59:36 -05:00
Tomasz Miąsko
598b187e27 bootstrap: Remove commit hash from LLVM version suffix to avoid rebuilds
The custom LLVM version suffix was introduced to avoid unintentional
library names conflicts. By default it included the LLVM submodule
commit hash. Changing the version suffix requires the complete LLVM
rebuild, and since then every change to the submodules required it as
well.

Remove the commit hash from version suffix to avoid complete rebuilds,
while leaving the `rust` string, the release number and release channel
to disambiguate the library name.
2020-02-23 15:20:37 +01:00
John Ericson
03ca0e2706 Allow getting no_std from the config file
Currently, it is only set correctly in the sanity checking implicit
default fallback code. Having a config file at all will for force
`no_std = false`.
2020-02-22 15:23:15 -05:00
Ralf Jung
1a0e2001bc fix miri and bootstrap interaction 2020-02-21 20:45:16 +01:00
bors
7760cd0fbb Auto merge of #69293 - Dylan-DPC:rollup-imcbvgo, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #68863 (ci: switch macOS builders to 10.15)
 - #69142 (Add shared script for linkchecking books.)
 - #69248 (Don't eliminate frame pointers on thumb targets)
 - #69280 (Remove special case for `simd_shuffle` arg promotion)
 - #69284 (Reword OpenOptions::{create, create_new} doc.)

Failed merges:

r? @ghost
2020-02-19 19:10:58 +00:00
Dylan DPC
2f914bf327
Rollup merge of #68863 - pietroalbini:azure-macos-10.15, r=Mark-Simulacrum
ci: switch macOS builders to 10.15

Azure Pipelines is deprecating the macOS 10.13 image we're currently running, [and they plan to remove them](https://devblogs.microsoft.com/devops/removing-older-images-in-azure-pipelines-hosted-pools/) on March 23, 2020. This PR switches our macOS builders to macOS 10.15.

r? @Mark-Simulacrum
2020-02-19 18:12:07 +01:00
bors
7d6b8c414e Auto merge of #69198 - ollie27:rustbuild_rustdoc-js, r=Mark-Simulacrum
Fix running rustdoc-js test suite individually

Without `Compiletest.path` set running `x.py test src/test/rustdoc-js` would run the `rustdoc-js` test suite with everything filtered out.

As this was the only place setting `Compiletest.path` to `None` this removes the `Option` wrapper as well.
2020-02-19 15:55:57 +00:00
Josh Stone
3a55e8875e configure: set LLVM flags with a value
Rather than a boolean `--enable-cflags` etc., these options should
reflect that they are for LLVM, and that they need a value. You would
now use `./configure --llvm-cflags="..."`.
2020-02-17 11:01:52 -08:00
Pietro Albini
79c166ef73
ci: switch macOS builders to 10.15 2020-02-17 12:21:28 +01:00
Oliver Middleton
3300725342 Fix running rustdoc-js test suite individually
Without `Compiletest.path` set running `x.py test src/test/rustdoc-js` would run the `rustdoc-js` test suite with everything filtered out.

As this was the only place setting `Compiletest.path` to `None` this removes the `Option` wrapper as well.
2020-02-15 23:14:46 +00:00
bors
433aae93e4 Auto merge of #69115 - ehuss:update-books, r=Dylan-DPC
Update books.

This required some changes in how the books are tested due to some changes in rust-lang/book.  It uses new syntax that is not compatible with bare `rustdoc --test`.  This changes it so that it uses rustbook to run the tests, which is essentially the same as `mdbook test`.

## reference

7 commits in 11e893fc1357bc688418ddf1087c2b7aa25d154d..64239df6d173562b9deb4f012e4c3e6e960c4754
2020-01-18 21:24:08 +0100 to 2020-02-10 19:05:13 +0100
- Update for nested receivers. (rust-lang-nursery/reference#724)
- clarify note re. leading `::` in 2018 (rust-lang-nursery/reference#752)
- Update macro-ambiguity.md (rust-lang-nursery/reference#754)
- typo fix: add missing `by` (rust-lang-nursery/reference#753)
- fix `TypeParamBounds` link on trait objects (rust-lang-nursery/reference#749)
- reorganize docs on references (rust-lang-nursery/reference#745)
- add MacroRepOp usage for ? (rust-lang-nursery/reference#744)

## book

49 commits in 87dd6843678575f8dda962f239d14ef4be14b352..6fb3705e5230311b096d47f7e2c91f9ce24393d0
2020-01-20 15:20:40 -0500 to 2020-02-12 13:48:57 -0500
- Fix nomicon links. (rust-lang/book#2253)
- Update to Rust 1.41.0 (rust-lang/book#2244)
- Listing 19-6: use ptr.add instead of ptr.offset (rust-lang/book#2201)
- Remove unneeded mutable reference
- Clarify deref coercion explanation
- Fix typo in link to 1.30 book
- Acknowledge Murphy's Law
- Clarify that buffer overread is UB in C
- Change from "must" to "idiomatic" about comments
- Fancy quotes
- Make HashMap types match previous example; add fwd ref to ch 13
- Tweak wording to array clarification
- Merge remote-tracking branch 'origin/pr/2236'
- Update all our crates (rust-lang/book#2235)
- Reword git caveat
- Merge remote-tracking branch 'origin/pr/2234'
- Merge remote-tracking branch 'origin/pr/2230'
- println! is a macro (rust-lang/book#2224)
- Update a translated version link (rust-lang/book#2221)
- move `Macro invocation` from section on tuple to section on mac… (rust-lang/book#2206)
- Do not limit `Self` usage in trait implementation (rust-lang/book#2197)
- Merge remote-tracking branch 'origin/pr/2191'
- Fix wrapping
- Merge remote-tracking branch 'origin/pr/2187'
- Updated appendix 07 to reflect deprecation of rustup install (rust-lang/book#2181)
- Make links to the Nomicon consistent
- Merge remote-tracking branch 'origin/pr/2180'
- Merge remote-tracking branch 'origin/pr/2175'
- Merge remote-tracking branch 'origin/pr/2171'
- Merge remote-tracking branch 'origin/pr/2170'
- Clarify and make consistent the explanation of unions
- Merge remote-tracking branch 'origin/pr/2166'
- Handle dev or test in the Finished output line
- Link to macros by example rather than macros (rust-lang/book#2164)
- Merge remote-tracking branch 'origin/pr/2147'
- Fix parens (rust-lang/book#2132)
- Clarify type inference with closures requires calling the closures
- Update link to French translation (rust-lang/book#2119)
- Merge remote-tracking branch 'origin/pr/2108'
- Add an explicit cross reference to data type
- Merge remote-tracking branch 'origin/pr/2105'
- ch15-02-deref: Improve explanation on immut-to-mut (rust-lang/book#2030)
- Remove unnecessary quotes
- Make markdown link identifier match
- Remove extra newline
- Merge remote-tracking branch 'origin/pr/2004'
- Extract code and output; script formatting and updating them (rust-lang/book#2231)
- Switch "Finally" to "Next" to reflect new chapters having been… (rust-lang/book#2098)
- ch19-06 added curly braces to macro output (rust-lang/book#2050)

## rust-by-example

2 commits in 1c2bd024d13f8011307e13386cf1fea2180352b5..32facd5522ddbbf37baf01e4e4b6562bc55c071a
2020-01-20 12:18:36 -0300 to 2020-02-11 09:25:06 -0300
- Add missing `dyn` in code sample (rust-lang/rust-by-example#1306)
- Improve grammar in a few sections (rust-lang/rust-by-example#1305)

## edition-guide

1 commits in 1a2390247ad6d08160e0dd74f40a01a9578659c2..37f9e6848411188a1062ead1bd8ebe4b8aa16899
2019-12-29 10:40:55 -0800 to 2020-02-10 14:36:14 +0100
- Fixed typo (rust-lang-nursery/edition-guide#196)

## embedded-book

4 commits in 4d78994915af1bde9a95c04a8c27d8dca066232a..b2e1092bf67bd4d7686c4553f186edbb7f5f92db
2020-01-14 08:25:25 +0000 to 2020-01-30 08:45:46 +0000
- Make typestate initialization notes correct  (rust-embedded/book#224)
- Mention discovery book more prominently  (rust-embedded/book#219)
- Replace nursery links with rust-lang links  (rust-embedded/book#222)
- Add a Glossary appendix page  (rust-embedded/book#223)
2020-02-14 19:59:05 +00:00