Commit Graph

103498 Commits

Author SHA1 Message Date
Mark Rousskov
72c67bec09 Re-export Client from rustc_data_structures::jobserver 2019-12-03 12:19:16 -05:00
Mark Rousskov
285144a8de Move NativeLibraryKind to rustc_session 2019-12-03 12:19:16 -05:00
Mark Rousskov
f03d8f305a Move early lint declarations to librustc_session 2019-12-03 12:19:14 -05:00
Mark Rousskov
526ee51ccc Move Lint to rustc_session
This commit breaks early-lint registration, which will be fixed in the
next commit. This movement will allow essentially all crates in the compiler
tree to declare lints (though not lint passes).
2019-12-03 12:18:32 -05:00
Mark Rousskov
433e546af9 Move Level to rustc_session 2019-12-03 12:18:32 -05:00
Mark Rousskov
43516981cb Move duration_to_secs_str to rustc_session 2019-12-03 12:18:32 -05:00
Mark Rousskov
984c74a40a Move cgu_reuse_tracker to librustc_session 2019-12-03 12:18:32 -05:00
Mark Rousskov
c761ec1ac9 Introduce rustc_session crate 2019-12-03 12:18:32 -05:00
Mark Rousskov
b7cd58c00e Decouple CguReuseTracker from Session 2019-12-03 12:18:32 -05:00
Mark Rousskov
2ea18337f7 Use FxHash* from data structures not nodemap 2019-12-03 12:18:32 -05:00
Ralf Jung
6b7f63481a update miri 2019-12-03 18:04:03 +01:00
Ömer Sinan Ağacan
b85d5f42b0 Fix angle bracket formatting when dumping MIR debug vars
Fixes #66985
2019-12-03 19:21:31 +03:00
Alex Crichton
f3fb1c5e95 Update the wasi crate for wasm32-wasi
This commit updates the `wasi` crate used by the standard library which
is used to implement most of the functionality of libstd on the
`wasm32-wasi` target. This update comes with a brand new crate structure
in the `wasi` crate which caused quite a few changes for the wasi target
here, but it also comes with a significant change to where the
functionality is coming from.

The WASI specification is organized into "snapshots" and a new snapshot
happened recently, so the WASI APIs themselves have changed since the
previous revision. This had only minor impact on the public facing
surface area of libstd, only changing on `u32` to a `u64` in an unstable
API. The actual source for all of these types and such, however, is now
coming from the `wasi_preview_snapshot1` module instead of the
`wasi_unstable` module like before. This means that any implementors
generating binaries will need to ensure that their embedding environment
handles the `wasi_preview_snapshot1` module.
2019-12-03 07:03:06 -08:00
Esteban Küber
3091b823d1 Tweak wording of collect() on bad target type 2019-12-03 06:52:55 -08:00
Eduard-Mihai Burtescu
c2f4c57296 rustc: add docs to FnAbi::{of_fn_ptr,of_instance} and InstanceDef::Virtual. 2019-12-03 15:55:21 +02:00
Eduard-Mihai Burtescu
9da14a82c6 rustc: move Instance::fn_sig to ty::layout and privatize it. 2019-12-03 15:55:21 +02:00
Eduard-Mihai Burtescu
79d908b301 rustc_target: add abi::call::Conv::Rust distinct from Conv::C. 2019-12-03 15:55:21 +02:00
Eduard-Mihai Burtescu
e93aa104ab rustc_codegen_llvm: privatize as much of attributes::* as possible. 2019-12-03 15:55:21 +02:00
Eduard-Mihai Burtescu
cd3c324b07 rustc_codegen_llvm: take an Instance in attributes::from_fn_attrs. 2019-12-03 15:55:21 +02:00
Eduard-Mihai Burtescu
8a8749b297 rustc_codegen_llvm: rewrite debuginfo::get_function_signature to use FnAbi. 2019-12-03 15:55:20 +02:00
Eduard-Mihai Burtescu
902433b5bf rustc: take a PolyFnSig instead of an FnSig in FnAbi::of_fn_ptr. 2019-12-03 15:55:14 +02:00
Eduard-Mihai Burtescu
2b921d51d7 rustc: rename FnAbi::new to FnAbi::of_fn_ptr. 2019-12-03 15:41:56 +02:00
Eduard-Mihai Burtescu
052d0edbc1 rustc: compute FnAbi's for virtual calls through FnAbi::of_instance. 2019-12-03 15:41:56 +02:00
Eduard-Mihai Burtescu
39e50e2f28 rustc: use ReifyShim for reifying Virtual call instances. 2019-12-03 15:41:56 +02:00
Eduard-Mihai Burtescu
4b68afe257 rustc_codegen_ssa: use FnAbi::of_instance wherever possible. 2019-12-03 15:41:43 +02:00
Eduard-Mihai Burtescu
5b7d0f389f rustc_codegen_llvm: move NoReturn attribute to apply_attrs_llfn. 2019-12-03 15:28:18 +02:00
Eduard-Mihai Burtescu
95b944210f rustc_codegen_ssa: take a FnAbi instead of a FnSig in declare_fn. 2019-12-03 15:28:18 +02:00
Eduard-Mihai Burtescu
db477af9ad rustc_codegen_ssa: remove define_fn and define_internal_fn. 2019-12-03 15:28:18 +02:00
bors
f577b0ef6e Auto merge of #66982 - Centril:rollup-yq2281i, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #66148 (Show the sign for signed ops on `exact_div`)
 - #66651 (Add `enclosing scope` parameter to `rustc_on_unimplemented`)
 - #66904 (Adding docs for keyword match, move)
 - #66935 (syntax: Unify macro and attribute arguments in AST)
 - #66941 (Remove `ord` lang item)
 - #66967 (Remove hack for top-level or-patterns in match checking)

Failed merges:

r? @ghost
2019-12-03 13:21:03 +00:00
Reese Williams
26a1ba85b8 Use simpler code example for E0631 long error. 2019-12-03 07:51:11 -05:00
Eduard-Mihai Burtescu
6a75768b33 rustc_codegen_ssa: clean up lifetimes on TerminatorCodegenHelper's methods. 2019-12-03 13:31:10 +02:00
Eduard-Mihai Burtescu
fce40a2256 rustc_codegen_ssa: make codegen_instance a simple wrapper for codegen_mir. 2019-12-03 13:31:03 +02:00
Eduard-Mihai Burtescu
a7094f7ce3 rustc_codegen_ssa: use &'tcx mir::Body<'tcx> instead of &'a ... for the MIR body. 2019-12-03 13:29:05 +02:00
Wesley Wiser
0be80f2909 [const-prop] Fix ICE calculating enum discriminant
Fixes #66787
2019-12-03 06:11:29 -05:00
Eduard-Mihai Burtescu
a57aea88d4 rustc: expose the mir::Body reference lifetime from mir::ReadOnlyBodyCache (#64736 fallout). 2019-12-03 13:04:28 +02:00
Eduard-Mihai Burtescu
4810cf1d1b rustc_mir: don't hardcode InstanceDef::VtableShim behavior to Adjustment::DerefMove. 2019-12-03 12:54:47 +02:00
Eduard-Mihai Burtescu
552ea447e4 rustc: combine Instance::fn_sig_noadjust and Instance::fn_sig. 2019-12-03 12:54:36 +02:00
Mazdak Farrokhzad
bce77980a2
Rollup merge of #66967 - Nadrieril:remove-or-pat-hack, r=varkor
Remove hack for top-level or-patterns in match checking

Follow-up to #66612.

Or-patterns are now truly first-class in match checking. As a side-effect, redundant subpatterns are linted as such, making the `unreachable_patterns` lint a bit more general.

cc #54883

r? @varkor
2019-12-03 11:07:08 +01:00
Mazdak Farrokhzad
1303bf2f3c
Rollup merge of #66941 - CAD97:nord, r=Dylan-DPC
Remove `ord` lang item

At this point it seems to be unused, and just `partial_ord` is used instead. This removes the unused lang item.
2019-12-03 11:07:07 +01:00
Mazdak Farrokhzad
cf937fa84d
Rollup merge of #66935 - petrochenkov:attrtok2, r=Centril
syntax: Unify macro and attribute arguments in AST

The unified form (`ast::MacArgs`) represents parsed arguments instead of an unstructured token stream that was previously used for attributes.
It also tracks some spans and delimiter kinds better for fn-like macros and macro definitions.

I've been talking about implementing this with @nnethercote in https://github.com/rust-lang/rust/pull/65750#issuecomment-546517322.
The parsed representation is closer to `MetaItem` and requires less token juggling during conversions, so it potentially may be faster.

r? @Centril
2019-12-03 11:07:05 +01:00
Mazdak Farrokhzad
01345d65c1
Rollup merge of #66904 - DevinR528:keyword-doc, r=Dylan-DPC
Adding docs for keyword match, move

Partial fix of issue #34601.
2019-12-03 11:07:04 +01:00
Mazdak Farrokhzad
8dacfc2ada
Rollup merge of #66651 - Areredify:on-unimplemented-scope, r=davidtwco
Add `enclosing scope` parameter to `rustc_on_unimplemented`

Adds a new parameter to `#[rustc_on_unimplemented]`, `enclosing scope`, which highlights the function or closure scope with a message.

The wip part refers to adding this annotation to `Try` trait to improve ergonomics (which I don't know how to do since I change both std and librustc)

Closes #61709.
2019-12-03 11:07:01 +01:00
Mazdak Farrokhzad
3045d22263
Rollup merge of #66148 - oli-obk:it_must_be_a_sign, r=RalfJung
Show the sign for signed ops on `exact_div`

r? @RalfJung Cc https://github.com/rust-lang/miri/pull/961/files#r341842128

I'm fairly unhappy with the duplication and the general effort required for this.

Maybe it would be better to add a `display` impl for `ImmTy`?
2019-12-03 11:06:57 +01:00
bors
7d808659cd Auto merge of #66947 - matthiaskrgr:submodule_upd, r=oli-obk
submodules: update clippy from 7b8e8293 to 45196cee

Changes:
````
account for external macro in MISSING_INLINE_IN_PUBLIC_ITEMS lint
build(tests/fmt): use shared target dir
chore: fix and split some ui tests on 32bit system
build: set up build job for i686 targets
remove needless my_lint ui test
git quiet
deploy: cd to out/ before adding files to git
Less needless_doctest_main false positives
fmt
Feed the dog
Use rustc_env instead of exec_env for test
Make triggering this lint less likely 📎
Use exec_env to set backtrace level and normalize output
Update custom ICE function with latest rustc
Use Clippy version in ICE message
Add custom ICE message that points to Clippy repo
Fix master deployment
Run update_lints
Add projections check to EUV for escape analysis
Use infer_ctxt
Move use_self to nursery
Use `println!` on success instead of `eprintln!`
Revert "Disable chalk integration test. Output too large"
Remove the old integration-tests.sh script
Use rust implementation for integration tests in CI
Rust implementation of integration test
Don't error on clippy.toml of dependencies
Fix categorizations
Fix arguments on ExprUseVisitor::new
euv moved from middle to typeck
cmt_ -> Place
build: check if RTIM is not installed
make use of Result::map_or
trigger string_lit_as_bytes when literal has escapes
Remove negative float literal checks.
Enable deny-warnings feature everywhere in CI
Remove unused debugging feature
implemented `as_conversions` lint
fixing a typo
[comparison_chain] #4827 Check `core::cmp::Ord` is implemented
add a good example for the approx_const lint
Add suggested good cases in docs for lifetimes lint
````
Fixes #66840
2019-12-03 09:51:07 +00:00
Oliver Scherer
e2bbf0647a Explain why "loading" constness from extern crates does not necessarily load anything 2019-12-03 10:20:15 +01:00
Oliver Scherer
d9cca74ffc const fns can read constants that invoke unstable const fns 2019-12-03 10:20:15 +01:00
Oliver Scherer
1f20b4dc19 Explain the difference between the two whitelists 2019-12-03 10:20:15 +01:00
Oliver Scherer
cc5b3578f1 Tidy 2019-12-03 10:20:15 +01:00
Oliver Scherer
46c00a21e1 Move all intrinsic whitelists into the constness check file 2019-12-03 10:20:15 +01:00
Oliver Scherer
52be0b07ae Only check min_const_fn for const fns 2019-12-03 10:20:15 +01:00