Commit graph

317550 commits

Author SHA1 Message Date
Oli Scherer
b1e033649c
Merge pull request #4852 from rust-lang/rustup-2026-02-06
Automatic Rustup
2026-02-06 07:21:45 +00:00
The Miri Cronjob Bot
13ebd31ecd Merge ref 'f889772d65' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: rust-lang/rust@f889772d65
Filtered ref: rust-lang/miri@1fa28eb9ac
Upstream diff: 9f4b56a5ae...f889772d65

This merge was created using https://github.com/rust-lang/josh-sync.
2026-02-06 05:23:58 +00:00
Eddy (Eduard) Stefes
83dba5b430 renamed RustcAbi::X86Softfloat to Softfloat an made an alias to the old string 2026-02-09 09:29:16 +01:00
Eddy (Eduard) Stefes
7c3d096b0d allow for variant aliases in target_spec_enum! 2026-02-09 09:29:16 +01:00
Eddy (Eduard) Stefes
51affa0394 add tests for s390x-unknown-none-softfloat
tests will check:
- correct emit of assembly for softfloat target
- incompatible set features will emit warnings/errors
- incompatible target tripples in crates will not link
2026-02-09 09:29:16 +01:00
Eddy (Eduard) Stefes
2b1dc3144b add a new s390x-unknown-none-softfloat target
This target is intended to be used for kernel development. Becasue on s390x
float and vector registers overlap we have to disable the vector extension.

The default s390x-unknown-gnu-linux target will not allow use of
softfloat.

Co-authored-by: Jubilee <workingjubilee@gmail.com>
2026-02-09 09:28:54 +01:00
The Miri Cronjob Bot
85f4694b7d Prepare for merging from rust-lang/rust
This updates the rust-version file to f889772d65.
2026-02-06 05:15:37 +00:00
bors
a3ceeeb26c Auto merge of #152200 - jieyouxu:rollup-UNFpgZy, r=jieyouxu
Rollup of 4 pull requests

Successful merges:

 - rust-lang/rust#152174 (stdarch subtree update)
 - rust-lang/rust#151278 (Provide more context on trait bounds being unmet due to imperfect derive)
 - rust-lang/rust#151955 (escape symbol names in global asm)
 - rust-lang/rust#152194 (Remove the 4 failing tests from rustdoc-gui)

Failed merges:

 - rust-lang/rust#152191 (Convert to inline diagnostics in `rustc_hir_analysis`)
2026-02-06 02:28:08 +00:00
许杰友 Jieyou Xu (Joe)
7afff45d57
Rollup merge of #152194 - JonathanBrouwer:fix-rustdoc-gui, r=jieyouxu
Remove the 4 failing tests from rustdoc-gui

These are the 4 tests that @Bryntet got to fail locally
See [#t-infra > CI failure because &#96;tests/rustdoc-gui/search-filter.goml&#96;](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/CI.20failure.20because.20.60tests.2Frustdoc-gui.2Fsearch-filter.2Egoml.60/with/572271674)

r? @ghost
2026-02-06 10:25:44 +08:00
许杰友 Jieyou Xu (Joe)
4a1e87c598
Rollup merge of #151955 - usamoi:escape, r=davidtwco
escape symbol names in global asm

copied from https://github.com/llvm/llvm-project/blob/main/llvm/lib/MC/MCSymbol.cpp

closes https://github.com/rust-lang/rust/issues/151950
2026-02-06 10:25:44 +08:00
许杰友 Jieyou Xu (Joe)
7b821d1752
Rollup merge of #151278 - estebank:issue-108894, r=davidtwco
Provide more context on trait bounds being unmet due to imperfect derive

When encountering a value that has a borrow checker error where the type was previously moved, when suggesting cloning verify that it is not already being derived. If it is, explain why the `derive(Clone)` doesn't apply:

```
note: if `TypedAddress<T>` implemented `Clone`, you could clone the value
  --> $DIR/derive-clone-implicit-bound.rs:6:1
   |
LL | #[derive(Clone, Copy)]
   |          ----- derived `Clone` adds implicit bounds on type parameters
LL | pub struct TypedAddress<T>{
   | ^^^^^^^^^^^^^^^^^^^^^^^^-^
   | |                       |
   | |                       introduces an implicit `T: Clone` bound
   | consider manually implementing `Clone` for this type
...
LL |         let old = self.return_value(offset);
   |                                     ------ you could clone this value
```

When encountering a bound coming from a derive macro, suggest manual impl of the trait.

Use the span for the specific param when adding bounds in builtin derive macros, so the diagnostic will point at them as well as the derive macro itself.

```
note: required for `Id<SomeNode>` to implement `PartialEq`
  --> $DIR/derive-implicit-bound.rs:5:10
   |
LL | #[derive(PartialEq, Eq)]
   |          ^^^^^^^^^
LL | pub struct Id<T>(PhantomData<T>);
   |               - unsatisfied trait bound introduced in this `derive` macro
   = help: consider manually implementing `PartialEq` to avoid undesired bounds
```

Mention that the trait could be manually implemented in E0599.

Fix rust-lang/rust#108894. Address rust-lang/rust#143714. Address #rust-lang/rust#146515 (but ideally would also suggest constraining the fn bound correctly as well).
2026-02-06 10:25:43 +08:00
许杰友 Jieyou Xu (Joe)
de68f27bc1
Rollup merge of #152174 - folkertdev:stdarch-sync-2026-02-05, r=folkertdev
stdarch subtree update

Subtree update of `stdarch` to 1a7cc47efc.

Created using https://github.com/rust-lang/josh-sync.

r? @ghost
2026-02-06 10:25:42 +08:00
Jonathan Brouwer
bce8c00e2f
Remove the 4 failing tests from rustdoc-gui 2026-02-06 01:13:41 +01:00
Ralf Jung
4d946a972b
Merge pull request #4849 from RalfJung/rustup
Rustup
2026-02-05 19:21:10 +00:00
Ralf Jung
ba33e03f9c pass -Zunstable-options to tests 2026-02-05 19:51:30 +01:00
bors
f889772d65 Auto merge of #152096 - bjorn3:mir_encoding_cleanups, r=oli-obk
Couple of cleanups and optimizations around MIR encoding
2026-02-05 15:30:48 +00:00
Folkert de Vries
3cf999fb53
Merge pull request #2022 from fneddy/s390x_softfloat_abi
disable s390x vector intrinsics if softfloat is enabled
2026-02-05 14:16:32 +00:00
Eddy (Eduard) Stefes
edeb02f382 disable s390x vector intrinsics if softfloat is enabled
we will add an explicit incompatibility of softfloat and vector feature
in rutsc s390x-unknown-none-softfloat target specification.
Therefore we need to disable vector intrinsics here to be able to compile
core for this target.
2026-02-05 13:36:18 +01:00
bors
66daca1a85 Auto merge of #152163 - JonathanBrouwer:rollup-Ypg7w4H, r=JonathanBrouwer
Rollup of 9 pull requests

Successful merges:

 - rust-lang/rust#150831 (c-variadic: make `va_arg` match on `Arch` exhaustive)
 - rust-lang/rust#152113 (Fix GitHub CI summary in CodeBuild)
 - rust-lang/rust#152153 (Incorporate query description functions into `QueryVTable`)
 - rust-lang/rust#152070 (Convert to inline diagnostics in `rustc_pattern_analysis`)
 - rust-lang/rust#152106 (Convert to inline diagnostics in `rustc_ast_passes`)
 - rust-lang/rust#152109 (Convert to inline diagnostics in `rustc_errors`)
 - rust-lang/rust#152119 (Convert to inline diagnostics in `rustc_middle`)
 - rust-lang/rust#152121 (Convert to inline diagnostics in `rustc_builtin_macros`)
 - rust-lang/rust#152133 (library/std: Rename `ON_BROKEN_PIPE_FLAG_USED` to `ON_BROKEN_PIPE_USED`)

Failed merges:

 - rust-lang/rust#152107 (Convert to inline diagnostics in `rustc_borrowck`)
 - rust-lang/rust#152117 (Convert to inline diagnostics in `rustc_trait_selection`)
 - rust-lang/rust#152126 (Convert to inline diagnostics in `rustc_mir_build`)
 - rust-lang/rust#152131 (Port rustc_no_implicit_bounds attribute to parser.)
2026-02-05 12:10:17 +00:00
Jonathan Brouwer
cb77fcb3a6
Rollup merge of #152133 - Enselic:on-broken-pipe-flag-rename, r=ChrisDenton
library/std: Rename `ON_BROKEN_PIPE_FLAG_USED` to `ON_BROKEN_PIPE_USED`

This commit is a pure internal rename and does not change any functionality.

The `FLAG_` part of `ON_BROKEN_PIPE_FLAG_USED` comes from that the compiler flag `-Zon-broken-pipe=...` is used to enable the feature.

Remove the `FLAG_` part so the name works both for the current compiler flag `-Zon-broken-pipe=...` and for the upcoming [Externally Implementable Item `#[std::io::on_broken_pipe]`](https://github.com/rust-lang/rust/pull/150591) PR. This makes the diff of that PR smaller.

The local variable name `sigpipe_attr_specified` comes from way back when the feature was controlled with an `fn main()` attribute called `#[unix_sigpipe = "..."]`. Rename that too.
2026-02-05 12:17:03 +01:00
Jonathan Brouwer
3c61714cc3
Rollup merge of #152121 - JonathanBrouwer:convert_builtin_macros, r=lqd
Convert to inline diagnostics in `rustc_builtin_macros`

For https://github.com/rust-lang/rust/issues/151366
r? @jdonszelmann
2026-02-05 12:17:01 +01:00
Jonathan Brouwer
4d535f5642
Rollup merge of #152119 - JonathanBrouwer:convert_middle, r=jdonszelmann
Convert to inline diagnostics in `rustc_middle`

For https://github.com/rust-lang/rust/issues/151366
r? @jdonszelmann
2026-02-05 12:17:01 +01:00
Jonathan Brouwer
62de21f0ad
Rollup merge of #152109 - JonathanBrouwer:convert_errors, r=lqd
Convert to inline diagnostics in `rustc_errors`

For rust-lang/rust#151366
r? @jdonszelmann
2026-02-05 12:17:00 +01:00
Jonathan Brouwer
3421938bb8
Rollup merge of #152106 - JonathanBrouwer:convert_ast_passes, r=jdonszelmann
Convert to inline diagnostics in `rustc_ast_passes`

For https://github.com/rust-lang/rust/issues/151366
r? @jdonszelmann
2026-02-05 12:16:59 +01:00
Jonathan Brouwer
85bc524fc4
Rollup merge of #152070 - JonathanBrouwer:convert_pattern_analysis, r=jdonszelmann
Convert to inline diagnostics in `rustc_pattern_analysis`

For https://github.com/rust-lang/rust/issues/151366

r? @jdonszelmann
2026-02-05 12:16:58 +01:00
Jonathan Brouwer
ce3df42e35
Rollup merge of #152153 - Zalathar:descs, r=nnethercote
Incorporate query description functions into `QueryVTable`

Putting a `desc` function in each query vtable reduces the amount of parameter juggling required when creating query stack frames, because almost all of the necessary information can be found in the vtable.

There should be no change to compiler output.
2026-02-05 12:16:58 +01:00
Jonathan Brouwer
de3e69ce1a
Rollup merge of #152113 - Kobzol:fix-codebuild-summary, r=marcoieni
Fix GitHub CI summary in CodeBuild

We need to copy the summary only after the data is copied out from the Docker image in Docker-in-Docker/CodeBuild scenarios. This was broken for many months now.

Compare the summary https://github.com/rust-lang/rust/actions/runs/21663321354 (before) and https://github.com/rust-lang/rust/actions/runs/21671277310 (after) - the dist-x86_64-linux job now correctly contains the summary generated by `opt-dist`.

r? @marcoieni
2026-02-05 12:16:57 +01:00
Jonathan Brouwer
82b5849618
Rollup merge of #150831 - folkertdev:more-va-arg-2, r=workingjubilee
c-variadic: make `va_arg` match on `Arch` exhaustive

tracking issue: https://github.com/rust-lang/rust/issues/44930

Continuing from https://github.com/rust-lang/rust/pull/150094, the more annoying cases remain. These are mostly very niche targets without Clang `va_arg` implementations, and so it might just be easier to defer to LLVM instead of us getting the ABI subtly wrong. That does mean we cannot stabilize c-variadic on those targets I think.

Alternatively we could ask target maintainers to contribute an implementation. I'd honestly prefer they make that change to LVM though (likely by just using `CodeGen::emitVoidPtrVAArg`) that we can mirror.

r? @workingjubilee
2026-02-05 12:16:56 +01:00
Jonathan Brouwer
e55eb45661
Convert to inline diagnostics in rustc_errors 2026-02-05 12:14:48 +01:00
Jonathan Brouwer
67c6cd99b7
Convert to inline diagnostics in rustc_pattern_analysis 2026-02-05 12:13:25 +01:00
Jonathan Brouwer
0da9476010
Convert to inline diagnostics in rustc_ast_passes 2026-02-05 12:08:42 +01:00
Jonathan Brouwer
46753b1b43
Convert to inline diagnostics in rustc_middle 2026-02-05 12:02:02 +01:00
Jonathan Brouwer
d40e60fc44
Convert to inline diagnostics in rustc_builtin_macros 2026-02-05 12:00:56 +01:00
Folkert de Vries
cfcf20fe90
Merge pull request #2018 from rust-lang/revert-2014-llvm-22-madd
Revert "Revert "Use LLVM intrinsics for `madd` intrinsics""
2026-02-05 09:33:31 +00:00
Folkert de Vries
b4e2a8400b
Merge pull request #2021 from rust-lang/rustc-pull
Rustc pull update
2026-02-05 09:33:08 +00:00
Ralf Jung
edc1ad4675 Merge ref '9f4b56a5ae' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 9f4b56a5ae
Filtered ref: 4370958f4e8d5ec5d34e22d989f45c7784038f42
Upstream diff: 1d05e3c131...9f4b56a5ae

This merge was created using https://github.com/rust-lang/josh-sync.
2026-02-05 08:52:51 +01:00
Ralf Jung
94fa522956 Prepare for merging from rust-lang/rust
This updates the rust-version file to 9f4b56a5ae.
2026-02-05 08:52:39 +01:00
Zalathar
438220673f Incorporate query description functions into QueryVTable 2026-02-05 18:41:34 +11:00
bors
0a13b43612 Auto merge of #152156 - JonathanBrouwer:rollup-hT8ON1e, r=JonathanBrouwer
Rollup of 18 pull requests

Successful merges:

 - rust-lang/rust#150379 (Return `ExitCode` from `rustc_driver::main` instead of calling `process::exit`)
 - rust-lang/rust#152033 (Rename trait `DepNodeParams` to `DepNodeKey`)
 - rust-lang/rust#152142 (Convert to inline diagnostics in `rustc_hir_typeck`)
 - rust-lang/rust#152145 (Disable flaky test `oneshot::recv_timeout_before_send`)
 - rust-lang/rust#152020 (Remove dummy loads on offload codegen)
 - rust-lang/rust#152023 (Some `rustc_query_system` cleanups)
 - rust-lang/rust#152068 (Convert to inline diagnostics in `rustc_resolve`)
 - rust-lang/rust#152081 (Port depgraph testing attributes to parser)
 - rust-lang/rust#152090 (Port reexport_test_harness_main to attr parser)
 - rust-lang/rust#152105 (Convert to inline diagnostics in `rustc_ast_lowering`)
 - rust-lang/rust#152108 (Convert to inline diagnostics in `rustc_expand`)
 - rust-lang/rust#152110 (Fix incorrect RSS on systems with non-4K page size)
 - rust-lang/rust#152111 (bootstrap: exclude hexagon-unknown-qurt from llvm-libunwind default)
 - rust-lang/rust#152114 (Convert to inline diagnostics in `rustc_mir_transform`)
 - rust-lang/rust#152115 (Convert to inline diagnostics in `rustc_metadata`)
 - rust-lang/rust#152116 (Remove rustdoc GUI flaky test)
 - rust-lang/rust#152118 (Convert to inline diagnostics in `rustc_codegen_ssa`)
 - rust-lang/rust#152128 (Adopt matches-logical-or-141497.rs to LLVM HEAD)

Failed merges:

 - rust-lang/rust#152070 (Convert to inline diagnostics in `rustc_pattern_analysis`)
 - rust-lang/rust#152106 (Convert to inline diagnostics in `rustc_ast_passes`)
 - rust-lang/rust#152109 (Convert to inline diagnostics in `rustc_errors`)
 - rust-lang/rust#152117 (Convert to inline diagnostics in `rustc_trait_selection`)
 - rust-lang/rust#152119 (Convert to inline diagnostics in `rustc_middle`)
 - rust-lang/rust#152126 (Convert to inline diagnostics in `rustc_mir_build`)
 - rust-lang/rust#152131 (Port rustc_no_implicit_bounds attribute to parser.)
2026-02-05 07:36:53 +00:00
Jonathan Brouwer
f163864627
Rollup merge of #152128 - zmodem:matches-logical-or-141497, r=nikic
Adopt matches-logical-or-141497.rs to LLVM HEAD

After http://github.com/llvm/llvm-project/pull/178977, the and + icmp are folded to trunc.
2026-02-05 08:32:57 +01:00
Jonathan Brouwer
dd05e03db1
Rollup merge of #152118 - JonathanBrouwer:convert_codegen_ssa, r=jdonszelmann
Convert to inline diagnostics in `rustc_codegen_ssa`

For https://github.com/rust-lang/rust/issues/151366
r? @jdonszelmann
2026-02-05 08:32:56 +01:00
Jonathan Brouwer
b1a29271e9
Rollup merge of #152116 - GuillaumeGomez:fix-rustdoc-gui-flaky, r=GuillaumeGomez
Remove rustdoc GUI flaky test

Part of rust-lang/rust#93784.

Originally, this test was checking more things (original version is [here](6bbbff5189)), now it only checks that the `searchIndex` variable is global. However, we already are forced to check it in the `rustddoc-js[-std]` testsuites so I think it's safe to say that it's superfluous and definitely not worth all the CI flakyness it created.

r? ghost
2026-02-05 08:32:55 +01:00
Jonathan Brouwer
9a2c4cb064
Rollup merge of #152115 - GuillaumeGomez:inline-diag-rustc_metadata, r=JonathanBrouwer
Convert to inline diagnostics in `rustc_metadata`

Part of https://github.com/rust-lang/rust/issues/151366.

r? @JonathanBrouwer
2026-02-05 08:32:55 +01:00
Jonathan Brouwer
c2da69cd18
Rollup merge of #152114 - JonathanBrouwer:convert_mir_transform, r=jdonszelmann
Convert to inline diagnostics in `rustc_mir_transform`

For https://github.com/rust-lang/rust/issues/151366
r? @jdonszelmann
2026-02-05 08:32:54 +01:00
Jonathan Brouwer
e7518ac7e0
Rollup merge of #152111 - androm3da:bcain/qurt_unwind, r=jieyouxu
bootstrap: exclude hexagon-unknown-qurt from llvm-libunwind default

Hexagon Linux targets (hexagon-unknown-linux-musl) use in-tree llvm-libunwind for stack unwinding. However, hexagon-unknown-qurt uses libc_eh from the Hexagon SDK instead.
2026-02-05 08:32:53 +01:00
Jonathan Brouwer
e4a7eb7874
Rollup merge of #152110 - heiher:fix-rss, r=jieyouxu
Fix incorrect RSS on systems with non-4K page size

`get_resident_set_size` computed RSS by multiplying the number of pages from `/proc/self/statm` with a hard-coded 4096-byte page size. This produces incorrect results on systems where the runtime page size is not 4 KiB.

Use `sysconf(_SC_PAGESIZE)` to determine the actual page size at runtime so the RSS reported in `-Z time-passes` output is accurate across platforms.
2026-02-05 08:32:53 +01:00
Jonathan Brouwer
d58a87b287
Rollup merge of #152108 - JonathanBrouwer:convert_expand, r=jdonszelmann
Convert to inline diagnostics in `rustc_expand`

For https://github.com/rust-lang/rust/issues/151366
r? @jdonszelmann
2026-02-05 08:32:52 +01:00
Jonathan Brouwer
945bfa770e
Rollup merge of #152105 - GuillaumeGomez:inline-diag-rustc_ast_lowering, r=JonathanBrouwer
Convert to inline diagnostics in `rustc_ast_lowering`

Part of https://github.com/rust-lang/rust/issues/151366.

r? @JonathanBrouwer
2026-02-05 08:32:51 +01:00
Jonathan Brouwer
011d7b0525
Rollup merge of #152090 - Ozzy1423:attrs5, r=JonathanBrouwer
Port reexport_test_harness_main to attr parser

Tracking issue: https://github.com/rust-lang/rust/issues/131229

I don't think I can use the parsed form in compiler/rustc_builtin_macros/src/test_harness.rs since that has to use the AST attrs?

r? @JonathanBrouwer
2026-02-05 08:32:50 +01:00
Jonathan Brouwer
f5a90728e3
Rollup merge of #152081 - clubby789:port-depgraph-attrs, r=JonathanBrouwer
Port depgraph testing attributes to parser

Tracking issue: rust-lang/rust#131229

Ports `#[rustc_clean]`, `#[rustc_if_this_changed]` and `#[rustc_then_this_would_need]` attributes.

Removes references to `rustc_dirty` as that attribute was folded into `rustc_clean` some time ago and rename some code accordingly.

r? JonathanBrouwer
2026-02-05 08:32:50 +01:00