about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/ui/abi/cannot-be-called.avr.stderr131
-rw-r--r--tests/ui/abi/cannot-be-called.i686.stderr127
-rw-r--r--tests/ui/abi/cannot-be-called.msp430.stderr131
-rw-r--r--tests/ui/abi/cannot-be-called.riscv32.stderr109
-rw-r--r--tests/ui/abi/cannot-be-called.riscv64.stderr109
-rw-r--r--tests/ui/abi/cannot-be-called.rs30
-rw-r--r--tests/ui/abi/cannot-be-called.x64.stderr127
-rw-r--r--tests/ui/abi/cannot-be-called.x64_win.stderr127
-rw-r--r--tests/ui/abi/unsupported.aarch64.stderr100
-rw-r--r--tests/ui/abi/unsupported.arm.stderr100
-rw-r--r--tests/ui/abi/unsupported.i686.stderr62
-rw-r--r--tests/ui/abi/unsupported.riscv32.stderr98
-rw-r--r--tests/ui/abi/unsupported.riscv64.stderr98
-rw-r--r--tests/ui/abi/unsupported.rs26
-rw-r--r--tests/ui/abi/unsupported.x64.stderr92
-rw-r--r--tests/ui/abi/unsupported.x64_win.stderr94
16 files changed, 414 insertions, 1147 deletions
diff --git a/tests/ui/abi/cannot-be-called.avr.stderr b/tests/ui/abi/cannot-be-called.avr.stderr
index 64ce3efe52b..a0f7f18f701 100644
--- a/tests/ui/abi/cannot-be-called.avr.stderr
+++ b/tests/ui/abi/cannot-be-called.avr.stderr
@@ -1,132 +1,75 @@
-warning: the calling convention "msp430-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:60:18
+error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:38:8
    |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
+LL | extern "msp430-interrupt" fn msp430() {}
+   |        ^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "riscv-interrupt-m" is not supported on this target
-  --> $DIR/cannot-be-called.rs:74:19
-   |
-LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:42:8
    |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "riscv-interrupt-m" fn riscv_m() {}
+   |        ^^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "riscv-interrupt-s" is not supported on this target
-  --> $DIR/cannot-be-called.rs:81:19
-   |
-LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error[E0570]: "riscv-interrupt-s" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:44:8
    |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "riscv-interrupt-s" fn riscv_s() {}
+   |        ^^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "x86-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:88:15
+error[E0570]: "x86-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:46:8
    |
-LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "x86-interrupt" fn x86() {}
+   |        ^^^^^^^^^^^^^^^
 
-error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:36:1
+error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:65:25
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
+   |                         ^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:40:1
+error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:77:26
    |
-LL | extern "riscv-interrupt-m" fn riscv_m() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
+   |                          ^^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"riscv-interrupt-s"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:42:1
+error[E0570]: "riscv-interrupt-s" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:83:26
    |
-LL | extern "riscv-interrupt-s" fn riscv_s() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
+   |                          ^^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:44:1
+error[E0570]: "x86-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:89:22
    |
-LL | extern "x86-interrupt" fn x86() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
+   |                      ^^^^^^^^^^^^^^^
 
 error: functions with the "avr-interrupt" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:50:5
+  --> $DIR/cannot-be-called.rs:53:5
    |
 LL |     avr();
    |     ^^^^^
    |
 note: an `extern "avr-interrupt"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:50:5
+  --> $DIR/cannot-be-called.rs:53:5
    |
 LL |     avr();
    |     ^^^^^
 
 error: functions with the "avr-interrupt" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:70:5
+  --> $DIR/cannot-be-called.rs:73:5
    |
 LL |     f()
    |     ^^^
    |
 note: an `extern "avr-interrupt"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:70:5
+  --> $DIR/cannot-be-called.rs:73:5
    |
 LL |     f()
    |     ^^^
 
-error: aborting due to 6 previous errors; 4 warnings emitted
+error: aborting due to 10 previous errors
 
 For more information about this error, try `rustc --explain E0570`.
-Future incompatibility report: Future breakage diagnostic:
-warning: the calling convention "msp430-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:60:18
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "riscv-interrupt-m" is not supported on this target
-  --> $DIR/cannot-be-called.rs:74:19
-   |
-LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "riscv-interrupt-s" is not supported on this target
-  --> $DIR/cannot-be-called.rs:81:19
-   |
-LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "x86-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:88:15
-   |
-LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
diff --git a/tests/ui/abi/cannot-be-called.i686.stderr b/tests/ui/abi/cannot-be-called.i686.stderr
index 113b40eb67b..f59fdba2f35 100644
--- a/tests/ui/abi/cannot-be-called.i686.stderr
+++ b/tests/ui/abi/cannot-be-called.i686.stderr
@@ -1,72 +1,59 @@
-warning: the calling convention "msp430-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:60:18
+error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:38:8
    |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
+LL | extern "msp430-interrupt" fn msp430() {}
+   |        ^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "avr-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:67:15
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error[E0570]: "avr-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:40:8
    |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "avr-interrupt" fn avr() {}
+   |        ^^^^^^^^^^^^^^^
 
-warning: the calling convention "riscv-interrupt-m" is not supported on this target
-  --> $DIR/cannot-be-called.rs:74:19
-   |
-LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:42:8
    |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "riscv-interrupt-m" fn riscv_m() {}
+   |        ^^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "riscv-interrupt-s" is not supported on this target
-  --> $DIR/cannot-be-called.rs:81:19
+error[E0570]: "riscv-interrupt-s" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:44:8
    |
-LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "riscv-interrupt-s" fn riscv_s() {}
+   |        ^^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:36:1
+error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:65:25
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
+   |                         ^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:38:1
+error[E0570]: "avr-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:71:22
    |
-LL | extern "avr-interrupt" fn avr() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
+   |                      ^^^^^^^^^^^^^^^
 
-error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:40:1
+error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:77:26
    |
-LL | extern "riscv-interrupt-m" fn riscv_m() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
+   |                          ^^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"riscv-interrupt-s"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:42:1
+error[E0570]: "riscv-interrupt-s" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:83:26
    |
-LL | extern "riscv-interrupt-s" fn riscv_s() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
+   |                          ^^^^^^^^^^^^^^^^^^^
 
 error: functions with the "x86-interrupt" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:56:5
+  --> $DIR/cannot-be-called.rs:59:5
    |
 LL |     x86();
    |     ^^^^^
    |
 note: an `extern "x86-interrupt"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:56:5
+  --> $DIR/cannot-be-called.rs:59:5
    |
 LL |     x86();
    |     ^^^^^
@@ -83,50 +70,6 @@ note: an `extern "x86-interrupt"` function can only be called using inline assem
 LL |     f()
    |     ^^^
 
-error: aborting due to 6 previous errors; 4 warnings emitted
+error: aborting due to 10 previous errors
 
 For more information about this error, try `rustc --explain E0570`.
-Future incompatibility report: Future breakage diagnostic:
-warning: the calling convention "msp430-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:60:18
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "avr-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:67:15
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "riscv-interrupt-m" is not supported on this target
-  --> $DIR/cannot-be-called.rs:74:19
-   |
-LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "riscv-interrupt-s" is not supported on this target
-  --> $DIR/cannot-be-called.rs:81:19
-   |
-LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
diff --git a/tests/ui/abi/cannot-be-called.msp430.stderr b/tests/ui/abi/cannot-be-called.msp430.stderr
index d7630d96f8c..fa339f0dd2a 100644
--- a/tests/ui/abi/cannot-be-called.msp430.stderr
+++ b/tests/ui/abi/cannot-be-called.msp430.stderr
@@ -1,132 +1,75 @@
-warning: the calling convention "avr-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:67:15
+error[E0570]: "avr-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:40:8
    |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
+LL | extern "avr-interrupt" fn avr() {}
+   |        ^^^^^^^^^^^^^^^
 
-warning: the calling convention "riscv-interrupt-m" is not supported on this target
-  --> $DIR/cannot-be-called.rs:74:19
-   |
-LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:42:8
    |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "riscv-interrupt-m" fn riscv_m() {}
+   |        ^^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "riscv-interrupt-s" is not supported on this target
-  --> $DIR/cannot-be-called.rs:81:19
-   |
-LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error[E0570]: "riscv-interrupt-s" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:44:8
    |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "riscv-interrupt-s" fn riscv_s() {}
+   |        ^^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "x86-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:88:15
+error[E0570]: "x86-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:46:8
    |
-LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "x86-interrupt" fn x86() {}
+   |        ^^^^^^^^^^^^^^^
 
-error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:38:1
+error[E0570]: "avr-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:71:22
    |
-LL | extern "avr-interrupt" fn avr() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
+   |                      ^^^^^^^^^^^^^^^
 
-error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:40:1
+error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:77:26
    |
-LL | extern "riscv-interrupt-m" fn riscv_m() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
+   |                          ^^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"riscv-interrupt-s"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:42:1
+error[E0570]: "riscv-interrupt-s" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:83:26
    |
-LL | extern "riscv-interrupt-s" fn riscv_s() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
+   |                          ^^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:44:1
+error[E0570]: "x86-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:89:22
    |
-LL | extern "x86-interrupt" fn x86() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
+   |                      ^^^^^^^^^^^^^^^
 
 error: functions with the "msp430-interrupt" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:48:5
+  --> $DIR/cannot-be-called.rs:51:5
    |
 LL |     msp430();
    |     ^^^^^^^^
    |
 note: an `extern "msp430-interrupt"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:48:5
+  --> $DIR/cannot-be-called.rs:51:5
    |
 LL |     msp430();
    |     ^^^^^^^^
 
 error: functions with the "msp430-interrupt" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:63:5
+  --> $DIR/cannot-be-called.rs:67:5
    |
 LL |     f()
    |     ^^^
    |
 note: an `extern "msp430-interrupt"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:63:5
+  --> $DIR/cannot-be-called.rs:67:5
    |
 LL |     f()
    |     ^^^
 
-error: aborting due to 6 previous errors; 4 warnings emitted
+error: aborting due to 10 previous errors
 
 For more information about this error, try `rustc --explain E0570`.
-Future incompatibility report: Future breakage diagnostic:
-warning: the calling convention "avr-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:67:15
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "riscv-interrupt-m" is not supported on this target
-  --> $DIR/cannot-be-called.rs:74:19
-   |
-LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "riscv-interrupt-s" is not supported on this target
-  --> $DIR/cannot-be-called.rs:81:19
-   |
-LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "x86-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:88:15
-   |
-LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
diff --git a/tests/ui/abi/cannot-be-called.riscv32.stderr b/tests/ui/abi/cannot-be-called.riscv32.stderr
index 9fadbd639b8..040b60c7657 100644
--- a/tests/ui/abi/cannot-be-called.riscv32.stderr
+++ b/tests/ui/abi/cannot-be-called.riscv32.stderr
@@ -1,130 +1,87 @@
-warning: the calling convention "msp430-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:60:18
+error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:38:8
    |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
+LL | extern "msp430-interrupt" fn msp430() {}
+   |        ^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "avr-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:67:15
+error[E0570]: "avr-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:40:8
    |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "avr-interrupt" fn avr() {}
+   |        ^^^^^^^^^^^^^^^
 
-warning: the calling convention "x86-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:88:15
-   |
-LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error[E0570]: "x86-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:46:8
    |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "x86-interrupt" fn x86() {}
+   |        ^^^^^^^^^^^^^^^
 
-error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:36:1
+error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:65:25
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
+   |                         ^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:38:1
+error[E0570]: "avr-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:71:22
    |
-LL | extern "avr-interrupt" fn avr() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
+   |                      ^^^^^^^^^^^^^^^
 
-error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:44:1
+error[E0570]: "x86-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:89:22
    |
-LL | extern "x86-interrupt" fn x86() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
+   |                      ^^^^^^^^^^^^^^^
 
 error: functions with the "riscv-interrupt-m" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:52:5
+  --> $DIR/cannot-be-called.rs:55:5
    |
 LL |     riscv_m();
    |     ^^^^^^^^^
    |
 note: an `extern "riscv-interrupt-m"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:52:5
+  --> $DIR/cannot-be-called.rs:55:5
    |
 LL |     riscv_m();
    |     ^^^^^^^^^
 
 error: functions with the "riscv-interrupt-s" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:54:5
+  --> $DIR/cannot-be-called.rs:57:5
    |
 LL |     riscv_s();
    |     ^^^^^^^^^
    |
 note: an `extern "riscv-interrupt-s"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:54:5
+  --> $DIR/cannot-be-called.rs:57:5
    |
 LL |     riscv_s();
    |     ^^^^^^^^^
 
 error: functions with the "riscv-interrupt-m" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:77:5
+  --> $DIR/cannot-be-called.rs:79:5
    |
 LL |     f()
    |     ^^^
    |
 note: an `extern "riscv-interrupt-m"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:77:5
+  --> $DIR/cannot-be-called.rs:79:5
    |
 LL |     f()
    |     ^^^
 
 error: functions with the "riscv-interrupt-s" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:84:5
+  --> $DIR/cannot-be-called.rs:85:5
    |
 LL |     f()
    |     ^^^
    |
 note: an `extern "riscv-interrupt-s"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:84:5
+  --> $DIR/cannot-be-called.rs:85:5
    |
 LL |     f()
    |     ^^^
 
-error: aborting due to 7 previous errors; 3 warnings emitted
+error: aborting due to 10 previous errors
 
 For more information about this error, try `rustc --explain E0570`.
-Future incompatibility report: Future breakage diagnostic:
-warning: the calling convention "msp430-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:60:18
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "avr-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:67:15
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "x86-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:88:15
-   |
-LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
diff --git a/tests/ui/abi/cannot-be-called.riscv64.stderr b/tests/ui/abi/cannot-be-called.riscv64.stderr
index 9fadbd639b8..040b60c7657 100644
--- a/tests/ui/abi/cannot-be-called.riscv64.stderr
+++ b/tests/ui/abi/cannot-be-called.riscv64.stderr
@@ -1,130 +1,87 @@
-warning: the calling convention "msp430-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:60:18
+error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:38:8
    |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
+LL | extern "msp430-interrupt" fn msp430() {}
+   |        ^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "avr-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:67:15
+error[E0570]: "avr-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:40:8
    |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "avr-interrupt" fn avr() {}
+   |        ^^^^^^^^^^^^^^^
 
-warning: the calling convention "x86-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:88:15
-   |
-LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error[E0570]: "x86-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:46:8
    |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "x86-interrupt" fn x86() {}
+   |        ^^^^^^^^^^^^^^^
 
-error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:36:1
+error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:65:25
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
+   |                         ^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:38:1
+error[E0570]: "avr-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:71:22
    |
-LL | extern "avr-interrupt" fn avr() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
+   |                      ^^^^^^^^^^^^^^^
 
-error[E0570]: `"x86-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:44:1
+error[E0570]: "x86-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:89:22
    |
-LL | extern "x86-interrupt" fn x86() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
+   |                      ^^^^^^^^^^^^^^^
 
 error: functions with the "riscv-interrupt-m" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:52:5
+  --> $DIR/cannot-be-called.rs:55:5
    |
 LL |     riscv_m();
    |     ^^^^^^^^^
    |
 note: an `extern "riscv-interrupt-m"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:52:5
+  --> $DIR/cannot-be-called.rs:55:5
    |
 LL |     riscv_m();
    |     ^^^^^^^^^
 
 error: functions with the "riscv-interrupt-s" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:54:5
+  --> $DIR/cannot-be-called.rs:57:5
    |
 LL |     riscv_s();
    |     ^^^^^^^^^
    |
 note: an `extern "riscv-interrupt-s"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:54:5
+  --> $DIR/cannot-be-called.rs:57:5
    |
 LL |     riscv_s();
    |     ^^^^^^^^^
 
 error: functions with the "riscv-interrupt-m" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:77:5
+  --> $DIR/cannot-be-called.rs:79:5
    |
 LL |     f()
    |     ^^^
    |
 note: an `extern "riscv-interrupt-m"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:77:5
+  --> $DIR/cannot-be-called.rs:79:5
    |
 LL |     f()
    |     ^^^
 
 error: functions with the "riscv-interrupt-s" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:84:5
+  --> $DIR/cannot-be-called.rs:85:5
    |
 LL |     f()
    |     ^^^
    |
 note: an `extern "riscv-interrupt-s"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:84:5
+  --> $DIR/cannot-be-called.rs:85:5
    |
 LL |     f()
    |     ^^^
 
-error: aborting due to 7 previous errors; 3 warnings emitted
+error: aborting due to 10 previous errors
 
 For more information about this error, try `rustc --explain E0570`.
-Future incompatibility report: Future breakage diagnostic:
-warning: the calling convention "msp430-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:60:18
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "avr-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:67:15
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "x86-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:88:15
-   |
-LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
diff --git a/tests/ui/abi/cannot-be-called.rs b/tests/ui/abi/cannot-be-called.rs
index 89173655a4a..6918c2f56a3 100644
--- a/tests/ui/abi/cannot-be-called.rs
+++ b/tests/ui/abi/cannot-be-called.rs
@@ -1,3 +1,8 @@
+/*! Tests entry-point ABIs cannot be called
+
+Interrupt ABIs share similar semantics, in that they are special entry-points unusable by Rust.
+So we test that they error in essentially all of the same places.
+*/
 //@ add-core-stubs
 //@ revisions: x64 x64_win i686 riscv32 riscv64 avr msp430
 //
@@ -18,21 +23,18 @@
 #![no_core]
 #![feature(
     no_core,
-    lang_items,
-    abi_ptx,
     abi_msp430_interrupt,
     abi_avr_interrupt,
     abi_gpu_kernel,
     abi_x86_interrupt,
     abi_riscv_interrupt,
-    abi_c_cmse_nonsecure_call,
-    abi_vectorcall,
-    cmse_nonsecure_entry
 )]
 
 extern crate minicore;
 use minicore::*;
 
+/* extern "interrupt" definition */
+
 extern "msp430-interrupt" fn msp430() {}
 //[x64,x64_win,i686,riscv32,riscv64,avr]~^ ERROR is not a supported ABI
 extern "avr-interrupt" fn avr() {}
@@ -44,6 +46,7 @@ extern "riscv-interrupt-s" fn riscv_s() {}
 extern "x86-interrupt" fn x86() {}
 //[riscv32,riscv64,avr,msp430]~^ ERROR is not a supported ABI
 
+/* extern "interrupt" calls  */
 fn call_the_interrupts() {
     msp430();
     //[msp430]~^ ERROR functions with the "msp430-interrupt" ABI cannot be called
@@ -57,37 +60,34 @@ fn call_the_interrupts() {
     //[x64,x64_win,i686]~^ ERROR functions with the "x86-interrupt" ABI cannot be called
 }
 
+/* extern "interrupt" fnptr calls */
+
 fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-    //[x64,x64_win,i686,riscv32,riscv64,avr]~^ WARN unsupported_fn_ptr_calling_conventions
-    //[x64,x64_win,i686,riscv32,riscv64,avr]~^^ WARN this was previously accepted
+    //[x64,x64_win,i686,riscv32,riscv64,avr]~^ ERROR is not a supported ABI
     f()
     //[msp430]~^ ERROR functions with the "msp430-interrupt" ABI cannot be called
 }
 
 fn avr_ptr(f: extern "avr-interrupt" fn()) {
-    //[x64,x64_win,i686,riscv32,riscv64,msp430]~^ WARN unsupported_fn_ptr_calling_conventions
-    //[x64,x64_win,i686,riscv32,riscv64,msp430]~^^ WARN this was previously accepted
+    //[x64,x64_win,i686,riscv32,riscv64,msp430]~^ ERROR is not a supported ABI
     f()
     //[avr]~^ ERROR functions with the "avr-interrupt" ABI cannot be called
 }
 
 fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
-    //[x64,x64_win,i686,avr,msp430]~^ WARN unsupported_fn_ptr_calling_conventions
-    //[x64,x64_win,i686,avr,msp430]~^^ WARN this was previously accepted
+    //[x64,x64_win,i686,avr,msp430]~^ ERROR is not a supported ABI
     f()
     //[riscv32,riscv64]~^ ERROR functions with the "riscv-interrupt-m" ABI cannot be called
 }
 
 fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
-    //[x64,x64_win,i686,avr,msp430]~^ WARN unsupported_fn_ptr_calling_conventions
-    //[x64,x64_win,i686,avr,msp430]~^^ WARN this was previously accepted
+    //[x64,x64_win,i686,avr,msp430]~^ ERROR is not a supported ABI
     f()
     //[riscv32,riscv64]~^ ERROR functions with the "riscv-interrupt-s" ABI cannot be called
 }
 
 fn x86_ptr(f: extern "x86-interrupt" fn()) {
-    //[riscv32,riscv64,avr,msp430]~^ WARN unsupported_fn_ptr_calling_conventions
-    //[riscv32,riscv64,avr,msp430]~^^ WARN this was previously accepted
+    //[riscv32,riscv64,avr,msp430]~^ ERROR is not a supported ABI
     f()
     //[x64,x64_win,i686]~^ ERROR functions with the "x86-interrupt" ABI cannot be called
 }
diff --git a/tests/ui/abi/cannot-be-called.x64.stderr b/tests/ui/abi/cannot-be-called.x64.stderr
index 113b40eb67b..f59fdba2f35 100644
--- a/tests/ui/abi/cannot-be-called.x64.stderr
+++ b/tests/ui/abi/cannot-be-called.x64.stderr
@@ -1,72 +1,59 @@
-warning: the calling convention "msp430-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:60:18
+error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:38:8
    |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
+LL | extern "msp430-interrupt" fn msp430() {}
+   |        ^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "avr-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:67:15
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error[E0570]: "avr-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:40:8
    |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "avr-interrupt" fn avr() {}
+   |        ^^^^^^^^^^^^^^^
 
-warning: the calling convention "riscv-interrupt-m" is not supported on this target
-  --> $DIR/cannot-be-called.rs:74:19
-   |
-LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:42:8
    |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "riscv-interrupt-m" fn riscv_m() {}
+   |        ^^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "riscv-interrupt-s" is not supported on this target
-  --> $DIR/cannot-be-called.rs:81:19
+error[E0570]: "riscv-interrupt-s" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:44:8
    |
-LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "riscv-interrupt-s" fn riscv_s() {}
+   |        ^^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:36:1
+error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:65:25
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
+   |                         ^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:38:1
+error[E0570]: "avr-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:71:22
    |
-LL | extern "avr-interrupt" fn avr() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
+   |                      ^^^^^^^^^^^^^^^
 
-error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:40:1
+error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:77:26
    |
-LL | extern "riscv-interrupt-m" fn riscv_m() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
+   |                          ^^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"riscv-interrupt-s"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:42:1
+error[E0570]: "riscv-interrupt-s" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:83:26
    |
-LL | extern "riscv-interrupt-s" fn riscv_s() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
+   |                          ^^^^^^^^^^^^^^^^^^^
 
 error: functions with the "x86-interrupt" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:56:5
+  --> $DIR/cannot-be-called.rs:59:5
    |
 LL |     x86();
    |     ^^^^^
    |
 note: an `extern "x86-interrupt"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:56:5
+  --> $DIR/cannot-be-called.rs:59:5
    |
 LL |     x86();
    |     ^^^^^
@@ -83,50 +70,6 @@ note: an `extern "x86-interrupt"` function can only be called using inline assem
 LL |     f()
    |     ^^^
 
-error: aborting due to 6 previous errors; 4 warnings emitted
+error: aborting due to 10 previous errors
 
 For more information about this error, try `rustc --explain E0570`.
-Future incompatibility report: Future breakage diagnostic:
-warning: the calling convention "msp430-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:60:18
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "avr-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:67:15
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "riscv-interrupt-m" is not supported on this target
-  --> $DIR/cannot-be-called.rs:74:19
-   |
-LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "riscv-interrupt-s" is not supported on this target
-  --> $DIR/cannot-be-called.rs:81:19
-   |
-LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
diff --git a/tests/ui/abi/cannot-be-called.x64_win.stderr b/tests/ui/abi/cannot-be-called.x64_win.stderr
index 113b40eb67b..f59fdba2f35 100644
--- a/tests/ui/abi/cannot-be-called.x64_win.stderr
+++ b/tests/ui/abi/cannot-be-called.x64_win.stderr
@@ -1,72 +1,59 @@
-warning: the calling convention "msp430-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:60:18
+error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:38:8
    |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
+LL | extern "msp430-interrupt" fn msp430() {}
+   |        ^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "avr-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:67:15
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error[E0570]: "avr-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:40:8
    |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "avr-interrupt" fn avr() {}
+   |        ^^^^^^^^^^^^^^^
 
-warning: the calling convention "riscv-interrupt-m" is not supported on this target
-  --> $DIR/cannot-be-called.rs:74:19
-   |
-LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:42:8
    |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "riscv-interrupt-m" fn riscv_m() {}
+   |        ^^^^^^^^^^^^^^^^^^^
 
-warning: the calling convention "riscv-interrupt-s" is not supported on this target
-  --> $DIR/cannot-be-called.rs:81:19
+error[E0570]: "riscv-interrupt-s" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:44:8
    |
-LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
+LL | extern "riscv-interrupt-s" fn riscv_s() {}
+   |        ^^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"msp430-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:36:1
+error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:65:25
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
+   |                         ^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"avr-interrupt"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:38:1
+error[E0570]: "avr-interrupt" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:71:22
    |
-LL | extern "avr-interrupt" fn avr() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
+   |                      ^^^^^^^^^^^^^^^
 
-error[E0570]: `"riscv-interrupt-m"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:40:1
+error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:77:26
    |
-LL | extern "riscv-interrupt-m" fn riscv_m() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
+   |                          ^^^^^^^^^^^^^^^^^^^
 
-error[E0570]: `"riscv-interrupt-s"` is not a supported ABI for the current target
-  --> $DIR/cannot-be-called.rs:42:1
+error[E0570]: "riscv-interrupt-s" is not a supported ABI for the current target
+  --> $DIR/cannot-be-called.rs:83:26
    |
-LL | extern "riscv-interrupt-s" fn riscv_s() {}
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
+   |                          ^^^^^^^^^^^^^^^^^^^
 
 error: functions with the "x86-interrupt" ABI cannot be called
-  --> $DIR/cannot-be-called.rs:56:5
+  --> $DIR/cannot-be-called.rs:59:5
    |
 LL |     x86();
    |     ^^^^^
    |
 note: an `extern "x86-interrupt"` function can only be called using inline assembly
-  --> $DIR/cannot-be-called.rs:56:5
+  --> $DIR/cannot-be-called.rs:59:5
    |
 LL |     x86();
    |     ^^^^^
@@ -83,50 +70,6 @@ note: an `extern "x86-interrupt"` function can only be called using inline assem
 LL |     f()
    |     ^^^
 
-error: aborting due to 6 previous errors; 4 warnings emitted
+error: aborting due to 10 previous errors
 
 For more information about this error, try `rustc --explain E0570`.
-Future incompatibility report: Future breakage diagnostic:
-warning: the calling convention "msp430-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:60:18
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "avr-interrupt" is not supported on this target
-  --> $DIR/cannot-be-called.rs:67:15
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "riscv-interrupt-m" is not supported on this target
-  --> $DIR/cannot-be-called.rs:74:19
-   |
-LL | fn riscv_m_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
-Future breakage diagnostic:
-warning: the calling convention "riscv-interrupt-s" is not supported on this target
-  --> $DIR/cannot-be-called.rs:81:19
-   |
-LL | fn riscv_s_ptr(f: extern "riscv-interrupt-s" fn()) {
-   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = warning: 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 #130260 <https://github.com/rust-lang/rust/issues/130260>
-   = note: `#[warn(unsupported_fn_ptr_calling_conventions)]` on by default
-
diff --git a/tests/ui/abi/unsupported.aarch64.stderr b/tests/ui/abi/unsupported.aarch64.stderr
index d2970cb4dd9..85e251a65d2 100644
--- a/tests/ui/abi/unsupported.aarch64.stderr
+++ b/tests/ui/abi/unsupported.aarch64.stderr
@@ -43,95 +43,47 @@ LL | extern "aapcs" {}
 error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
   --> $DIR/unsupported.rs:56:8
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   |        ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:58:25
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                         ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:62:8
-   |
 LL | extern "msp430-interrupt" {}
    |        ^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:65:8
-   |
-LL | extern "avr-interrupt" fn avr() {}
-   |        ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:67:22
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |                      ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:71:8
+  --> $DIR/unsupported.rs:59:8
    |
 LL | extern "avr-interrupt" {}
    |        ^^^^^^^^^^^^^^^
 
 error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:74:8
-   |
-LL | extern "riscv-interrupt-m" fn riscv() {}
-   |        ^^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:76:24
-   |
-LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                        ^^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:81:8
+  --> $DIR/unsupported.rs:62:8
    |
 LL | extern "riscv-interrupt-m" {}
    |        ^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "x86-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:84:8
-   |
-LL | extern "x86-interrupt" fn x86() {}
-   |        ^^^^^^^^^^^^^^^
-
-error[E0570]: "x86-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:86:22
-   |
-LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
-   |                      ^^^^^^^^^^^^^^^
-
-error[E0570]: "x86-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:91:8
+  --> $DIR/unsupported.rs:65:8
    |
 LL | extern "x86-interrupt" {}
    |        ^^^^^^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:94:8
+  --> $DIR/unsupported.rs:68:8
    |
 LL | extern "thiscall" fn thiscall() {}
    |        ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:96:27
+  --> $DIR/unsupported.rs:70:27
    |
 LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
    |                           ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:100:8
+  --> $DIR/unsupported.rs:74:8
    |
 LL | extern "thiscall" {}
    |        ^^^^^^^^^^
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:103:8
+  --> $DIR/unsupported.rs:77:8
    |
 LL | extern "stdcall" fn stdcall() {}
    |        ^^^^^^^^^
@@ -139,7 +91,7 @@ LL | extern "stdcall" fn stdcall() {}
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:107:26
+  --> $DIR/unsupported.rs:81:26
    |
 LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
    |                          ^^^^^^^^^
@@ -147,7 +99,7 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:113:8
+  --> $DIR/unsupported.rs:87:8
    |
 LL | extern "stdcall" {}
    |        ^^^^^^^^^
@@ -155,7 +107,7 @@ LL | extern "stdcall" {}
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall-unwind" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:117:8
+  --> $DIR/unsupported.rs:91:8
    |
 LL | extern "stdcall-unwind" {}
    |        ^^^^^^^^^^^^^^^^
@@ -163,73 +115,73 @@ LL | extern "stdcall-unwind" {}
    = help: if you need `extern "stdcall-unwind"` on win32 and `extern "C-unwind"` everywhere else, use `extern "system-unwind"`
 
 error[E0570]: "vectorcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:137:8
+  --> $DIR/unsupported.rs:111:8
    |
 LL | extern "vectorcall" fn vectorcall() {}
    |        ^^^^^^^^^^^^
 
 error[E0570]: "vectorcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:139:29
+  --> $DIR/unsupported.rs:113:29
    |
 LL | fn vectorcall_ptr(f: extern "vectorcall" fn()) {
    |                             ^^^^^^^^^^^^
 
 error[E0570]: "vectorcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:143:8
+  --> $DIR/unsupported.rs:117:8
    |
 LL | extern "vectorcall" {}
    |        ^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-call" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:146:28
+  --> $DIR/unsupported.rs:120:28
    |
 LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
    |                            ^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:151:8
+  --> $DIR/unsupported.rs:125:8
    |
 LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:153:29
+  --> $DIR/unsupported.rs:127:29
    |
 LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:157:8
+  --> $DIR/unsupported.rs:131:8
    |
 LL | extern "C-cmse-nonsecure-entry" {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:167:17
+  --> $DIR/unsupported.rs:141:17
    |
 LL |     ptr: extern "thiscall" fn(),
    |                 ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:172:16
+  --> $DIR/unsupported.rs:146:16
    |
 LL |     pub extern "thiscall" fn inherent_fn(self) {
    |                ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:179:12
+  --> $DIR/unsupported.rs:153:12
    |
 LL |     extern "thiscall" fn trait_fn(self);
    |            ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:184:12
+  --> $DIR/unsupported.rs:158:12
    |
 LL |     extern "thiscall" fn trait_fn(self) {
    |            ^^^^^^^^^^
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:125:17
+  --> $DIR/unsupported.rs:99:17
    |
 LL | fn cdecl_ptr(f: extern "cdecl" fn()) {
    |                 ^^^^^^^^^^^^^^^^^^^
@@ -240,7 +192,7 @@ LL | fn cdecl_ptr(f: extern "cdecl" fn()) {
    = note: `#[warn(unsupported_calling_conventions)]` on by default
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:130:1
+  --> $DIR/unsupported.rs:104:1
    |
 LL | extern "cdecl" {}
    | ^^^^^^^^^^^^^^^^^
@@ -250,7 +202,7 @@ LL | extern "cdecl" {}
    = help: use `extern "C"` instead
 
 warning: "cdecl-unwind" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:133:1
+  --> $DIR/unsupported.rs:107:1
    |
 LL | extern "cdecl-unwind" {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -260,7 +212,7 @@ LL | extern "cdecl-unwind" {}
    = help: use `extern "C-unwind"` instead
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:122:1
+  --> $DIR/unsupported.rs:96:1
    |
 LL | extern "cdecl" fn cdecl() {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -269,6 +221,6 @@ LL | extern "cdecl" fn cdecl() {}
    = note: for more information, see issue #137018 <https://github.com/rust-lang/rust/issues/137018>
    = help: use `extern "C"` instead
 
-error: aborting due to 37 previous errors; 4 warnings emitted
+error: aborting due to 29 previous errors; 4 warnings emitted
 
 For more information about this error, try `rustc --explain E0570`.
diff --git a/tests/ui/abi/unsupported.arm.stderr b/tests/ui/abi/unsupported.arm.stderr
index 543abe703d6..a4274d0ac60 100644
--- a/tests/ui/abi/unsupported.arm.stderr
+++ b/tests/ui/abi/unsupported.arm.stderr
@@ -25,95 +25,47 @@ LL | extern "gpu-kernel" fn gpu() {}
 error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
   --> $DIR/unsupported.rs:56:8
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   |        ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:58:25
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                         ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:62:8
-   |
 LL | extern "msp430-interrupt" {}
    |        ^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:65:8
-   |
-LL | extern "avr-interrupt" fn avr() {}
-   |        ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:67:22
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |                      ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:71:8
+  --> $DIR/unsupported.rs:59:8
    |
 LL | extern "avr-interrupt" {}
    |        ^^^^^^^^^^^^^^^
 
 error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:74:8
-   |
-LL | extern "riscv-interrupt-m" fn riscv() {}
-   |        ^^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:76:24
-   |
-LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                        ^^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:81:8
+  --> $DIR/unsupported.rs:62:8
    |
 LL | extern "riscv-interrupt-m" {}
    |        ^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "x86-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:84:8
-   |
-LL | extern "x86-interrupt" fn x86() {}
-   |        ^^^^^^^^^^^^^^^
-
-error[E0570]: "x86-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:86:22
-   |
-LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
-   |                      ^^^^^^^^^^^^^^^
-
-error[E0570]: "x86-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:91:8
+  --> $DIR/unsupported.rs:65:8
    |
 LL | extern "x86-interrupt" {}
    |        ^^^^^^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:94:8
+  --> $DIR/unsupported.rs:68:8
    |
 LL | extern "thiscall" fn thiscall() {}
    |        ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:96:27
+  --> $DIR/unsupported.rs:70:27
    |
 LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
    |                           ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:100:8
+  --> $DIR/unsupported.rs:74:8
    |
 LL | extern "thiscall" {}
    |        ^^^^^^^^^^
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:103:8
+  --> $DIR/unsupported.rs:77:8
    |
 LL | extern "stdcall" fn stdcall() {}
    |        ^^^^^^^^^
@@ -121,7 +73,7 @@ LL | extern "stdcall" fn stdcall() {}
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:107:26
+  --> $DIR/unsupported.rs:81:26
    |
 LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
    |                          ^^^^^^^^^
@@ -129,7 +81,7 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:113:8
+  --> $DIR/unsupported.rs:87:8
    |
 LL | extern "stdcall" {}
    |        ^^^^^^^^^
@@ -137,7 +89,7 @@ LL | extern "stdcall" {}
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall-unwind" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:117:8
+  --> $DIR/unsupported.rs:91:8
    |
 LL | extern "stdcall-unwind" {}
    |        ^^^^^^^^^^^^^^^^
@@ -145,73 +97,73 @@ LL | extern "stdcall-unwind" {}
    = help: if you need `extern "stdcall-unwind"` on win32 and `extern "C-unwind"` everywhere else, use `extern "system-unwind"`
 
 error[E0570]: "vectorcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:137:8
+  --> $DIR/unsupported.rs:111:8
    |
 LL | extern "vectorcall" fn vectorcall() {}
    |        ^^^^^^^^^^^^
 
 error[E0570]: "vectorcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:139:29
+  --> $DIR/unsupported.rs:113:29
    |
 LL | fn vectorcall_ptr(f: extern "vectorcall" fn()) {
    |                             ^^^^^^^^^^^^
 
 error[E0570]: "vectorcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:143:8
+  --> $DIR/unsupported.rs:117:8
    |
 LL | extern "vectorcall" {}
    |        ^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-call" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:146:28
+  --> $DIR/unsupported.rs:120:28
    |
 LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
    |                            ^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:151:8
+  --> $DIR/unsupported.rs:125:8
    |
 LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:153:29
+  --> $DIR/unsupported.rs:127:29
    |
 LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:157:8
+  --> $DIR/unsupported.rs:131:8
    |
 LL | extern "C-cmse-nonsecure-entry" {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:167:17
+  --> $DIR/unsupported.rs:141:17
    |
 LL |     ptr: extern "thiscall" fn(),
    |                 ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:172:16
+  --> $DIR/unsupported.rs:146:16
    |
 LL |     pub extern "thiscall" fn inherent_fn(self) {
    |                ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:179:12
+  --> $DIR/unsupported.rs:153:12
    |
 LL |     extern "thiscall" fn trait_fn(self);
    |            ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:184:12
+  --> $DIR/unsupported.rs:158:12
    |
 LL |     extern "thiscall" fn trait_fn(self) {
    |            ^^^^^^^^^^
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:125:17
+  --> $DIR/unsupported.rs:99:17
    |
 LL | fn cdecl_ptr(f: extern "cdecl" fn()) {
    |                 ^^^^^^^^^^^^^^^^^^^
@@ -222,7 +174,7 @@ LL | fn cdecl_ptr(f: extern "cdecl" fn()) {
    = note: `#[warn(unsupported_calling_conventions)]` on by default
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:130:1
+  --> $DIR/unsupported.rs:104:1
    |
 LL | extern "cdecl" {}
    | ^^^^^^^^^^^^^^^^^
@@ -232,7 +184,7 @@ LL | extern "cdecl" {}
    = help: use `extern "C"` instead
 
 warning: "cdecl-unwind" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:133:1
+  --> $DIR/unsupported.rs:107:1
    |
 LL | extern "cdecl-unwind" {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -242,7 +194,7 @@ LL | extern "cdecl-unwind" {}
    = help: use `extern "C-unwind"` instead
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:122:1
+  --> $DIR/unsupported.rs:96:1
    |
 LL | extern "cdecl" fn cdecl() {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -251,6 +203,6 @@ LL | extern "cdecl" fn cdecl() {}
    = note: for more information, see issue #137018 <https://github.com/rust-lang/rust/issues/137018>
    = help: use `extern "C"` instead
 
-error: aborting due to 34 previous errors; 4 warnings emitted
+error: aborting due to 26 previous errors; 4 warnings emitted
 
 For more information about this error, try `rustc --explain E0570`.
diff --git a/tests/ui/abi/unsupported.i686.stderr b/tests/ui/abi/unsupported.i686.stderr
index 2939ae10b0e..5e5d74c1d98 100644
--- a/tests/ui/abi/unsupported.i686.stderr
+++ b/tests/ui/abi/unsupported.i686.stderr
@@ -43,93 +43,45 @@ LL | extern "aapcs" {}
 error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
   --> $DIR/unsupported.rs:56:8
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   |        ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:58:25
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                         ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:62:8
-   |
 LL | extern "msp430-interrupt" {}
    |        ^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:65:8
-   |
-LL | extern "avr-interrupt" fn avr() {}
-   |        ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:67:22
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |                      ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:71:8
+  --> $DIR/unsupported.rs:59:8
    |
 LL | extern "avr-interrupt" {}
    |        ^^^^^^^^^^^^^^^
 
 error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:74:8
-   |
-LL | extern "riscv-interrupt-m" fn riscv() {}
-   |        ^^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:76:24
-   |
-LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                        ^^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:81:8
+  --> $DIR/unsupported.rs:62:8
    |
 LL | extern "riscv-interrupt-m" {}
    |        ^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-call" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:146:28
+  --> $DIR/unsupported.rs:120:28
    |
 LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
    |                            ^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:151:8
+  --> $DIR/unsupported.rs:125:8
    |
 LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:153:29
+  --> $DIR/unsupported.rs:127:29
    |
 LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:157:8
+  --> $DIR/unsupported.rs:131:8
    |
 LL | extern "C-cmse-nonsecure-entry" {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
-error: functions with the "x86-interrupt" ABI cannot be called
-  --> $DIR/unsupported.rs:88:5
-   |
-LL |     f()
-   |     ^^^
-   |
-note: an `extern "x86-interrupt"` function can only be called using inline assembly
-  --> $DIR/unsupported.rs:88:5
-   |
-LL |     f()
-   |     ^^^
-
-error: aborting due to 21 previous errors
+error: aborting due to 14 previous errors
 
 For more information about this error, try `rustc --explain E0570`.
diff --git a/tests/ui/abi/unsupported.riscv32.stderr b/tests/ui/abi/unsupported.riscv32.stderr
index ead32f573d7..7ef7cae5057 100644
--- a/tests/ui/abi/unsupported.riscv32.stderr
+++ b/tests/ui/abi/unsupported.riscv32.stderr
@@ -43,77 +43,41 @@ LL | extern "aapcs" {}
 error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
   --> $DIR/unsupported.rs:56:8
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   |        ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:58:25
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                         ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:62:8
-   |
 LL | extern "msp430-interrupt" {}
    |        ^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:65:8
-   |
-LL | extern "avr-interrupt" fn avr() {}
-   |        ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:67:22
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |                      ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:71:8
+  --> $DIR/unsupported.rs:59:8
    |
 LL | extern "avr-interrupt" {}
    |        ^^^^^^^^^^^^^^^
 
 error[E0570]: "x86-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:84:8
-   |
-LL | extern "x86-interrupt" fn x86() {}
-   |        ^^^^^^^^^^^^^^^
-
-error[E0570]: "x86-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:86:22
-   |
-LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
-   |                      ^^^^^^^^^^^^^^^
-
-error[E0570]: "x86-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:91:8
+  --> $DIR/unsupported.rs:65:8
    |
 LL | extern "x86-interrupt" {}
    |        ^^^^^^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:94:8
+  --> $DIR/unsupported.rs:68:8
    |
 LL | extern "thiscall" fn thiscall() {}
    |        ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:96:27
+  --> $DIR/unsupported.rs:70:27
    |
 LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
    |                           ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:100:8
+  --> $DIR/unsupported.rs:74:8
    |
 LL | extern "thiscall" {}
    |        ^^^^^^^^^^
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:103:8
+  --> $DIR/unsupported.rs:77:8
    |
 LL | extern "stdcall" fn stdcall() {}
    |        ^^^^^^^^^
@@ -121,7 +85,7 @@ LL | extern "stdcall" fn stdcall() {}
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:107:26
+  --> $DIR/unsupported.rs:81:26
    |
 LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
    |                          ^^^^^^^^^
@@ -129,7 +93,7 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:113:8
+  --> $DIR/unsupported.rs:87:8
    |
 LL | extern "stdcall" {}
    |        ^^^^^^^^^
@@ -137,7 +101,7 @@ LL | extern "stdcall" {}
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall-unwind" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:117:8
+  --> $DIR/unsupported.rs:91:8
    |
 LL | extern "stdcall-unwind" {}
    |        ^^^^^^^^^^^^^^^^
@@ -145,73 +109,73 @@ LL | extern "stdcall-unwind" {}
    = help: if you need `extern "stdcall-unwind"` on win32 and `extern "C-unwind"` everywhere else, use `extern "system-unwind"`
 
 error[E0570]: "vectorcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:137:8
+  --> $DIR/unsupported.rs:111:8
    |
 LL | extern "vectorcall" fn vectorcall() {}
    |        ^^^^^^^^^^^^
 
 error[E0570]: "vectorcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:139:29
+  --> $DIR/unsupported.rs:113:29
    |
 LL | fn vectorcall_ptr(f: extern "vectorcall" fn()) {
    |                             ^^^^^^^^^^^^
 
 error[E0570]: "vectorcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:143:8
+  --> $DIR/unsupported.rs:117:8
    |
 LL | extern "vectorcall" {}
    |        ^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-call" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:146:28
+  --> $DIR/unsupported.rs:120:28
    |
 LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
    |                            ^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:151:8
+  --> $DIR/unsupported.rs:125:8
    |
 LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:153:29
+  --> $DIR/unsupported.rs:127:29
    |
 LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:157:8
+  --> $DIR/unsupported.rs:131:8
    |
 LL | extern "C-cmse-nonsecure-entry" {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:167:17
+  --> $DIR/unsupported.rs:141:17
    |
 LL |     ptr: extern "thiscall" fn(),
    |                 ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:172:16
+  --> $DIR/unsupported.rs:146:16
    |
 LL |     pub extern "thiscall" fn inherent_fn(self) {
    |                ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:179:12
+  --> $DIR/unsupported.rs:153:12
    |
 LL |     extern "thiscall" fn trait_fn(self);
    |            ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:184:12
+  --> $DIR/unsupported.rs:158:12
    |
 LL |     extern "thiscall" fn trait_fn(self) {
    |            ^^^^^^^^^^
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:125:17
+  --> $DIR/unsupported.rs:99:17
    |
 LL | fn cdecl_ptr(f: extern "cdecl" fn()) {
    |                 ^^^^^^^^^^^^^^^^^^^
@@ -222,7 +186,7 @@ LL | fn cdecl_ptr(f: extern "cdecl" fn()) {
    = note: `#[warn(unsupported_calling_conventions)]` on by default
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:130:1
+  --> $DIR/unsupported.rs:104:1
    |
 LL | extern "cdecl" {}
    | ^^^^^^^^^^^^^^^^^
@@ -232,7 +196,7 @@ LL | extern "cdecl" {}
    = help: use `extern "C"` instead
 
 warning: "cdecl-unwind" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:133:1
+  --> $DIR/unsupported.rs:107:1
    |
 LL | extern "cdecl-unwind" {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -241,20 +205,8 @@ LL | extern "cdecl-unwind" {}
    = note: for more information, see issue #137018 <https://github.com/rust-lang/rust/issues/137018>
    = help: use `extern "C-unwind"` instead
 
-error: functions with the "riscv-interrupt-m" ABI cannot be called
-  --> $DIR/unsupported.rs:78:5
-   |
-LL |     f()
-   |     ^^^
-   |
-note: an `extern "riscv-interrupt-m"` function can only be called using inline assembly
-  --> $DIR/unsupported.rs:78:5
-   |
-LL |     f()
-   |     ^^^
-
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:122:1
+  --> $DIR/unsupported.rs:96:1
    |
 LL | extern "cdecl" fn cdecl() {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -263,6 +215,6 @@ LL | extern "cdecl" fn cdecl() {}
    = note: for more information, see issue #137018 <https://github.com/rust-lang/rust/issues/137018>
    = help: use `extern "C"` instead
 
-error: aborting due to 35 previous errors; 4 warnings emitted
+error: aborting due to 28 previous errors; 4 warnings emitted
 
 For more information about this error, try `rustc --explain E0570`.
diff --git a/tests/ui/abi/unsupported.riscv64.stderr b/tests/ui/abi/unsupported.riscv64.stderr
index ead32f573d7..7ef7cae5057 100644
--- a/tests/ui/abi/unsupported.riscv64.stderr
+++ b/tests/ui/abi/unsupported.riscv64.stderr
@@ -43,77 +43,41 @@ LL | extern "aapcs" {}
 error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
   --> $DIR/unsupported.rs:56:8
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   |        ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:58:25
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                         ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:62:8
-   |
 LL | extern "msp430-interrupt" {}
    |        ^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:65:8
-   |
-LL | extern "avr-interrupt" fn avr() {}
-   |        ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:67:22
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |                      ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:71:8
+  --> $DIR/unsupported.rs:59:8
    |
 LL | extern "avr-interrupt" {}
    |        ^^^^^^^^^^^^^^^
 
 error[E0570]: "x86-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:84:8
-   |
-LL | extern "x86-interrupt" fn x86() {}
-   |        ^^^^^^^^^^^^^^^
-
-error[E0570]: "x86-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:86:22
-   |
-LL | fn x86_ptr(f: extern "x86-interrupt" fn()) {
-   |                      ^^^^^^^^^^^^^^^
-
-error[E0570]: "x86-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:91:8
+  --> $DIR/unsupported.rs:65:8
    |
 LL | extern "x86-interrupt" {}
    |        ^^^^^^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:94:8
+  --> $DIR/unsupported.rs:68:8
    |
 LL | extern "thiscall" fn thiscall() {}
    |        ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:96:27
+  --> $DIR/unsupported.rs:70:27
    |
 LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
    |                           ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:100:8
+  --> $DIR/unsupported.rs:74:8
    |
 LL | extern "thiscall" {}
    |        ^^^^^^^^^^
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:103:8
+  --> $DIR/unsupported.rs:77:8
    |
 LL | extern "stdcall" fn stdcall() {}
    |        ^^^^^^^^^
@@ -121,7 +85,7 @@ LL | extern "stdcall" fn stdcall() {}
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:107:26
+  --> $DIR/unsupported.rs:81:26
    |
 LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
    |                          ^^^^^^^^^
@@ -129,7 +93,7 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:113:8
+  --> $DIR/unsupported.rs:87:8
    |
 LL | extern "stdcall" {}
    |        ^^^^^^^^^
@@ -137,7 +101,7 @@ LL | extern "stdcall" {}
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall-unwind" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:117:8
+  --> $DIR/unsupported.rs:91:8
    |
 LL | extern "stdcall-unwind" {}
    |        ^^^^^^^^^^^^^^^^
@@ -145,73 +109,73 @@ LL | extern "stdcall-unwind" {}
    = help: if you need `extern "stdcall-unwind"` on win32 and `extern "C-unwind"` everywhere else, use `extern "system-unwind"`
 
 error[E0570]: "vectorcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:137:8
+  --> $DIR/unsupported.rs:111:8
    |
 LL | extern "vectorcall" fn vectorcall() {}
    |        ^^^^^^^^^^^^
 
 error[E0570]: "vectorcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:139:29
+  --> $DIR/unsupported.rs:113:29
    |
 LL | fn vectorcall_ptr(f: extern "vectorcall" fn()) {
    |                             ^^^^^^^^^^^^
 
 error[E0570]: "vectorcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:143:8
+  --> $DIR/unsupported.rs:117:8
    |
 LL | extern "vectorcall" {}
    |        ^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-call" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:146:28
+  --> $DIR/unsupported.rs:120:28
    |
 LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
    |                            ^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:151:8
+  --> $DIR/unsupported.rs:125:8
    |
 LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:153:29
+  --> $DIR/unsupported.rs:127:29
    |
 LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:157:8
+  --> $DIR/unsupported.rs:131:8
    |
 LL | extern "C-cmse-nonsecure-entry" {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:167:17
+  --> $DIR/unsupported.rs:141:17
    |
 LL |     ptr: extern "thiscall" fn(),
    |                 ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:172:16
+  --> $DIR/unsupported.rs:146:16
    |
 LL |     pub extern "thiscall" fn inherent_fn(self) {
    |                ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:179:12
+  --> $DIR/unsupported.rs:153:12
    |
 LL |     extern "thiscall" fn trait_fn(self);
    |            ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:184:12
+  --> $DIR/unsupported.rs:158:12
    |
 LL |     extern "thiscall" fn trait_fn(self) {
    |            ^^^^^^^^^^
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:125:17
+  --> $DIR/unsupported.rs:99:17
    |
 LL | fn cdecl_ptr(f: extern "cdecl" fn()) {
    |                 ^^^^^^^^^^^^^^^^^^^
@@ -222,7 +186,7 @@ LL | fn cdecl_ptr(f: extern "cdecl" fn()) {
    = note: `#[warn(unsupported_calling_conventions)]` on by default
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:130:1
+  --> $DIR/unsupported.rs:104:1
    |
 LL | extern "cdecl" {}
    | ^^^^^^^^^^^^^^^^^
@@ -232,7 +196,7 @@ LL | extern "cdecl" {}
    = help: use `extern "C"` instead
 
 warning: "cdecl-unwind" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:133:1
+  --> $DIR/unsupported.rs:107:1
    |
 LL | extern "cdecl-unwind" {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -241,20 +205,8 @@ LL | extern "cdecl-unwind" {}
    = note: for more information, see issue #137018 <https://github.com/rust-lang/rust/issues/137018>
    = help: use `extern "C-unwind"` instead
 
-error: functions with the "riscv-interrupt-m" ABI cannot be called
-  --> $DIR/unsupported.rs:78:5
-   |
-LL |     f()
-   |     ^^^
-   |
-note: an `extern "riscv-interrupt-m"` function can only be called using inline assembly
-  --> $DIR/unsupported.rs:78:5
-   |
-LL |     f()
-   |     ^^^
-
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:122:1
+  --> $DIR/unsupported.rs:96:1
    |
 LL | extern "cdecl" fn cdecl() {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -263,6 +215,6 @@ LL | extern "cdecl" fn cdecl() {}
    = note: for more information, see issue #137018 <https://github.com/rust-lang/rust/issues/137018>
    = help: use `extern "C"` instead
 
-error: aborting due to 35 previous errors; 4 warnings emitted
+error: aborting due to 28 previous errors; 4 warnings emitted
 
 For more information about this error, try `rustc --explain E0570`.
diff --git a/tests/ui/abi/unsupported.rs b/tests/ui/abi/unsupported.rs
index 98f9ccbd78c..4bb732c94ac 100644
--- a/tests/ui/abi/unsupported.rs
+++ b/tests/ui/abi/unsupported.rs
@@ -53,41 +53,15 @@ fn aapcs_ptr(f: extern "aapcs" fn()) {
 extern "aapcs" {}
 //[x64,x64_win,i686,aarch64,riscv32,riscv64]~^ ERROR is not a supported ABI
 
-extern "msp430-interrupt" fn msp430() {}
-//~^ ERROR is not a supported ABI
-fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-//~^ ERROR is not a supported ABI
-    f()
-}
 extern "msp430-interrupt" {}
 //~^ ERROR is not a supported ABI
 
-extern "avr-interrupt" fn avr() {}
-//~^ ERROR is not a supported ABI
-fn avr_ptr(f: extern "avr-interrupt" fn()) {
-//~^ ERROR is not a supported ABI
-    f()
-}
 extern "avr-interrupt" {}
 //~^ ERROR is not a supported ABI
 
-extern "riscv-interrupt-m" fn riscv() {}
-//[x64,x64_win,i686,arm,aarch64]~^ ERROR is not a supported ABI
-fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
-    //[x64,x64_win,i686,arm,aarch64]~^ ERROR is not a supported ABI
-    f()
-    //[riscv32,riscv64]~^ ERROR functions with the "riscv-interrupt-m" ABI cannot be called
-}
 extern "riscv-interrupt-m" {}
 //[x64,x64_win,i686,arm,aarch64]~^ ERROR is not a supported ABI
 
-extern "x86-interrupt" fn x86() {}
-//[aarch64,arm,riscv32,riscv64]~^ ERROR is not a supported ABI
-fn x86_ptr(f: extern "x86-interrupt" fn()) {
-    //[aarch64,arm,riscv32,riscv64]~^ ERROR is not a supported ABI
-    f()
-    //[x64,x64_win,i686]~^ ERROR functions with the "x86-interrupt" ABI cannot be called
-}
 extern "x86-interrupt" {}
 //[aarch64,arm,riscv32,riscv64]~^ ERROR is not a supported ABI
 
diff --git a/tests/ui/abi/unsupported.x64.stderr b/tests/ui/abi/unsupported.x64.stderr
index 3888bc00a96..7b021dff7c9 100644
--- a/tests/ui/abi/unsupported.x64.stderr
+++ b/tests/ui/abi/unsupported.x64.stderr
@@ -43,77 +43,41 @@ LL | extern "aapcs" {}
 error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
   --> $DIR/unsupported.rs:56:8
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   |        ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:58:25
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                         ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:62:8
-   |
 LL | extern "msp430-interrupt" {}
    |        ^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:65:8
-   |
-LL | extern "avr-interrupt" fn avr() {}
-   |        ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:67:22
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |                      ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:71:8
+  --> $DIR/unsupported.rs:59:8
    |
 LL | extern "avr-interrupt" {}
    |        ^^^^^^^^^^^^^^^
 
 error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:74:8
-   |
-LL | extern "riscv-interrupt-m" fn riscv() {}
-   |        ^^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:76:24
-   |
-LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                        ^^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:81:8
+  --> $DIR/unsupported.rs:62:8
    |
 LL | extern "riscv-interrupt-m" {}
    |        ^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:94:8
+  --> $DIR/unsupported.rs:68:8
    |
 LL | extern "thiscall" fn thiscall() {}
    |        ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:96:27
+  --> $DIR/unsupported.rs:70:27
    |
 LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
    |                           ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:100:8
+  --> $DIR/unsupported.rs:74:8
    |
 LL | extern "thiscall" {}
    |        ^^^^^^^^^^
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:103:8
+  --> $DIR/unsupported.rs:77:8
    |
 LL | extern "stdcall" fn stdcall() {}
    |        ^^^^^^^^^
@@ -121,7 +85,7 @@ LL | extern "stdcall" fn stdcall() {}
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:107:26
+  --> $DIR/unsupported.rs:81:26
    |
 LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
    |                          ^^^^^^^^^
@@ -129,7 +93,7 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:113:8
+  --> $DIR/unsupported.rs:87:8
    |
 LL | extern "stdcall" {}
    |        ^^^^^^^^^
@@ -137,7 +101,7 @@ LL | extern "stdcall" {}
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 error[E0570]: "stdcall-unwind" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:117:8
+  --> $DIR/unsupported.rs:91:8
    |
 LL | extern "stdcall-unwind" {}
    |        ^^^^^^^^^^^^^^^^
@@ -145,55 +109,55 @@ LL | extern "stdcall-unwind" {}
    = help: if you need `extern "stdcall-unwind"` on win32 and `extern "C-unwind"` everywhere else, use `extern "system-unwind"`
 
 error[E0570]: "C-cmse-nonsecure-call" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:146:28
+  --> $DIR/unsupported.rs:120:28
    |
 LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
    |                            ^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:151:8
+  --> $DIR/unsupported.rs:125:8
    |
 LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:153:29
+  --> $DIR/unsupported.rs:127:29
    |
 LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:157:8
+  --> $DIR/unsupported.rs:131:8
    |
 LL | extern "C-cmse-nonsecure-entry" {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:167:17
+  --> $DIR/unsupported.rs:141:17
    |
 LL |     ptr: extern "thiscall" fn(),
    |                 ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:172:16
+  --> $DIR/unsupported.rs:146:16
    |
 LL |     pub extern "thiscall" fn inherent_fn(self) {
    |                ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:179:12
+  --> $DIR/unsupported.rs:153:12
    |
 LL |     extern "thiscall" fn trait_fn(self);
    |            ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:184:12
+  --> $DIR/unsupported.rs:158:12
    |
 LL |     extern "thiscall" fn trait_fn(self) {
    |            ^^^^^^^^^^
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:125:17
+  --> $DIR/unsupported.rs:99:17
    |
 LL | fn cdecl_ptr(f: extern "cdecl" fn()) {
    |                 ^^^^^^^^^^^^^^^^^^^
@@ -204,7 +168,7 @@ LL | fn cdecl_ptr(f: extern "cdecl" fn()) {
    = note: `#[warn(unsupported_calling_conventions)]` on by default
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:130:1
+  --> $DIR/unsupported.rs:104:1
    |
 LL | extern "cdecl" {}
    | ^^^^^^^^^^^^^^^^^
@@ -214,7 +178,7 @@ LL | extern "cdecl" {}
    = help: use `extern "C"` instead
 
 warning: "cdecl-unwind" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:133:1
+  --> $DIR/unsupported.rs:107:1
    |
 LL | extern "cdecl-unwind" {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -223,20 +187,8 @@ LL | extern "cdecl-unwind" {}
    = note: for more information, see issue #137018 <https://github.com/rust-lang/rust/issues/137018>
    = help: use `extern "C-unwind"` instead
 
-error: functions with the "x86-interrupt" ABI cannot be called
-  --> $DIR/unsupported.rs:88:5
-   |
-LL |     f()
-   |     ^^^
-   |
-note: an `extern "x86-interrupt"` function can only be called using inline assembly
-  --> $DIR/unsupported.rs:88:5
-   |
-LL |     f()
-   |     ^^^
-
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:122:1
+  --> $DIR/unsupported.rs:96:1
    |
 LL | extern "cdecl" fn cdecl() {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -245,6 +197,6 @@ LL | extern "cdecl" fn cdecl() {}
    = note: for more information, see issue #137018 <https://github.com/rust-lang/rust/issues/137018>
    = help: use `extern "C"` instead
 
-error: aborting due to 32 previous errors; 4 warnings emitted
+error: aborting due to 25 previous errors; 4 warnings emitted
 
 For more information about this error, try `rustc --explain E0570`.
diff --git a/tests/ui/abi/unsupported.x64_win.stderr b/tests/ui/abi/unsupported.x64_win.stderr
index d093ae86b9f..4ce5b3340d1 100644
--- a/tests/ui/abi/unsupported.x64_win.stderr
+++ b/tests/ui/abi/unsupported.x64_win.stderr
@@ -43,125 +43,89 @@ LL | extern "aapcs" {}
 error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
   --> $DIR/unsupported.rs:56:8
    |
-LL | extern "msp430-interrupt" fn msp430() {}
-   |        ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:58:25
-   |
-LL | fn msp430_ptr(f: extern "msp430-interrupt" fn()) {
-   |                         ^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "msp430-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:62:8
-   |
 LL | extern "msp430-interrupt" {}
    |        ^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:65:8
-   |
-LL | extern "avr-interrupt" fn avr() {}
-   |        ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:67:22
-   |
-LL | fn avr_ptr(f: extern "avr-interrupt" fn()) {
-   |                      ^^^^^^^^^^^^^^^
-
-error[E0570]: "avr-interrupt" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:71:8
+  --> $DIR/unsupported.rs:59:8
    |
 LL | extern "avr-interrupt" {}
    |        ^^^^^^^^^^^^^^^
 
 error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:74:8
-   |
-LL | extern "riscv-interrupt-m" fn riscv() {}
-   |        ^^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:76:24
-   |
-LL | fn riscv_ptr(f: extern "riscv-interrupt-m" fn()) {
-   |                        ^^^^^^^^^^^^^^^^^^^
-
-error[E0570]: "riscv-interrupt-m" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:81:8
+  --> $DIR/unsupported.rs:62:8
    |
 LL | extern "riscv-interrupt-m" {}
    |        ^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:94:8
+  --> $DIR/unsupported.rs:68:8
    |
 LL | extern "thiscall" fn thiscall() {}
    |        ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:96:27
+  --> $DIR/unsupported.rs:70:27
    |
 LL | fn thiscall_ptr(f: extern "thiscall" fn()) {
    |                           ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:100:8
+  --> $DIR/unsupported.rs:74:8
    |
 LL | extern "thiscall" {}
    |        ^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-call" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:146:28
+  --> $DIR/unsupported.rs:120:28
    |
 LL | fn cmse_call_ptr(f: extern "C-cmse-nonsecure-call" fn()) {
    |                            ^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:151:8
+  --> $DIR/unsupported.rs:125:8
    |
 LL | extern "C-cmse-nonsecure-entry" fn cmse_entry() {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:153:29
+  --> $DIR/unsupported.rs:127:29
    |
 LL | fn cmse_entry_ptr(f: extern "C-cmse-nonsecure-entry" fn()) {
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "C-cmse-nonsecure-entry" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:157:8
+  --> $DIR/unsupported.rs:131:8
    |
 LL | extern "C-cmse-nonsecure-entry" {}
    |        ^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:167:17
+  --> $DIR/unsupported.rs:141:17
    |
 LL |     ptr: extern "thiscall" fn(),
    |                 ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:172:16
+  --> $DIR/unsupported.rs:146:16
    |
 LL |     pub extern "thiscall" fn inherent_fn(self) {
    |                ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:179:12
+  --> $DIR/unsupported.rs:153:12
    |
 LL |     extern "thiscall" fn trait_fn(self);
    |            ^^^^^^^^^^
 
 error[E0570]: "thiscall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:184:12
+  --> $DIR/unsupported.rs:158:12
    |
 LL |     extern "thiscall" fn trait_fn(self) {
    |            ^^^^^^^^^^
 
 warning: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:107:19
+  --> $DIR/unsupported.rs:81:19
    |
 LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
    |                   ^^^^^^^^^^^^^^^^^^^^^
@@ -172,7 +136,7 @@ LL | fn stdcall_ptr(f: extern "stdcall" fn()) {
    = note: `#[warn(unsupported_calling_conventions)]` on by default
 
 warning: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:113:1
+  --> $DIR/unsupported.rs:87:1
    |
 LL | extern "stdcall" {}
    | ^^^^^^^^^^^^^^^^^^^
@@ -182,7 +146,7 @@ LL | extern "stdcall" {}
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 warning: "stdcall-unwind" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:117:1
+  --> $DIR/unsupported.rs:91:1
    |
 LL | extern "stdcall-unwind" {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -192,7 +156,7 @@ LL | extern "stdcall-unwind" {}
    = help: if you need `extern "stdcall-unwind"` on win32 and `extern "C-unwind"` everywhere else, use `extern "system-unwind"`
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:125:17
+  --> $DIR/unsupported.rs:99:17
    |
 LL | fn cdecl_ptr(f: extern "cdecl" fn()) {
    |                 ^^^^^^^^^^^^^^^^^^^
@@ -202,7 +166,7 @@ LL | fn cdecl_ptr(f: extern "cdecl" fn()) {
    = help: use `extern "C"` instead
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:130:1
+  --> $DIR/unsupported.rs:104:1
    |
 LL | extern "cdecl" {}
    | ^^^^^^^^^^^^^^^^^
@@ -212,7 +176,7 @@ LL | extern "cdecl" {}
    = help: use `extern "C"` instead
 
 warning: "cdecl-unwind" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:133:1
+  --> $DIR/unsupported.rs:107:1
    |
 LL | extern "cdecl-unwind" {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -222,7 +186,7 @@ LL | extern "cdecl-unwind" {}
    = help: use `extern "C-unwind"` instead
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:162:1
+  --> $DIR/unsupported.rs:136:1
    |
 LL | extern "cdecl" {}
    | ^^^^^^^^^^^^^^^^^
@@ -231,20 +195,8 @@ LL | extern "cdecl" {}
    = note: for more information, see issue #137018 <https://github.com/rust-lang/rust/issues/137018>
    = help: use `extern "C"` instead
 
-error: functions with the "x86-interrupt" ABI cannot be called
-  --> $DIR/unsupported.rs:88:5
-   |
-LL |     f()
-   |     ^^^
-   |
-note: an `extern "x86-interrupt"` function can only be called using inline assembly
-  --> $DIR/unsupported.rs:88:5
-   |
-LL |     f()
-   |     ^^^
-
 warning: "stdcall" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:103:1
+  --> $DIR/unsupported.rs:77:1
    |
 LL | extern "stdcall" fn stdcall() {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -254,7 +206,7 @@ LL | extern "stdcall" fn stdcall() {}
    = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
 
 warning: "cdecl" is not a supported ABI for the current target
-  --> $DIR/unsupported.rs:122:1
+  --> $DIR/unsupported.rs:96:1
    |
 LL | extern "cdecl" fn cdecl() {}
    | ^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -263,6 +215,6 @@ LL | extern "cdecl" fn cdecl() {}
    = note: for more information, see issue #137018 <https://github.com/rust-lang/rust/issues/137018>
    = help: use `extern "C"` instead
 
-error: aborting due to 28 previous errors; 9 warnings emitted
+error: aborting due to 21 previous errors; 9 warnings emitted
 
 For more information about this error, try `rustc --explain E0570`.