Commit graph

4538 commits

Author SHA1 Message Date
Camille GILLOT
c701872a6c Remove hir::Item::attrs. 2021-03-09 19:27:50 +01:00
Camille GILLOT
5474f17011 Remove hir::ImplItem::attrs. 2021-03-09 19:23:08 +01:00
Camille GILLOT
c49359add2 Remove hir::TraitItem::attrs. 2021-03-09 19:23:08 +01:00
Camille GILLOT
4bab93a039 Remove hir::ForeignItem::attrs. 2021-03-09 19:23:07 +01:00
Camille GILLOT
c298744da7 Remove hir::StructField::attrs. 2021-03-09 19:23:07 +01:00
Camille GILLOT
3c0afc3e1c Remove hir::Variant::attrs. 2021-03-09 19:23:06 +01:00
Camille GILLOT
a0a4611a81 Remove hir::Param::attrs. 2021-03-09 19:23:06 +01:00
Camille GILLOT
96788df68c Remove hir::Arm::attrs. 2021-03-09 19:23:05 +01:00
Camille GILLOT
a987bbb97c Remove hir::Crate::attrs. 2021-03-09 19:22:55 +01:00
Camille GILLOT
c05c90275c Remove hir::MacroDef::attrs. 2021-03-09 19:09:36 +01:00
Camille GILLOT
fd8a021757 Remove hir::GenericParam::attrs. 2021-03-09 19:09:36 +01:00
Camille GILLOT
7ea1eacb17 Remove hir::Local::attrs. 2021-03-09 19:09:35 +01:00
Camille GILLOT
ff79ad394f Remove hir::StmtKind::attrs. 2021-03-09 19:09:35 +01:00
Camille GILLOT
4bb07bedf5 Visit attributes in one go. 2021-03-09 19:09:34 +01:00
Camille GILLOT
8e816056a5 Do not store attrs in FnKind. 2021-03-09 19:09:33 +01:00
Camille GILLOT
99ba08e6d3 Access attrs directly from HirId in rustc_passes::diagnostic_item. 2021-03-09 19:09:32 +01:00
Camille GILLOT
662f11ade6 Access attrs directly from HirId in rustc_lint::builtin. 2021-03-09 19:09:31 +01:00
Camille GILLOT
260aa9f554 Access attrs directly from HirId in rustc_passes::lang_items. 2021-03-09 19:09:31 +01:00
Camille GILLOT
a50454d6c8 Access attrs directly from HirId in rustc_passes::dead. 2021-03-09 19:09:30 +01:00
Camille GILLOT
f8514aaa56 Access attrs directly from HirId in rustc_passes::stability. 2021-03-09 19:09:06 +01:00
Camille GILLOT
0c883504fb Access attrs directly from HirId in rustc_incremental::assert_dep_graph. 2021-03-09 18:51:37 +01:00
Camille GILLOT
7b1dd1a9e8 Access attrs directly from HirId in rustc_passes::check_attr. 2021-03-09 18:51:37 +01:00
Camille GILLOT
7e16e1e815 Access attrs directly from HirId in rustc_lint::levels. 2021-03-09 18:51:37 +01:00
Camille GILLOT
b84bdf1dae Access attrs directly from HirId in rustc_lint::late. 2021-03-09 18:51:37 +01:00
Camille GILLOT
4a21af67e3 Take a slice in stmt_let_pat. 2021-03-09 18:51:37 +01:00
Camille GILLOT
1fb257b3b4 Collect attributes during HIR lowering. 2021-03-09 18:51:37 +01:00
Camille GILLOT
d50ca3cbee Introduce HirIdVec. 2021-03-09 18:51:36 +01:00
Camille GILLOT
736fc96ff3 Remove useless Clone bound in IndexVec. 2021-03-09 18:51:36 +01:00
kadmin
217ff6b7ea Switch to changing cp_non_overlap in tform
It was suggested to lower this in MIR instead of ssa, so do that instead.
2021-03-09 16:54:14 +00:00
kadmin
d4ae9ff826 Build StKind::CopyOverlapping
This replaces where it was previously being constructed in intrinsics, with direct construction
of the Statement.
2021-03-09 16:54:14 +00:00
kadmin
845e4b5962 Change CopyNonOverlapping::codegen_ssa
Fixes copy_non_overlapping codegen_ssa to properly handle pointees,
and use bytes instead of elem count
2021-03-09 16:54:14 +00:00
kadmin
049045b100 Replace todos with impls
Changed to various implementations, copying the style of prior function calls in places I was
unsure of.

Also one minor style nit.
2021-03-09 16:54:14 +00:00
kadmin
982382dc03 Update cranelift 2021-03-09 16:54:14 +00:00
kadmin
37a6c04718 Update interpret step 2021-03-09 16:54:13 +00:00
kadmin
89f45ed9f3 Update match branches
This updates all places where match branches check on StatementKind or UseContext.
This doesn't properly implement them, but adds TODOs where they are, and also adds some best
guesses to what they should be in some cases.
2021-03-09 16:54:13 +00:00
kadmin
72c734d001 Update fmt and use of memcpy
I'm still not totally sure if this is the right way to implement the memcpy, but that portion
compiles correctly now. Now to fix the compile errors everywhere else :).
2021-03-09 16:54:13 +00:00
kadmin
0fdc07e197 Impl StatementKind::CopyNonOverlapping 2021-03-09 16:54:13 +00:00
Oli Scherer
62f2d72330 Bump tracing-tree dependency 2021-03-09 16:44:51 +00:00
Ömer Sinan Ağacan
98fbc09f02 Allow calling *const methods on *mut values
Fixes #80258
2021-03-09 13:40:08 +03:00
Mara Bos
bb9542b016
Rollup merge of #82841 - hvdijk:x32, r=joshtriplett
Change x64 size checks to not apply to x32.

Rust contains various size checks conditional on target_arch = "x86_64", but these checks were never intended to apply to x86_64-unknown-linux-gnux32. Add target_pointer_width = "64" to the conditions.
2021-03-09 09:05:24 +00:00
Mara Bos
0d97f9b22a
Rollup merge of #82048 - mark-i-m:or-pat-type-ascription, r=petrochenkov
or-patterns: disallow in `let` bindings

~~Blocked on https://github.com/rust-lang/rust/pull/81869~~

Disallows top-level or-patterns before type ascription. We want to reserve this syntactic space for possible future generalized type ascription.

r? ``@petrochenkov``
2021-03-09 09:05:20 +00:00
Henry Boisdequin
bba2bac9fe improve const fn RepeatVec diagnostics 2021-03-09 08:20:50 +05:30
Dan Gohman
fdb899ba4b WASI: Switch to crt1-command.o to enable support for new-style commands
This switches Rust's WASI target to use crt1-command.o instead of
crt1.o, which enables support for new-style commands. By default,
new-style commands work the same way as old-style commands, so nothing
immediately changes here, but this will be needed by later changes to
enable support for typed arguments.

See here for more information on new-style commands:
 - https://github.com/WebAssembly/wasi-libc/pull/203
 - https://reviews.llvm.org/D81689
2021-03-08 17:49:34 -08:00
Mara Bos
3908eec60f
Rollup merge of #82881 - Manishearth:crate-root, r=estebank
diagnostics: Be clear about "crate root" and `::foo` paths in resolve diagnostics

Various changes to make sure the diagnostics are clear about the differences in `::foo` paths across editions:

 - `::foo` will say "crate root" in 2015 and "list of imported crates" in 2018
 - `crate::` will never reference imported crates in 2018

Fixes https://github.com/rust-lang/rust/issues/82876
2021-03-08 20:09:06 +01:00
Mara Bos
6a55aa1246
Rollup merge of #82854 - estebank:issue-82827, r=oli-obk
Account for `if (let pat = expr) {}`

Fix #82827.
2021-03-08 20:09:02 +01:00
Mara Bos
0ee2f4c3e0
Rollup merge of #82829 - JohnTitor:handle-neg-val, r=estebank
Handle negative literals in cast overflow warning

Closes #48535
r? `@estebank`
2021-03-08 20:09:01 +01:00
Cameron Steffen
1cc8c4de6a Use Option::get_or_default 2021-03-08 09:24:11 -06:00
Dylan DPC
08475e7873
Rollup merge of #82857 - pierwill:edit-ast-lowering-lib, r=Dylan-DPC
Edit ructc_ast_lowering docs

Fixes some punctuation and formatting; also makes some small wording changes.
2021-03-08 13:13:26 +01:00
Dylan DPC
041bc04be4
Rollup merge of #82755 - osa1:confirm_builtin_call_refactor, r=petrochenkov
Refactor confirm_builtin_call, remove partial if

Pass callee expr to `confirm_builtin_call`. This removes a partial
pattern match in `confirm_builtin_call` and the `panic` in the `else`
branch. The diff is large because of indentation changes caused by
removing the if-let.
2021-03-08 13:13:25 +01:00
Dylan DPC
dd7a606804
Rollup merge of #82684 - tmiasko:dest-prop, r=jonas-schievink
Disable destination propagation on all mir-opt-levels

The new `// compile-flags: -Zunsound-mir-opts` are inserted without an extra newline to avoid introducing a large mir-opt diff.
2021-03-08 13:13:24 +01:00