It was just a dummy implementation to workarround the fact that thin
local lto is the default in rustc. By adding a thin_lto_supported thin
local lto can be automatically disabled for cg_gcc, removing the need
for this dummy implementation. This makes improvements to the LTO
handling on the cg_ssa side a lot easier.
Clean up query macros for `cache_on_disk_if`
This PR aims to make the macros for dealing with `cache_on_disk_if` a bit easier to read and work with.
There should be no change to compiler behaviour.
Rollup of 5 pull requests
Successful merges:
- rust-lang/rust#151893 (Move the query list into a new `rustc_middle::queries` module)
- rust-lang/rust#152060 (ci: Optimize loongarch64-linux dist builders)
- rust-lang/rust#151993 (Add uv to the list of possible python runners)
- rust-lang/rust#152047 (Convert to inline diagnostics in `rustc_interface`)
- rust-lang/rust#152053 (Avoid semicolon suggestion when tail expr is error)
Failed merges:
- rust-lang/rust#152023 (Some `rustc_query_system` cleanups)
Move the query list into a new `rustc_middle::queries` module
This moves the query list from `rustc_middle::query` into a new `rustc_middle::queries` module. This splits up the use of the query system from the remaining implementation of it in `rustc_middle::query`, which conceptually belong to `rustc_query_system`.
The goal is to let rustc crates define queries with their own `queries` module, and this makes `rustc_middle` also fit this pattern.
The inner `queries` module used by the macros are renamed to `query_info`, so it doesn't conflict with the new outer name.
Pass on the `feedable` query modifier to macros
This passes on the `feedable` query modifier to macros so `QueryConfig.feedable` gives the correct result. Currently it's always false even for feedable queries.
Fixing this bug enables some consistency checks for feedable queries that were previously not being performed, which has a perf impact.
Remove `with_no_trimmed_paths` use in query macro
We already use `with_no_trimmed_paths!` when calling query descriptors so the extra call generated by the macro is not needed.
unstable proc_macro tracked::* rename/restructure
Picking up what should be the uncontroversial part of rust-lang/rust#87173 (closed due to inactivity over two years ago).
Part of rust-lang/rust#99515.
- move `proc_macro::tracked_env::var` to `proc_macro::tracked::env_var`
- move `proc_macro::tracked_path::path` to `proc_macro::tracked::path`
- change the argument of `proc_macro::tracked::path` from `AsRef<str>` to `AsRef<Path>`.
This was done in #145740 and #145947. It is causing problems for people
using r-a on anything that uses the rustc-dev rustup package, e.g. Miri,
clippy.
This repository has lots of submodules and subtrees and various
different projects are carved out of pieces of it. It seems like
`[workspace.dependencies]` will just be more trouble than it's worth.