about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2025-04-28 15:40:44 +0200
committerRalf Jung <post@ralfj.de>2025-05-02 14:10:57 +0200
commit6873a46626fef5f8f95488272fc605b4847d011e (patch)
tree46258a5db976ee943f72d95c94e5c94e9f2ab309
parent7a2d51dc29c0184bc97a373231634e07d6f1f0f9 (diff)
downloadrust-6873a46626fef5f8f95488272fc605b4847d011e.tar.gz
rust-6873a46626fef5f8f95488272fc605b4847d011e.zip
add more revisions to cover more architectures
-rw-r--r--tests/ui/target-feature/abi-incompatible-target-feature-attribute.riscv.stderr8
-rw-r--r--tests/ui/target-feature/abi-incompatible-target-feature-attribute.rs13
-rw-r--r--tests/ui/target-feature/abi-incompatible-target-feature-attribute.stderr8
-rw-r--r--tests/ui/target-feature/abi-incompatible-target-feature-attribute.x86.stderr8
-rw-r--r--tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.riscv.stderr19
-rw-r--r--tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.rs21
-rw-r--r--tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.x86.stderr (renamed from tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.stderr)0
-rw-r--r--tests/ui/target-feature/abi-required-target-feature-flag-disable.loongarch.stderr11
-rw-r--r--tests/ui/target-feature/abi-required-target-feature-flag-disable.riscv.stderr11
-rw-r--r--tests/ui/target-feature/abi-required-target-feature-flag-disable.rs10
10 files changed, 88 insertions, 21 deletions
diff --git a/tests/ui/target-feature/abi-incompatible-target-feature-attribute.riscv.stderr b/tests/ui/target-feature/abi-incompatible-target-feature-attribute.riscv.stderr
new file mode 100644
index 00000000000..49c5479275f
--- /dev/null
+++ b/tests/ui/target-feature/abi-incompatible-target-feature-attribute.riscv.stderr
@@ -0,0 +1,8 @@
+error: target feature `d` cannot be enabled with `#[target_feature]`: this feature is incompatible with the target ABI
+  --> $DIR/abi-incompatible-target-feature-attribute.rs:15:90
+   |
+LL | #[cfg_attr(x86, target_feature(enable = "soft-float"))] #[cfg_attr(riscv, target_feature(enable = "d"))]
+   |                                                                                          ^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/target-feature/abi-incompatible-target-feature-attribute.rs b/tests/ui/target-feature/abi-incompatible-target-feature-attribute.rs
index 215e64979f7..a8733440759 100644
--- a/tests/ui/target-feature/abi-incompatible-target-feature-attribute.rs
+++ b/tests/ui/target-feature/abi-incompatible-target-feature-attribute.rs
@@ -1,12 +1,17 @@
 //! Ensure ABI-incompatible features cannot be enabled via `#[target_feature]`.
-//@ compile-flags: --target=riscv32e-unknown-none-elf --crate-type=lib
-//@ needs-llvm-components: riscv
-#![feature(no_core, lang_items, riscv_target_feature)]
+// ignore-tidy-linelength
+//@ compile-flags: --crate-type=lib
+//@ revisions: x86 riscv
+//@[x86] compile-flags: --target=x86_64-unknown-linux-gnu
+//@[x86] needs-llvm-components: x86
+//@[riscv] compile-flags: --target=riscv32e-unknown-none-elf
+//@[riscv] needs-llvm-components: riscv
+#![feature(no_core, lang_items, riscv_target_feature, x87_target_feature)]
 #![no_core]
 
 #[lang = "sized"]
 pub trait Sized {}
 
-#[target_feature(enable = "d")]
+#[cfg_attr(x86, target_feature(enable = "soft-float"))] #[cfg_attr(riscv, target_feature(enable = "d"))]
 //~^ERROR: cannot be enabled with
 pub unsafe fn my_fun() {}
diff --git a/tests/ui/target-feature/abi-incompatible-target-feature-attribute.stderr b/tests/ui/target-feature/abi-incompatible-target-feature-attribute.stderr
deleted file mode 100644
index baa8551b17a..00000000000
--- a/tests/ui/target-feature/abi-incompatible-target-feature-attribute.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: target feature `d` cannot be enabled with `#[target_feature]`: this feature is incompatible with the target ABI
-  --> $DIR/abi-incompatible-target-feature-attribute.rs:10:18
-   |
-LL | #[target_feature(enable = "d")]
-   |                  ^^^^^^^^^^^^
-
-error: aborting due to 1 previous error
-
diff --git a/tests/ui/target-feature/abi-incompatible-target-feature-attribute.x86.stderr b/tests/ui/target-feature/abi-incompatible-target-feature-attribute.x86.stderr
new file mode 100644
index 00000000000..81471fd7e30
--- /dev/null
+++ b/tests/ui/target-feature/abi-incompatible-target-feature-attribute.x86.stderr
@@ -0,0 +1,8 @@
+error: target feature `soft-float` cannot be enabled with `#[target_feature]`: this feature is incompatible with the target ABI
+  --> $DIR/abi-incompatible-target-feature-attribute.rs:15:32
+   |
+LL | #[cfg_attr(x86, target_feature(enable = "soft-float"))] #[cfg_attr(riscv, target_feature(enable = "d"))]
+   |                                ^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.riscv.stderr b/tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.riscv.stderr
new file mode 100644
index 00000000000..2dca0c22033
--- /dev/null
+++ b/tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.riscv.stderr
@@ -0,0 +1,19 @@
+warning: target feature `d` must be disabled to ensure that the ABI of the current target can be implemented correctly
+   |
+   = note: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #116344 <https://github.com/rust-lang/rust/issues/116344>
+
+warning: unstable feature specified for `-Ctarget-feature`: `d`
+   |
+   = note: this feature is not stably supported; its behavior can change in the future
+
+warning: unstable feature specified for `-Ctarget-feature`: `f`
+   |
+   = note: this feature is not stably supported; its behavior can change in the future
+
+warning: unstable feature specified for `-Ctarget-feature`: `zicsr`
+   |
+   = note: this feature is not stably supported; its behavior can change in the future
+
+warning: 4 warnings emitted
+
diff --git a/tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.rs b/tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.rs
index 4ccc6e0e941..68e1d3b9ddc 100644
--- a/tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.rs
+++ b/tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.rs
@@ -1,15 +1,22 @@
 //! Ensure ABI-incompatible features cannot be enabled via `-Ctarget-feature`.
-//@ compile-flags: --target=x86_64-unknown-linux-gnu --crate-type=lib
-//@ needs-llvm-components: x86
-//@ compile-flags: -Ctarget-feature=+soft-float
-// For now this is just a warning.
-//@ build-pass
+// These are just warnings for now.
+//@ check-pass
+//@ compile-flags: --crate-type=lib
+//@ revisions: x86 riscv
+//@[x86] compile-flags: --target=x86_64-unknown-linux-gnu -Ctarget-feature=+soft-float
+//@[x86] needs-llvm-components: x86
+//@[riscv] compile-flags: --target=riscv32e-unknown-none-elf -Ctarget-feature=+d
+//@[riscv] needs-llvm-components: riscv
 
 #![feature(no_core, lang_items, riscv_target_feature)]
 #![no_core]
 
 #[lang = "sized"]
 pub trait Sized {}
+#[lang = "freeze"]
+pub trait Freeze {}
 
-//~? WARN target feature `soft-float` must be disabled to ensure that the ABI of the current target can be implemented correctl
-//~? WARN unstable feature specified for `-Ctarget-feature`: `soft-float`
+//~? WARN must be disabled to ensure that the ABI of the current target can be implemented correctly
+//~? WARN unstable feature specified for `-Ctarget-feature`
+//[riscv]~? WARN unstable feature specified for `-Ctarget-feature`
+//[riscv]~? WARN unstable feature specified for `-Ctarget-feature`
diff --git a/tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.stderr b/tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.x86.stderr
index e49672f33b9..e49672f33b9 100644
--- a/tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.stderr
+++ b/tests/ui/target-feature/abi-incompatible-target-feature-flag-enable.x86.stderr
diff --git a/tests/ui/target-feature/abi-required-target-feature-flag-disable.loongarch.stderr b/tests/ui/target-feature/abi-required-target-feature-flag-disable.loongarch.stderr
new file mode 100644
index 00000000000..35102e0571f
--- /dev/null
+++ b/tests/ui/target-feature/abi-required-target-feature-flag-disable.loongarch.stderr
@@ -0,0 +1,11 @@
+warning: target feature `d` must be enabled to ensure that the ABI of the current target can be implemented correctly
+   |
+   = note: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #116344 <https://github.com/rust-lang/rust/issues/116344>
+
+warning: unstable feature specified for `-Ctarget-feature`: `d`
+   |
+   = note: this feature is not stably supported; its behavior can change in the future
+
+warning: 2 warnings emitted
+
diff --git a/tests/ui/target-feature/abi-required-target-feature-flag-disable.riscv.stderr b/tests/ui/target-feature/abi-required-target-feature-flag-disable.riscv.stderr
new file mode 100644
index 00000000000..35102e0571f
--- /dev/null
+++ b/tests/ui/target-feature/abi-required-target-feature-flag-disable.riscv.stderr
@@ -0,0 +1,11 @@
+warning: target feature `d` must be enabled to ensure that the ABI of the current target can be implemented correctly
+   |
+   = note: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
+   = note: for more information, see issue #116344 <https://github.com/rust-lang/rust/issues/116344>
+
+warning: unstable feature specified for `-Ctarget-feature`: `d`
+   |
+   = note: this feature is not stably supported; its behavior can change in the future
+
+warning: 2 warnings emitted
+
diff --git a/tests/ui/target-feature/abi-required-target-feature-flag-disable.rs b/tests/ui/target-feature/abi-required-target-feature-flag-disable.rs
index e0d095844fb..c3ce05baa64 100644
--- a/tests/ui/target-feature/abi-required-target-feature-flag-disable.rs
+++ b/tests/ui/target-feature/abi-required-target-feature-flag-disable.rs
@@ -1,15 +1,21 @@
 //! Ensure ABI-required features cannot be disabled via `-Ctarget-feature`.
 //! Also covers the case of a feature indirectly disabling another via feature implications.
 //@ compile-flags: --crate-type=lib
-//@ revisions: x86 x86-implied aarch64
+//@ revisions: x86 x86-implied aarch64 riscv loongarch
 //@[x86] compile-flags: --target=x86_64-unknown-linux-gnu -Ctarget-feature=-x87
 //@[x86] needs-llvm-components: x86
 //@[x86-implied] compile-flags: --target=x86_64-unknown-linux-gnu -Ctarget-feature=-sse
 //@[x86-implied] needs-llvm-components: x86
 //@[aarch64] compile-flags: --target=aarch64-unknown-linux-gnu -Ctarget-feature=-neon
 //@[aarch64] needs-llvm-components: aarch64
+//@[riscv] compile-flags: --target=riscv64gc-unknown-none-elf -Ctarget-feature=-d
+//@[riscv] needs-llvm-components: riscv
+//@[loongarch] compile-flags: --target=loongarch64-unknown-none -Ctarget-feature=-d
+//@[loongarch] needs-llvm-components: loongarch
 // For now this is just a warning.
 //@ build-pass
+// Remove some LLVM warnings that only show up sometimes.
+//@ normalize-stderr: "\n[^\n]*(target-abi|lp64f)[^\n]*" -> ""
 
 #![feature(no_core, lang_items)]
 #![no_core]
@@ -18,4 +24,4 @@
 pub trait Sized {}
 
 //~? WARN must be enabled to ensure that the ABI of the current target can be implemented correctly
-//[x86]~? WARN unstable feature specified for `-Ctarget-feature`
+//[x86,riscv,loongarch]~? WARN unstable feature specified for `-Ctarget-feature`