Commit graph

124480 commits

Author SHA1 Message Date
Vadim Petrochenkov
57870ea2ca rustc_target: Introduce msvc_base
and inherit both `windows_msvc_base` and `uefi_msvc_base` from it.
2020-04-13 18:37:51 +03:00
Vadim Petrochenkov
88c480279b rustc_target: Inherit windows_uwp_gnu_base from windows_gnu_base 2020-04-13 18:37:51 +03:00
Vadim Petrochenkov
fd0e2987ed rustc_target: Inherit windows_uwp_msvc_base from windows_msvc_base 2020-04-13 18:37:51 +03:00
Vadim Petrochenkov
9c9db3ab4b rustc_target: Remove some useless imports 2020-04-13 18:37:51 +03:00
Vadim Petrochenkov
6580ceb9e1 rustc_target: windows(_uwp)_base -> windows(_uwp)_gnu_base
The old naming is from ancient times when there was no MSVC support.

Also `uefi_base` -> `uefi_msvc_base`.
It will inherit from `msvc_base` in a future commit, plus a GNU UEFI target is also potentially possible.
2020-04-13 18:37:51 +03:00
Vadim Petrochenkov
cfe90ebfe3 linker: Pass /NODEFAULTLIB in a more regular way 2020-04-13 18:37:51 +03:00
Vadim Petrochenkov
7a4f059add rustc_target: Move tests into a separate unconfigured file
as much as possible.
2020-04-13 18:37:51 +03:00
Vadim Petrochenkov
3ad8c8858e rustc_target: Make sure lld-link is treated as link.exe by default
The differences if they are discovered will need to be explicitly documented
2020-04-13 18:37:51 +03:00
Michal 'vorner' Vaner
80ccddc0ed
weak-into-raw: as_raw -> as_ptr + dangling garbage
* Rename Weak::as_raw to Weak::as_ptr for consistency with some other
  types.
* The as_ptr for a dangling Weak pointer might return whatever garbage
  (and takes that advantage to avoid a conditional).
* Don't guarantee to be able to do `Weak::from_raw(weak.as_ptr())` (even
  though it'll still work fine).
2020-04-13 17:17:34 +02:00
Ralf Jung
7b90ff9ae6 add after_stack_push hook; add public ImmTy::from_immediate method, and make ImmTy::imm field private 2020-04-13 17:08:27 +02:00
marmeladema
e08ad7ae58 Use CRATE_HIR_ID instead of DUMMY_HIR_ID when appropriate.
Those usage ends up forwarded to a `ObligationClause` which uses
`CRATE_HIR_ID` for dummy value as seen in `ObligationClause::dummy`.
2020-04-13 15:42:01 +01:00
Ivan Tham
7a22cf6415 Add examples to Pattern docs 2020-04-13 22:25:15 +08:00
Ivan Tham
cbe96b04ad Add period to Pattern docs 2020-04-13 22:24:58 +08:00
Ralf Jung
1a3bda6487 Miri: let push_frame hook also access and mutate the rest of the frame data 2020-04-13 16:06:51 +02:00
Philipp Hansch
8ad1d780e9
Temporarily disable rustfmt integration test
Running rustfmt from master is currently broken:
https://github.com/rust-lang/rust/issues/71077
2020-04-13 15:31:39 +02:00
Philipp Hansch
9a52d52068
result_map_unit_fn: Fix incorrect UI tests
`x` and the `HasResult` struct were missing in this file.
2020-04-13 15:26:53 +02:00
bors
5179ebe206 Auto merge of #70961 - ecstatic-morse:into-def-id, r=eddyb
Take `impl Into<DefId>` for query methods on `TyCtxt`

Alternative implementation of #70956. cc #70853.
2020-04-13 12:50:43 +00:00
marmeladema
95fb7bf108 Just unwrap() instead of unwrap_or(DUMMY_HIR_ID).
A valid hir id should always be returned in this case.
2020-04-13 13:43:44 +01:00
marmeladema
830e4fde0f Remove usage of DUMMY_HIR_ID in some visitors 2020-04-13 13:43:44 +01:00
marmeladema
795fa0a006 Remove useless calls to assemble_extension_candidates_for_traits_in_scope
Calls to `assemble_extension_candidates_for_traits_in_scope` with
`DUMMY_HIR_ID` as `expr_hir_id` are useless because the first thing
that this function does is to return `Ok(())` in this case.
2020-04-13 13:43:44 +01:00
PankajChaudhary5
908436f3bb Add proper explanation of error code E0657 2020-04-13 13:36:22 +05:30
bors
d28a46444e Auto merge of #70882 - tmiasko:llvm-version-suffix, r=Mark-Simulacrum
Make LLVM version suffix independent of rustc version on dev channel

Remove rustc version from LLVM version suffix on dev channel,
avoiding the need for full rebuilds when switching between
branches with different LLVM submodule & rustc version.

Note: To avoid full rebuild, on subsequent LLVM submodule update, copy the
current value of `LLVM_VERSION_SUFFIX` from `build/*/llvm/build/CMakeCache.txt`,
to `version-suffix` in `config.toml`.
2020-04-13 07:34:11 +00:00
Philipp Hansch
e47db677ac
Cleanup: Use rustc's is_proc_macro_attr
It's doing exactly the same: https://doc.rust-lang.org/nightly/nightly-rustc/src/rustc_ast/expand/mod.rs.html#8-12
2020-04-13 09:33:00 +02:00
Philipp Hansch
31c5664f25
Cleanup: Use our sym! macro more
It's much shorter that Symbol::intern and the result should still be
clear.
2020-04-13 08:57:34 +02:00
Rabi Guha
ab3946d7e9 Fixes #5405: redundant clone false positive with arrays
Check whether slice elements implement Copy before suggesting to drop
the clone method
2020-04-13 11:43:42 +05:30
bors
a00bd29e01 Auto merge of #71056 - matthiaskrgr:submodule_upd, r=Dylan-DPC
submodules: update clippy from d342cee7 to af5940b7

Changes:
````
Allow UUID style formatting for `inconsistent_digit_grouping` lint
rustup https://github.com/rust-lang/rust/pull/70986
rustup https://github.com/rust-lang/rust/pull/69745
Rustup to https://github.com/rust-lang/rust/pull/70913
compare with the second largest instead of the smallest variant
Revert "Downgrade new_ret_no_self to pedantic"
Check for clone-on-copy in argument positions
Check fn header along with decl when suggesting to implement trait
Downgrade implicit_hasher to pedantic
Move cognitive_complexity to nursery
Run fmt and update test
Use int assoc consts in MANUAL_SATURATING_ARITHMETIC
Use int assoc consts in checked_conversions lint
Use primitive type assoc consts in more tests
Use integer assoc consts in more lint example code
Don't import primitive type modules
Use assoc const NAN for zero_div_zero lint
Fix float cmp to use assoc fxx::EPSILON
Fix NAN comparison lint to use assoc NAN
Refine lint message.
Lint on opt.as_ref().map(|x| &**x).
Include OpAssign in suspicious_op_assign_impl
result_map_or_into_option: fix syntax error in example
result_map_or_into: fix dogfood_clippy error => {h,l}int
CONTRIBUTING.md: fix broken triage link
result_map_or_into_option: fix `cargo dev fmt --check` errors
result_map_or_into_option: move arg checks into tuple assignment
result_map_or_into_option: add `opt.map_or(None, |_| Some(y))` test
result_map_or_into_option: destructure lint tuple or return early
result_map_or_into_option: add good and bad examples
result_map_or_into_option: explicitly note absence of known problems
Downgrade new_ret_no_self to pedantic
Downgrade unreadable_literal to pedantic
Update CONTRIBUTING.md
Rename rustc -> rustc_middle in doc links
result_map_or_into_option: add lint to catch manually adpating Result -> Option
Move matches test in matches module
Run update_lints
Make lint modules private
Don't filter lints in code generation functions
Build lint lists once and the reuse them to update files
Get rid of Lint::is_internal method
Clean up update_lints
Downgrade inefficient_to_string to pedantic
Downgrade trivially_copy_pass_by_ref to pedantic
Downgrade let_unit_value to pedantic
````
Fixes #70993

r? @Dylan-DPC
2020-04-13 04:16:08 +00:00
Michael Sproul
23df4a0183
Disallow bit-shifting in integer_arithmetic lint
With this change, the lint checks all operations that are defined as
being capable of overflow in the Rust Reference.
2020-04-13 13:23:59 +10:00
Yuki Okushi
ef07cf4518
Remove FnCtxt::impl_self_ty 2020-04-13 11:36:37 +09:00
bors
cc072281f9 Auto merge of #71023 - mati865:mingw-unwind-linking-cleanup, r=Amanieu
[windows] Add testscase for self-contained executables and fix pthread linking

Fixes https://github.com/rust-lang/rust/issues/71061
2020-04-13 00:59:36 +00:00
Tomasz Miąsko
09633062b6 Update compiler_builtins to 0.1.27
* aarch64: Exclude FP intrinsics on +nofp or +nosimd
* Place intrinsics in individual object files
2020-04-13 00:00:00 +00:00
bors
9fed360550 Auto merge of #71079 - Dylan-DPC:rollup-g7yh3sn, r=Dylan-DPC
Rollup of 4 pull requests

Successful merges:

 - #67766 (Fix warning for unused variables in or pattern (issue #67691))
 - #71013 (Pass the `PlaceElem::Index` local to `visit_local`)
 - #71064 (fix issue 69130)
 - #71069 (Remove some usage of `DUMMY_HIR_ID`)

Failed merges:

r? @ghost
2020-04-12 21:48:24 +00:00
Emerentius
e98c7a45d4 update lints 2020-04-12 23:47:58 +02:00
Dylan DPC
69862b74fa
Rollup merge of #71069 - marmeladema:dummy-hir-id-obligation-clause, r=eddyb
Remove some usage of `DUMMY_HIR_ID`

Use `ObligationClause::dummy()` when appropriate or replace `hir::DUMMY_HIR_ID`by `hir::CRATE_HIR_ID`, as used in `ObligationClause::dummy()`.
2020-04-12 23:47:41 +02:00
Dylan DPC
ebb1a8b6ff
Rollup merge of #71064 - dwrensha:issue-69130, r=eddyb
fix issue 69130

Closes #69130.
2020-04-12 23:47:39 +02:00
Dylan DPC
c076da080c
Rollup merge of #71013 - jonas-schievink:visit-projection, r=eddyb
Pass the `PlaceElem::Index` local to `visit_local`

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

cc @rust-lang/wg-mir-opt

r? @spastorino
2020-04-12 23:47:38 +02:00
Dylan DPC
6947dec3a6
Rollup merge of #67766 - sapir:fix-unused-in-or-pattern-warning, r=matthewjasper
Fix warning for unused variables in or pattern (issue #67691)

Is this a good way to fix it?

Also, the tests fail, the "fixed" code output says `{ i, j }` instead of `{ i, j: _ }`, how can I fix that?
2020-04-12 23:47:36 +02:00
marmeladema
0634789dee Remove usage of DUMMY_HIR_ID in Scope::hir_id 2020-04-12 21:01:55 +01:00
marmeladema
502ae0e898 Remove usage of DUMMY_HIR_ID in CheckAttrVisitor::check_inline 2020-04-12 21:01:55 +01:00
marmeladema
b4edda9849 Remove usage of DUMMY_HIR_ID in CheckLoopVisitor 2020-04-12 21:01:55 +01:00
marmeladema
812854cdd3 Remove usage of DUMMY_HIR_ID in calls to ObligationClause::misc
Use `ObligationClause::dummy()` when appropriate or replace
`hir::DUMMY_HIR_ID` by `hir::CRATE_HIR_ID`, as used in
`ObligationClause::dummy()`.
2020-04-12 21:01:55 +01:00
Mateusz Mikuła
a32e3408bf [windows-gnu] Link pthread statically 2020-04-12 21:59:40 +02:00
bors
3712e11a82 Auto merge of #71059 - Dylan-DPC:rollup-zgu6jmx, r=Dylan-DPC
Rollup of 6 pull requests

Successful merges:

 - #71029 (Partial work on building with Cargo)
 - #71034 (Clean up E0515 explanation)
 - #71041 (Update links of `rustc guide`)
 - #71048 (Normalize source when loading external foreign source into SourceMap)
 - #71053 (Add some basic docs to `sym` and `kw` modules)
 - #71057 (Clean up E0516 explanation)

Failed merges:

r? @ghost
2020-04-12 18:09:46 +00:00
Vadim Petrochenkov
8771319dfa rustbuild: Remove LLD flavor workaround for MSVC 2020-04-12 21:04:17 +03:00
David Renshaw
57ed3d378d fix issue 69130 2020-04-12 11:36:37 -04:00
LeSeulArtichaut
b84f981361 Document unsafety in src/libcore/hash/sip.rs 2020-04-12 16:47:57 +02:00
Philipp Hansch
a524be6df5
cargo dev fmt 2020-04-12 15:23:54 +02:00
Philipp Hansch
83874d0ee7
Make use of Option/Result diagnostic items 2020-04-12 15:23:07 +02:00
bors
e29d550565 Auto merge of #5454 - spl:patch-1, r=phansch
verbose_bit_mask: fix bit mask used in docs

changelog: fixes verbose_bit_mask docs
2020-04-12 12:54:32 +00:00
Dylan DPC
e684630666
Rollup merge of #71057 - GuillaumeGomez:cleanup-e0516, r=Dylan-DPC
Clean up E0516 explanation

r? @Dylan-DPC
2020-04-12 14:49:10 +02:00
Dylan DPC
0e47d69496
Rollup merge of #71053 - phansch:update_kw_sym_docs, r=Dylan-DPC
Add some basic docs to `sym` and `kw` modules

I was looking into improving some Clippy documentation but was missing a
place that explains the `kw` and `sym` modules from rustc.

This adds some very basic usage documentation to these modules.
2020-04-12 14:49:08 +02:00