Skip to content

Conversation

@antoyo
Copy link
Contributor

@antoyo antoyo commented Nov 28, 2025

Since GCC is not multi-target, we need multiple libgccjit.so. Our solution to have a directory per target so that we can have multiple libgccjit.so.

r? @Kobzol

Since GCC is not multi-target, we need multiple libgccjit.so.
Our solution to have a directory per target so that we can have multiple
libgccjit.so.
@rustbot
Copy link
Collaborator

rustbot commented Nov 28, 2025

This PR changes how GCC is built. Consider updating src/bootstrap/download-ci-gcc-stamp.

Some changes occurred in compiler/rustc_codegen_gcc

cc @antoyo, @GuillaumeGomez

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Nov 28, 2025
@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Nov 28, 2025
@rustbot
Copy link
Collaborator

rustbot commented Nov 28, 2025

Kobzol is not on the review rotation at the moment.
They may take a while to respond.

@rust-log-analyzer

This comment has been minimized.

let dst = directory.join(target_filename);
let dest_dir = directory.join(self.target);
t!(fs::create_dir_all(&dest_dir));
let dst = dest_dir.join(target_filename);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should be in lib/rustlib/$target/lib, not lib/$target. Putting it in the latter would cause /usr/lib to contain both x86_64-linux-gnu (from the distro itself) and x86_64-unknown-linux-gnu (from rustc, containing just libgccjit.so) when installing rustc system wide.

@rust-log-analyzer

This comment has been minimized.

@rustbot
Copy link
Collaborator

rustbot commented Nov 28, 2025

This PR modifies tests/ui/issues/. If this PR is adding new tests to tests/ui/issues/,
please refrain from doing so, and instead add it to more descriptive subdirectories.

@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
1 error: function pointer types may not have generic parameters
-   --> $DIR/generics.rs:14:40
+   --> $DIR/generics.rs:15:40
3    |
4 LL |     f1: extern "cmse-nonsecure-call" fn<U: Copy>(U, u32, u32, u32) -> u64,
5    |                                        ^^^^^^^^^

6 
7 error[E0412]: cannot find type `U` in this scope
-   --> $DIR/generics.rs:14:50
---
25 error[E0562]: `impl Trait` is not allowed in `fn` pointer parameters
-   --> $DIR/generics.rs:17:41
+   --> $DIR/generics.rs:18:41
27    |
28 LL |     f2: extern "cmse-nonsecure-call" fn(impl Copy, u32, u32, u32) -> impl Copy,
29    |                                         ^^^^^^^^^

31    = note: `impl Trait` is only allowed in arguments and return types of functions and methods
32 
33 error[E0562]: `impl Trait` is not allowed in `fn` pointer return types
-   --> $DIR/generics.rs:17:70
+   --> $DIR/generics.rs:18:70
35    |
36 LL |     f2: extern "cmse-nonsecure-call" fn(impl Copy, u32, u32, u32) -> impl Copy,
37    |                                                                      ^^^^^^^^^

39    = note: `impl Trait` is only allowed in arguments and return types of functions and methods
40 
41 error[E0562]: `impl Trait` is not allowed in `fn` pointer parameters
-   --> $DIR/generics.rs:20:42
+   --> $DIR/generics.rs:21:42
43    |
44 LL |     f3: extern "cmse-nonsecure-call" fn((impl Copy, u32), u32, u32, u32) -> (impl Copy, u32),
45    |                                          ^^^^^^^^^

47    = note: `impl Trait` is only allowed in arguments and return types of functions and methods
48 
49 error[E0562]: `impl Trait` is not allowed in `fn` pointer return types
-   --> $DIR/generics.rs:20:78
+   --> $DIR/generics.rs:21:78
51    |
52 LL |     f3: extern "cmse-nonsecure-call" fn((impl Copy, u32), u32, u32, u32) -> (impl Copy, u32),
53    |                                                                              ^^^^^^^^^

55    = note: `impl Trait` is only allowed in arguments and return types of functions and methods
56 
57 error[E0798]: generics are not allowed in `extern "cmse-nonsecure-call"` signatures
-   --> $DIR/generics.rs:23:41
+   --> $DIR/generics.rs:24:41
59    |
60 LL |     f4: extern "cmse-nonsecure-call" fn(T, u32, u32, u32) -> u64,
61    |                                         ^

62 
63 error[E0798]: generics are not allowed in `extern "cmse-nonsecure-call"` signatures
-   --> $DIR/generics.rs:24:41
+   --> $DIR/generics.rs:25:41
65    |
66 LL |     f5: extern "cmse-nonsecure-call" fn(Wrapper<T>, u32, u32, u32) -> u64,
67    |                                         ^^^^^^^^^^

68 
69 error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/generics.rs:30:71
+   --> $DIR/generics.rs:31:71
71    |
72 LL | type WithTraitObject = extern "cmse-nonsecure-call" fn(&dyn Trait) -> &dyn Trait;
73    |                                                                       ^^^^^^^^^^ this type doesn't fit in the available registers

76    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
77 
78 error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/generics.rs:34:60
+   --> $DIR/generics.rs:35:60
80    |
81 LL |     extern "cmse-nonsecure-call" fn(&'static dyn Trait) -> &'static dyn Trait;
82    |                                                            ^^^^^^^^^^^^^^^^^^ this type doesn't fit in the available registers

85    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
86 
87 error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/generics.rs:41:60
+   --> $DIR/generics.rs:42:60
89    |
90 LL |     extern "cmse-nonsecure-call" fn(WrapperTransparent) -> WrapperTransparent;
91    |                                                            ^^^^^^^^^^^^^^^^^^ this type doesn't fit in the available registers

94    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
95 
96 error[E0045]: C-variadic functions with the "cmse-nonsecure-call" calling convention are not supported
-   --> $DIR/generics.rs:44:20
+   --> $DIR/generics.rs:45:20
98    |
99 LL | type WithVarArgs = extern "cmse-nonsecure-call" fn(u32, ...);
100    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C-variadic function must have a compatible calling convention

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:15:40
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:15:50
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:18:41
---
To only update this specific test, also pass `--test-args cmse-nonsecure/cmse-nonsecure-call/generics.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/generics" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "thumbv8m.main-none-eabi" "--crate-type" "lib" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/generics/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error: function pointer types may not have generic parameters
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:15:40
   |
LL |     f1: extern "cmse-nonsecure-call" fn<U: Copy>(U, u32, u32, u32) -> u64,
   |                                        ^^^^^^^^^

error[E0412]: cannot find type `U` in this scope
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:15:50
   |
LL | struct Test<T: Copy> {
   |             - similarly named type parameter `T` defined here
LL |     f1: extern "cmse-nonsecure-call" fn<U: Copy>(U, u32, u32, u32) -> u64,
   |                                                  ^
   |
help: a type parameter with a similar name exists
   |
LL -     f1: extern "cmse-nonsecure-call" fn<U: Copy>(U, u32, u32, u32) -> u64,
LL +     f1: extern "cmse-nonsecure-call" fn<U: Copy>(T, u32, u32, u32) -> u64,
   |
help: you might be missing a type parameter
   |
LL | struct Test<T: Copy, U> {
   |                    +++

error[E0562]: `impl Trait` is not allowed in `fn` pointer parameters
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:18:41
   |
LL |     f2: extern "cmse-nonsecure-call" fn(impl Copy, u32, u32, u32) -> impl Copy,
   |                                         ^^^^^^^^^
   |
   = note: `impl Trait` is only allowed in arguments and return types of functions and methods

error[E0562]: `impl Trait` is not allowed in `fn` pointer return types
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:18:70
   |
LL |     f2: extern "cmse-nonsecure-call" fn(impl Copy, u32, u32, u32) -> impl Copy,
   |                                                                      ^^^^^^^^^
   |
   = note: `impl Trait` is only allowed in arguments and return types of functions and methods

error[E0562]: `impl Trait` is not allowed in `fn` pointer parameters
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:21:42
   |
LL |     f3: extern "cmse-nonsecure-call" fn((impl Copy, u32), u32, u32, u32) -> (impl Copy, u32),
   |                                          ^^^^^^^^^
   |
   = note: `impl Trait` is only allowed in arguments and return types of functions and methods

error[E0562]: `impl Trait` is not allowed in `fn` pointer return types
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:21:78
   |
LL |     f3: extern "cmse-nonsecure-call" fn((impl Copy, u32), u32, u32, u32) -> (impl Copy, u32),
   |                                                                              ^^^^^^^^^
   |
   = note: `impl Trait` is only allowed in arguments and return types of functions and methods

error[E0798]: generics are not allowed in `extern "cmse-nonsecure-call"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:24:41
   |
LL |     f4: extern "cmse-nonsecure-call" fn(T, u32, u32, u32) -> u64, //~ ERROR [E0798]
   |                                         ^

error[E0798]: generics are not allowed in `extern "cmse-nonsecure-call"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:25:41
   |
LL |     f5: extern "cmse-nonsecure-call" fn(Wrapper<T>, u32, u32, u32) -> u64, //~ ERROR [E0798]
   |                                         ^^^^^^^^^^

error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:31:71
   |
LL | type WithTraitObject = extern "cmse-nonsecure-call" fn(&dyn Trait) -> &dyn Trait;
   |                                                                       ^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:35:60
   |
LL |     extern "cmse-nonsecure-call" fn(&'static dyn Trait) -> &'static dyn Trait;
   |                                                            ^^^^^^^^^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:42:60
   |
LL |     extern "cmse-nonsecure-call" fn(WrapperTransparent) -> WrapperTransparent;
   |                                                            ^^^^^^^^^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0045]: C-variadic functions with the "cmse-nonsecure-call" calling convention are not supported
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs:45:20
   |
LL | type WithVarArgs = extern "cmse-nonsecure-call" fn(u32, ...);
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C-variadic function must have a compatible calling convention

error: aborting due to 12 previous errors

Some errors have detailed explanations: E0045, E0412, E0562, E0798.
For more information about an error, try `rustc --explain E0045`.
------------------------------------------

---- [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-call/generics.rs stdout end ----
---- [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack/params-via-stack.stderr`
diff of stderr:

1 error[E0798]: arguments for `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/params-via-stack.rs:16:64
+   --> $DIR/params-via-stack.rs:17:64
3    |
4 LL |     f1: extern "cmse-nonsecure-call" fn(u32, u32, u32, u32, x: u32, y: u32),
5    |                                                                ^^^     ^^^ does not fit in the available registers

9    = note: functions with the `"cmse-nonsecure-call"` ABI must pass all their arguments via the 4 32-bit argument registers
10 
11 error[E0798]: arguments for `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/params-via-stack.rs:17:61
+   --> $DIR/params-via-stack.rs:18:61
13    |
14 LL |     f2: extern "cmse-nonsecure-call" fn(u32, u32, u32, u16, u16),
15    |                                                             ^^^ does not fit in the available registers

17    = note: functions with the `"cmse-nonsecure-call"` ABI must pass all their arguments via the 4 32-bit argument registers
18 
19 error[E0798]: arguments for `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/params-via-stack.rs:18:51
+   --> $DIR/params-via-stack.rs:19:51
21    |
22 LL |     f3: extern "cmse-nonsecure-call" fn(u32, u64, u32),
23    |                                                   ^^^ does not fit in the available registers

25    = note: functions with the `"cmse-nonsecure-call"` ABI must pass all their arguments via the 4 32-bit argument registers
26 
27 error[E0798]: arguments for `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/params-via-stack.rs:19:56
+   --> $DIR/params-via-stack.rs:20:56
29    |
30 LL |     f4: extern "cmse-nonsecure-call" fn(AlignRelevant, u32),
31    |                                                        ^^^ does not fit in the available registers

33    = note: functions with the `"cmse-nonsecure-call"` ABI must pass all their arguments via the 4 32-bit argument registers
34 
35 error[E0798]: arguments for `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/params-via-stack.rs:20:41
+   --> $DIR/params-via-stack.rs:21:41
37    |
38 LL |     f5: extern "cmse-nonsecure-call" fn([u32; 5]),
39    |                                         ^^^^^^^^ does not fit in the available registers

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack.rs:17:64
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack.rs:18:61
---
To only update this specific test, also pass `--test-args cmse-nonsecure/cmse-nonsecure-call/params-via-stack.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "thumbv8m.main-none-eabi" "--crate-type" "lib" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error[E0798]: arguments for `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack.rs:17:64
   |
LL |     f1: extern "cmse-nonsecure-call" fn(u32, u32, u32, u32, x: u32, y: u32), //~ ERROR [E0798]
   |                                                                ^^^     ^^^ does not fit in the available registers
   |                                                                |
   |                                                                does not fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass all their arguments via the 4 32-bit argument registers

error[E0798]: arguments for `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack.rs:18:61
   |
LL |     f2: extern "cmse-nonsecure-call" fn(u32, u32, u32, u16, u16),            //~ ERROR [E0798]
   |                                                             ^^^ does not fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass all their arguments via the 4 32-bit argument registers

error[E0798]: arguments for `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack.rs:19:51
   |
LL |     f3: extern "cmse-nonsecure-call" fn(u32, u64, u32),                      //~ ERROR [E0798]
   |                                                   ^^^ does not fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass all their arguments via the 4 32-bit argument registers

error[E0798]: arguments for `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack.rs:20:56
   |
LL |     f4: extern "cmse-nonsecure-call" fn(AlignRelevant, u32),                 //~ ERROR [E0798]
   |                                                        ^^^ does not fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass all their arguments via the 4 32-bit argument registers

error[E0798]: arguments for `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack.rs:21:41
   |
LL |     f5: extern "cmse-nonsecure-call" fn([u32; 5]),                           //~ ERROR [E0798]
   |                                         ^^^^^^^^ does not fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass all their arguments via the 4 32-bit argument registers

error: aborting due to 5 previous errors

For more information about this error, try `rustc --explain E0798`.
------------------------------------------

---- [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-call/params-via-stack.rs stdout end ----
---- [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack/return-via-stack.stderr`
diff of stderr:

1 error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:36:48
+   --> $DIR/return-via-stack.rs:37:48
3    |
4 LL |     u128: extern "cmse-nonsecure-call" fn() -> u128,
5    |                                                ^^^^ this type doesn't fit in the available registers

8    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
9 
10 error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:37:48
+   --> $DIR/return-via-stack.rs:38:48
12    |
13 LL |     i128: extern "cmse-nonsecure-call" fn() -> i128,
14    |                                                ^^^^ this type doesn't fit in the available registers

17    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
18 
19 error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:26:46
+   --> $DIR/return-via-stack.rs:27:46
21    |
22 LL |     f1: extern "cmse-nonsecure-call" fn() -> ReprCU64,
23    |                                              ^^^^^^^^ this type doesn't fit in the available registers

26    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
27 
28 error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:27:46
+   --> $DIR/return-via-stack.rs:28:46
30    |
31 LL |     f2: extern "cmse-nonsecure-call" fn() -> ReprCBytes,
32    |                                              ^^^^^^^^^^ this type doesn't fit in the available registers

35    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
36 
37 error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:28:46
+   --> $DIR/return-via-stack.rs:29:46
39    |
40 LL |     f3: extern "cmse-nonsecure-call" fn() -> U64Compound,
41    |                                              ^^^^^^^^^^^ this type doesn't fit in the available registers

44    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
45 
46 error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:29:46
+   --> $DIR/return-via-stack.rs:30:46
48    |
49 LL |     f4: extern "cmse-nonsecure-call" fn() -> ReprCAlign16,
50    |                                              ^^^^^^^^^^^^ this type doesn't fit in the available registers

53    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
54 
55 error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:30:46
+   --> $DIR/return-via-stack.rs:31:46
57    |
58 LL |     f5: extern "cmse-nonsecure-call" fn() -> [u8; 5],
59    |                                              ^^^^^^^ this type doesn't fit in the available registers

62    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
63 
64 error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:52:46
+   --> $DIR/return-via-stack.rs:53:46
66    |
67 LL |     f1: extern "cmse-nonsecure-call" fn() -> ReprRustUnionU64,
68    |                                              ^^^^^^^^^^^^^^^^ this type doesn't fit in the available registers

71    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
72 
73 error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:53:46
+   --> $DIR/return-via-stack.rs:54:46
75    |
76 LL |     f2: extern "cmse-nonsecure-call" fn() -> ReprCUnionU64,
77    |                                              ^^^^^^^^^^^^^ this type doesn't fit in the available registers

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs:37:48
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs:38:48
---
To only update this specific test, also pass `--test-args cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "thumbv8m.main-none-eabi" "--crate-type" "lib" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs:37:48
   |
LL |     u128: extern "cmse-nonsecure-call" fn() -> u128, //~ ERROR [E0798]
   |                                                ^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs:38:48
   |
LL |     i128: extern "cmse-nonsecure-call" fn() -> i128, //~ ERROR [E0798]
   |                                                ^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs:27:46
   |
LL |     f1: extern "cmse-nonsecure-call" fn() -> ReprCU64, //~ ERROR [E0798]
   |                                              ^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs:28:46
   |
LL |     f2: extern "cmse-nonsecure-call" fn() -> ReprCBytes, //~ ERROR [E0798]
   |                                              ^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs:29:46
   |
LL |     f3: extern "cmse-nonsecure-call" fn() -> U64Compound, //~ ERROR [E0798]
   |                                              ^^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs:30:46
   |
LL |     f4: extern "cmse-nonsecure-call" fn() -> ReprCAlign16, //~ ERROR [E0798]
   |                                              ^^^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs:31:46
   |
LL |     f5: extern "cmse-nonsecure-call" fn() -> [u8; 5],  //~ ERROR [E0798]
   |                                              ^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs:53:46
   |
LL |     f1: extern "cmse-nonsecure-call" fn() -> ReprRustUnionU64, //~ ERROR [E0798]
   |                                              ^^^^^^^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-call"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/return-via-stack.rs:54:46
   |
LL |     f2: extern "cmse-nonsecure-call" fn() -> ReprCUnionU64,    //~ ERROR [E0798]
   |                                              ^^^^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-call"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error: aborting due to 9 previous errors

For more information about this error, try `rustc --explain E0798`.
------------------------------------------
---
1 error[E0261]: use of undeclared lifetime name `'a`
-   --> $DIR/undeclared-lifetime.rs:15:43
+   --> $DIR/undeclared-lifetime.rs:16:43
3    |
4 LL |     id::<extern "cmse-nonsecure-call" fn(&'a ())>(PhantomData);
5    |                                           ^^ undeclared lifetime

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/undeclared-lifetime.rs:16:43
+   --> $DIR/undeclared-lifetime.rs:16:43


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args cmse-nonsecure/cmse-nonsecure-call/undeclared-lifetime.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/undeclared-lifetime.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "-C" "incremental=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/undeclared-lifetime/undeclared-lifetime.inc" "-Z" "incremental-verify-ich" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/undeclared-lifetime" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "thumbv8m.main-none-eabi" "--crate-type" "lib" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/undeclared-lifetime/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error[E0261]: use of undeclared lifetime name `'a`
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/undeclared-lifetime.rs:16:43
   |
LL |     id::<extern "cmse-nonsecure-call" fn(&'a ())>(PhantomData);
   |                                           ^^ undeclared lifetime
   |
   = note: for more information on higher-ranked polymorphism, visit https://doc.rust-lang.org/nomicon/hrtb.html
help: consider making the type lifetime-generic with a new `'a` lifetime
   |
LL |     id::<for<'a> extern "cmse-nonsecure-call" fn(&'a ())>(PhantomData);
   |          +++++++
help: consider introducing lifetime `'a` here
   |
LL | fn foo<'a>() {
   |       ++++
---
To only update this specific test, also pass `--test-args cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "thumbv8m.main-none-eabi" "--crate-type" "lib" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error[E0781]: the `"cmse-nonsecure-call"` ABI is only allowed on function pointers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-1.rs:11:1
   |
LL | pub extern "cmse-nonsecure-call" fn test() {} //~ ERROR [E0781]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0781`.
---
To only update this specific test, also pass `--test-args cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "thumbv8m.main-none-eabi" "--crate-type" "lib" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error[E0781]: the `"cmse-nonsecure-call"` ABI is only allowed on function pointers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-call/wrong-abi-location-2.rs:11:1
   |
LL | / extern "cmse-nonsecure-call" { //~ ERROR [E0781]
LL | |     fn test();
LL | | }
   | |_^

error: aborting due to 1 previous error
---
---- [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic/c-variadic.stderr`
diff of stderr:

1 error: `...` is not supported for `extern "cmse-nonsecure-entry"` functions
-   --> $DIR/c-variadic.rs:14:60
+   --> $DIR/c-variadic.rs:15:60
3    |
4 LL | unsafe extern "cmse-nonsecure-entry" fn c_variadic(_: u32, _: ...) {
5    |        -----------------------------                       ^^^^^^

9    = help: only `extern "C"` and `extern "C-unwind"` functions may have a C variable argument list
10 
11 error: functions cannot be both `async` and C-variadic
-   --> $DIR/c-variadic.rs:19:1
+   --> $DIR/c-variadic.rs:20:1
13    |
14 LL | async unsafe extern "cmse-nonsecure-entry" fn async_and_c_variadic(_: ...) {
15    | ^^^^^ `async` because of this                                      ^^^^^^ C-variadic because of this

16 
17 error: `...` is not supported for `extern "cmse-nonsecure-entry"` functions
-   --> $DIR/c-variadic.rs:19:68
+   --> $DIR/c-variadic.rs:20:68
19    |
20 LL | async unsafe extern "cmse-nonsecure-entry" fn async_and_c_variadic(_: ...) {
21    |              -----------------------------                         ^^^^^^

25    = help: only `extern "C"` and `extern "C-unwind"` functions may have a C variable argument list
26 
27 error[E0798]: `impl Trait` is not allowed in `extern "cmse-nonsecure-entry"` signatures
-   --> $DIR/c-variadic.rs:25:1
+   --> $DIR/c-variadic.rs:26:1
29    |
30 LL | async unsafe extern "cmse-nonsecure-entry" fn async_is_not_allowed() {
31    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs:15:60
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs:20:1
---
To only update this specific test, also pass `--test-args cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--edition=2018" "--target" "thumbv8m.main-none-eabi" "--crate-type" "lib" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error: `...` is not supported for `extern "cmse-nonsecure-entry"` functions
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs:15:60
   |
LL | unsafe extern "cmse-nonsecure-entry" fn c_variadic(_: u32, _: ...) {
   |        -----------------------------                       ^^^^^^
   |        |
   |        `extern "cmse-nonsecure-entry"` because of this
   |
   = help: only `extern "C"` and `extern "C-unwind"` functions may have a C variable argument list

error: functions cannot be both `async` and C-variadic
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs:20:1
   |
LL | async unsafe extern "cmse-nonsecure-entry" fn async_and_c_variadic(_: ...) {
   | ^^^^^ `async` because of this                                      ^^^^^^ C-variadic because of this

error: `...` is not supported for `extern "cmse-nonsecure-entry"` functions
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs:20:68
   |
LL | async unsafe extern "cmse-nonsecure-entry" fn async_and_c_variadic(_: ...) {
   |              -----------------------------                         ^^^^^^
   |              |
   |              `extern "cmse-nonsecure-entry"` because of this
   |
   = help: only `extern "C"` and `extern "C-unwind"` functions may have a C variable argument list

error[E0798]: `impl Trait` is not allowed in `extern "cmse-nonsecure-entry"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs:26:1
   |
LL | async unsafe extern "cmse-nonsecure-entry" fn async_is_not_allowed() {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0798`.
------------------------------------------

---- [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-entry/c-variadic.rs stdout end ----
---- [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-entry/generics/generics.stderr`
diff of stderr:

1 error[E0798]: generics are not allowed in `extern "cmse-nonsecure-entry"` signatures
-   --> $DIR/generics.rs:31:8
+   --> $DIR/generics.rs:32:8
3    |
4 LL |     _: U,
5    |        ^

6 
7 error[E0798]: generics are not allowed in `extern "cmse-nonsecure-entry"` signatures
-   --> $DIR/generics.rs:64:48
+   --> $DIR/generics.rs:65:48
9    |
10 LL | extern "cmse-nonsecure-entry" fn impl_trait(_: impl Copy, _: u32, _: u32, _: u32) -> u64 {
11    |                                                ^^^^^^^^^

12 
13 error[E0798]: generics are not allowed in `extern "cmse-nonsecure-entry"` signatures
-   --> $DIR/generics.rs:79:57
+   --> $DIR/generics.rs:80:57
15    |
16 LL | extern "cmse-nonsecure-entry" fn identity_impl_trait(v: impl Copy) -> impl Copy {
17    |                                                         ^^^^^^^^^

18 
19 error[E0798]: `impl Trait` is not allowed in `extern "cmse-nonsecure-entry"` signatures
-   --> $DIR/generics.rs:79:71
+   --> $DIR/generics.rs:80:71
21    |
22 LL | extern "cmse-nonsecure-entry" fn identity_impl_trait(v: impl Copy) -> impl Copy {
23    |                                                                       ^^^^^^^^^

24 
25 error[E0798]: generics are not allowed in `extern "cmse-nonsecure-entry"` signatures
-   --> $DIR/generics.rs:86:8
+   --> $DIR/generics.rs:87:8
27    |
28 LL |     v: (impl Copy, i32),
29    |        ^^^^^^^^^^^^^^^^

30 
31 error[E0798]: `impl Trait` is not allowed in `extern "cmse-nonsecure-entry"` signatures
-   --> $DIR/generics.rs:88:6
+   --> $DIR/generics.rs:89:6
33    |
34 LL | ) -> (impl Copy, i32) {
35    |      ^^^^^^^^^^^^^^^^

36 
37 error[E0798]: generics are not allowed in `extern "cmse-nonsecure-entry"` signatures
-   --> $DIR/generics.rs:14:57
+   --> $DIR/generics.rs:15:57
39    |
40 LL |     extern "cmse-nonsecure-entry" fn ambient_generic(_: T, _: u32, _: u32, _: u32) -> u64 {
41    |                                                         ^

42 
43 error[E0798]: generics are not allowed in `extern "cmse-nonsecure-entry"` signatures
-   --> $DIR/generics.rs:20:12
+   --> $DIR/generics.rs:21:12
45    |
46 LL |         _: Wrapper<T>,
47    |            ^^^^^^^^^^

48 
49 error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/generics.rs:46:65
+   --> $DIR/generics.rs:47:65
51    |
52 LL | extern "cmse-nonsecure-entry" fn trait_object(x: &dyn Trait) -> &dyn Trait {
53    |                                                                 ^^^^^^^^^^ this type doesn't fit in the available registers

56    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
57 
58 error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/generics.rs:51:80
+   --> $DIR/generics.rs:52:80
60    |
61 LL | extern "cmse-nonsecure-entry" fn static_trait_object(x: &'static dyn Trait) -> &'static dyn Trait {
62    |                                                                                ^^^^^^^^^^^^^^^^^^ this type doesn't fit in the available registers

65    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
66 
67 error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/generics.rs:59:81
+   --> $DIR/generics.rs:60:81
69    |
70 LL | extern "cmse-nonsecure-entry" fn wrapped_trait_object(x: WrapperTransparent) -> WrapperTransparent {
71    |                                                                                 ^^^^^^^^^^^^^^^^^^ this type doesn't fit in the available registers

74    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
75 
76 error[E0798]: `impl Trait` is not allowed in `extern "cmse-nonsecure-entry"` signatures
-   --> $DIR/generics.rs:69:57
+   --> $DIR/generics.rs:70:57
78    |
79 LL | extern "cmse-nonsecure-entry" fn return_impl_trait() -> impl Copy {
80    |                                                         ^^^^^^^^^

81 
82 error[E0798]: `impl Trait` is not allowed in `extern "cmse-nonsecure-entry"` signatures
-   --> $DIR/generics.rs:74:64
+   --> $DIR/generics.rs:75:64
84    |
85 LL | extern "cmse-nonsecure-entry" fn return_impl_trait_nested() -> (impl Copy, i32) {
86    |                                                                ^^^^^^^^^^^^^^^^

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:32:8
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:65:48
---
To only update this specific test, also pass `--test-args cmse-nonsecure/cmse-nonsecure-entry/generics.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-entry/generics" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "thumbv8m.main-none-eabi" "--crate-type" "lib" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-entry/generics/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error[E0798]: generics are not allowed in `extern "cmse-nonsecure-entry"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:32:8
   |
LL |     _: U,
   |        ^

error[E0798]: generics are not allowed in `extern "cmse-nonsecure-entry"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:65:48
   |
LL | extern "cmse-nonsecure-entry" fn impl_trait(_: impl Copy, _: u32, _: u32, _: u32) -> u64 {
   |                                                ^^^^^^^^^

error[E0798]: generics are not allowed in `extern "cmse-nonsecure-entry"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:80:57
   |
LL | extern "cmse-nonsecure-entry" fn identity_impl_trait(v: impl Copy) -> impl Copy {
   |                                                         ^^^^^^^^^

error[E0798]: `impl Trait` is not allowed in `extern "cmse-nonsecure-entry"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:80:71
   |
LL | extern "cmse-nonsecure-entry" fn identity_impl_trait(v: impl Copy) -> impl Copy {
   |                                                                       ^^^^^^^^^

error[E0798]: generics are not allowed in `extern "cmse-nonsecure-entry"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:87:8
   |
LL |     v: (impl Copy, i32),
   |        ^^^^^^^^^^^^^^^^

error[E0798]: `impl Trait` is not allowed in `extern "cmse-nonsecure-entry"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:89:6
   |
LL | ) -> (impl Copy, i32) {
   |      ^^^^^^^^^^^^^^^^

error[E0798]: generics are not allowed in `extern "cmse-nonsecure-entry"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:15:57
   |
LL |     extern "cmse-nonsecure-entry" fn ambient_generic(_: T, _: u32, _: u32, _: u32) -> u64 {
   |                                                         ^

error[E0798]: generics are not allowed in `extern "cmse-nonsecure-entry"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:21:12
   |
LL |         _: Wrapper<T>,
   |            ^^^^^^^^^^

error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:47:65
   |
LL | extern "cmse-nonsecure-entry" fn trait_object(x: &dyn Trait) -> &dyn Trait {
   |                                                                 ^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:52:80
   |
LL | extern "cmse-nonsecure-entry" fn static_trait_object(x: &'static dyn Trait) -> &'static dyn Trait {
   |                                                                                ^^^^^^^^^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:60:81
   |
LL | extern "cmse-nonsecure-entry" fn wrapped_trait_object(x: WrapperTransparent) -> WrapperTransparent {
   |                                                                                 ^^^^^^^^^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: `impl Trait` is not allowed in `extern "cmse-nonsecure-entry"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:70:57
   |
LL | extern "cmse-nonsecure-entry" fn return_impl_trait() -> impl Copy {
   |                                                         ^^^^^^^^^

error[E0798]: `impl Trait` is not allowed in `extern "cmse-nonsecure-entry"` signatures
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs:75:64
   |
LL | extern "cmse-nonsecure-entry" fn return_impl_trait_nested() -> (impl Copy, i32) {
   |                                                                ^^^^^^^^^^^^^^^^

error: aborting due to 13 previous errors

For more information about this error, try `rustc --explain E0798`.
------------------------------------------

---- [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-entry/generics.rs stdout end ----
---- [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack/params-via-stack.stderr`
diff of stderr:

1 error[E0798]: arguments for `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/params-via-stack.rs:15:76
+   --> $DIR/params-via-stack.rs:16:76
3    |
4 LL | pub extern "cmse-nonsecure-entry" fn f1(_: u32, _: u32, _: u32, _: u32, _: u32, _: u32) {}
5    |                                                                            ^^^     ^^^ does not fit in the available registers

9    = note: functions with the `"cmse-nonsecure-entry"` ABI must pass all their arguments via the 4 32-bit argument registers
10 
11 error[E0798]: arguments for `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/params-via-stack.rs:17:76
+   --> $DIR/params-via-stack.rs:18:76
13    |
14 LL | pub extern "cmse-nonsecure-entry" fn f2(_: u32, _: u32, _: u32, _: u16, _: u16) {}
15    |                                                                            ^^^ does not fit in the available registers

17    = note: functions with the `"cmse-nonsecure-entry"` ABI must pass all their arguments via the 4 32-bit argument registers
18 
19 error[E0798]: arguments for `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/params-via-stack.rs:19:60
+   --> $DIR/params-via-stack.rs:20:60
21    |
22 LL | pub extern "cmse-nonsecure-entry" fn f3(_: u32, _: u64, _: u32) {}
23    |                                                            ^^^ does not fit in the available registers

25    = note: functions with the `"cmse-nonsecure-entry"` ABI must pass all their arguments via the 4 32-bit argument registers
26 
27 error[E0798]: arguments for `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/params-via-stack.rs:21:62
+   --> $DIR/params-via-stack.rs:22:62
29    |
30 LL | pub extern "cmse-nonsecure-entry" fn f4(_: AlignRelevant, _: u32) {}
31    |                                                              ^^^ does not fit in the available registers

33    = note: functions with the `"cmse-nonsecure-entry"` ABI must pass all their arguments via the 4 32-bit argument registers
34 
35 error[E0798]: arguments for `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/params-via-stack.rs:25:44
+   --> $DIR/params-via-stack.rs:26:44
37    |
38 LL | pub extern "cmse-nonsecure-entry" fn f5(_: [u32; 5]) {}
39    |                                            ^^^^^^^^ does not fit in the available registers

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack.rs:16:76
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack.rs:18:76
---
To only update this specific test, also pass `--test-args cmse-nonsecure/cmse-nonsecure-entry/params-via-stack.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "thumbv8m.main-none-eabi" "--crate-type" "lib" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error[E0798]: arguments for `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack.rs:16:76
   |
LL | pub extern "cmse-nonsecure-entry" fn f1(_: u32, _: u32, _: u32, _: u32, _: u32, _: u32) {} //~ ERROR [E0798]
   |                                                                            ^^^     ^^^ does not fit in the available registers
   |                                                                            |
   |                                                                            does not fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass all their arguments via the 4 32-bit argument registers

error[E0798]: arguments for `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack.rs:18:76
   |
LL | pub extern "cmse-nonsecure-entry" fn f2(_: u32, _: u32, _: u32, _: u16, _: u16) {} //~ ERROR [E0798]
   |                                                                            ^^^ does not fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass all their arguments via the 4 32-bit argument registers

error[E0798]: arguments for `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack.rs:20:60
   |
LL | pub extern "cmse-nonsecure-entry" fn f3(_: u32, _: u64, _: u32) {} //~ ERROR [E0798]
   |                                                            ^^^ does not fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass all their arguments via the 4 32-bit argument registers

error[E0798]: arguments for `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack.rs:22:62
   |
LL | pub extern "cmse-nonsecure-entry" fn f4(_: AlignRelevant, _: u32) {} //~ ERROR [E0798]
   |                                                              ^^^ does not fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass all their arguments via the 4 32-bit argument registers

error[E0798]: arguments for `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack.rs:26:44
   |
LL | pub extern "cmse-nonsecure-entry" fn f5(_: [u32; 5]) {} //~ ERROR [E0798]
   |                                            ^^^^^^^^ does not fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass all their arguments via the 4 32-bit argument registers

error: aborting due to 5 previous errors

For more information about this error, try `rustc --explain E0798`.
------------------------------------------

---- [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-entry/params-via-stack.rs stdout end ----
---- [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack/return-via-stack.stderr`
diff of stderr:

1 error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:24:46
+   --> $DIR/return-via-stack.rs:25:46
3    |
4 LL | pub extern "cmse-nonsecure-entry" fn f1() -> ReprCU64 {
5    |                                              ^^^^^^^^ this type doesn't fit in the available registers

8    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
9 
10 error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:29:46
+   --> $DIR/return-via-stack.rs:30:46
12    |
13 LL | pub extern "cmse-nonsecure-entry" fn f2() -> ReprCBytes {
14    |                                              ^^^^^^^^^^ this type doesn't fit in the available registers

17    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
18 
19 error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:34:46
+   --> $DIR/return-via-stack.rs:35:46
21    |
22 LL | pub extern "cmse-nonsecure-entry" fn f3() -> U64Compound {
23    |                                              ^^^^^^^^^^^ this type doesn't fit in the available registers

26    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
27 
28 error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:39:46
+   --> $DIR/return-via-stack.rs:40:46
30    |
31 LL | pub extern "cmse-nonsecure-entry" fn f4() -> ReprCAlign16 {
32    |                                              ^^^^^^^^^^^^ this type doesn't fit in the available registers

35    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
36 
37 error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:46:46
+   --> $DIR/return-via-stack.rs:47:46
39    |
40 LL | pub extern "cmse-nonsecure-entry" fn f5() -> [u8; 5] {
41    |                                              ^^^^^^^ this type doesn't fit in the available registers

44    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
45 
46 error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:52:48
+   --> $DIR/return-via-stack.rs:53:48
48    |
49 LL | pub extern "cmse-nonsecure-entry" fn u128() -> u128 {
50    |                                                ^^^^ this type doesn't fit in the available registers

53    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
54 
55 error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:58:48
+   --> $DIR/return-via-stack.rs:59:48
57    |
58 LL | pub extern "cmse-nonsecure-entry" fn i128() -> i128 {
59    |                                                ^^^^ this type doesn't fit in the available registers

62    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
63 
64 error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:75:54
+   --> $DIR/return-via-stack.rs:76:54
66    |
67 LL | pub extern "cmse-nonsecure-entry" fn union_rust() -> ReprRustUnionU64 {
68    |                                                      ^^^^^^^^^^^^^^^^ this type doesn't fit in the available registers

71    = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size
72 
73 error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
-   --> $DIR/return-via-stack.rs:80:51
+   --> $DIR/return-via-stack.rs:81:51
75    |
76 LL | pub extern "cmse-nonsecure-entry" fn union_c() -> ReprCUnionU64 {
77    |                                                   ^^^^^^^^^^^^^ this type doesn't fit in the available registers

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs:25:46
-   --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs:30:46
---
To only update this specific test, also pass `--test-args cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "thumbv8m.main-none-eabi" "--crate-type" "lib" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs:25:46
   |
LL | pub extern "cmse-nonsecure-entry" fn f1() -> ReprCU64 {
   |                                              ^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs:30:46
   |
LL | pub extern "cmse-nonsecure-entry" fn f2() -> ReprCBytes {
   |                                              ^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs:35:46
   |
LL | pub extern "cmse-nonsecure-entry" fn f3() -> U64Compound {
   |                                              ^^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs:40:46
   |
LL | pub extern "cmse-nonsecure-entry" fn f4() -> ReprCAlign16 {
   |                                              ^^^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs:47:46
   |
LL | pub extern "cmse-nonsecure-entry" fn f5() -> [u8; 5] {
   |                                              ^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs:53:48
   |
LL | pub extern "cmse-nonsecure-entry" fn u128() -> u128 {
   |                                                ^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs:59:48
   |
LL | pub extern "cmse-nonsecure-entry" fn i128() -> i128 {
   |                                                ^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs:76:54
   |
LL | pub extern "cmse-nonsecure-entry" fn union_rust() -> ReprRustUnionU64 {
   |                                                      ^^^^^^^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error[E0798]: return value of `"cmse-nonsecure-entry"` function too large to pass via registers
##[error]  --> /checkout/tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs:81:51
   |
LL | pub extern "cmse-nonsecure-entry" fn union_c() -> ReprCUnionU64 {
   |                                                   ^^^^^^^^^^^^^ this type doesn't fit in the available registers
   |
   = note: functions with the `"cmse-nonsecure-entry"` ABI must pass their result via the available return registers
   = note: the result must either be a (transparently wrapped) i64, u64 or f64, or be at most 4 bytes in size

error: aborting due to 9 previous errors

For more information about this error, try `rustc --explain E0798`.
------------------------------------------

---- [ui] tests/ui/cmse-nonsecure/cmse-nonsecure-entry/return-via-stack.rs stdout end ----
---- [ui] tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/feature-gates/feature-gate-abi-msp430-interrupt/feature-gate-abi-msp430-interrupt.stderr`
diff of stderr:

1 error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
-   --> $DIR/feature-gate-abi-msp430-interrupt.rs:10:8
+   --> $DIR/feature-gate-abi-msp430-interrupt.rs:11:8
3    |
4 LL | extern "msp430-interrupt" fn f() {}
5    |        ^^^^^^^^^^^^^^^^^^

9    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
10 
11 error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
-   --> $DIR/feature-gate-abi-msp430-interrupt.rs:14:12
+   --> $DIR/feature-gate-abi-msp430-interrupt.rs:15:12
13    |
14 LL |     extern "msp430-interrupt" fn m();
15    |            ^^^^^^^^^^^^^^^^^^

19    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
20 
21 error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
-   --> $DIR/feature-gate-abi-msp430-interrupt.rs:17:12
+   --> $DIR/feature-gate-abi-msp430-interrupt.rs:18:12
23    |
24 LL |     extern "msp430-interrupt" fn dm() {}
25    |            ^^^^^^^^^^^^^^^^^^

29    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
30 
31 error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
-   --> $DIR/feature-gate-abi-msp430-interrupt.rs:23:12
+   --> $DIR/feature-gate-abi-msp430-interrupt.rs:24:12
33    |
34 LL |     extern "msp430-interrupt" fn m() {}
35    |            ^^^^^^^^^^^^^^^^^^

39    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
40 
41 error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
-   --> $DIR/feature-gate-abi-msp430-interrupt.rs:28:12
+   --> $DIR/feature-gate-abi-msp430-interrupt.rs:29:12
43    |
44 LL |     extern "msp430-interrupt" fn im() {}
45    |            ^^^^^^^^^^^^^^^^^^

49    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
50 
51 error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
-   --> $DIR/feature-gate-abi-msp430-interrupt.rs:32:18
+   --> $DIR/feature-gate-abi-msp430-interrupt.rs:33:18
53    |
54 LL | type TA = extern "msp430-interrupt" fn();
55    |                  ^^^^^^^^^^^^^^^^^^

59    = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
60 
61 error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
-   --> $DIR/feature-gate-abi-msp430-interrupt.rs:35:8
+   --> $DIR/feature-gate-abi-msp430-interrupt.rs:36:8
63    |
64 LL | extern "msp430-interrupt" {}
65    |        ^^^^^^^^^^^^^^^^^^

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs:11:8
-   --> /checkout/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs:15:12
---
To only update this specific test, also pass `--test-args feature-gates/feature-gate-abi-msp430-interrupt.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/feature-gates/feature-gate-abi-msp430-interrupt" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target=msp430-none-elf" "--crate-type=rlib" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/feature-gates/feature-gate-abi-msp430-interrupt/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
##[error]  --> /checkout/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs:11:8
   |
LL | extern "msp430-interrupt" fn f() {}
   |        ^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #38487 <https://github.com/rust-lang/rust/issues/38487> for more information
   = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
##[error]  --> /checkout/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs:15:12
   |
LL |     extern "msp430-interrupt" fn m();
   |            ^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #38487 <https://github.com/rust-lang/rust/issues/38487> for more information
   = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
##[error]  --> /checkout/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs:18:12
   |
LL |     extern "msp430-interrupt" fn dm() {}
   |            ^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #38487 <https://github.com/rust-lang/rust/issues/38487> for more information
   = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
##[error]  --> /checkout/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs:24:12
   |
LL |     extern "msp430-interrupt" fn m() {}
   |            ^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #38487 <https://github.com/rust-lang/rust/issues/38487> for more information
   = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
##[error]  --> /checkout/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs:29:12
   |
LL |     extern "msp430-interrupt" fn im() {}
   |            ^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #38487 <https://github.com/rust-lang/rust/issues/38487> for more information
   = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
##[error]  --> /checkout/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs:33:18
   |
LL | type TA = extern "msp430-interrupt" fn();
   |                  ^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #38487 <https://github.com/rust-lang/rust/issues/38487> for more information
   = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error[E0658]: the extern "msp430-interrupt" ABI is experimental and subject to change
##[error]  --> /checkout/tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs:36:8
   |
LL | extern "msp430-interrupt" {}
   |        ^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #38487 <https://github.com/rust-lang/rust/issues/38487> for more information
   = help: add `#![feature(abi_msp430_interrupt)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date

error: aborting due to 7 previous errors

For more information about this error, try `rustc --explain E0658`.
------------------------------------------

---- [ui] tests/ui/feature-gates/feature-gate-abi-msp430-interrupt.rs stdout end ----
---- [ui] tests/ui/force-inlining/asm.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/force-inlining/asm/asm.stderr`
diff of stderr:

1 error: `instruction_set_a32` could not be inlined into `t32` but is required to be inlined
-   --> $DIR/asm.rs:45:5
+   --> $DIR/asm.rs:46:5
3    |
4 LL |     instruction_set_a32();
5    |     ^^^^^^^^^^^^^^^^^^^^^ ...`instruction_set_a32` called here

7    = note: could not be inlined due to: incompatible instruction set
8 
9 error: `inline_always_and_using_inline_asm` could not be inlined into `t32` but is required to be inlined
-   --> $DIR/asm.rs:49:5
+   --> $DIR/asm.rs:50:5
11    |
12 LL |     inline_always_and_using_inline_asm();
13    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...`inline_always_and_using_inline_asm` called here

15    = note: could not be inlined due to: cannot move inline-asm across instruction sets
16 
17 error: `instruction_set_a32` could not be inlined into `default` but is required to be inlined
-   --> $DIR/asm.rs:54:5
+   --> $DIR/asm.rs:55:5
19    |
20 LL |     instruction_set_a32();
21    |     ^^^^^^^^^^^^^^^^^^^^^ ...`instruction_set_a32` called here

23    = note: could not be inlined due to: incompatible instruction set
24 
25 error: `instruction_set_t32` could not be inlined into `default` but is required to be inlined
-   --> $DIR/asm.rs:56:5
+   --> $DIR/asm.rs:57:5
27    |
28 LL |     instruction_set_t32();
29    |     ^^^^^^^^^^^^^^^^^^^^^ ...`instruction_set_t32` called here

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/force-inlining/asm.rs:46:5
-   --> /checkout/tests/ui/force-inlining/asm.rs:50:5
-   --> /checkout/tests/ui/force-inlining/asm.rs:55:5
---
To only update this specific test, also pass `--test-args force-inlining/asm.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/force-inlining/asm.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/force-inlining/asm" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--crate-type=lib" "--target" "thumbv4t-none-eabi" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/force-inlining/asm/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error: `instruction_set_a32` could not be inlined into `t32` but is required to be inlined
##[error]  --> /checkout/tests/ui/force-inlining/asm.rs:46:5
   |
LL |     instruction_set_a32();
   |     ^^^^^^^^^^^^^^^^^^^^^ ...`instruction_set_a32` called here
   |
   = note: could not be inlined due to: incompatible instruction set

error: `inline_always_and_using_inline_asm` could not be inlined into `t32` but is required to be inlined
##[error]  --> /checkout/tests/ui/force-inlining/asm.rs:50:5
   |
LL |     inline_always_and_using_inline_asm();
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...`inline_always_and_using_inline_asm` called here
   |
   = note: could not be inlined due to: cannot move inline-asm across instruction sets

error: `instruction_set_a32` could not be inlined into `default` but is required to be inlined
##[error]  --> /checkout/tests/ui/force-inlining/asm.rs:55:5
   |
LL |     instruction_set_a32();
   |     ^^^^^^^^^^^^^^^^^^^^^ ...`instruction_set_a32` called here
   |
   = note: could not be inlined due to: incompatible instruction set

error: `instruction_set_t32` could not be inlined into `default` but is required to be inlined
##[error]  --> /checkout/tests/ui/force-inlining/asm.rs:57:5
   |
LL |     instruction_set_t32();
   |     ^^^^^^^^^^^^^^^^^^^^^ ...`instruction_set_t32` called here
   |
   = note: could not be inlined due to: incompatible instruction set

error: aborting due to 4 previous errors
------------------------------------------
---
5 LL | |

15    = note: `#[warn(unsupported_calling_conventions)]` (part of `#[warn(future_incompatible)]`) on by default
16 
17 error: ABI not supported by `#[link(kind = "raw-dylib")]` on this architecture
-   --> $DIR/unsupported-abi.rs:16:5
+   --> $DIR/unsupported-abi.rs:17:5
19    |
20 LL |     fn f(x: i32);
21    |     ^^^^^^^^^^^^^
---
To only update this specific test, also pass `--test-args linkage-attr/raw-dylib/windows/unsupported-abi.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/linkage-attr/raw-dylib/windows/unsupported-abi.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/linkage-attr/raw-dylib/windows/unsupported-abi" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target" "x86_64-pc-windows-msvc" "--crate-type" "lib" "--emit" "link" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/linkage-attr/raw-dylib/windows/unsupported-abi/libminicore.rlib"
stdout: none
--- stderr -------------------------------
warning: "stdcall" is not a supported ABI for the current target
##[warning]  --> /checkout/tests/ui/linkage-attr/raw-dylib/windows/unsupported-abi.rs:14:1
   |
LL | / extern "stdcall" {
LL | | //~^ WARN: unsupported_calling_conventions
LL | | //~| WARN: previously accepted
LL | |     fn f(x: i32);
LL | |     //~^ ERROR ABI not supported by `#[link(kind = "raw-dylib")]` on this architecture
LL | | }
   | |_^
   |
   = 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 #137018 <https://github.com/rust-lang/rust/issues/137018>
   = help: if you need `extern "stdcall"` on win32 and `extern "C"` everywhere else, use `extern "system"`
   = note: `#[warn(unsupported_calling_conventions)]` (part of `#[warn(future_incompatible)]`) on by default

error: ABI not supported by `#[link(kind = "raw-dylib")]` on this architecture
##[error]  --> /checkout/tests/ui/linkage-attr/raw-dylib/windows/unsupported-abi.rs:17:5
   |
LL |     fn f(x: i32);
   |     ^^^^^^^^^^^^^

error: aborting due to 1 previous error; 1 warning emitted
------------------------------------------

---- [ui] tests/ui/linkage-attr/raw-dylib/windows/unsupported-abi.rs stdout end ----
---- [ui] tests/ui/repr/repr_align_greater_usize.rs#msp430 stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/repr/repr_align_greater_usize.msp430/repr_align_greater_usize.msp430.stderr`
diff of stderr:

1 error[E0589]: alignment must not be greater than `isize::MAX` bytes
-   --> $DIR/repr_align_greater_usize.rs:22:8
+   --> $DIR/repr_align_greater_usize.rs:23:8
---
The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args repr/repr_align_greater_usize.rs`

error in revision `msp430`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/repr/repr_align_greater_usize.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--cfg" "msp430" "--check-cfg" "cfg(test,FALSE,msp430,aarch32)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/repr/repr_align_greater_usize.msp430" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--target=msp430-none-elf" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/repr/repr_align_greater_usize.msp430/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error[E0589]: alignment must not be greater than `isize::MAX` bytes
##[error]  --> /checkout/tests/ui/repr/repr_align_greater_usize.rs:23:8
   |
LL | #[repr(align(32768))] //[msp430]~ ERROR alignment must not be greater than `isize::MAX`
   |        ^^^^^^^^^^^^
   |
   = note: `isize::MAX` is 32767 for the current target

error[E0589]: alignment must not be greater than `isize::MAX` bytes
##[error]  --> /checkout/tests/ui/repr/repr_align_greater_usize.rs:26:8
   |
LL | #[repr(align(65536))] //[msp430]~ ERROR alignment must not be greater than `isize::MAX`
   |        ^^^^^^^^^^^^
   |
   = note: `isize::MAX` is 32767 for the current target

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0589`.
------------------------------------------

---- [ui] tests/ui/repr/repr_align_greater_usize.rs#msp430 stdout end ----
---- [ui] tests/ui/target-feature/abi-incompatible-target-feature-attribute-fcw.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/target-feature/abi-incompatible-target-feature-attribute-fcw/abi-incompatible-target-feature-attribute-fcw.stderr`
diff of stderr:

1 error: enabling the `neon` target feature on the current target is unsound due to ABI issues
-   --> $DIR/abi-incompatible-target-feature-attribute-fcw.rs:12:18
+   --> $DIR/abi-incompatible-target-feature-attribute-fcw.rs:13:18
3    |
4 LL | #[target_feature(enable = "neon")]
5    |                  ^^^^^^^^^^^^^^^

7    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
8    = note: for more information, see issue #134375 <https://github.com/rust-lang/rust/issues/134375>
9 note: the lint level is defined here
---
18 error: enabling the `neon` target feature on the current target is unsound due to ABI issues
-   --> $DIR/abi-incompatible-target-feature-attribute-fcw.rs:12:18
+   --> $DIR/abi-incompatible-target-feature-attribute-fcw.rs:13:18
20    |
21 LL | #[target_feature(enable = "neon")]
22    |                  ^^^^^^^^^^^^^^^

24    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
25    = note: for more information, see issue #134375 <https://github.com/rust-lang/rust/issues/134375>
26 note: the lint level is defined here
---
To only update this specific test, also pass `--test-args target-feature/abi-incompatible-target-feature-attribute-fcw.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/target-feature/abi-incompatible-target-feature-attribute-fcw.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/target-feature/abi-incompatible-target-feature-attribute-fcw" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Cpanic=abort" "-Cforce-unwind-tables=yes" "--crate-type=lib" "--target=aarch64-unknown-none-softfloat" "--extern" "minicore=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/target-feature/abi-incompatible-target-feature-attribute-fcw/libminicore.rlib"
stdout: none
--- stderr -------------------------------
error: enabling the `neon` target feature on the current target is unsound due to ABI issues
##[error]  --> /checkout/tests/ui/target-feature/abi-incompatible-target-feature-attribute-fcw.rs:13:18
   |
LL | #[target_feature(enable = "neon")]
   |                  ^^^^^^^^^^^^^^^
   |
   = 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 #134375 <https://github.com/rust-lang/rust/issues/134375>
note: the lint level is defined here
---
Future incompatibility report: Future breakage diagnostic:
error: enabling the `neon` target feature on the current target is unsound due to ABI issues
##[error]  --> /checkout/tests/ui/target-feature/abi-incompatible-target-feature-attribute-fcw.rs:13:18
   |
LL | #[target_feature(enable = "neon")]
   |                  ^^^^^^^^^^^^^^^
   |
   = 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 #134375 <https://github.com/rust-lang/rust/issues/134375>
note: the lint level is defined here

@antoyo
Copy link
Contributor Author

antoyo commented Nov 28, 2025

@bjorn3: Is there any way to bless the UI tests for Aarch64 from an x86 computer?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants