| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
Add supported asm types for LoongArch32
r? ``````@Amanieu``````
|
|
retpoline and retpoline-external-thunk flags (target modifiers) to enable retpoline-related target features
`-Zretpoline` and `-Zretpoline-external-thunk` flags are target modifiers (tracked to be equal in linked crates).
* Enables target features for `-Zretpoline-external-thunk`:
`+retpoline-external-thunk`, `+retpoline-indirect-branches`, `+retpoline-indirect-calls`.
* Enables target features for `-Zretpoline`:
`+retpoline-indirect-branches`, `+retpoline-indirect-calls`.
It corresponds to clang -mretpoline & -mretpoline-external-thunk flags.
Also this PR forbids to specify those target features manually (warning).
Issue: rust-lang/rust#116852
|
|
rustc-dev-guide subtree update
r? `@ghost`
|
|
intrinsics: rename min_align_of to align_of
Now that `pref_align_of` is gone (https://github.com/rust-lang/rust/pull/141803), we can give the intrinsic backing `align_of` its proper name.
r? `@workingjubilee` or `@bjorn3`
|
|
Add bootstrap option to compile a tool with features
Add an option to specify which features to build a tool with, e.g. it will be useful to build Miri with tracing enabled:
```toml
tool-config.miri.features = ["tracing"]
```
See [this Zulip thread](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Passing.20--features.20to.20Miri.20build.20using.20.2E.2Fx.2Epy/with/523564773) for the options considered. If the final decision will be different than what I wrote now, I will update the code as needed. The reason why the option is `tool-config.miri.features` instead of something like `tool-features.miri` is to possibly allow adding more tool-specific configurations in the future.
I didn't do any validation of the keys of the `tool-config` hashmap, since I saw that no validation is done on the `tools` hashset either.
I don't like much the fact that features can be chosen by various places of the codebase: `Step`s can have some fixed `extra_features`, `prepare_tool_cargo` will add features depending on some bootstrapping options, and the newly added option can also contribute features to tools. However I think it is out of scope of this PR to try to refactor all of that (if it even is refactorable), so I left a comment in the codebase explaining all of the sources of features I could find.
|
|
miri: we can use apfloat's mul_add now
With https://github.com/rust-lang/rustc_apfloat/issues/11 fixed, there is no reason to still use host floats here.
Fixes https://github.com/rust-lang/miri/issues/2995
We already have a test for this:
https://github.com/rust-lang/rust/blob/a7153db254acc387e271e75153bdbd3caa2bed89/src/tools/miri/tests/pass/float.rs#L998-L1003
r? ``@oli-obk``
|
|
Tracking the old name of renamed unstable library features
This PR resolves the first problem of rust-lang/rust#141617 : tracking renamed unstable features. The first commit is to add a ui test, and the second one tracks the changes. I will comment on the code for clarification.
r? `@jdonszelmann`
There have been a lot of PR's reviewed by you lately, thanks for your time!
cc `@jyn514`
|
|
Introduce `-Zmacro-stats`
Introduce `-Zmacro-stats`.
It collects data about macro expansions and prints them in a table after expansion finishes. It's very useful for detecting macro bloat, especially for proc macros.
r? `@petrochenkov`
|
|
Merge `Cfg::render_long_html` and `Cfg::render_long_plain` methods common code
Follow-up of https://github.com/rust-lang/rust/pull/141747.
Thanks `@camelid` for spotting it!
r? `@camelid`
|
|
|
|
miri: add flag to suppress float non-determinism
We have flags controlling most non-determinism, so this seems generally useful for debugging. It is also needed to work around https://github.com/rust-lang/portable-simd/issues/463 in miri-test-libstd.
I made this a rustc PR so that it propagates faster to unbreak miri-test-libstd.
r? `@oli-obk`
|
|
|
|
|
|
|
|
It would not be correct if multiple values of `target_dir` were ever passed to the function in the same process.
|
|
|
|
It wasn't really needed there.
|
|
|
|
|
|
fix: Support spans with proc macro servers from before the ast id changes
|
|
The only thing changed is the value of the fixup ast id, so we just swap it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
|
|
It collects data about macro expansions and prints them in a table after
expansion finishes. It's very useful for detecting macro bloat,
especially for proc macros.
Details:
- It measures code snippets by pretty-printing them and then measuring
lines and bytes. This required a bunch of additional pretty-printing
plumbing, in `rustc_ast_pretty` and `rustc_expand`.
- The measurement is done in `MacroExpander::expand_invoc`.
- The measurements are stored in `ExtCtxt::macro_stats`.
|
|
fix: Fix comparison of proc macros
|
|
Comparing the TypeId is not enough, they also contain data.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fix: Do not force descend into derives for goto IDE features
|
|
Doing so can cause us to duplicate navigation targets for the same ranges which breaks convenience features of some editors where go to def can trigger find all references
|
|
|
|
Weekly `cargo update`
Automation to keep dependencies in `Cargo.lock` current.
The following is the output from `cargo update`:
```txt
compiler & tools dependencies:
Locking 57 packages to latest compatible versions
Updating anstream v0.6.18 -> v0.6.19
Updating anstyle v1.0.10 -> v1.0.11
Updating anstyle-lossy v1.1.3 -> v1.1.4
Updating anstyle-parse v0.2.6 -> v0.2.7
Updating anstyle-query v1.1.2 -> v1.1.3
Updating anstyle-svg v0.1.7 -> v0.1.8
Updating anstyle-wincon v3.0.7 -> v3.0.9
Updating bitflags v2.9.0 -> v2.9.1
Updating bumpalo v3.17.0 -> v3.18.1
Updating bytecount v0.6.8 -> v0.6.9
Updating camino v1.1.9 -> v1.1.10
Updating clap v4.5.38 -> v4.5.39
Updating clap_builder v4.5.38 -> v4.5.39
Updating color-eyre v0.6.4 -> v0.6.5
Updating color-spantrace v0.2.2 -> v0.3.0
Updating colorchoice v1.0.3 -> v1.0.4
Updating curl v0.4.47 -> v0.4.48
Updating curl-sys v0.4.80+curl-8.12.1 -> v0.4.82+curl-8.14.1
Updating errno v0.3.11 -> v0.3.12
Updating flate2 v1.1.1 -> v1.1.2
Updating hashbrown v0.15.3 -> v0.15.4
Updating hermit-abi v0.3.9 -> v0.5.1
Updating icu_properties v2.0.0 -> v2.0.1
Updating icu_properties_data v2.0.0 -> v2.0.1
Updating jiff v0.2.13 -> v0.2.14
Updating jiff-static v0.2.13 -> v0.2.14
Updating jsonpath-rust v1.0.1 -> v1.0.2
Updating libloading v0.8.7 -> v0.8.8
Updating lock_api v0.4.12 -> v0.4.13
Updating num_cpus v1.16.0 -> v1.17.0
Adding once_cell_polyfill v1.70.1
Updating openssl-sys v0.9.108 -> v0.9.109
Updating owo-colors v4.2.0 -> v4.2.1
Updating parking_lot v0.12.3 -> v0.12.4
Updating parking_lot_core v0.9.10 -> v0.9.11
Updating portable-atomic v1.11.0 -> v1.11.1
Updating rustc-build-sysroot v0.5.7 -> v0.5.8
Updating rustversion v1.0.20 -> v1.0.21
Updating serde_spanned v0.6.8 -> v0.6.9
Updating smallvec v1.15.0 -> v1.15.1
Updating socket2 v0.5.9 -> v0.5.10
Updating sysinfo v0.35.0 -> v0.35.2
Updating tokio v1.45.0 -> v1.45.1
Updating toml_datetime v0.6.9 -> v0.6.11
Updating tracing-attributes v0.1.28 -> v0.1.29
Updating type-map v0.5.0 -> v0.5.1
Updating uuid v1.16.0 -> v1.17.0
Updating wasm-encoder v0.230.0 -> v0.233.0
Updating wasmparser v0.230.0 -> v0.233.0
Updating wast v230.0.0 -> v233.0.0
Updating wat v1.230.0 -> v1.233.0
Updating windows-bindgen v0.61.0 -> v0.61.1
Updating windows-core v0.61.0 -> v0.61.2
Updating windows-future v0.2.0 -> v0.2.1
Updating windows-result v0.3.2 -> v0.3.4
Updating windows-strings v0.4.0 -> v0.4.2
Adding windows-threading v0.1.0
note: pass `--verbose` to see 38 unchanged dependencies behind latest
library dependencies:
Locking 1 package to latest compatible version
Updating hashbrown v0.15.3 -> v0.15.4
note: pass `--verbose` to see 5 unchanged dependencies behind latest
rustbook dependencies:
Locking 39 packages to latest compatible versions
Updating anstream v0.6.18 -> v0.6.19
Updating anstyle v1.0.10 -> v1.0.11
Updating anstyle-parse v0.2.6 -> v0.2.7
Updating anstyle-query v1.1.2 -> v1.1.3
Updating anstyle-wincon v3.0.7 -> v3.0.9
Updating bitflags v2.9.0 -> v2.9.1
Updating bumpalo v3.17.0 -> v3.18.1
Updating cc v1.2.22 -> v1.2.26
Updating clap v4.5.38 -> v4.5.39
Updating clap_builder v4.5.38 -> v4.5.39
Updating clap_complete v4.5.50 -> v4.5.52
Updating colorchoice v1.0.3 -> v1.0.4
Updating errno v0.3.11 -> v0.3.12
Updating flate2 v1.1.1 -> v1.1.2
Updating hashbrown v0.15.3 -> v0.15.4
Updating icu_properties v2.0.0 -> v2.0.1
Updating icu_properties_data v2.0.0 -> v2.0.1
Updating jiff v0.2.13 -> v0.2.14
Updating jiff-static v0.2.13 -> v0.2.14
Updating lock_api v0.4.12 -> v0.4.13
Adding once_cell_polyfill v1.70.1
Updating opener v0.8.1 -> v0.8.2
Updating parking_lot v0.12.3 -> v0.12.4
Updating parking_lot_core v0.9.10 -> v0.9.11
Updating portable-atomic v1.11.0 -> v1.11.1
Updating railroad v0.3.2 -> v0.3.3
Updating rustversion v1.0.20 -> v1.0.21
Updating serde_spanned v0.6.8 -> v0.6.9
Updating smallvec v1.15.0 -> v1.15.1
Updating tempfile v3.19.1 -> v3.20.0
Updating toml v0.8.22 -> v0.8.23
Updating toml_datetime v0.6.9 -> v0.6.11
Updating toml_edit v0.22.26 -> v0.22.27
Updating toml_write v0.1.1 -> v0.1.2
Adding unicode-width v0.2.0
Updating web_atoms v0.1.2 -> v0.1.3
Updating windows-core v0.61.0 -> v0.61.2
Updating windows-result v0.3.2 -> v0.3.4
Updating windows-strings v0.4.0 -> v0.4.2
```
|
|
Provide better incrementality when items are changed
|
|
We can do that and it's pretty heavy.
|
|
|
|
I'm joking, but now that the def map is the only thing that uses the item tree, we can remove a lot of things from it that aren't needed for the def map.
|