Commit Graph

110841 Commits

Author SHA1 Message Date
Donough Liu
edfca5fe9c Move branch point upwards to avoid unnecessary mk_ptr() 2020-04-29 13:06:02 +08:00
bors
825cf51ad7 Auto merge of #71486 - alexcrichton:arm64-lld, r=Mark-Simulacrum
Enable "full tools" option on ARM dist builders

This commit switches the `--enable-extended` option on the arm-related
dist builders to `--enable-full-tools`. This alias in `config.py`
corresponds to enabling a few more options:

* `rust.lld = true` - this is the main purpose of this PR, to enable LLD
  on ARM-related platforms. This means it will effectively unlock
  compilation of wasm programs from an arm host.

* `rust.llvm-tools = true` - it turns out that this option is largely
  ignored in rustbuild today. This is only read in one location to set
  some flags for the `llvm-tools` package, but the `llvm-tools` package
  is already produced on all of these builders. It's predicted that this
  will have no effect on build times.

* `rust.codegen-backends = ['llvm']` - historically this also enabled
  the emscripten backend, but that has long since been removed.

This brings the ARM dist builders in line with the x86_64 dist builders
using this flag. The hope is that the extra time spent on CI building
LLD will acceptable because it's cached by `sccache`, LLD is a
relatively small C++ project, and the dist builders are all clocking
well under 3 hours (the slowest of all builders) around 2 hours.

There's likely some possible cleanup that can happen with these
configure options since it doesn't look like they've aged too too well,
but I'm hopeful that possible refactorings, if necessary, could be
deferred to future PRs.
2020-04-28 22:18:03 +00:00
bors
6470169237 Auto merge of #71642 - ehuss:update-cargo, r=ehuss
Update cargo

11 commits in 8751eb3010d4cdb5329b5a6bd2b6d765c95b0dca..90931d9b31e8b854522fed00916504a3ac6d8619
2020-04-21 18:04:35 +0000 to 2020-04-28 01:56:59 +0000
- Use associated constants directly on primitive types instead of modules (rust-lang/cargo#8077)
- Clear `RUSTDOCFLAGS` before running tests (rust-lang/cargo#8168)
- Fix warning for `resolve` mismatch in workspace. (rust-lang/cargo#8169)
- Fix flaky linking_interrupted test. (rust-lang/cargo#8162)
- Fixed some unnecessary borrows and clones. (rust-lang/cargo#8146)
- Added warning when using restricted names in Windows. (rust-lang/cargo#8136)
- Add changelog about dylib uplift. (rust-lang/cargo#8161)
- Mention that cargo_metadata can parse json messages (rust-lang/cargo#8158)
- Re-enable rustc-info-cache test again (rust-lang/cargo#8155)
- Updates to path source walking. (rust-lang/cargo#8095)
- Bump to 0.46.0, update changelog (rust-lang/cargo#8153)
2020-04-28 19:05:00 +00:00
bors
db98d32ea0 Auto merge of #71644 - Dylan-DPC:rollup-cq7plwa, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #71340 (Moving more build-pass tests to check-pass)
 - #71456 (Use lib crate type for SGX in `fn build_auxiliary`)
 - #71615 (share some common code for compile-time miri instances)
 - #71637 (Minor formatting changes in `cfg-sanitize.md`)
 - #71641 (Update books)

Failed merges:

r? @ghost
2020-04-28 15:56:45 +00:00
Dylan DPC
b17ef8669e
Rollup merge of #71641 - ehuss:update-books, r=ehuss
Update books

## nomicon

5 commits in 6eb24d6e9c0773d4aee68ed5fca121ce3cdf676a..4d2d275997746d35eabfc4d992dfbdcce2f626ed
2020-04-06 02:21:15 +0200 to 2020-04-27 10:24:52 -0400
- Fix example in FFI, section NPO
- Update implementation code of `split_at_mut`
- Use rust-lang/rust linkchecker on CI.
- Use just `std::_` instead of `::std::_`
- Remove illegal space.

## reference

2 commits in 3ce94caed4cf967106c51ae86be5e098f7875f11..ed22e6fbfcb6ce436e9ea3b4bb4a55b2fb50a57e
2020-04-11 17:00:27 +0200 to 2020-04-24 12:46:22 -0700
- Fix grammer for tuple patterns and tuple struct patterns (rust-lang-nursery/reference#794)
- Document drop scopes (rust-lang-nursery/reference#514)

## book

2 commits in f5db319e0b19c22964398d56bc63103d669e1bba..e37c0e84e2ef73d3a4ebffda8011db6814a3b02d
2020-04-13 08:06:03 -0500 to 2020-04-26 09:31:36 -0500
- Mention short-circuiting in Appendix 02 (rust-lang/book#2318)
- Increase HTTP buffer size and add 'Content-Length' header (rust-lang/book#2246)

## rust-by-example

8 commits in c106d1683c3a2b0960f0f0fb01728cbb19807332..ffc99581689fe2455908aaef5f5cf50dd03bb8f5
2020-04-09 09:14:39 -0300 to 2020-04-24 15:05:04 -0300
- Fix Example -> Examples (rust-lang/rust-by-example#1340)
- Make unsuffixed literal plural (rust-lang/rust-by-example#1335)
- Ensure example error matches the comment (rust-lang/rust-by-example#1336)
- Add missing triple backticks (rust-lang/rust-by-example#1339)
- Clarify conditional compilation (rust-lang/rust-by-example#1338)
- Clarifies how to customize lib crate name (rust-lang/rust-by-example#1337)
- Fix bytes of youkoso in shiftjis (rust-lang/rust-by-example#1333)
- Fix possible typo (rust-lang/rust-by-example#1334)

## embedded-book

4 commits in 668fb07b6160b9c468f598e839c1e044db65de30..40beccdf1bb8eb9184a2e3b42db8b8c6e394247f
2020-04-13 12:38:16 +0000 to 2020-04-26 17:44:14 +0000
- Add hint on memory config to GDB debugging section  (rust-embedded/book#215)
- Adds cargo-generate to installation instructions  (rust-embedded/book#213)
- collections: Fix example allocator  (rust-embedded/book#206)
- Flip111/patch 8  (rust-embedded/book#233)
2020-04-28 17:55:50 +02:00
Dylan DPC
3d1f958b6c
Rollup merge of #71637 - mibac138:cfg-sanitize, r=petrochenkov
Minor formatting changes in `cfg-sanitize.md`
2020-04-28 17:55:48 +02:00
Dylan DPC
0bcdd5ffb8
Rollup merge of #71615 - RalfJung:share-machine-code, r=oli-obk
share some common code for compile-time miri instances

Fixes https://github.com/rust-lang/rust/issues/71129

r? @oli-obk
2020-04-28 17:55:46 +02:00
Dylan DPC
45edd23825
Rollup merge of #71456 - mzohreva:mz/sgx-no-dylib, r=nikomatsakis
Use lib crate type for SGX in `fn build_auxiliary`

since SGX does not support `dylib`

cc @Goirad
2020-04-28 17:55:44 +02:00
Dylan DPC
0144bf6a84
Rollup merge of #71340 - Valloric:more-check-pass, r=nikomatsakis
Moving more build-pass tests to check-pass

One or two tests became build-pass without the FIXME because they really
needed build-pass (were failing without it).

Helps with #62277

---
<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/rust-lang/rust/71340)
<!-- Reviewable:end -->
2020-04-28 17:55:43 +02:00
Eric Huss
f23db015ad Update cargo 2020-04-28 08:34:58 -07:00
Eric Huss
501dae7112 Update books 2020-04-28 07:46:36 -07:00
bors
b7bd7c1024 Auto merge of #71636 - Dylan-DPC:rollup-9gc24ak, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #71311 (On `FnDef` type annotation suggestion, use fn-pointer output)
 - #71488 (normalize field projection ty to fix broken MIR issue)
 - #71489 (Fix off by one in treat err as bug)
 - #71585 (remove obsolete comment)
 - #71634 (Revert #71372 ("Fix #! (shebang) stripping account space issue").)

Failed merges:

r? @ghost
2020-04-28 12:28:24 +00:00
Dylan DPC
6cad1e3006
Rollup merge of #71634 - eddyb:revert-71372, r=petrochenkov
Revert #71372 ("Fix #! (shebang) stripping account space issue").

While #71372 fixed some of the problems `#!`-stripping had, it introduced others:
* inefficient implementation (`.chars().filter(...).collect()` on the entire input file)
  * this also means the length returned isn't always correct, leading to e.g. #71471
* it ignores whitespace anywhere, stripping ` # ! ...` which isn't a valid shebang
  * the definition of "whitespace" it uses includes newlines, which means even `\n#\n!\n...` is stripped as a shebang (and anything matching the regex `\s*#\s*!\s*`, and not followed by `[`, really)
* it's backward-incompatible but didn't go through Crater

Now, #71487 is already open and will solve all of these issues. But for running Crater, and just in case #71487 takes a bit longer, I decided it's safer to just revert #71372.

This will also make #71372's diff clearer, as it will start again from the original whitespace-unaware version.

r? @petrochenkov
2020-04-28 13:12:17 +02:00
Dylan DPC
8e025db592
Rollup merge of #71585 - tshepang:obsolete-comment, r=Dylan-DPC
remove obsolete comment

Not sure if it's better to have an outdated comment or no comment at all (made obsolete by 2b9fea1300).
2020-04-28 13:12:15 +02:00
Dylan DPC
2b5325dbff
Rollup merge of #71489 - spastorino:fix-treat-err-as-bug-handling, r=eddyb
Fix off by one in treat err as bug

`-Ztreat-err-as-bug` doesn't work properly with delay_span_bug.

r? @eddyb
2020-04-28 13:12:14 +02:00
Dylan DPC
5aebbe9ea2
Rollup merge of #71488 - spastorino:normalize-ty-to-fix-broken-mir, r=eddyb
normalize field projection ty to fix broken MIR issue

Fixes #71344

r? @eddyb
2020-04-28 13:12:12 +02:00
Dylan DPC
d9c1f5cf4f
Rollup merge of #71311 - estebank:fn-type-param, r=varkor
On `FnDef` type annotation suggestion, use fn-pointer output

Address the last point in #71209.
2020-04-28 13:12:09 +02:00
Eduard-Mihai Burtescu
4d67c8da55 Revert "Rollup merge of #71372 - ayushmishra2005:shebang_stripping, r=estebank"
This reverts commit 46a8dcef5c, reversing
changes made to f28e3873c5.
2020-04-28 13:02:58 +03:00
bors
d7afaa7247 Auto merge of #71444 - RalfJung:test-async-no-opt, r=jonas-schievink
smoke-test for async fn with mir-opt-level=0

MIR opt levels heavily influence which MIR transformations run, and we barely test non-default opt levels. I am particularly worried about `async fn` lowering and how it might (not) work when the set of preceding MIR passes changes -- see https://github.com/rust-lang/rust/pull/70073.

This adds some basic smoke testing, where at least a few `async fn` `run-pass` test are ensured to also work with mir-opt-level=0.
2020-04-28 09:06:55 +00:00
Ralf Jung
3a129df39c also run some generator tests without MIR optimizations 2020-04-28 08:22:08 +02:00
bors
fb5615a477 Auto merge of #71292 - marmeladema:queries-local-def-id, r=eddyb
Convert more queries to use `LocalDefId`

This PR is based on commits in https://github.com/rust-lang/rust/pull/71215 and should partially solve #70853
2020-04-28 05:01:27 +00:00
bors
6db2094c90 Auto merge of #71606 - Xanewok:update-rls, r=Xanewok
Update RLS to unbreak toolstate

Breakage caused by https://github.com/rust-lang/rust/pull/71263.

r? @ghost
2020-04-28 01:46:47 +00:00
marmeladema
1349272a6e Accept LocalDefId as key for check_impl_item_well_formed query 2020-04-27 23:58:11 +01:00
marmeladema
14119a2a05 Accept LocalDefId as key for check_trait_item_well_formed query 2020-04-27 23:58:11 +01:00
marmeladema
d9e5fa15ff Accept LocalDefId as key for check_item_well_formed query 2020-04-27 23:58:11 +01:00
marmeladema
c9f6ffc3b0 Change return type of entry_fn query to return a LocalDefId 2020-04-27 23:58:11 +01:00
marmeladema
3877f54000 Declare body_owner and subject_def_id as LocalDefId in RegionCtxt 2020-04-27 23:57:55 +01:00
marmeladema
91d5ab3fb1 Declare body_owner as LocalDefId in MemCategorizationContext 2020-04-27 23:55:41 +01:00
marmeladema
3c6e6ca729 Accept LocalDefId as key for check_mod_privacy query 2020-04-27 23:55:41 +01:00
marmeladema
49d0b727ea Accept LocalDefId as key for lint_mod query 2020-04-27 23:55:41 +01:00
marmeladema
9e3bb615d5 Accept LocalDefId as argument for mir_build::lint::check 2020-04-27 23:55:41 +01:00
marmeladema
eada4101a0 Accept LocalDefId as key for mir_validated query 2020-04-27 23:55:32 +01:00
bors
c354509343 Auto merge of #71620 - Dylan-DPC:rollup-9wgtisb, r=Dylan-DPC
Rollup of 7 pull requests

Successful merges:

 - #67841 (Add Read/Write::can_read/write_vectored)
 - #71524 (Minimize parameter of coerce_borrowed_pointer())
 - #71558 (Cleanup and document `-Z tls-model` )
 - #71578 (linkchecker: fix typo in main.rs)
 - #71596 (Fix broken link in `QPath` documentation)
 - #71604 (make recursive-zst test unleashed)
 - #71605 (No need to whitelist E0750 anymore)

Failed merges:

r? @ghost
2020-04-27 22:49:05 +00:00
marmeladema
6e930f72d0 Accept LocalDefId as key for mir_borrowck query 2020-04-27 21:50:18 +01:00
marmeladema
82823c0229 Return a FxHashSet<LocalDefId> from mir_keys query 2020-04-27 21:50:17 +01:00
marmeladema
82cc530431 Accept LocalDefId as keyt for names_imported_by_glob_use
and `maybe_unused_trait_import` queries
2020-04-27 21:50:17 +01:00
marmeladema
da975c318d Use LocalDefId for type_param_predicates query 2020-04-27 21:50:17 +01:00
marmeladema
f2f0478de7 Use LocalDefId in mir_built query 2020-04-27 21:50:17 +01:00
marmeladema
abd31ad6e8 Use LocalDefId in unsafety_check_result query 2020-04-27 21:50:17 +01:00
marmeladema
de7c9e753d Use LocalDefId in typeck_tables_of and used_trait_imports queries 2020-04-27 21:50:17 +01:00
Dylan DPC
c890912da1
Rollup merge of #71605 - GuillaumeGomez:remove-e0750-from-whitelist, r=Dylan-DPC
No need to whitelist E0750 anymore

Since #71304 has been fixed, no need to whitelist it anymore.

r? @Dylan-DPC
2020-04-27 22:15:11 +02:00
Dylan DPC
efed49b79d
Rollup merge of #71604 - RalfJung:unleash-recursive-zst, r=oli-obk
make recursive-zst test unleashed

Make sure we find this issue even without const qualification.

r? @oli-obk @ecstatic-morse
2020-04-27 22:15:09 +02:00
Dylan DPC
c1c46c751c
Rollup merge of #71596 - LeSeulArtichaut:patch-1, r=Dylan-DPC
Fix broken link in `QPath` documentation

r? @Dylan-DPC
2020-04-27 22:15:07 +02:00
Dylan DPC
f4e0431da0
Rollup merge of #71578 - ryzokuken:linkchecker, r=Dylan-DPC
linkchecker: fix typo in main.rs

Came across this while reading the file.
2020-04-27 22:15:06 +02:00
Dylan DPC
f81a41a86a
Rollup merge of #71558 - petrochenkov:tlsm, r=Amanieu
Cleanup and document `-Z tls-model`

r? @Amanieu
2020-04-27 22:15:04 +02:00
Dylan DPC
e2976c1371
Rollup merge of #71524 - ldm0:ptrparam, r=matthewjasper
Minimize parameter of coerce_borrowed_pointer()

Change last parameter of `coerce_borrowed_pointer()` from `TypeAndMut` to `Mutability` (similar to `coerce_unsafe_ptr()`), since the `TypeAndMut::ty` is never used directly in this function.
2020-04-27 22:15:01 +02:00
Dylan DPC
c4d9f42f6d
Rollup merge of #67841 - sfackler:can-vector, r=Amaneiu
Add Read/Write::can_read/write_vectored

When working with an arbitrary reader or writer, code that uses vectored
operations may end up being slower than code that copies into a single
buffer when the underlying reader or writer doesn't actually support
vectored operations. These new methods allow you to ask the reader or
witer up front if vectored operations are efficiently supported.

Currently, you have to use some heuristics to guess by e.g. checking if
the read or write only accessed the first buffer. Hyper is one concrete
example of a library that has to do this dynamically:
0eaf304644/src/proto/h1/io.rs (L582-L594)
2020-04-27 22:14:55 +02:00
bors
2d03399f53 Auto merge of #71200 - oli-obk:mir_bless, r=eddyb
Emit basic block info for stmts and terminators in MIR dumps only with -Zverbose

r? @eddyb

as per https://github.com/rust-lang/rust/pull/70755#discussion_r403419476
2020-04-27 19:36:46 +00:00
Esteban Kuber
432ab343f8
fix typo
Co-Authored-By: varkor <github@varkor.com>
2020-04-27 10:59:44 -07:00
Ralf Jung
fad64db578 share some common code for compile-time miri instances 2020-04-27 19:02:10 +02:00