Commit Graph

106219 Commits

Author SHA1 Message Date
Victor Ding
6a6ebb4403 Add -Z no-link flag
Adds a compiler option to allow rustc compile a crate without linking.
With this flag, rustc serializes codegen_results into a .rlink file.
2020-01-23 11:00:36 +11:00
Tomasz Miąsko
d915c016c9 Use check-pass mode for lint tests 2020-01-23 00:00:00 +00:00
Tomasz Miąsko
5c73d21eaa Use check-pass mode for nll tests 2020-01-23 00:00:00 +00:00
Aaron Green
192650a9aa Fix tidy warnings 2020-01-22 15:34:39 -08:00
Aaron Green
4210409f44 Enable ASan on Fuchsia
This change adds the x86_64-fuchsia and aarch64-fuchsia LLVM targets to
those allowed to invoke -Zsanitizer. Currently, the only overlap between
compiler_rt sanitizers supported by both rustc and Fuchsia is ASan.
2020-01-22 15:19:36 -08:00
Oliver Middleton
9d3e84432d Avoid overflow in std::iter::Skip::count
The call to `count` on the inner iterator can overflow even if `Skip` itself would return less that `usize::max_value()` items.
2020-01-22 20:28:28 +00:00
bors
d1e594f402 Auto merge of #68192 - GuillaumeGomez:remove-inlined-types, r=kinnison
Remove usage of global variable "inlined_types"

r? @pietroalbini
2020-01-22 18:04:56 +00:00
Matthias Krüger
71370c87f7 librustc_mir: don't allocate vectors where slices will do. 2020-01-22 17:19:26 +01:00
Guillaume Gomez
94fcda0e13 clean up E0214 explanation 2020-01-22 14:25:35 +01:00
bors
ae66171b41 Auto merge of #68069 - JohnTitor:fix-closure-ice, r=matthewjasper
Attempt to fix ICE #68025

Fixes #68025
2020-01-22 13:10:49 +00:00
bors
f5abfb1569 Auto merge of #68194 - jonas-schievink:fix-thumb-ci, r=alexcrichton
Fix CI for embedded ARM targets

Closes https://github.com/rust-lang/rust/issues/67018

It would be better to move the `thumb-none-cortex-m` test into the `cargotest` suite, but it doesn't seem to support cross-compilation.
2020-01-22 09:49:03 +00:00
bors
2f688ac602 Auto merge of #68442 - Centril:rollup-ir2vmid, r=Centril
Rollup of 3 pull requests

Successful merges:

 - #68421 (Update cargo, books)
 - #68422 (typeck: simplify the handling of `diverges`)
 - #68439 (Update Clippy)

Failed merges:

r? @ghost
2020-01-22 00:50:48 +00:00
Mazdak Farrokhzad
2a3627d6b4
Rollup merge of #68439 - JohnTitor:clippy-up, r=JohnTitor
Update Clippy

Fixes #68431

r? @ghost
2020-01-22 01:50:12 +01:00
Mazdak Farrokhzad
4ce792ded6
Rollup merge of #68422 - Centril:diverges-simplify, r=eddyb
typeck: simplify the handling of `diverges`

Some drive-by cleanup while working on `hir::ExprKind::Let`.
Ostensibly, this has some perf benefits due to reduced allocation and whatnot as well.

r? @eddyb
2020-01-22 01:50:10 +01:00
Mazdak Farrokhzad
06029c4498
Rollup merge of #68421 - ehuss:update-cargo-books, r=alexcrichton
Update cargo, books

## cargo

9 commits in ad3dbe10e1e654fb1f032a5dd9481d7cbaa00d65..f6449ba236db31995255ac5e4cad4ab88296a7c6
2020-01-13 21:37:15 +0000 to 2020-01-21 16:15:39 +0000
- Fix wrong directories in host_libdir. (rust-lang/cargo#7798)
- Update humantime requirement from 1.2.0 to 2.0.0 (rust-lang/cargo#7815)
- Fix doc_target test which no longer works on stable/beta. (rust-lang/cargo#7817)
- Fix some erroneous em-dashes in man pages. (rust-lang/cargo#7814)
- fix some clippy warnings (rust-lang/cargo#7808)
- Don't assume iowait always increases on Linux (rust-lang/cargo#7803)
- Add and update some doc comments. (rust-lang/cargo#7800)
- Consistently use em-dash in environment documentation page. (rust-lang/cargo#7799)
- Load credentials only when needed (rust-lang/cargo#7774)

## reference

3 commits in e1157538e86d83df0cf95d5e33bd943f80d0248f..11e893fc1357bc688418ddf1087c2b7aa25d154d
2019-12-22 13:13:14 +0100 to 2020-01-18 21:24:08 +0100
- Small improvements to types/pointer.md (rust-lang-nursery/reference#726)
- repr(transparent): mention align=1 requirement (rust-lang-nursery/reference#737)
- Elaborate on how to use an extern static correctly (rust-lang-nursery/reference#736)

## book

4 commits in 5c5cfd2e94cd42632798d9bd3d1116133e128ac9..87dd6843678575f8dda962f239d14ef4be14b352
2019-12-16 09:27:21 -0600 to 2020-01-20 15:20:40 -0500
- Fix listing numbers (rust-lang/book#2227)
- Move `async` and `await` keywords to 'Currently in Use' (rust-lang/book#2140)
- More cleanup - remove unneeded files (rust-lang/book#2213)
- Small cleanups extracted from the bigger pr i'm working on (rust-lang/book#2212)

## rust-by-example

1 commits in 1d59403cb5269c190cc52a95584ecc280345495a..1c2bd024d13f8011307e13386cf1fea2180352b5
2019-12-27 08:27:05 -0300 to 2020-01-20 12:18:36 -0300
- CamelCase -> UpperCamelCase (rust-lang/rust-by-example#1302)

## embedded-book

1 commits in 9493b7d4dc97eda439bd8780f05ad7b234cd1cd7..4d78994915af1bde9a95c04a8c27d8dca066232a
2019-12-27 20:05:00 +0000 to 2020-01-14 08:25:25 +0000
- Update .gitattributes  (rust-embedded/book#221)
2020-01-22 01:50:09 +01:00
Mazdak Farrokhzad
7962ccb216 pprust: use as_deref 2020-01-22 01:38:05 +01:00
Matthias Krüger
eb2da27af2 bootstrap: update clippy subcmd decription
Clarify where the clippy used in `./x.py clippy` is coming from.
It uses whatever clippy binary was installed via rustup, cargo-install
or otherwise and does NOT use the binary generated by `./x.py build src/tools/clippy`.
2020-01-22 01:06:36 +01:00
Yuki Okushi
c7b23e2752 Update Clippy 2020-01-22 08:53:31 +09:00
Aaron Hill
4ee4287b1d
Account for non-types in substs for opaque type error messages
Fixes #68368

Previously, I assumed that the substs contained only types, which caused
the computed index number to be wrong.
2020-01-21 18:49:01 -05:00
Tyler Mandry
13a91a82ff Update LLVM
Fixes #67855 (rust-lang/llvm-project#31)
Fixes #66036 (rust-lang/llvm-project#32)
2020-01-21 15:11:54 -08:00
Mark Rousskov
dc97181a09 Do not base path to append extension
We already have ownership of the base path, so no need to clone it (within
Path::with_extension).
2020-01-22 08:10:41 +09:00
Mark Rousskov
8c6067c24e Store filestem in a pre-formatted form 2020-01-22 08:10:40 +09:00
Mark Rousskov
d1bb7e16e0 Privatize private fields of OutputFilenames 2020-01-22 08:10:05 +09:00
Philipp Gesang
db3b40c2a1
Cleanup: rewrite conditional as match
As suggested by @Centril.

Signed-off-by: Philipp Gesang <phg@phi-gamma.net>
2020-01-21 21:48:07 +01:00
Esteban Küber
c775927d7f Suggest borrowing Vec<NonCopy> in for loop
Partially address #64167.
2020-01-21 11:11:00 -08:00
bors
5e8897b7b5 Auto merge of #68423 - Centril:rollup-bdjykrv, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #67686 (Simplify NodeHeader by avoiding slices in BTreeMaps with shared roots)
 - #68140 (Implement `?const` opt-out for trait bounds)
 - #68313 (Options IP_MULTICAST_TTL and IP_MULTICAST_LOOP are 1 byte on BSD)
 - #68328 (Actually pass target LLVM args to LLVM)
 - #68399 (check_match: misc unifications and ICE fixes)
 - #68415 (tidy: fix most clippy warnings)
 - #68416 (lowering: cleanup some hofs)

Failed merges:

r? @ghost
2020-01-21 18:55:26 +00:00
Mazdak Farrokhzad
c1b20b1ae3
Rollup merge of #68416 - Centril:lowering-cleanup-hofs, r=pietroalbini
lowering: cleanup some hofs

Some drive-by cleanup while working on `let_chains`.

r? @pietroalbini
2020-01-21 19:42:28 +01:00
Mazdak Farrokhzad
b6d6391218
Rollup merge of #68415 - matthiaskrgr:tidy_clippy, r=oli-obk
tidy: fix most clippy warnings
2020-01-21 19:42:26 +01:00
Mazdak Farrokhzad
58504823f5
Rollup merge of #68399 - Centril:check-match-unify, r=oli-obk
check_match: misc unifications and ICE fixes

These are some unifications made as a by-product of working on `hir::ExprKind::Let`.

Fixes https://github.com/rust-lang/rust/issues/68396.
Fixes https://github.com/rust-lang/rust/issues/68394.
Fixes https://github.com/rust-lang/rust/issues/68393.

r? @oli-obk @matthewjasper
2020-01-21 19:42:25 +01:00
Mazdak Farrokhzad
3fa8cc3877
Rollup merge of #68328 - jethrogb:jb/target-llvm-args, r=alexcrichton
Actually pass target LLVM args to LLVM

Missed in #68059

r? @alexcrichton
2020-01-21 19:42:23 +01:00
Mazdak Farrokhzad
dabd81666a
Rollup merge of #68313 - batrla:master, r=alexcrichton
Options IP_MULTICAST_TTL and IP_MULTICAST_LOOP are 1 byte on BSD

Options IP_MULTICAST_TTL and IP_MULTICAST_LOOP are 1 byte on BSD and Solaris

See ip(4P) man page:
 IP_MULTICAST_TTL     Time  to live for multicast datagrams. This option
                      takes an unsigned character as  an  argument.  Its
                      value  is  the TTL that IP uses on outgoing multi-
                      cast datagrams. The default is 1.

 IP_MULTICAST_LOOP    Loopback for multicast datagrams. Normally  multi-
                      cast  datagrams  are  delivered  to members on the
                      sending  host  (or  sending  zone).  Setting   the
                      unsigned  character argument to 0 causes the oppo-
                      site behavior, meaning that  when  multiple  zones
                      are  present,  the  datagrams are delivered to all
                      zones except the sending zone.

https://docs.oracle.com/cd/E88353_01/html/E37851/ip-4p.html
https://man.openbsd.org/ip.4
2020-01-21 19:42:22 +01:00
Mazdak Farrokhzad
3484e2fab4
Rollup merge of #68140 - ecstatic-morse:const-trait-bound-opt-out, r=oli-obk
Implement `?const` opt-out for trait bounds

For now, such bounds are treated exactly the same as unprefixed ones in all contexts. [RFC 2632](https://github.com/rust-lang/rfcs/pull/2632) does not specify whether such bounds are forbidden outside of `const` contexts, so they are allowed at the moment.

Prior to this PR, the constness of a trait bound/impl was stored in `TraitRef`. Now, the constness of an `impl` is stored in `ast::ItemKind::Impl` and the constness of a bound in `ast::TraitBoundModifer`. Additionally, constness of trait bounds is now stored in an additional field of `ty::Predicate::Trait`, and the combination of the constness of the item along with any `TraitBoundModifier` determines the constness of the bound in accordance with the RFC. Encoding the constness of impls at the `ty` level is left for a later PR.

After a discussion in \#wg-grammar on Discord, it was decided that the grammar should not encode the mutual exclusivity of trait bound modifiers. The grammar for trait bound modifiers remains `[?const] [?]`. To encode this, I add a dummy variant to `ast::TraitBoundModifier` that is used when the syntax `?const ?` appears. This variant causes an error in AST validation and disappears during HIR lowering.

cc #67794

r? @oli-obk
2020-01-21 19:42:20 +01:00
Mazdak Farrokhzad
d532a04a1c
Rollup merge of #67686 - ssomers:keys_start_slasher, r=Mark-Simulacrum
Simplify NodeHeader by avoiding slices in BTreeMaps with shared roots

Simplify a complicated piece of code that creates slices of keys in node leaves.
2020-01-21 19:42:17 +01:00
XAMPPRocky
5918e9f025
Update RELEASES.md 2020-01-21 19:12:39 +01:00
Jonas Schievink
d022e01caa Do not use Cortex-M0 since Qemu is too old 2020-01-21 19:01:56 +01:00
Jonas Schievink
6175f447b5 Check in lockfile 2020-01-21 19:01:56 +01:00
Jonas Schievink
36e230fe22 Update dependencies
This fixes a linkage issue that was fixed a while ago, and adds thumbv8
support.
2020-01-21 19:01:56 +01:00
Jonas Schievink
ce36c98e5b Use the right runners for all thumb targets 2020-01-21 19:01:56 +01:00
Jonas Schievink
ef5f929471 Account for run-make tests in is_up_to_date 2020-01-21 19:01:56 +01:00
Jonas Schievink
ce7172da51 Fix thumb target CI 2020-01-21 19:01:56 +01:00
Philipp Gesang
02e66baac6
Test try diagnostics for impl and trait methods
Signed-off-by: Philipp Gesang <phg@phi-gamma.net>
2020-01-21 18:56:56 +01:00
Eric Huss
d45d8b1c7b Update cargo, books 2020-01-21 09:55:43 -08:00
Philipp Gesang
5dee7dddf2
Handle methods in try diagnostic
The diagnostic for diagnostic for methods and trait provided
methods would only show the empty string:

    error[E0277]: the `?` operator can only be used in  that returns `Result` or `Option` (or another type that implements `std::ops::Try`)

Handle the missing cases so it reads ``a method'' / ``an async
method'' / ``a trait method'' respectively.

Signed-off-by: Philipp Gesang <phg@phi-gamma.net>
2020-01-21 18:49:18 +01:00
Mazdak Farrokhzad
7dceff9b5b typeck: remove redundant diverges check 2020-01-21 18:47:58 +01:00
Mazdak Farrokhzad
1240a3180d typeck: remove redundant diverges code 2020-01-21 18:24:25 +01:00
Mazdak Farrokhzad
d47673d3d7 typeck: use diverges.replace(..) 2020-01-21 17:37:11 +01:00
Jorge Aparicio
8abbd0beae for now, do not build rust-std for the armv7a-none-eabihf target
it needs some upstream changes in the build script of the compiler-builtins
crate
2020-01-21 17:18:37 +01:00
Mazdak Farrokhzad
32a81f7742 lowering: cleanup some hofs 2020-01-21 17:04:43 +01:00
bors
2cf24ab891 Auto merge of #65672 - ecstatic-morse:unified-dataflow-proto, r=pnkfelix
A single framework for gen-kill and generic dataflow problems

This is the prototype implementation discussed in rust-lang/compiler-team#202. You can read a high-level description of it in [the proposal](https://hackmd.io/@39Qr_z9cQhasi25sGjmFnA/Skvd9rztS) for that design meeting. This would eventually supersede the existing `BitDenotation` interface.

r? @ghost

cc @rust-lang/compiler (esp. @eddyb and @pnkfelix)
2020-01-21 15:29:18 +00:00
Stein Somers
3e947ef031 Declare unsafe functions that can no longer handle shared roots 2020-01-21 16:12:19 +01:00