Commit Graph

142069 Commits

Author SHA1 Message Date
Nadrieril
5547105f6b Don't expose Usefulness in the api 2021-01-24 20:28:29 +00:00
Nadrieril
3a4c135a2f Improve the debugging experience 2021-01-24 20:28:28 +00:00
Nadrieril
3c1a1c6227 Add tests 2021-01-24 20:28:28 +00:00
xFrednet
0373dc3ade Added documentation for adding a configuration to lints
* Fixed some spelling
2021-01-24 21:16:41 +01:00
bors
1d0d76f8dd Auto merge of #81337 - petrochenkov:kvcollect, r=Aaron1011
parser: Collect tokens for values in key-value attributes

Fixes #81208 which happens when we parse the attribute value for the second time with an overridden span to synthesize tokens.

It also may be faster to collect tokens instead of re-synthesizing them.
2021-01-24 20:09:18 +00:00
Joakim Åkerblom
1d03648e67 Fix spelling in documentation for error E0207
I have trouble parsing the the wording "type parameter parameter".
2021-01-24 20:31:42 +01:00
Stein Somers
b20f468489 BTreeMap: lightly refactor the split_off implementation 2021-01-24 17:51:35 +01:00
Vadim Petrochenkov
bd07165690 parser: Collect tokens for values in key-value attributes 2021-01-24 17:11:56 +03:00
Mara Bos
a730970dff Only call span.rust_2021() when necessary. 2021-01-24 14:19:05 +01:00
Ralf Jung
d6eb4f571e clean up some const error reporting around promoteds 2021-01-24 13:34:34 +01:00
Ralf Jung
48f9dbfd59 clean up some const error reporting around promoteds 2021-01-24 13:34:34 +01:00
bors
9a9477fada Auto merge of #81250 - sivadeilra:remove_xp_compat, r=joshtriplett,m-ou-se
Remove delay-binding for Win XP and Vista

The minimum supported Windows version is now Windows 7. Windows XP
and Windows Vista are no longer supported; both are already broken, and
require extra steps to use.

This commit removes the delayed-binding support for Windows API
functions that are present on all supported Windows targets. This has
several benefits: Removes needless complexity. Removes a load and
dynamic call on hot paths in mutex acquire / release. This may have
performance benefits.

* "Drop official support for Windows XP"
  https://github.com/rust-lang/compiler-team/issues/378

* "Firefox has ended support for Windows XP and Vista"
  https://support.mozilla.org/en-US/kb/end-support-windows-xp-and-vista
2021-01-24 12:34:08 +00:00
Dániel Buga
f8416faaaf Clean up dominators_given_rpo 2021-01-24 13:32:18 +01:00
Camille GILLOT
5a60f0a86f Sort mir_keys to ensure consistent diagnostic order. 2021-01-24 12:45:26 +01:00
Camille GILLOT
d88420a52a Review comment. 2021-01-24 12:44:59 +01:00
Camille GILLOT
23d415a484 Refactor MIR metadata emission. 2021-01-24 12:44:58 +01:00
Camille GILLOT
f071b5066a Introduce should_encode_mir. 2021-01-24 12:42:33 +01:00
ThibsG
051891173d Add more tests for match_overlapping_arm lint 2021-01-24 12:28:59 +01:00
bors
72c7b70267 Auto merge of #80838 - nagisa:nagisa/stack-probe-type, r=cuviper
Target stack-probe support configurable finely

This adds capability to configure the target's stack probe support in a
more precise manner than just on/off. In particular now we allow
choosing between always inline-asm, always call or either one of those
depending on the LLVM version.

Note that this removes the ability to turn off the generation of the
stack-probe attribute. This is valid to replace it with inline-asm for all targets because
`probe-stack="inline-asm"` will not generate any machine code on targets
that do not currently support stack probes. This makes support for stack
probes on targets that don't have any right now automatic with LLVM
upgrades in the future.

(This is valid to do based on the fact that clang unconditionally sets
this attribute when `-fstack-clash-protection` is used, AFAICT)

cc #77885
r? `@cuviper`
2021-01-24 09:44:42 +00:00
Lukas Kalbertodt
8a18fb0f73 Stabilize Seek::stream_position & change feature of Seek::stream_len 2021-01-24 10:14:24 +01:00
bors
85e355ea9b Auto merge of #80919 - cjgillot:defkey-span, r=oli-obk
Generate metadata by iterating on DefId instead of traversing the HIR tree 1/N

Sample from #80347.
2021-01-24 06:51:17 +00:00
Caleb Zulawski
a4bab7c6fa Update docs with powers-of-two 2021-01-24 00:17:40 -05:00
Rune Tynan
c37c421354 fmt 2021-01-23 23:17:31 -05:00
Rune Tynan
351b2acd14 Make bad shlex parsing a pretty error 2021-01-23 23:03:01 -05:00
bors
446cbc9db0 Auto merge of #80594 - bjorn3:abi_refactor3, r=petrochenkov
Various ABI refactorings

This includes changes to the rust abi and various refactorings that will hopefully make it easier to use the abi handling infrastructure of rustc in cg_clif. There are several refactorings that I haven't done. I am opening this draft PR to check that I haven't broken any non x86_64 architectures.

r? `@ghost`
2021-01-24 02:59:14 +00:00
est31
14aa12fcc2 Replace version_check dependency with own version parsing code
This gives compiler maintainers a better degree of control
over how the version gets parsed and is a good way to ensure
that there are no changes of behaviour in the future.

Also, issue a warning if the version is invalid instead of erroring
so that we stay forwards compatible with possible future changes
of the versioning scheme.

Last, this improves the present test a little.
2021-01-24 01:56:54 +01:00
bors
26c2d1f408 Auto merge of #79811 - Aaron1011:expn-data-disambig, r=petrochenkov
Add disambiugator to ExpnData

I still need to write a bunch of comments. Opening to see how bad the perf impact is.

cc https://github.com/rust-lang/rust/issues/79560
2021-01-24 00:10:20 +00:00
Tomasz Miąsko
59457ab86e Reduce log level used by tracing instrumentation from info to debug 2021-01-24 00:00:00 +00:00
Caleb Zulawski
f39f1a4ad9 Move SIMD tests 2021-01-23 17:55:34 -05:00
Caleb Zulawski
4d72ed61ee Make declare_cfn more flexible 2021-01-23 17:19:49 -05:00
Bastian Kauschke
2beea2c0bf add test for lazy norm err 2021-01-23 22:47:36 +01:00
Caleb Zulawski
8451656fe7 Fix maximum SIMD lane count, and expose it to other crates. Disallow SIMD vectors with non-power-of-two lengths. 2021-01-23 16:33:19 -05:00
bors
1279b3b923 Auto merge of #81304 - jonas-schievink:rollup-d9kuugm, r=jonas-schievink
Rollup of 15 pull requests

Successful merges:

 - #79841 (More clear documentation for NonNull<T>)
 - #81072 (PlaceRef::ty: use method call syntax)
 - #81130 (Edit rustc_middle::dep_graph module documentation)
 - #81170 (Avoid hash_slice in VecDeque's Hash implementation)
 - #81243 (mir: Improve size_of handling when arg is unsized)
 - #81245 (Update cargo)
 - #81249 (Lower closure prototype after its body.)
 - #81252 (Add more self-profile info to rustc_resolve)
 - #81275 (Fix <unknown> queries and add more timing info to render_html)
 - #81281 (Inline methods of Path and OsString)
 - #81283 (Note library tracking issue template in tracking issue template.)
 - #81285 (Remove special casing of rustdoc in rustc_lint)
 - #81288 (rustdoc: Fix visibility of trait and impl items)
 - #81298 (replace RefCell with Cell in FnCtxt)
 - #81301 (Fix small typo)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2021-01-23 21:13:14 +00:00
Bastian Kauschke
5fe84c8958 always eagerly eval consts in Relate 2021-01-23 22:10:09 +01:00
LeSeulArtichaut
20a460e1cf Fix rendering of stabilization version for trait implementors 2021-01-23 22:02:06 +01:00
Aaron Hill
3540f9396a Add disambiugator to ExpnData
Due to macro expansion, its possible to end up with two distinct
`ExpnId`s that have the same `ExpnData` contents. This violates the
contract of `HashStable`, since two unequal `ExpnId`s will end up with
equal `Fingerprint`s.

This commit adds a `disambiguator` field to `ExpnData`, which is used to
force two otherwise-equivalent `ExpnData`s to be distinct.
2021-01-23 15:41:17 -05:00
Giacomo Stevanato
5aa625b903 Manually fuse the inner iterator in FlattenCompat 2021-01-23 21:33:38 +01:00
Giacomo Stevanato
f241c10223 Improve flatten-fuse tests 2021-01-23 21:33:38 +01:00
Jonas Schievink
ebeb6b8b26 Rollup merge of #81301 - davidgu:patch-1, r=jonas-schievink
Fix small typo

Fractional part of `12.34e56` seems to be incorrectly stated as '45' and not '34'
2021-01-23 20:16:19 +01:00
Jonas Schievink
be3723c488 Rollup merge of #81298 - lcnr:big-money-big-prices, r=oli-obk
replace RefCell with Cell in FnCtxt

small cleanup
2021-01-23 20:16:17 +01:00
Jonas Schievink
64cf8c2e78 Rollup merge of #81288 - camelid:fix-trait-item-vis, r=jyn514
rustdoc: Fix visibility of trait and impl items

Fixes #81274.

r? `@jyn514`
2021-01-23 20:16:16 +01:00
Jonas Schievink
81b0c3e7c2 Rollup merge of #81283 - m-ou-se:tracking-issue-note, r=Mark-Simulacrum
Note library tracking issue template in tracking issue template.
2021-01-23 20:16:14 +01:00
Jonas Schievink
44c668cfca Rollup merge of #81281 - a1phyr:inline_path, r=dtolnay
Inline methods of Path and OsString

These methods are not generic, and therefore aren't candidates for cross-crate inlining without an `#[inline]` attribute.
2021-01-23 20:16:12 +01:00
Jonas Schievink
81647c627a Rollup merge of #81275 - jyn514:time-render, r=wesleywiser
Fix <unknown> queries and add more timing info to render_html

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

##  Fix `<unknown>` queries

This happened because `alloc_query_strings` was never called.

##  Add more timing info to render_html

This still has some issues I'm not sure how to work out:

- `create_renderer` and `renderer_after_krate` aren't shown by default.
  I want something like `verbose_generic_activity_with_arg`, but it doesn't exist.

I'm also not sure how to show activities that aren't on by default - I
tried `-Z self-profile -Z self-profile-args=all`, but it didn't show up.

r? `@wesleywiser`
2021-01-23 20:16:10 +01:00
Jonas Schievink
7038bb1eb2 Rollup merge of #81252 - jyn514:resolve-timing, r=petrochenkov
Add more self-profile info to rustc_resolve

The idea is to help me find out where the time is being spent in compiling the docs for `windows-rs`: https://github.com/microsoft/windows-rs/issues/420#issuecomment-764991646
2021-01-23 20:16:09 +01:00
Jonas Schievink
fcf11296f6 Rollup merge of #81249 - cjgillot:issue-79537, r=oli-obk
Lower closure prototype after its body.

Fixes #79537.

r? `@Mark-Simulacrum`
2021-01-23 20:16:07 +01:00
Jonas Schievink
c4830daf1f Rollup merge of #81245 - ehuss:update-cargo, r=ehuss
Update cargo

5 commits in a73e5b7d567c3036b296fc6b33ed52c5edcd882e..783bc43c660bf39c1e562c8c429b32078ad3099b
2021-01-12 23:45:39 +0000 to 2021-01-20 19:02:26 +0000
- Fix some issues with `cargo doc` and the new feature resolver. (rust-lang/cargo#9077)
- Implement support for rust-version field in project metadata (rust-lang/cargo#8037)
- Fix a bug in Cargo's cyclic dep graph detection (rust-lang/cargo#9075)
- Typo correction: artifcats -&gt; artifacts (rust-lang/cargo#9081)
- Remove stray backtick from doc (rust-lang/cargo#9079)
2021-01-23 20:16:05 +01:00
Jonas Schievink
3a3470bf04 Rollup merge of #81243 - osa1:fix_80742_2, r=RalfJung
mir: Improve size_of handling when arg is unsized

As discussed on Zulip with `@RalfJung.`
2021-01-23 20:16:04 +01:00
Jonas Schievink
05a95a4372 Rollup merge of #81170 - xfix:vecdeque-bug-fix, r=sfackler
Avoid hash_slice in VecDeque's Hash implementation

Fixes #80303.
2021-01-23 20:16:02 +01:00
Jonas Schievink
57d655368b Rollup merge of #81130 - pierwill:edit-depnode, r=jyn514
Edit rustc_middle::dep_graph module documentation

This is similar to work approved and then closed in https://github.com/rust-lang/rust/pull/80325 due to a bad rebase.
2021-01-23 20:16:00 +01:00