104722 Commits

Author SHA1 Message Date
Aleksey Kladov
b25eeef88d Add more nuanced advice about spin_loop_hint 2020-01-05 20:37:22 +01:00
Aleksey Kladov
4d04b0b0fe Remove wrong advice about spin locks from spin_loop_hint docs
Using a pure spin lock for a critical section in a preemptable thread
is always wrong, however short the critical section may be. The thread
might be preempted, which will cause all other threads to hammer
busily at the core for the whole quant. Moreover, if threads have
different priorities, this might lead to a priority inversion problem
and a deadlock. More generally, a spinlock is not more efficient than
a well-written mutex, which typically does several spin iterations at
the start anyway.

The advise about UP vs SMP is also irrelevant in the context of
preemptive threads.
2020-01-02 04:02:48 +01:00
bors
0ec3706702 Auto merge of #67676 - wesleywiser:lint_overflowing_int_casts, r=oli-obk
Lint overflowing integer casts in const prop

This extends the invalid cases we catch in const prop to include
overflowing integer casts using the same machinery as the overflowing
binary and unary operation logic.

r? @oli-obk
2020-01-01 21:27:11 +00:00
Wesley Wiser
e8c1c4cd5b Ignore overflow lint on 32-bit platform 2020-01-01 12:31:36 -05:00
bors
1ed41b0720 Auto merge of #67729 - mati865:deps, r=nikomatsakis
Bump smallvec
2020-01-01 15:10:48 +00:00
bors
e380efa5ec Auto merge of #67471 - nnethercote:revert-66405, r=nikomatsakis
Revert parts of #66405.

Because PR #66405 caused major performance regressions in some cases.

That PR had five commits, two of which affected performance, and three
of which were refactorings. This change undoes the performance-affecting
changes, while keeping the refactorings in place.

Fixes #67454.

r? @nikomatsakis
2020-01-01 11:54:21 +00:00
bors
9e6fb538f9 Auto merge of #67763 - petrochenkov:crateren2, r=Centril
Rename `syntax_pos` to `rustc_span` in source code

Follow-up to https://github.com/rust-lang/rust/pull/67707.

r? @Centril
2020-01-01 08:39:44 +00:00
Vadim Petrochenkov
70f1d57048 Rename syntax_pos to rustc_span in source code 2020-01-01 09:15:18 +03:00
Nicholas Nethercote
18a3669903 Revert parts of #66405.
Because it caused major performance regressions in some cases.

That PR had five commits, two of which affected performance, and three
of which were refactorings. This change undoes the performance-affecting
changes, while keeping the refactorings in place.

Fixes #67454.
2019-12-31 17:58:29 -05:00
bors
38aa6bdfd7 Auto merge of #67726 - JohnTitor:clippy-up, r=oli-obk
Update Clippy

Fixes #67716
r? @oli-obk
2019-12-31 22:51:24 +00:00
bors
119307a83e Auto merge of #67764 - Centril:rollup-ycbq3os, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #67574 (Extract `rustc_ast_lowering` crate from `rustc`)
 - #67685 (Constify Result)
 - #67702 (Add symbol normalization for proc_macro_server.)
 - #67730 (Cleanup pattern type checking, fix diagnostics bugs (+ improvements))
 - #67744 (parser: reduce diversity in error handling mechanisms)
 - #67748 (Use function attribute "frame-pointer" instead of "no-frame-pointer-elim")

Failed merges:

r? @ghost
2019-12-31 19:41:36 +00:00
Mazdak Farrokhzad
40579d15db
Rollup merge of #67748 - MaskRay:frame-pointer, r=rkruppe
Use function attribute "frame-pointer" instead of "no-frame-pointer-elim"

LLVM 8 ([D56351](http://reviews.llvm.org/D56351)) introduced "frame-pointer". In LLVM 10 (D71863),
"no-frame-pointer-elim"/"no-frame-pointer-elim-non-leaf" will be
ignored.

-----

In the LLVM monorepo, run `git show origin/release/8.x:llvm/lib/CodeGen/TargetOptionsImpl.cpp` to see that `"frame-pointer"` is available since LLVM 8.
2019-12-31 19:19:39 +01:00
Mazdak Farrokhzad
3cca3c6ace
Rollup merge of #67744 - Centril:reduce-diversity, r=petrochenkov
parser: reduce diversity in error handling mechanisms

Instead of having e.g. `span_err`, `fatal`, etc., we prefer to move towards uniformly using `struct_span_err` thus making it harder to emit fatal and/or unstructured diagnostics.

This PR also de-fatalizes some diagnostics.

r? @estebank
2019-12-31 19:19:38 +01:00
Mazdak Farrokhzad
50fb8480db
Rollup merge of #67730 - Centril:typeck-pat-cleanup, r=estebank
Cleanup pattern type checking, fix diagnostics bugs (+ improvements)

r? @estebank
2019-12-31 19:19:36 +01:00
Mazdak Farrokhzad
bc5963d2eb
Rollup merge of #67702 - crlf0710:normalize_ident2, r=petrochenkov
Add symbol normalization for proc_macro_server.

Follow up for #66670, finishing the first bullet point in #55467.

r? @petrochenkov
2019-12-31 19:19:34 +01:00
Mazdak Farrokhzad
89fbed98c2
Rollup merge of #67685 - lukaslueg:const_result, r=oli-obk
Constify Result

r? @oli-obk

This is just the `Result`-part of #67494 which I'll resubmit once #66254 has landed.
2019-12-31 19:19:33 +01:00
Mazdak Farrokhzad
3cf2bc0e51
Rollup merge of #67574 - Centril:librustc_lowering, r=Mark-Simulacrum
Extract `rustc_ast_lowering` crate from `rustc`

Working towards https://github.com/rust-lang/rust/issues/65031.

This PR moves `src/librustc/hir/lowering{/, .rs}` to its own crate (`librustc_ast_lowering`) which is very self-contained (only `fn lower_crate` and `trait Resolver` are exposed).

r? @Mark-Simulacrum
2019-12-31 19:19:31 +01:00
Mazdak Farrokhzad
70eca998d7 nix lower_label identity function. 2019-12-31 17:57:17 +01:00
Mazdak Farrokhzad
52179c56be librustc_ast_lowering: fix misc fallout. 2019-12-31 17:56:25 +01:00
Mazdak Farrokhzad
7b6ef2b369 librustc_ast_lowering: cargo changes. 2019-12-31 17:33:10 +01:00
Mazdak Farrokhzad
ce8dbf05f9 librustc_ast_lowering: move the files. 2019-12-31 17:27:34 +01:00
bors
769eb2194a Auto merge of #67699 - cjgillot:passes-resolve, r=Zoxc
Move resolve_lifetimes query in librustc_resolve.

Split out of #67688

r? @Zoxc
2019-12-31 16:21:10 +00:00
Lukas Lueg
954c432a87 Constify Result 2019-12-31 15:13:37 +01:00
bors
5095101528 Auto merge of #67752 - Dylan-DPC:rollup-7f9v4nx, r=Dylan-DPC
Rollup of 5 pull requests

Successful merges:

 - #67430 (doc: minus (U+2212) instead of dash (U+002D) for negative infinity)
 - #67697 (Move the region_scope_tree query to librustc_passes.)
 - #67719 (Add self to .mailmap)
 - #67723 (Add error code explanation for E0477)
 - #67735 (Support `-Z ui-testing=yes/no`)

Failed merges:

r? @ghost
2019-12-31 12:58:10 +00:00
Dylan DPC
529a42a1a6
Rollup merge of #67735 - petrochenkov:uibool, r=Mark-Simulacrum
Support `-Z ui-testing=yes/no`

`ui-testing` is now a boolean option (`-Z ui-testing=yes/no`) and can be specified multiple times with later values overriding earlier values (`-Z ui-testing=yes -Z ui-testing=no` == `-Z ui-testing=no`), so it can be set in a hierarchical way, e.g. UI testing infra may enable it by default with specific tests being able to opt-out.

This way we can remove the special opt-out support from `compiletest`.

Inspired by https://github.com/rust-lang/rust/pull/67709.
2019-12-31 18:14:07 +05:30
Dylan DPC
cf24b6bcbf
Rollup merge of #67723 - ldm0:E0477, r=Dylan-DPC
Add error code explanation for E0477

Part of #61137
2019-12-31 18:14:06 +05:30
Dylan DPC
b223f5b043
Rollup merge of #67719 - jumbatm:add-self-to-mailmap, r=Mark-Simulacrum
Add self to .mailmap

r? @Mark-Simulacrum

Cheers.
2019-12-31 18:14:04 +05:30
Dylan DPC
83f5cf8c4d
Rollup merge of #67697 - cjgillot:passes-scope-tree, r=Zoxc
Move the region_scope_tree query to librustc_passes.

Split out of #67688.

r? @Zoxc
2019-12-31 18:14:03 +05:30
Dylan DPC
2c64475069
Rollup merge of #67430 - tspiteri:minus-inf, r=Dylan-DPC
doc: minus (U+2212) instead of dash (U+002D) for negative infinity

The documentation for [`f32::NEG_INFINITY`](https://doc.rust-lang.org/std/f32/constant.NEG_INFINITY.html) contains “-∞” with a dash instead of a minus sign, “−∞” with a proper minus sign looks better with the used Source Serif Pro font. Similarly for [`f64::NEG_INFINITY`](https://doc.rust-lang.org/std/f64/constant.NEG_INFINITY.html).
2019-12-31 18:14:01 +05:30
Yuki Okushi
b5f340c196 Update Clippy 2019-12-31 20:49:40 +09:00
bors
71bb0ff33e Auto merge of #67597 - estebank:placeholder-type, r=oli-obk
Suggest type param when encountering `_` in item signatures

Fix #27435.
2019-12-31 09:50:49 +00:00
Camille GILLOT
7e4345ca79 Simplify ResolveLiftimes creation. 2019-12-31 10:21:33 +01:00
Camille GILLOT
31f85d3fe2 Review comments. 2019-12-31 10:21:33 +01:00
Camille GILLOT
1b92e7e446 Inert doc comments. 2019-12-31 10:21:32 +01:00
Camille GILLOT
28eefb3797 Move resolve_lifetimes query in librustc_resolve. 2019-12-31 10:21:32 +01:00
Camille GILLOT
2675765a1e Move resolve_lifetime.rs to librustc_resolve. 2019-12-31 10:21:32 +01:00
Fangrui Song
b40dc30a3e Use function attribute "frame-pointer" instead of "no-frame-pointer-elim"
LLVM 8 (D56351) introduced "frame-pointer". In LLVM 10 (D71863),
"no-frame-pointer-elim"/"no-frame-pointer-elim-non-leaf" will be
ignored.
2019-12-30 23:16:02 -08:00
Mazdak Farrokhzad
2e7806146c parser: bug -> span_bug 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
4ae9c1c3ec parser::diagnostics: remove fn fatal 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
2e812c1c5f parser::pat: remove .fatal calls 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
6fba125912 parser::path: remove .fatal calls 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
51fb599849 parser::module: remove .fatal calls 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
13ca924988 parser::item: remove .fatal calls 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
46ec6becf2 parser::attr: remove .fatal calls 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
85dbbaa492 process_potential_macro_variable: de-fatalize an error 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
5a64ba6386 parser: span_fatal -> struct_span_err 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
b6fc87c5b9 de-fatalize some errors 2019-12-31 04:33:34 +01:00
Mazdak Farrokhzad
2091062bf6 parser: call .struct_span_err directly 2019-12-31 04:33:34 +01:00
bors
bf2d145c62 Auto merge of #67032 - cjgillot:hirene, r=Zoxc
Allocate HIR on an arena 4/4

This is the fourth and last PR in the series started by #66931, #66936 and #66942.

The last commits should compile on their own.
The difference with the previous PR is given by https://github.com/cjgillot/rust/compare/hirene-ty...hirene

A few more cleanups may be necessary, please tell me.

r? @eddyb like the other
cc @Zoxc
2019-12-31 03:27:36 +00:00
Charles Lew
8f84d9e1de Inline and remove nfc_symbol_from method. 2019-12-31 09:37:45 +08:00