Commit graph

298901 commits

Author SHA1 Message Date
Matthias Krüger
de9323973a remove a couple clones 2025-04-20 18:58:46 +02:00
Chayim Refael Friedman
b2974ac9c1
Merge pull request #19638 from bbb651/doc-config-anchors
doc: Rework generated configuration to have anchors
2025-04-20 16:56:40 +00:00
bbb651
71a0f6180b doc: Rework generated configuration to have anchors
Also first line of default code blocks being used as the language instead of json
and fixes a missing `json` language in a doc comment code block.
2025-04-20 19:29:54 +03:00
jackh726
3eb6485151 Update chalk 2025-04-20 16:20:08 +00:00
Michael Goulet
6033e9df02 Don't compute name of associated item if it's an RPITIT 2025-04-20 16:08:39 +00:00
bors
b8c54d6358 Auto merge of #140083 - ChrisDenton:rollup-o0xjy0y, r=ChrisDenton
Rollup of 5 pull requests

Successful merges:

 - #138870 (Add target-specific NaN payloads for the missing tier 2 targets)
 - #139028 (Make target maintainers more easily pingable)
 - #140063 (Remove stray newline from post-merge report)
 - #140067 (Remove (now unused) #[rustc_macro_edition_2021] attribute)
 - #140068 (replace broken links armv7-rtems-eabihf.md)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-04-20 15:40:08 +00:00
Taiki Endo
4621641a49 std_detect: Remove /proc/cpuinfo-based detection 2025-04-20 14:38:01 +00:00
Chris Denton
637518b896
Rollup merge of #140068 - detrina:master, r=Noratrieb
replace broken links armv7-rtems-eabihf.md

Hi team , i found broken link in `src/doc/rustc/src/platform-support/armv7-rtems-eabihf.md` and replace
thanks
2025-04-20 14:05:35 +00:00
Chris Denton
44cbe82037
Rollup merge of #140067 - m-ou-se:remove-macro-2021-hack, r=Urgau
Remove (now unused) #[rustc_macro_edition_2021] attribute

Now that https://github.com/rust-lang/rust/pull/139114 has been merged, we no longer need the temporary hack (`#[rustc_macro_edition_2021]`) that we introduced in https://github.com/rust-lang/rust/pull/138717. Time to remove it.
2025-04-20 14:05:35 +00:00
Chris Denton
c7cb81095a
Rollup merge of #140063 - Kobzol:ci-report-fix-newline, r=jieyouxu
Remove stray newline from post-merge report

[Oops](https://github.com/rust-lang/rust/pull/140043#issuecomment-2816999352) :)

r? jieyouxu
2025-04-20 14:05:34 +00:00
Chris Denton
a12e8652f4
Rollup merge of #139028 - Noratrieb:ping-pong, r=RalfJung
Make target maintainers more easily pingable

Put them all on the same line with just their GitHub handles to make it very easy to copy and paste (with ctrl-shift-v!!!) the names.

We have no use for email, so I removed all the emails, we don't care about people's full names either.

This is a pretty big PR with lots of changes. I may have gotten one or two wrong, who knows. I went over it fairly aggressively, removing all information I deemed unnecessary.

> [!Caution]
> When copying these usernames, use **ctrl-shift-v** to avoid pasting them as links

r? RalfJung you indirectly asked for this :) (anyone is welcome to review)
2025-04-20 14:05:34 +00:00
Chris Denton
0034cf3e7c
Rollup merge of #138870 - beetrees:tier-2-nans, r=RalfJung
Add target-specific NaN payloads for the missing tier 2 targets

This PR adds target-specific NaN payloads for the remaining tier 2 targets:

- `arm64ec`: This target is a mix of `x86_64` and `aarch64`, meaning as they both have no extra payloads `arm64ec` also has no extra payloads.
- `loongarch64`: Per [LoongArch Reference Manual - Volume 1: Basic Architecture](https://github.com/loongson/LoongArch-Documentation/releases/download/2023.04.20/LoongArch-Vol1-v1.10-EN.pdf) section 3.1.1.3, LoongArch does quieting NaN propagation with the Rust preferred NaN as its default NaN, meaning it has no extra payloads.
- `nvptx64`: Per [PTX ISA documentation](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#floating-point-instructions) section 9.7.3 (and section 9.7.4 for `f16`), all payloads are possible. The documentation explicitly states that `f16` and `f32` operations result in an unspecified NaN payload, while for `f64` it states "NaN payloads are supported" without specifying how or what payload will be generated if there are no input NaNs.
- `powerpc` and `powerpc64`: Per [Power Instruction Set Architecture](https://files.openpower.foundation/s/9izgC5Rogi5Ywmm/download/OPF_PowerISA_v3.1C.pdf) Book I section 4.3.2, PowerPC does quieting NaN propagation with the Rust preferred NaN being generated if no there are no input NaNs, meaning it has no extra payloads.
- `s390x`: Per [IBM z/Architecture Principles of Operation](https://www.vm.ibm.com/library/other/22783213.pdf#page=965) page 9-3, s390x does quieting NaN propagation with the Rust's preferred NaN as its default NaN, meaning it has no extra payloads.

Tracking issue: #128288

cc ``@RalfJung``
``@rustbot`` label +T-lang

Also cc relevant target maintainers of tier 2 targets:
- `arm64ec`: ``@dpaoliello``
- `loongarch64`: ``@heiher`` ``@xiangzhai`` ``@zhaixiaojuan`` ``@xen0n``
- `nvptx64`: ``@RDambrosio016`` ``@kjetilkjeka``
- `powerpc`: the only documented maintainer is ``@BKPepe`` for the tier 3 `powerpc-unknown-linux-muslspe`.
- `powerpc64`: ``@daltenty`` ``@gilamn5tr`` ``@Gelbpunkt`` ``@famfo`` ``@neuschaefer``
- `s390x`: ``@uweigand`` ``@cuviper``
2025-04-20 14:05:33 +00:00
Noratrieb
864a9ba928 Make target maintainers more easily pingable
Put them all on the same line with just their GitHub handles to make it
very easy to copy and paste (with ctrl-shift-v!!!) the names.

We have no use for email, so I removed all the emails, we don't care
about people's full names either.

Co-authored-by: Thalia Archibald <thalia@archibald.dev>
2025-04-20 15:29:41 +02:00
xizheyin
16381b3133
Use currently for futher improvement
Co-authored-by: Jonas Böttiger <jonasboettiger@icloud.com>
2025-04-20 21:20:29 +08:00
王宇逸
6ea0fe5fc4 Update libc to 0.2.172 for std 2025-04-20 21:19:52 +08:00
Chris Denton
d3fab38b0a
Rollup merge of #140054 - c-git:patch-1, r=joboet
docs: fix typo change from inconstants to invariants
2025-04-20 13:02:51 +00:00
Chris Denton
c113a3bc2d
Rollup merge of #140051 - ehuss:exploit-footnotes, r=jieyouxu
Switch exploit mitigations to mdbook footnotes

This updates the exploit mitigations chapter in the rustc book to use the footnote feature of mdbook instead of manually implementing footnotes with HTML.
2025-04-20 13:02:50 +00:00
Chris Denton
67539cee69
Rollup merge of #140044 - tshepang:rdg-push, r=jieyouxu
rustc-dev-guide subtree update

r? ``@ghost``
2025-04-20 13:02:49 +00:00
Chris Denton
5a961da316
Rollup merge of #139990 - jswrenn:no-nfas, r=tmiasko
transmutability: remove NFA intermediate representation

Prior to this commit, the transmutability analysis used an intermediate NFA representation of type layout. We then determinized this representation into a DFA, upon which we ran the core transmutability analysis. Unfortunately, determinizing NFAs is expensive. In this commit, we avoid NFAs entirely by observing that Rust `union`s are the only source of nondeterminism and that it is comparatively cheap to compute the DFA union of DFAs.

We also implement Graphviz DOT debug formatting of DFAs.

Fixes rust-lang/project-safe-transmute#23
Fixes rust-lang/project-safe-transmute#24

r? ``@compiler-errors``
2025-04-20 13:02:49 +00:00
Chris Denton
ccbcbee5e7 Rollup merge of #137953 - RalfJung:simd-intrinsic-masks, r=WaffleLapkin
simd intrinsics with mask: accept unsigned integer masks, and fix some of the errors

It's not clear at all why the mask would have to be signed, it is anyway interpreted bitwise. The backend should just make sure that works no matter the surface-level type; our LLVM backend already does this correctly. The note of "the mask may be widened, which only has the correct behavior for signed integers" explains... nothing? Why can't the code do the widening correctly? If necessary, just cast to the signed type first...

Also while we are at it, fix the errors. For simd_masked_load/store, the errors talked about the "third argument" but they meant the first argument (the mask is the first argument there). They also used the wrong type for `expected_element`.

I have extremely low confidence in the GCC part of this PR.

See [discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/channel/257879-project-portable-simd/topic/On.20the.20sign.20of.20masks)
2025-04-20 13:02:48 +00:00
Chris Denton
d15c603173
Rollup merge of #137953 - RalfJung:simd-intrinsic-masks, r=WaffleLapkin
simd intrinsics with mask: accept unsigned integer masks, and fix some of the errors

It's not clear at all why the mask would have to be signed, it is anyway interpreted bitwise. The backend should just make sure that works no matter the surface-level type; our LLVM backend already does this correctly. The note of "the mask may be widened, which only has the correct behavior for signed integers" explains... nothing? Why can't the code do the widening correctly? If necessary, just cast to the signed type first...

Also while we are at it, fix the errors. For simd_masked_load/store, the errors talked about the "third argument" but they meant the first argument (the mask is the first argument there). They also used the wrong type for `expected_element`.

I have extremely low confidence in the GCC part of this PR.

See [discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/channel/257879-project-portable-simd/topic/On.20the.20sign.20of.20masks)
2025-04-20 13:02:48 +00:00
dianqk
11cfc16a60
mir-opt: Use one MirPatch in MatchBranchSimplification 2025-04-20 20:56:41 +08:00
xizheyin
4c20d17365
Add ui test emit-output-types-without-args.rs
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
2025-04-20 19:49:48 +08:00
Alona Enraght-Moony
fd4a093a4e jsondocck: Require command is at start of line 2025-04-20 11:37:00 +00:00
Alona Enraght-Moony
c7e976eb1e rustdoc-json: Improve test for auto-trait impls 2025-04-20 11:28:16 +00:00
Jakub Beránek
fbca453d7d Fix compiletest and doc comment 2025-04-20 13:14:08 +02:00
Folkert de Vries
2d21c14015
respect repr(align(N)) on functions in miri 2025-04-20 13:08:53 +02:00
Ralf Jung
fc4afeafc1 simd intrinsics with mask: accept unsigned integer masks 2025-04-20 12:25:27 +02:00
Ralf Jung
566dfd1a0d simd intrinsics with mask: accept unsigned integer masks 2025-04-20 12:25:27 +02:00
Urgau
e8a6c175c5 Allow dangerous_implicit_autorefs lint in some tests 2025-04-20 11:36:28 +02:00
Urgau
40ba47d3b0 Implement lint against dangerous implicit autorefs 2025-04-20 11:36:28 +02:00
Urgau
1632f624fb Add #[rustc_no_implicit_autorefs] and apply it to std methods 2025-04-20 11:36:22 +02:00
Ralf Jung
d50c76974f make abi_unsupported_vector_types a hard error 2025-04-20 11:34:56 +02:00
Ralf Jung
b5f5f62a8b make abi_unsupported_vector_types a hard error 2025-04-20 11:34:56 +02:00
Devkuni
2b6e845d7f
Update links armv7-rtems-eabihf.md 2025-04-20 12:34:03 +03:00
Trevor Gross
4e8eea696d Add panic-handler to the workspace
This crate does not interact with features so there isn't any reason it
can't become part of the workspace.
2025-04-20 05:33:19 -04:00
Trevor Gross
66be06a1a7 ci: Remove the old libm workflow file
All jobs are now run as part of `compiler-builtins`.
2025-04-20 05:33:19 -04:00
Trevor Gross
97e4729525 ci: Configure release-plz to run semver checks on libm 2025-04-20 05:33:19 -04:00
Trevor Gross
46bbc3dd88 ci: Clean up workflow file and docker script 2025-04-20 05:33:19 -04:00
Trevor Gross
13bf5f5bb4 ci: Use lowercase for bash locals, fix shellcheck 2025-04-20 05:33:19 -04:00
Folkert de Vries
88ddf9e203 stabilize naked_functions 2025-04-20 11:18:38 +02:00
Folkert de Vries
df8a3d5f1d
stabilize naked_functions 2025-04-20 11:18:38 +02:00
Ralf Jung
94a9e4425c
Merge pull request #4281 from rust-lang/rustup-2025-04-20
Automatic Rustup
2025-04-20 09:16:44 +00:00
Mara Bos
5f4d676e70 Remove #[rustc_macro_edition_2021].
It was only temporarily used by pin!(), which no longer needs it.
2025-04-20 11:15:46 +02:00
Thalia Archibald
38c5545244 Stabilize <[T; N]>::as_mut_slice as const 2025-04-20 02:13:34 -07:00
Trevor Gross
ee431374eb ci: Add a timeout for all jobs 2025-04-20 04:39:06 -04:00
Trevor Gross
8902f740da ci: Skip testing libm in PRs if it did not change
Many contributions to compiler-builtins don't have any need to touch
libm, and could get by with the few minutes of CI for compiler-builtins
rather than the ~30 minutes for libm. We already have some scripts that
handle changed file detection, so expand its use to skip libm CI if it
doesn't need to run.
2025-04-20 04:24:24 -04:00
Trevor Gross
a829d916b5 ci: Add /cargo/bin to the path in Docker
This makes it possible to use nextest within the container.
2025-04-20 04:11:53 -04:00
Jakub Beránek
40058519ba Use --author-date-order when looking up upstream commits to support subtree synces 2025-04-20 09:35:42 +02:00
Jakub Beránek
e9f3e3abda Clarify comment 2025-04-20 09:35:42 +02:00