summary refs log tree commit diff
path: root/compiler/rustc_interface/src/passes.rs
AgeCommit message (Collapse)AuthorLines
2023-04-09Migrate `sess.opts.tests` uses to `sess.is_test_crate()`blyxyas-2/+2
2023-04-03Make check_match take a LocalDefId.Camille GILLOT-1/+1
2023-03-23Rollup merge of #109231 - Zoxc:fs-non-canon, r=eholkMatthias Krüger-2/+3
Add `try_canonicalize` to `rustc_fs_util` and use it over `fs::canonicalize` This adds `try_canonicalize` which tries to call `fs::canonicalize`, but falls back to `std::path::absolute` if it fails. Existing `canonicalize` calls are replaced with it. `fs::canonicalize` is not guaranteed to work on Windows.
2023-03-23rustc_interface: Add a new query `pre_configure`Vadim Petrochenkov-24/+27
It partially expands crate attributes before the main expansion pass (without modifying the crate), and the produced preliminary crate attribute list is used for querying a few attributes that are required very early. Crate-level cfg attributes are then expanded normally during the main expansion pass, like attributes on any other nodes.
2023-03-23expand: Pass `ast::Crate` by reference to AST transforming passesVadim Petrochenkov-12/+12
Also some more attributes are passed by reference.
2023-03-16Add `try_canonicalize` to `rustc_fs_util` and use it over `fs::canonicalize`John Kåre Alsaker-2/+3
2023-03-13metadata: Remove some more untracked `CStore` methodsVadim Petrochenkov-11/+6
2023-03-06Querify early_lint_checks.Camille GILLOT-18/+23
2023-03-06Querify registered_tools.Camille GILLOT-1/+3
2023-02-22Remove a back compat warningOli Scherer-22/+12
2023-02-20Remove some unnecessary tcx-passingOli Scherer-7/+4
2023-02-20Stop passing in values that one can also get from the tcx lazilyOli Scherer-7/+1
2023-02-20Move the resolver into a queryOli Scherer-1/+31
2023-02-20Make `configure_and_expand` "infalllible" by just aborting the compilation ↵Oli Scherer-12/+11
if it fails instead of bubbling out an error
2023-02-20Use tcx queries instead of passing the values to `configure_and_expand`.Oli Scherer-5/+6
2023-02-20Make untracked.cstore lockable so that resolution can still write to it when ↵Oli Scherer-1/+1
using TyCtxt
2023-02-14Remove BoxedResolverOli Scherer-88/+2
2023-02-14Separate the lifetime of the session and the arena in the resolverOli Scherer-4/+10
2023-02-13rustc_resolve: Remove `Resolver::clone_output`Vadim Petrochenkov-17/+6
And remove `Clone` impls and `Lrc`s that are no longer necessary
2023-02-09Remove `QueryContext`.Nicholas Nethercote-21/+5
There is a type `QueryCtxt`, which impls the trait `QueryContext`. Confusingly, there is another type `QueryContext`. The latter is (like `TyCtxt`) just a pointer to a `GlobalContext`. It's not used much, e.g. its `impl` block has a single method. This commit removes `QueryContext`, replacing its use with direct `GlobalCtxt` use.
2023-02-09Simplify `tls::enter_context`.Nicholas Nethercote-1/+1
2023-02-05rustc_interface: remove huge error importsest31-18/+16
2023-01-27Compute generator saved locals on MIR.Camille GILLOT-0/+9
2023-01-23Make `output_filenames` a real queryOli Scherer-19/+13
2023-01-23Remove another unneeded use of the resolverOli Scherer-17/+16
2023-01-20Auto merge of #106090 - WaffleLapkin:dereffffffffff, r=Nilstriebbors-4/+2
Remove some `ref` patterns from the compiler Previous PR: https://github.com/rust-lang/rust/pull/105368 r? `@Nilstrieb`
2023-01-17Don't call closures immediately, use `try{}` blocksMaybe Waffle-4/+2
2023-01-16Move compiler input and ouput paths into sessionOli Scherer-8/+7
2023-01-16Group some commonly passed together values into a structOli Scherer-12/+5
2023-01-16Remove redundant `input_path` field from `Config`Oli Scherer-1/+1
2023-01-16remove some arguments that can also be fed at the caller sideOli Scherer-27/+3
2023-01-13Rollup merge of #106678 - Veykril:proc-macro-panic-abort, r=eholkMatthias Krüger-1/+7
Warn when using panic-strategy abort for proc-macro crates See https://github.com/rust-lang/rust/issues/82320, this simply warns for now as that seems like the best step that can be immediately taken (opposed to straight up rejecting or ignoring)
2023-01-13Warn when using panic-strategy abort for proc-macro cratesLukas Wirth-1/+7
2023-01-12Feed the `features_query` instead of grabbing it from the session lazilyOli Scherer-0/+1
2023-01-12Remove `output_filenames` field from TyCtxt and feed the query insteadOli Scherer-1/+1
2023-01-12Remove `untracked_crate` field and instead pass it along with the resolver.Oli Scherer-2/+3
2023-01-12Feed `crate_name` queryOli Scherer-1/+2
2023-01-12Feed `resolutions` query instead of it being a thin wrapper around an ↵Oli Scherer-3/+3
untracked field
2023-01-05Fix `uninlined_format_args` for some compiler cratesnils-3/+3
Convert all the crates that have had their diagnostic migration completed (except save_analysis because that will be deleted soon and apfloat because of the licensing problem).
2022-12-09Fold `Definitions` into the untracked dataOli Scherer-2/+0
2022-12-09Move the untracked cstore and source_span into a structOli Scherer-0/+2
2022-12-07Use `Symbol` for the crate name instead of `String`/`str`Oli Scherer-19/+21
2022-12-06Auto merge of #105220 - oli-obk:feeding, r=cjgillotbors-6/+17
feed resolver_for_lowering instead of storing it in a field r? `@cjgillot` opening this as * a discussion for `no_hash` + `feedable` queries. I think we'll want those, but I don't quite understand why they are rejected beyond a double check of the stable hashes for situations where the query is fed but also read from incremental caches. * and a discussion on removing all untracked fields from TyCtxt and setting it up so that they are fed queries instead
2022-12-05feed resolver_for_lowering instead of storing it in a fieldOli Scherer-2/+15
2022-12-03Remove all but one call site of `prepare_outputs` and fetch the value from ↵Oli Scherer-4/+2
the TyCtxt instead
2022-12-02Remove `-Zno-interleave-lints`.Nicholas Nethercote-4/+1
Because it complicates lint implementation greatly.
2022-10-26privacy: Rename "accessibility levels" to "effective visibilities"Vadim Petrochenkov-1/+1
And a couple of other naming tweaks Related to https://github.com/rust-lang/rust/issues/48054
2022-10-25rustc_middle: Rearrange resolver outputs structures slightlyVadim Petrochenkov-11/+3
2022-10-20rustc_hir_typeck: fix paths and partially mv fileslcnr-0/+1
2022-10-10Move lifetime resolution module to rustc_hir_analysis.Camille GILLOT-1/+0