Skip to content

Rollup of 5 pull requests #140078

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 10 commits into from
Closed

Conversation

ChrisDenton
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

beetrees and others added 10 commits March 26, 2025 02:05
It was only temporarily used by pin!(), which no longer needs it.
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: rust-lang#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`
…pes, r=fee1-dead,traviscross

make abi_unsupported_vector_types a hard error

Fixes rust-lang#116558 by completing the transition; see that issue for context. The lint was introduced with Rust 1.84 and this has been shown in cargo's future breakage reports since Rust 1.85, released 6 weeks ago, and so far we got 0 complaints by users. There's not even a backlink on the tracking issue. We did a [crater run](rust-lang#127731 (comment)) when the lint was originally added and found no breakage. So I don't think we need another crater run now, but I can do one if the team prefers that.

rust-lang#131800 is done, so for most current targets (in particular, all tier 1 and tier 2 targets) we have the information to implement this check (modulo the targets where we don't properly support SIMD vectors yet, see the sub-issues of rust-lang#116558). If a new target gets added in the future, it will default to reject all SIMD vector types until proper information is added, which is the default we want.

This will need approval by for `@rust-lang/lang.` Cc `@workingjubilee` `@veluca93`
…eyouxu

Remove stray newline from post-merge report

[Oops](rust-lang#140043 (comment)) :)

r? jieyouxu
…Urgau

Remove (now unused) #[rustc_macro_edition_2021] attribute

Now that rust-lang#139114 has been merged, we no longer need the temporary hack (`#[rustc_macro_edition_2021]`) that we introduced in rust-lang#138717. Time to remove it.
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
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Apr 20, 2025
@ChrisDenton
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Apr 20, 2025

📌 Commit 232b0e5 has been approved by ChrisDenton

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Apr 20, 2025
@bors
Copy link
Collaborator

bors commented Apr 20, 2025

⌛ Testing commit 232b0e5 with merge 0d59978...

bors added a commit to rust-lang-ci/rust that referenced this pull request Apr 20, 2025
…enton

Rollup of 5 pull requests

Successful merges:

 - rust-lang#138870 (Add target-specific NaN payloads for the missing tier 2 targets)
 - rust-lang#139309 (make abi_unsupported_vector_types a hard error)
 - rust-lang#140063 (Remove stray newline from post-merge report)
 - rust-lang#140067 (Remove (now unused) #[rustc_macro_edition_2021] attribute)
 - rust-lang#140068 (replace broken links armv7-rtems-eabihf.md)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

The job test-various failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [codegen] tests/codegen/const-vector.rs stdout ----

error: compilation failed!
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/codegen/const-vector.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=wasm32-wasip1" "--check-cfg" "cfg(test,FALSE)" "-O" "-Cdebug-assertions=no" "--emit" "llvm-ir" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/const-vector/const-vector.ll" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-C" "no-prepopulate-passes" "-Copt-level=0"
stdout: none
--- stderr -------------------------------
warning: `extern` block uses type `i8x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:30:21
   |
30 |     fn test_i8x2(a: i8x2);
   |                     ^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:16:1
   |
16 | pub struct i8x2([i8; 2]);
   | ^^^^^^^^^^^^^^^
   = note: `#[warn(improper_ctypes)]` on by default

warning: `extern` block uses type `i8x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:34:30
   |
34 |     fn test_i8x2_two_args(a: i8x2, b: i8x2);
   |                              ^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:16:1
   |
16 | pub struct i8x2([i8; 2]);
   | ^^^^^^^^^^^^^^^

warning: `extern` block uses type `i8x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:34:39
   |
34 |     fn test_i8x2_two_args(a: i8x2, b: i8x2);
   |                                       ^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:16:1
   |
16 | pub struct i8x2([i8; 2]);
   | ^^^^^^^^^^^^^^^

warning: `extern` block uses type `i8x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:38:32
   |
38 |     fn test_i8x2_mixed_args(a: i8x2, c: i32, b: i8x2);
   |                                ^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:16:1
   |
16 | pub struct i8x2([i8; 2]);
   | ^^^^^^^^^^^^^^^

warning: `extern` block uses type `i8x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:38:49
   |
38 |     fn test_i8x2_mixed_args(a: i8x2, c: i32, b: i8x2);
   |                                                 ^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:16:1
   |
16 | pub struct i8x2([i8; 2]);
   | ^^^^^^^^^^^^^^^

warning: `extern` block uses type `i8x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:42:25
   |
42 |     fn test_i8x2_arr(a: i8x2);
   |                         ^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:16:1
   |
16 | pub struct i8x2([i8; 2]);
   | ^^^^^^^^^^^^^^^

warning: `extern` block uses type `f32x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:46:22
   |
46 |     fn test_f32x2(a: f32x2);
   |                      ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:20:1
   |
20 | pub struct f32x2([f32; 2]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` block uses type `f32x2`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:50:26
   |
50 |     fn test_f32x2_arr(a: f32x2);
   |                          ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:20:1
   |
20 | pub struct f32x2([f32; 2]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` block uses type `Simd<i32, 4>`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:54:21
   |
54 |     fn test_simd(a: Simd<i32, 4>);
   |                     ^^^^^^^^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:24:1
   |
24 | pub struct Simd<T, const N: usize>([T; N]);
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: `extern` block uses type `Simd<i32, 3>`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/const-vector.rs:58:31
   |
58 |     fn test_simd_unaligned(a: Simd<i32, 3>);
   |                               ^^^^^^^^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/const-vector.rs:24:1
   |
24 | pub struct Simd<T, const N: usize>([T; N]);
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: this function call uses SIMD vector type `i8x2` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:68:9
   |
68 |         test_i8x2(const { i8x2([32, 64]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function call uses SIMD vector type `i8x2` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:71:9
   |
71 |         test_i8x2_two_args(const { i8x2([32, 64]) }, const { i8x2([8, 16]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function call uses SIMD vector type `i8x2` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:74:9
   |
74 |         test_i8x2_mixed_args(const { i8x2([32, 64]) }, 43, const { i8x2([8, 16]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function call uses SIMD vector type `i8x2` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:77:9
   |
77 |         test_i8x2_arr(const { i8x2([32, 64]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function call uses SIMD vector type `f32x2` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:80:9
   |
80 |         test_f32x2(const { f32x2([0.32, 0.64]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function call uses SIMD vector type `f32x2` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:83:9
   |
83 |         test_f32x2_arr(const { f32x2([0.32, 0.64]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function call uses SIMD vector type `Simd<i32, 4>` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled in the caller
##[error]  --> /checkout/tests/codegen/const-vector.rs:86:9
   |
86 |         test_simd(const { Simd::<i32, 4>([2, 4, 6, 8]) });
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function called here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: aborting due to 7 previous errors; 10 warnings emitted
------------------------------------------


---- [codegen] tests/codegen/repr/transparent.rs stdout ----

error: compilation failed!
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/codegen/repr/transparent.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=wasm32-wasip1" "--check-cfg" "cfg(test,FALSE)" "-O" "-Cdebug-assertions=no" "--emit" "llvm-ir" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/repr/transparent/transparent.ll" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Copt-level=3" "-C" "no-prepopulate-passes"
stdout: none
--- stderr -------------------------------
warning: type `f32x4` should have an upper camel case name
##[warning]   --> /checkout/tests/codegen/repr/transparent.rs:135:8
    |
135 | struct f32x4([f32; 4]);
    |        ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `F32x4`
    |
    = note: `#[warn(non_camel_case_types)]` on by default

warning: `extern` fn uses type `f32x4`, which is not FFI-safe
##[warning]   --> /checkout/tests/codegen/repr/transparent.rs:142:34
    |
142 | pub extern "C" fn test_Vector(_: Vector) -> Vector {
    |                                  ^^^^^^ not FFI-safe
    |
    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
    = note: this struct has unspecified layout
note: the type is defined here
   --> /checkout/tests/codegen/repr/transparent.rs:135:1
    |
135 | struct f32x4([f32; 4]);
    | ^^^^^^^^^^^^
    = note: `#[warn(improper_ctypes_definitions)]` on by default

warning: `extern` fn uses type `f32x4`, which is not FFI-safe
##[warning]   --> /checkout/tests/codegen/repr/transparent.rs:142:45
    |
142 | pub extern "C" fn test_Vector(_: Vector) -> Vector {
    |                                             ^^^^^^ not FFI-safe
    |
    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
    = note: this struct has unspecified layout
note: the type is defined here
   --> /checkout/tests/codegen/repr/transparent.rs:135:1
    |
135 | struct f32x4([f32; 4]);
    | ^^^^^^^^^^^^

error: this function definition uses SIMD vector type `Vector` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled
##[error]   --> /checkout/tests/codegen/repr/transparent.rs:142:1
    |
142 | pub extern "C" fn test_Vector(_: Vector) -> Vector {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
    |
    = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: aborting due to 1 previous error; 3 warnings emitted
------------------------------------------


---- [codegen] tests/codegen/simd/extract-insert-dyn.rs stdout ----

error: compilation failed!
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/codegen/simd/extract-insert-dyn.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=wasm32-wasip1" "--check-cfg" "cfg(test,FALSE)" "-O" "-Cdebug-assertions=no" "--emit" "llvm-ir" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/codegen/simd/extract-insert-dyn/extract-insert-dyn.ll" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-C" "opt-level=3" "-C" "no-prepopulate-passes"
stdout: none
--- stderr -------------------------------
warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:24:42
   |
24 | unsafe extern "C" fn dyn_simd_extract(x: i8x16, idx: u32) -> i8 {
   |                                          ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^
   = note: `#[warn(improper_ctypes_definitions)]` on by default

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:31:50
   |
31 | unsafe extern "C" fn literal_dyn_simd_extract(x: i8x16) -> i8 {
   |                                                  ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:38:48
   |
38 | unsafe extern "C" fn const_dyn_simd_extract(x: i8x16) -> i8 {
   |                                                ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:45:44
   |
45 | unsafe extern "C" fn const_simd_extract(x: i8x16) -> i8 {
   |                                            ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:52:41
   |
52 | unsafe extern "C" fn dyn_simd_insert(x: i8x16, e: i8, idx: u32) -> i8x16 {
   |                                         ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:52:68
   |
52 | unsafe extern "C" fn dyn_simd_insert(x: i8x16, e: i8, idx: u32) -> i8x16 {
   |                                                                    ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:59:49
   |
59 | unsafe extern "C" fn literal_dyn_simd_insert(x: i8x16, e: i8) -> i8x16 {
   |                                                 ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:59:66
   |
59 | unsafe extern "C" fn literal_dyn_simd_insert(x: i8x16, e: i8) -> i8x16 {
   |                                                                  ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:66:47
   |
66 | unsafe extern "C" fn const_dyn_simd_insert(x: i8x16, e: i8) -> i8x16 {
   |                                               ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:66:64
   |
66 | unsafe extern "C" fn const_dyn_simd_insert(x: i8x16, e: i8) -> i8x16 {
   |                                                                ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:73:43
   |
73 | unsafe extern "C" fn const_simd_insert(x: i8x16, e: i8) -> i8x16 {
   |                                           ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

warning: `extern` fn uses type `i8x16`, which is not FFI-safe
##[warning]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:73:60
   |
73 | unsafe extern "C" fn const_simd_insert(x: i8x16, e: i8) -> i8x16 {
   |                                                            ^^^^^ not FFI-safe
   |
   = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
   = note: this struct has unspecified layout
note: the type is defined here
  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:19:1
   |
19 | pub struct i8x16([i8; 16]);
   | ^^^^^^^^^^^^^^^^

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:24:1
   |
24 | unsafe extern "C" fn dyn_simd_extract(x: i8x16, idx: u32) -> i8 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:31:1
   |
31 | unsafe extern "C" fn literal_dyn_simd_extract(x: i8x16) -> i8 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:38:1
   |
38 | unsafe extern "C" fn const_dyn_simd_extract(x: i8x16) -> i8 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:45:1
   |
45 | unsafe extern "C" fn const_simd_extract(x: i8x16) -> i8 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:52:1
   |
52 | unsafe extern "C" fn dyn_simd_insert(x: i8x16, e: i8, idx: u32) -> i8x16 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:59:1
   |
59 | unsafe extern "C" fn literal_dyn_simd_insert(x: i8x16, e: i8) -> i8x16 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:66:1
   |
66 | unsafe extern "C" fn const_dyn_simd_insert(x: i8x16, e: i8) -> i8x16 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function defined here
   |
   = help: consider enabling it globally (`-C target-feature=+simd128`) or locally (`#[target_feature(enable="simd128")]`)

error: this function definition uses SIMD vector type `i8x16` which (with the chosen ABI) requires the `simd128` target feature, which is not enabled
##[error]  --> /checkout/tests/codegen/simd/extract-insert-dyn.rs:73:1
   |
73 | unsafe extern "C" fn const_simd_insert(x: i8x16, e: i8) -> i8x16 {

@bors
Copy link
Collaborator

bors commented Apr 20, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Apr 20, 2025
@ChrisDenton ChrisDenton deleted the rollup-nogircc branch April 20, 2025 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-attributes Area: Attributes (`#[…]`, `#![…]`) A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants