Commit graph

3343 commits

Author SHA1 Message Date
Samuel Tardieu
f03a56f706
Rollup merge of #143630 - jieyouxu:drop-suggest, r=Mark-Simulacrum
Drop `./x suggest`

This PR removes the current `./x suggest` implementation (rust-lang/rust#109933, rust-lang/rust#106249) and associated docs for several reasons:

1. Primarily, `./x suggest` is another "flow" in bootstrap that incurs extra complexity and more invariants that bootstrap has to maintain. This causes more friction when trying to investigate and fix staging problems. As far as I know, this flow has not been actively maintained in quite a while, and I'm not aware of interest in maintaining it. Bootstrap really could use less implementation complexity with a very limited maintenance bandwidth.
2. The current `./x suggest` implementation "bypasses" the usual stage defaults for the various check/build/test/etc. flows, and it's not really possible to have a stage default because `./x suggest --run` produces a *sequence* of suggestions like [`./x check`, `./x test library/std`, ..] and then tries to run all of them in sequence, based on which files are modified.
3. We've not seen a lot of interest both in using it or extending static/dynamic test suggestions. Last extensions were rust-lang/rust#117961 and rust-lang/rust#120763. I'm not convinced the extra implementation complexity is worth it. This was discussed in:
    - [#t-infra/bootstrap > Dropping the current `./x suggest` flow implementation](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Dropping.20the.20current.20.60.2E.2Fx.20suggest.60.20flow.20implementation/with/527456699)
    - [#t-compiler > Dropping current `./x suggest` implementation](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Dropping.20current.20.60.2E.2Fx.20suggest.60.20implementation/with/527528696)

Closes rust-lang/rust#109933 (the current implementation is being removed).
Closes rust-lang/rust#143569 (by removing `./x suggest` altogether).
2025-07-15 12:52:37 +02:00
bors
a001497644 Auto merge of #143745 - flip1995:clippy-subtree-update, r=Manishearth
Clippy subtree update

r? `@Manishearth`

Cargo.lock update due to `ui_test` bump and restructure.
2025-07-14 19:53:18 +00:00
Jieyou Xu
91d064b442
Remove current implementation of ./x suggest
This is quite a bit of implementation complexity, yet it is quite
broken, and we don't have the maintenance bandwidth to address.

Remove the current implementation if only to reduce bootstrap's
implementation complexity; the `suggest` flow comes with its own set of
hacks.
2025-07-15 00:46:33 +08:00
Makai
6598c61725 rename stable_mir to rustc_public, and rustc_smir to rustc_public_bridge 2025-07-14 09:25:54 +00:00
León Orell Valerian Liehr
b0e559a976
Rollup merge of #143796 - JonathanBrouwer:fix-builtin-attribute-prefix, r=jdonszelmann
Fix ICE for parsed attributes with longer path not handled by CheckAttribute

Fixes https://github.com/rust-lang/rust/issues/137590
Fixes https://github.com/rust-lang/rust/issues/143789

r? ```@jdonszelmann```
2025-07-13 07:21:21 +02:00
Ralf Jung
a0a8e80604 fix clippy_test_deps workspace handling 2025-07-12 12:10:04 +02:00
Jonathan Brouwer
2f05fa6fff
Fix ICE for parsed attributes with longer path not handled by CheckAttrVisitor
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-11 17:02:57 +02:00
Guillaume Gomez
1a28fb8b7b Update sysinfo version to 0.36.0 2025-07-11 15:51:42 +02:00
Philipp Krones
69fca569eb
Update Cargo.lock 2025-07-10 20:34:42 +02:00
Jieyou Xu
ed520af279
Don't attempt to version run-make-support
Purely internal test support library.
2025-07-09 20:05:13 +08:00
bors
1b0bc594a7 Auto merge of #143582 - jieyouxu:rollup-8t9mhfj, r=jieyouxu
Rollup of 11 pull requests

Successful merges:

 - rust-lang/rust#143130 (doc(std): clarify `NonZero<T>` usage limitation in doc comment)
 - rust-lang/rust#143415 (Get rid of build-powerpc64le-toolchain.sh)
 - rust-lang/rust#143464 (Make tests/ui/abi/debug.rs cross-compile)
 - rust-lang/rust#143482 (Fix short linker error output)
 - rust-lang/rust#143524 (Move `stable_mir` back to its own crate)
 - rust-lang/rust#143528 (interpret: rename StackPopCleanup)
 - rust-lang/rust#143551 (Dont resolve instance of root in `mir_callgraph_cyclic`)
 - rust-lang/rust#143558 (mbe: Refactors and function extractions in `compile_declarative_macro`)
 - rust-lang/rust#143563 (std: fix typo in `std::path`)
 - rust-lang/rust#143564 (compiler: Deduplicate `must_emit_unwind_tables()` comments)
 - rust-lang/rust#143577 (Disable download-rustc for library profile)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-07-07 14:20:33 +00:00
许杰友 Jieyou Xu (Joe)
02aa4ff12f
Rollup merge of #143524 - makai410:smir-move-back, r=oli-obk
Move `stable_mir` back to its own crate

We've finished the refactoring, so it's time to move `stable_mir` back to its own crate.

This PR leaves an empty `rustc_internal` module with a `#[deprecated]` attribute in `rustc_smir` to let users know we just moved it to `stable_mir`.
2025-07-07 19:45:40 +08:00
bors
25cf7d13c9 Auto merge of #143035 - ywxt:less-work-steal, r=oli-obk
Only work-steal in the main loop for rustc_thread_pool

This PR is a replica of <https://github.com/rust-lang/rustc-rayon/pull/12> that only retained work-steal in the main loop for rustc_thread_pool.

r? `@oli-obk`

cc `@SparrowLii` `@Zoxc` `@cuviper`

Updates rust-lang/rust#113349
2025-07-07 11:16:16 +00:00
Josh Triplett
8ee1e9817c mbe: Change unused_macro_rules to a DenseBitSet
Now that it only contains indexes, and no other information, a bitset
provides a more compact and simpler representation.
2025-07-06 12:02:23 -07:00
bors
3c95364c4a Auto merge of #143515 - rust-lang:cargo_update, r=clubby789
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.
r? dep-bumps

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 6 packages to latest compatible versions
      Adding io-uring v0.7.8
    Updating jsonpath-rust v1.0.2 -> v1.0.3
    Updating libffi v4.1.0 -> v4.1.1
    Updating libffi-sys v3.3.1 -> v3.3.2
    Updating tokio v1.45.1 -> v1.46.1
    Updating wasm-component-ld v0.5.14 -> v0.5.15
note: pass `--verbose` to see 41 unchanged dependencies behind latest

library dependencies:
     Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 4 unchanged dependencies behind latest

rustbook dependencies:
     Locking 1 package to latest compatible version
    Updating cc v1.2.27 -> v1.2.29
```
2025-07-06 13:53:52 +00:00
Makai
c42a9ac602 move stable_mir back to its own crate and move rustc_internal to thestable_mir crate
As part of this reorganization, some traits need to be moved from `rustc_smir::context::traits` to `stable_mir::unstable::internal_cx`. These traits are specifically designed for `InternalCx` to clarify the behavior of different functions that share the same name. This move is necessary to avoid orphan rule violations.
2025-07-06 12:25:42 +00:00
github-actions
31ea5f90c7 cargo update
compiler & tools dependencies:
     Locking 6 packages to latest compatible versions
      Adding io-uring v0.7.8
    Updating jsonpath-rust v1.0.2 -> v1.0.3
    Updating libffi v4.1.0 -> v4.1.1
    Updating libffi-sys v3.3.1 -> v3.3.2
    Updating tokio v1.45.1 -> v1.46.1
    Updating wasm-component-ld v0.5.14 -> v0.5.15
note: pass `--verbose` to see 41 unchanged dependencies behind latest

library dependencies:
     Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 4 unchanged dependencies behind latest

rustbook dependencies:
     Locking 1 package to latest compatible version
    Updating cc v1.2.27 -> v1.2.29
2025-07-06 00:26:38 +00:00
Ralf Jung
a1f4172afa update lockfile 2025-07-05 10:39:03 +02:00
bors
e3843659e9 Auto merge of #114669 - cjgillot:metadata-wp, r=petrochenkov
Make metadata a workproduct and reuse it

This PR aims to skip the generation of metadata by reusing the infrastructure that already exists for compiled codegen-units, namely "workproducts".

This can yield substantial gains (~10%) when we can demonstrate that metadata does not change between an incremental session and the next. This is the case if the crate is unchanged, or if all the changes are in upstream crates and have no effect on it. This latter case is most interesting, as it arises regularly for users with several crates in their workspace.

TODO:
- [x] Materialize the fact that metadata encoding relies on the relative order of definitions;
- [x] Refactor the handling of doc links.
2025-07-04 18:06:20 +00:00
Camille GILLOT
761d366415 Reuse metadata file from work products. 2025-07-04 14:02:17 +00:00
klensy
e631555a48 bump termize dep 2025-07-04 11:43:43 +03:00
bors
48aee7e383 Auto merge of #142857 - rust-lang:cargo_update, r=clubby789
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 23 packages to latest compatible versions
    Updating anstyle-svg v0.1.8 -> v0.1.9
    Updating autocfg v1.4.0 -> v1.5.0
    Updating bumpalo v3.18.1 -> v3.19.0
    Updating derive-where v1.4.0 -> v1.5.0
    Updating errno v0.3.12 -> v0.3.13
    Updating indexmap v2.9.0 -> v2.10.0
    Updating libredox v0.1.3 -> v0.1.4
    Updating owo-colors v4.2.1 -> v4.2.2
    Updating pest v2.8.0 -> v2.8.1
    Updating pest_derive v2.8.0 -> v2.8.1
    Updating pest_generator v2.8.0 -> v2.8.1
    Updating pest_meta v2.8.0 -> v2.8.1
    Updating r-efi v5.2.0 -> v5.3.0
    Updating rustc-build-sysroot v0.5.8 -> v0.5.9
    Updating slab v0.4.9 -> v0.4.10
    Updating syn v2.0.103 -> v2.0.104
      Adding toml v0.8.23
      Adding toml_edit v0.22.27
      Adding toml_write v0.1.2
    Updating tracing-attributes v0.1.29 -> v0.1.30
    Updating xattr v1.5.0 -> v1.5.1
    Updating zerocopy v0.8.25 -> v0.8.26
    Updating zerocopy-derive v0.8.25 -> v0.8.26
note: pass `--verbose` to see 39 unchanged dependencies behind latest

library dependencies:
     Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 3 unchanged dependencies behind latest

rustbook dependencies:
     Locking 21 packages to latest compatible versions
    Updating autocfg v1.4.0 -> v1.5.0
    Updating bumpalo v3.18.1 -> v3.19.0
    Updating errno v0.3.12 -> v0.3.13
    Updating indexmap v2.9.0 -> v2.10.0
    Updating markup5ever v0.16.1 -> v0.16.2
    Updating pest v2.8.0 -> v2.8.1
    Updating pest_derive v2.8.0 -> v2.8.1
    Updating pest_generator v2.8.0 -> v2.8.1
    Updating pest_meta v2.8.0 -> v2.8.1
    Updating r-efi v5.2.0 -> v5.3.0
    Updating syn v2.0.103 -> v2.0.104
      Adding windows-sys v0.60.2
      Adding windows-targets v0.53.2
      Adding windows_aarch64_gnullvm v0.53.0
      Adding windows_aarch64_msvc v0.53.0
      Adding windows_i686_gnu v0.53.0
      Adding windows_i686_gnullvm v0.53.0
      Adding windows_i686_msvc v0.53.0
      Adding windows_x86_64_gnu v0.53.0
      Adding windows_x86_64_gnullvm v0.53.0
      Adding windows_x86_64_msvc v0.53.0
```
2025-07-03 16:57:14 +00:00
github-actions
5737b856d6 cargo update
compiler & tools dependencies:
     Locking 23 packages to latest compatible versions
    Updating anstyle-svg v0.1.8 -> v0.1.9
    Updating autocfg v1.4.0 -> v1.5.0
    Updating bumpalo v3.18.1 -> v3.19.0
    Updating derive-where v1.4.0 -> v1.5.0
    Updating errno v0.3.12 -> v0.3.13
    Updating indexmap v2.9.0 -> v2.10.0
    Updating libredox v0.1.3 -> v0.1.4
    Updating owo-colors v4.2.1 -> v4.2.2
    Updating pest v2.8.0 -> v2.8.1
    Updating pest_derive v2.8.0 -> v2.8.1
    Updating pest_generator v2.8.0 -> v2.8.1
    Updating pest_meta v2.8.0 -> v2.8.1
    Updating r-efi v5.2.0 -> v5.3.0
    Updating rustc-build-sysroot v0.5.8 -> v0.5.9
    Updating slab v0.4.9 -> v0.4.10
    Updating syn v2.0.103 -> v2.0.104
      Adding toml v0.8.23
      Adding toml_edit v0.22.27
      Adding toml_write v0.1.2
    Updating tracing-attributes v0.1.29 -> v0.1.30
    Updating xattr v1.5.0 -> v1.5.1
    Updating zerocopy v0.8.25 -> v0.8.26
    Updating zerocopy-derive v0.8.25 -> v0.8.26
note: pass `--verbose` to see 39 unchanged dependencies behind latest

library dependencies:
     Locking 0 packages to latest compatible versions
note: pass `--verbose` to see 3 unchanged dependencies behind latest

rustbook dependencies:
     Locking 21 packages to latest compatible versions
    Updating autocfg v1.4.0 -> v1.5.0
    Updating bumpalo v3.18.1 -> v3.19.0
    Updating errno v0.3.12 -> v0.3.13
    Updating indexmap v2.9.0 -> v2.10.0
    Updating markup5ever v0.16.1 -> v0.16.2
    Updating pest v2.8.0 -> v2.8.1
    Updating pest_derive v2.8.0 -> v2.8.1
    Updating pest_generator v2.8.0 -> v2.8.1
    Updating pest_meta v2.8.0 -> v2.8.1
    Updating r-efi v5.2.0 -> v5.3.0
    Updating syn v2.0.103 -> v2.0.104
      Adding windows-sys v0.60.2
      Adding windows-targets v0.53.2
      Adding windows_aarch64_gnullvm v0.53.0
      Adding windows_aarch64_msvc v0.53.0
      Adding windows_i686_gnu v0.53.0
      Adding windows_i686_gnullvm v0.53.0
      Adding windows_i686_msvc v0.53.0
      Adding windows_x86_64_gnu v0.53.0
      Adding windows_x86_64_gnullvm v0.53.0
      Adding windows_x86_64_msvc v0.53.0
2025-07-03 17:30:33 +01:00
Jonathan Brouwer
3d5d72b761
Port #[target_feature] to the new attribute parsing infrastructure
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
2025-07-03 07:54:19 +02:00
Trevor Gross
18a621abe4 Upgrade dependencies in run-make-support
The main purpose of this is to upgrade `object` and `gimli`, which will
allow us to drop outdated versions once backtrace also updates.
The only semver breakage in `object`'s is in `elf::R_RISCV_GNU_*` and
`pe::IMAGE_WEAK_EXTERN_*` constants, as well as Mach-O dyld, which don't
appear to be used here. `gimli` is similar, there is only minor breakage
related to dyld.

These version upgrades were also done in the library.

`bstr`, `similar`, and `regex` are also upgraded to the latest minor
version here to match what the lockfile already uses. The `regex`
comment about `memchr` version hasn't been relevant to this lockfile
since e95d15a115 ("Pin memchr to 2.5.0 in the library rather than
rustc_ast") and is no longer relevant in the library lockfile either.

Object Changelog: https://github.com/gimli-rs/object/blob/master/CHANGELOG.md#0370
Gimli changelog: https://github.com/gimli-rs/gimli/blob/master/CHANGELOG.md#0320
2025-06-30 15:46:36 -05:00
Ralf Jung
85357d1e5c update lockfile 2025-06-28 13:33:12 +02:00
ywxt
0ff1fb27d3 Restore to HashSet
Co-authored-by: Zoxc <zoxc32@gmail.com>
2025-06-28 17:58:21 +08:00
ywxt
0ceac216c9 Only work-steal in the main loop for rustc_thread_pool
Co-authored-by: Zoxc <zoxc32@gmail.com>
2025-06-28 17:58:20 +08:00
Philipp Krones
1b5420a8be
Update Cargo.lock 2025-06-27 12:21:14 +02:00
Jana Dönszelmann
64a1a98f47
encode_cross_crate for hir attributes 2025-06-25 22:10:40 +02:00
bors
a17780db7b Auto merge of #142997 - workingjubilee:rollup-6lxec87, r=workingjubilee
Rollup of 15 pull requests

Successful merges:

 - rust-lang/rust#135731 (Implement parsing of pinned borrows)
 - rust-lang/rust#138780 (Add `#[loop_match]` for improved DFA codegen)
 - rust-lang/rust#142453 (Windows: make `read_dir` stop iterating after the first error is encountered)
 - rust-lang/rust#142633 (Error on invalid signatures for interrupt ABIs)
 - rust-lang/rust#142768 (Avoid a bitcast FFI call in transmuting)
 - rust-lang/rust#142825 (Port `#[track_caller]` to the new attribute system)
 - rust-lang/rust#142844 (Enable short-ice for Windows)
 - rust-lang/rust#142934 (Tweak `-Zmacro-stats` measurement.)
 - rust-lang/rust#142955 (Couple of test suite fixes for cg_clif)
 - rust-lang/rust#142977 (rustdoc: Don't mark `#[target_feature]` functions as ⚠)
 - rust-lang/rust#142980 (Reduce mismatched-lifetime-syntaxes suggestions to MaybeIncorrect)
 - rust-lang/rust#142982 (Corrected spelling mistake in c_str.rs)
 - rust-lang/rust#142983 (Taint body on invalid call ABI)
 - rust-lang/rust#142988 (Update wasm-component-ld to 0.5.14)
 - rust-lang/rust#142993 (Update cargo)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-06-25 04:05:47 +00:00
Jubilee
1d4955461b
Rollup merge of #142988 - alexcrichton:update-wasm-component-ld, r=Mark-Simulacrum
Update wasm-component-ld to 0.5.14

This brings in a few updates to the bundled `wasm-component-ld` dependency used by the `wasm32-wasip2` target. This primarily includes support for upcoming component model async/WASIp3 support which will be convenient to have native support for a few months from now.
2025-06-24 19:45:36 -07:00
Jubilee
2ad6272649
Rollup merge of #142825 - jdonszelmann:track-caller, r=oli-obk
Port `#[track_caller]` to the new attribute system

r? ``@oli-obk``

depends on https://github.com/rust-lang/rust/pull/142493

Closes rust-lang/rust#142783

(didn't add a test for this, this situation should simply never come up again, the code was simply wrong. lmk if I should add it, but it won't test something very useful)
2025-06-24 19:45:32 -07:00
Jubilee
891dc0fb09
Rollup merge of #142633 - folkertdev:interrupt-abi-restrict-signature, r=workingjubilee
Error on invalid signatures for interrupt ABIs

We recently added `extern "custom"`, which must have type `fn()`. The various `extern "interrupt"` ABIs impose similar constraints on the signature of functions with that ABI: `x86-interrupt` should not have a return type (linting on the exact argument types is left as future work), and the other interrupt ABIs cannot have any parameters or a return type.

r? ```@workingjubilee```
2025-06-24 19:45:31 -07:00
Jubilee
f542909d1c
Rollup merge of #138780 - trifectatechfoundation:loop_match_attr, r=oli-obk,traviscross
Add `#[loop_match]` for improved DFA codegen

tracking issue: https://github.com/rust-lang/rust/issues/132306
project goal: https://github.com/rust-lang/rust-project-goals/issues/258

This PR adds the `#[loop_match]` attribute, which aims to improve code generation for state machines. For some (very exciting) benchmarks, see https://github.com/rust-lang/rust-project-goals/issues/258#issuecomment-2732965199

Currently, a very restricted syntax pattern is accepted. We'd like to get feedback and merge this now before we go too far in a direction that others have concerns with.

## current state

We accept code that looks like this

```rust
#[loop_match]
loop {
    state = 'blk: {
        match state {
            State::A => {
                #[const_continue]
                break 'blk State::B
            }
            State::B => { /* ... */ }
            /* ... */
        }
    }
}
```

- a loop should have the same semantics with and without `#[loop_match]`: normal `continue` and `break` continue to work
- `#[const_continue]` is only allowed in loops annotated with `#[loop_match]`
- the loop body needs to have this particular shape (a single assignment to the match scrutinee, with the body a labelled block containing just a match)

## future work

- perform const evaluation on the `break` value
- support more state/scrutinee types

## maybe future work

- allow `continue 'label value` syntax, which `#[const_continue]` could then use.
- allow the match to be on an arbitrary expression (e.g. `State::Initial`)
- attempt to also optimize `break`/`continue` expressions that are not marked with `#[const_continue]`

r? ``@traviscross``
2025-06-24 19:45:30 -07:00
bors
2c2bb995af Auto merge of #140999 - hkBst:update-escaper, r=nnethercote
update to literal-escaper 0.0.4 for better API without `unreachable` and faster string parsing

This is the replacement for just the part of https://github.com/rust-lang/rust/pull/138163 dealing with the changed API of unescape functionality, since that got moved into its own crate.

<del>This uses an unpublished version of literal-escaper (https://github.com/rust-lang/literal-escaper/pull/8).</del>

r? `@nnethercote`
2025-06-25 01:03:30 +00:00
Alex Crichton
4a112db96b Update wasm-component-ld to 0.5.14
This brings in a few updates to the bundled `wasm-component-ld`
dependency used by the `wasm32-wasip2` target. This primarily includes
support for upcoming component model async/WASIp3 support which will be
convenient to have native support for a few months from now.
2025-06-24 15:59:35 -07:00
Jana Dönszelmann
5d44fdd972
Rewrite #[track_caller] 2025-06-24 23:00:31 +02:00
Vadim Petrochenkov
0be37cab97 rustc_session: Add a structure for keeping both explicit and default sysroots
Also avoid creating and cloning sysroot unnecessarily.
2025-06-24 16:00:04 +03:00
Folkert de Vries
943d37958b
Error on invalid signatures for interrupt ABIs 2025-06-24 14:40:11 +02:00
bjorn3
ba5556d239
Add #[loop_match] for improved DFA codegen
Co-authored-by: Folkert de Vries <folkert@folkertdev.nl>
2025-06-23 20:43:04 +02:00
Marijn Schouten
707a6f5463 update to literal-escaper 0.0.4 for better API without unreachable and faster string parsing 2025-06-23 06:36:22 +00:00
Trevor Gross
7b355110df
Rollup merge of #142384 - celinval:chores-rayon-mv, r=oli-obk
Bringing `rustc_rayon_core` in tree as `rustc_thread_pool`

This PR moves [`rustc_rayon_core`](5fadf44/rayon-core) from commit `5fadf44` as suggested in [this zulip thread](https://rust-lang.zulipchat.com/#narrow/channel/187679-t-compiler.2Fparallel-rustc/topic/Bringing.20.60rustc_rayon_core.60.20in.20tree). I tried to split the work into separate commits so it is easy to review. The first commit is a simple copy and paste from the fork, and subsequent changes were made to use the new crate and to ensure the new crate complies with different format and lint expectations.

**Call-out:** I was also wondering if I need to make any further changes to accommodate licensing requirements.

r? oli-obk
2025-06-20 23:25:54 -04:00
Trevor Gross
a021227fb5
Rollup merge of #142524 - rust-lang:cargo_update, r=Mark-Simulacrum
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.

The following is the output from `cargo update`:

```txt

compiler & tools dependencies:
     Locking 31 packages to latest compatible versions
    Updating adler2 v2.0.0 -> v2.0.1
    Updating cfg-if v1.0.0 -> v1.0.1
    Updating clap v4.5.39 -> v4.5.40
    Updating clap_builder v4.5.39 -> v4.5.40
    Updating clap_derive v4.5.32 -> v4.5.40
    Updating clap_lex v0.7.4 -> v0.7.5
    Updating getopts v0.2.21 -> v0.2.23
    Updating hermit-abi v0.5.1 -> v0.5.2
    Updating jiff v0.2.14 -> v0.2.15
    Updating jiff-static v0.2.14 -> v0.2.15
    Updating libc v0.2.172 -> v0.2.173
    Updating memchr v2.7.4 -> v2.7.5
    Updating minifier v0.3.5 -> v0.3.6
    Updating miniz_oxide v0.8.8 -> v0.8.9
    Updating object v0.37.0 -> v0.37.1
    Updating redox_syscall v0.5.12 -> v0.5.13
    Updating rustc-demangle v0.1.24 -> v0.1.25
    Updating syn v2.0.101 -> v2.0.103
    Updating thread_local v1.1.8 -> v1.1.9
    Updating unicode-width v0.2.0 -> v0.2.1
    Updating wasi v0.11.0+wasi-snapshot-preview1 -> v0.11.1+wasi-snapshot-preview1
    Updating wasm-encoder v0.233.0 -> v0.235.0
    Removing wasmparser v0.232.0
    Removing wasmparser v0.233.0
      Adding wasmparser v0.234.0
      Adding wasmparser v0.235.0
    Updating wast v233.0.0 -> v235.0.0
    Updating wat v1.233.0 -> v1.235.0
    Updating windows v0.61.1 -> v0.61.3
    Updating windows-link v0.1.1 -> v0.1.3
      Adding windows-sys v0.60.2
    Updating windows-targets v0.53.0 -> v0.53.2
    Updating winnow v0.7.10 -> v0.7.11
note: pass `--verbose` to see 39 unchanged dependencies behind latest

library dependencies:
     Locking 1 package to latest compatible version
    Updating libc v0.2.172 -> v0.2.173
note: pass `--verbose` to see 4 unchanged dependencies behind latest

rustbook dependencies:
     Locking 19 packages to latest compatible versions
    Updating adler2 v2.0.0 -> v2.0.1
    Updating cc v1.2.26 -> v1.2.27
    Updating cfg-if v1.0.0 -> v1.0.1
    Updating clap v4.5.39 -> v4.5.40
    Updating clap_builder v4.5.39 -> v4.5.40
    Updating clap_complete v4.5.52 -> v4.5.54
    Updating clap_derive v4.5.32 -> v4.5.40
    Updating clap_lex v0.7.4 -> v0.7.5
    Updating getopts v0.2.21 -> v0.2.23
    Updating jiff v0.2.14 -> v0.2.15
    Updating jiff-static v0.2.14 -> v0.2.15
    Updating libc v0.2.172 -> v0.2.173
    Updating memchr v2.7.4 -> v2.7.5
    Updating miniz_oxide v0.8.8 -> v0.8.9
    Updating redox_syscall v0.5.12 -> v0.5.13
    Updating syn v2.0.101 -> v2.0.103
    Removing unicode-width v0.1.14
    Removing unicode-width v0.2.0
      Adding unicode-width v0.2.1
    Updating windows-link v0.1.1 -> v0.1.3
    Updating winnow v0.7.10 -> v0.7.11
```
2025-06-18 20:22:50 -04:00
Jakub Beránek
fd6b24f162
Rollup merge of #142383 - scottmcm:operandref-builder, r=workingjubilee
CodeGen: rework Aggregate implemention for rvalue_creates_operand cases

A non-trivial refactor pulled out from rust-lang/rust#138759
r? workingjubilee

The previous implementation I'd written here based on `index_by_increasing_offset` is complicated to follow and difficult to extend to non-structs.

This changes the implementation, without actually changing any codegen (thus no test changes either), to be more like the existing `extract_field` (<2b0274c71d/compiler/rustc_codegen_ssa/src/mir/operand.rs (L345-L425)>) in that it allows setting a particular field directly.

Notably I've found this one much easier to get right, in particular because having the `OperandRef<Result<V, Scalar>>` gives a really useful thing to include in ICE messages if something did happen to go wrong.
2025-06-18 18:06:50 +02:00
Scott McMurray
e4f196a7b4 CodeGen: rework Aggregate implemention for rvalue_creates_operand cases
Another refactor pulled out from 138759

The previous implementation I'd written here based on `index_by_increasing_offset` is complicated to follow and difficult to extend to non-structs.

This changes the implementation, without actually changing any codegen (thus no test changes either), to be more like the existing `extract_field` (<2b0274c71d/compiler/rustc_codegen_ssa/src/mir/operand.rs (L345-L425)>) in that it allows setting a particular field directly.

Notably I've found this one much easier to get right, in particular because having the `OperandRef<Result<V, Scalar>>` gives a really useful thing to include in ICE messages if something did happen to go wrong.
2025-06-17 18:59:22 -07:00
Trevor Gross
57fdde331b Update libc to 0.2.174
This includes a fix for building on gnux32.

[1]: https://github.com/rust-lang/libc/releases/tag/0.2.174
2025-06-17 18:03:45 +00:00
github-actions
870e5a26ee cargo update
compiler & tools dependencies:
     Locking 31 packages to latest compatible versions
    Updating adler2 v2.0.0 -> v2.0.1
    Updating cfg-if v1.0.0 -> v1.0.1
    Updating clap v4.5.39 -> v4.5.40
    Updating clap_builder v4.5.39 -> v4.5.40
    Updating clap_derive v4.5.32 -> v4.5.40
    Updating clap_lex v0.7.4 -> v0.7.5
    Updating getopts v0.2.21 -> v0.2.23
    Updating hermit-abi v0.5.1 -> v0.5.2
    Updating jiff v0.2.14 -> v0.2.15
    Updating jiff-static v0.2.14 -> v0.2.15
    Updating libc v0.2.172 -> v0.2.173
    Updating memchr v2.7.4 -> v2.7.5
    Updating minifier v0.3.5 -> v0.3.6
    Updating miniz_oxide v0.8.8 -> v0.8.9
    Updating object v0.37.0 -> v0.37.1
    Updating redox_syscall v0.5.12 -> v0.5.13
    Updating rustc-demangle v0.1.24 -> v0.1.25
    Updating syn v2.0.101 -> v2.0.103
    Updating thread_local v1.1.8 -> v1.1.9
    Updating unicode-width v0.2.0 -> v0.2.1
    Updating wasi v0.11.0+wasi-snapshot-preview1 -> v0.11.1+wasi-snapshot-preview1
    Updating wasm-encoder v0.233.0 -> v0.235.0
    Removing wasmparser v0.232.0
    Removing wasmparser v0.233.0
      Adding wasmparser v0.234.0
      Adding wasmparser v0.235.0
    Updating wast v233.0.0 -> v235.0.0
    Updating wat v1.233.0 -> v1.235.0
    Updating windows v0.61.1 -> v0.61.3
    Updating windows-link v0.1.1 -> v0.1.3
      Adding windows-sys v0.60.2
    Updating windows-targets v0.53.0 -> v0.53.2
    Updating winnow v0.7.10 -> v0.7.11
note: pass `--verbose` to see 39 unchanged dependencies behind latest

library dependencies:
     Locking 1 package to latest compatible version
    Updating libc v0.2.172 -> v0.2.173
note: pass `--verbose` to see 4 unchanged dependencies behind latest

rustbook dependencies:
     Locking 19 packages to latest compatible versions
    Updating adler2 v2.0.0 -> v2.0.1
    Updating cc v1.2.26 -> v1.2.27
    Updating cfg-if v1.0.0 -> v1.0.1
    Updating clap v4.5.39 -> v4.5.40
    Updating clap_builder v4.5.39 -> v4.5.40
    Updating clap_complete v4.5.52 -> v4.5.54
    Updating clap_derive v4.5.32 -> v4.5.40
    Updating clap_lex v0.7.4 -> v0.7.5
    Updating getopts v0.2.21 -> v0.2.23
    Updating jiff v0.2.14 -> v0.2.15
    Updating jiff-static v0.2.14 -> v0.2.15
    Updating libc v0.2.172 -> v0.2.173
    Updating memchr v2.7.4 -> v2.7.5
    Updating miniz_oxide v0.8.8 -> v0.8.9
    Updating redox_syscall v0.5.12 -> v0.5.13
    Updating syn v2.0.101 -> v2.0.103
    Removing unicode-width v0.1.14
    Removing unicode-width v0.2.0
      Adding unicode-width v0.2.1
    Updating windows-link v0.1.1 -> v0.1.3
    Updating winnow v0.7.10 -> v0.7.11
2025-06-15 00:26:43 +00:00
Michael Goulet
6fa6d0e097 Uplift BoundVarReplacer 2025-06-13 17:54:45 +00:00
Matthias Krüger
7cf087060c
Rollup merge of #142340 - RalfJung:miri-apfloat-mul-add, r=oli-obk
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:
a7153db254/src/tools/miri/tests/pass/float.rs (L998-L1003)

r? ``@oli-obk``
2025-06-13 05:16:58 +02:00