about summary refs log tree commit diff
path: root/compiler/rustc_interface/Cargo.toml
AgeCommit message (Collapse)AuthorLines
2025-09-15Make llvm_enzyme a regular cargo featurebjorn3-0/+1
This makes it clearer that it is set by the build system rather than by the rustc that compiles the current rustc. It also avoids bootstrap needing to pass --check-cfg llvm_enzyme to rustc.
2025-09-02Revert introduction of `[workspace.dependencies]`.Nicholas Nethercote-1/+1
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.
2025-08-27Add `tracing` to `[workspace.dependencies]`.Nicholas Nethercote-1/+1
2025-07-11Avoid building C++ for rustc_llvm with --compile-time-depsbjorn3-0/+1
This saves about 30s.
2025-06-11Use `rustc_thread_pool` instead of `rustc-rayon-core`Celina G. Val-1/+1
2025-04-10Remove the use of Rayon iteratorsJohn Kåre Alsaker-1/+0
2025-03-20Use `-Wunused_crate_dependencies` for compiler crates.Nicholas Nethercote-2/+5
It's very useful. There are some false positives involving integration tests in `rustc_pattern_analysis` and `rustc_serialize`. There is also a false positive involving `rustc_driver_impl`'s `rustc_randomized_layouts` feature. And I removed a `rustc_span` mention in a doc comment in `rustc_log` because it wasn't integral to the comment but caused a dev-dependency.
2025-03-10Revert "Use workspace lints for crates in `compiler/` #138084"许杰友 Jieyou Xu (Joe)-3/+0
Revert <https://github.com/rust-lang/rust/pull/138084> to buy time to consider options that avoids breaking downstream usages of cargo on distributed `rustc-src` artifacts, where such cargo invocations fail due to inability to inherit `lints` from workspace root manifest's `workspace.lints` (this is only valid for the source rust-lang/rust workspace, but not really the distributed `rustc-src` artifacts). This breakage was reported in <https://github.com/rust-lang/rust/issues/138304>. This reverts commit 48caf81484b50dca5a5cebb614899a3df81ca898, reversing changes made to c6662879b27f5161e95f39395e3c9513a7b97028.
2025-03-08Specify rust lints for `compiler/` crates via Cargo.Nicholas Nethercote-0/+3
By naming them in `[workspace.lints.rust]` in the top-level `Cargo.toml`, and then making all `compiler/` crates inherit them with `[lints] workspace = true`. (I omitted `rustc_codegen_{cranelift,gcc}`, because they're a bit different.) The advantages of this over the current approach: - It uses a standard Cargo feature, rather than special handling in bootstrap. So, easier to understand, and less likely to get accidentally broken in the future. - It works for proc macro crates. It's a shame it doesn't work for rustc-specific lints, as the comments explain.
2025-02-22Upgrade the compiler to edition 2024Michael Goulet-1/+1
2025-02-07compiler: remove rustc_target::abi entirelyJubilee Young-0/+1
2024-12-16rename rustc_attr to rustc_attr_parsing and create rustc_attr_data_structuresJonathan Dönszelmann-1/+1
2024-11-12Delete the `cfg(not(parallel))` serial compilerNoratrieb-8/+2
Since it's inception a long time ago, the parallel compiler and its cfgs have been a maintenance burden. This was a necessary evil the allow iteration while not degrading performance because of synchronization overhead. But this time is over. Thanks to the amazing work by the parallel working group (and the dyn sync crimes), the parallel compiler has now been fast enough to be shipped by default in nightly for quite a while now. Stable and beta have still been on the serial compiler, because they can't use `-Zthreads` anyways. But this is quite suboptimal: - the maintenance burden still sucks - we're not testing the serial compiler in nightly Because of these reasons, it's time to end it. The serial compiler has served us well in the years since it was split from the parallel one, but it's over now. Let the knight slay one head of the two-headed dragon!
2024-07-15Use dep: for crate dependenciesMichael Goulet-2/+7
2024-05-06Improve check-cfg CLI errors with more structured diagnosticsUrgau-0/+1
2024-02-21Unify dylib loading between proc macros and codegen backendsbjorn3-1/+0
As bonus this makes the errors when failing to load a proc macro more informative to match the backend loading errors. In addition it makes it slightly easier to patch rustc to work on platforms that don't support dynamic linking like wasm.
2024-01-10deps: deduplicate the version of libloading usedSimonas Kazlauskas-1/+1
The changelog can be found here: https://docs.rs/libloading/latest/libloading/changelog/r0_8_0/index.html
2023-11-22Call FileEncoder::finish in rmeta encodingBen Kimock-0/+1
2023-11-04Remove support for compiler plugins.Nicholas Nethercote-1/+0
They've been deprecated for four years. This commit includes the following changes. - It eliminates the `rustc_plugin_impl` crate. - It changes the language used for lints in `compiler/rustc_driver_impl/src/lib.rs` and `compiler/rustc_lint/src/context.rs`. External lints are now called "loaded" lints, rather than "plugins" to avoid confusion with the old plugins. This only has a tiny effect on the output of `-W help`. - E0457 and E0498 are no longer used. - E0463 is narrowed, now only relating to unfound crates, not plugins. - The `plugin` feature was moved from "active" to "removed". - It removes the entire plugins chapter from the unstable book. - It removes quite a few tests, mostly all of those in `tests/ui-fulldeps/plugin/`. Closes #29597.
2023-10-30Clean up `rustc_*/Cargo.toml`.Nicholas Nethercote-23/+25
- Sort dependencies and features sections. - Add `tidy` markers to the sorted sections so they stay sorted. - Remove empty `[lib`] sections. - Remove "See more keys..." comments. Excluded files: - rustc_codegen_{cranelift,gcc}, because they're external. - rustc_lexer, because it has external use. - stable_mir, because it has external use.
2023-10-28Remove an unneeded dependency.Nicholas Nethercote-1/+0
2023-08-11rustc: Move `features` from `Session` to `GlobalCtxt`Vadim Petrochenkov-0/+1
Removes two pieces of mutable state. Follow up to #114622.
2023-07-26replace atty crate with std's isTerminalklensy-1/+0
2023-06-06Write to stdout if `-` is given as output fileJing Peng-0/+1
If `-o -` or `--emit KIND=-` is provided, output will be written to stdout instead. Binary output (`obj`, `llvm-bc`, `link` and `metadata`) being written this way will result in an error unless stdout is not a tty. Multiple output types going to stdout will trigger an error too, as they will all be mixded together.
2023-04-26Remove QueryEngine traitJohn Kåre Alsaker-0/+1
2023-04-22drop unused deps, gate libc under unix for one crateklensy-1/+0
2023-04-18Add `rustc_fluent_macro` to decouple fluent from `rustc_macros`Nilstrieb-0/+1
Fluent, with all the icu4x it brings in, takes quite some time to compile. `fluent_messages!` is only needed in further downstream rustc crates, but is blocking more upstream crates like `rustc_index`. By splitting it out, we allow `rustc_macros` to be compiled earlier, which speeds up `x check compiler` by about 5 seconds (and even more after the needless dependency on `serde_json` is removed from `rustc_data_structures`).
2023-03-25Update indexmap and rayon cratesJohn Kåre Alsaker-3/+3
2023-03-16Add `try_canonicalize` to `rustc_fs_util` and use it over `fs::canonicalize`John Kåre Alsaker-0/+1
2023-02-20Run the resolver after TyCtxt constructionOli Scherer-0/+1
2023-02-06remove unused importsklensy-1/+0
2023-01-30session: diagnostic migration lint on more fnsDavid Wood-3/+0
Apply the diagnostic migration lint to more functions on `Session`. Signed-off-by: David Wood <david.wood@huawei.com>
2023-01-13Warn when using panic-strategy abort for proc-macro cratesLukas Wirth-0/+1
2022-11-18Enable icu sync feature for parallel compilerCharles Lew-1/+1
2022-11-04improve `filesearch::get_or_default_sysroot` r=ozkanonurOnur Özkan-6/+0
Signed-off-by: Onur Özkan <work@onurozkan.dev>
2022-10-20rustc_hir_typeck: fix paths and partially mv fileslcnr-0/+1
2022-09-29Remove from compiler/ cratesreez12g-1/+0
2022-09-27rustc_typeck to rustc_hir_analysislcnr-1/+1
2022-08-17Migrate emoji identifier diagnostics to `SessionDiagnostic`finalchild-0/+1
2022-07-02move encode_and_write_metadata to rustc_metadata::fsYoshiki Matsuda-1/+0
2022-06-27Update `smallvec` to 1.8.1.Nicholas Nethercote-1/+1
This pulls in https://github.com/servo/rust-smallvec/pull/282, which gives some small wins for rustc.
2022-06-13remove currently unused depsklensy-1/+3
2022-05-27Update to rebased rustc-rayon 0.4Josh Stone-2/+2
2022-03-28Propagate `parallel_compiler` feature through rustc crates. Turned off ↵klensy-2/+3
feature gives change of builded crates: 238 -> 224.
2022-01-10Update rayon and rustc-rayonJosh Stone-2/+2
2021-12-06replace dynamic library module with libloadingAndy Russell-0/+1
2021-09-20Migrate to 2021Mark Rousskov-1/+1
2021-09-07Rename rustc_mir to rustc_const_eval.Camille GILLOT-1/+1
2021-09-07Move monomorphize code to its own crate.Camille GILLOT-0/+1
2021-09-07Move rustc_mir::transform to rustc_mir_transform.Camille GILLOT-0/+1