1 error: asm with `pure` option must have at least one output
2 --> $DIR/naked-functions.rs:126:14
4 LL | asm!("", options(readonly, nostack), options(pure));
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^
7 error: patterns not allowed in naked function parameters
8 --> $DIR/naked-functions.rs:13:5
13 error: patterns not allowed in naked function parameters
14 --> $DIR/naked-functions.rs:15:5
19 error: patterns not allowed in naked function parameters
20 --> $DIR/naked-functions.rs:17:6
22 LL | (None | Some(_)): Option<std::ptr::NonNull<u8>>,
25 error: patterns not allowed in naked function parameters
26 --> $DIR/naked-functions.rs:19:5
31 error: referencing function parameters is not allowed in naked functions
32 --> $DIR/naked-functions.rs:29:5
37 = help: follow the calling convention in asm block to use parameters
39 warning: naked functions must contain a single asm block
40 --> $DIR/naked-functions.rs:26:1
42 LL | / pub unsafe extern "C" fn inc(a: u32) -> u32 {
46 | | ----- non-asm is unsupported in naked functions
51 = note: `#[warn(unsupported_naked_functions)]` on by default
52 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
53 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
55 error: referencing function parameters is not allowed in naked functions
56 --> $DIR/naked-functions.rs:35:31
58 LL | asm!("/* {0} */", in(reg) a, options(noreturn));
61 = help: follow the calling convention in asm block to use parameters
63 warning: only `const` and `sym` operands are supported in naked functions
64 --> $DIR/naked-functions.rs:35:23
66 LL | asm!("/* {0} */", in(reg) a, options(noreturn));
69 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
70 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
72 warning: naked functions must contain a single asm block
73 --> $DIR/naked-functions.rs:42:1
75 LL | / pub unsafe extern "C" fn inc_closure(a: u32) -> u32 {
79 | | ------------ non-asm is unsupported in naked functions
83 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
84 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
86 warning: only `const` and `sym` operands are supported in naked functions
87 --> $DIR/naked-functions.rs:62:10
92 LL | inlateout(reg) b,
101 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
102 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
104 warning: asm in naked functions must use `noreturn` option
105 --> $DIR/naked-functions.rs:59:5
107 LL | / asm!("/* {0} {1} {2} {3} {4} {5} {6} */",
116 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
117 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
119 warning: naked functions must contain a single asm block
120 --> $DIR/naked-functions.rs:49:1
122 LL | / pub unsafe extern "C" fn unsupported_operands() {
125 LL | | let mut a = 0usize;
126 | | ------------------- non-asm is unsupported in naked functions
127 LL | | let mut b = 0usize;
128 | | ------------------- non-asm is unsupported in naked functions
129 LL | | let mut c = 0usize;
130 | | ------------------- non-asm is unsupported in naked functions
131 LL | | let mut d = 0usize;
132 | | ------------------- non-asm is unsupported in naked functions
133 LL | | let mut e = 0usize;
134 | | ------------------- non-asm is unsupported in naked functions
140 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
141 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
143 warning: naked functions must contain a single asm block
144 --> $DIR/naked-functions.rs:75:1
146 LL | / pub extern "C" fn missing_assembly() {
152 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
153 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
155 warning: asm in naked functions must use `noreturn` option
156 --> $DIR/naked-functions.rs:84:5
161 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
162 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
164 warning: asm in naked functions must use `noreturn` option
165 --> $DIR/naked-functions.rs:87:5
170 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
171 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
173 warning: asm in naked functions must use `noreturn` option
174 --> $DIR/naked-functions.rs:90:5
179 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
180 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
182 warning: naked functions must contain a single asm block
183 --> $DIR/naked-functions.rs:81:1
185 LL | / pub extern "C" fn too_many_asm_blocks() {
191 | | --------- multiple asm blocks are unsupported in naked functions
194 | | --------- multiple asm blocks are unsupported in naked functions
196 LL | | asm!("", options(noreturn));
197 | | ---------------------------- multiple asm blocks are unsupported in naked functions
201 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
202 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
204 error: referencing function parameters is not allowed in naked functions
205 --> $DIR/naked-functions.rs:101:11
210 = help: follow the calling convention in asm block to use parameters
212 warning: naked functions must contain a single asm block
213 --> $DIR/naked-functions.rs:98:5
215 LL | / pub extern "C" fn inner(y: usize) -> usize {
219 | | --- non-asm is unsupported in naked functions
224 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
225 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
227 warning: the LLVM-style inline assembly is unsupported in naked functions
228 --> $DIR/naked-functions.rs:111:5
233 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
234 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
235 = help: use the new asm! syntax specified in RFC 2873
236 = note: this warning originates in the macro `llvm_asm` (in Nightly builds, run with -Z macro-backtrace for more info)
238 warning: naked functions must contain a single asm block
239 --> $DIR/naked-functions.rs:108:1
241 LL | / unsafe extern "C" fn llvm() -> ! {
244 LL | | llvm_asm!("");
246 LL | | core::hint::unreachable_unchecked();
247 | | ------------------------------------ non-asm is unsupported in naked functions
251 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
252 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
254 warning: asm options unsupported in naked functions: `nomem`, `preserves_flags`
255 --> $DIR/naked-functions.rs:119:5
257 LL | asm!("", options(nomem, preserves_flags, noreturn));
258 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
260 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
261 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
263 warning: asm options unsupported in naked functions: `nostack`, `pure`, `readonly`
264 --> $DIR/naked-functions.rs:126:5
266 LL | asm!("", options(readonly, nostack), options(pure));
267 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
269 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
270 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
272 warning: asm in naked functions must use `noreturn` option
273 --> $DIR/naked-functions.rs:126:5
275 LL | asm!("", options(readonly, nostack), options(pure));
276 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
278 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
279 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
281 warning: Rust ABI is unsupported in naked functions
282 --> $DIR/naked-functions.rs:135:15
284 LL | pub unsafe fn default_abi() {
287 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
288 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
290 warning: Rust ABI is unsupported in naked functions
291 --> $DIR/naked-functions.rs:142:29
293 LL | pub unsafe extern "Rust" fn rust_abi() {
296 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
297 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
299 warning: naked functions cannot be inlined
300 --> $DIR/naked-functions.rs:177:1
305 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
306 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
308 warning: naked functions cannot be inlined
309 --> $DIR/naked-functions.rs:185:1
311 LL | #[inline(always)]
314 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
315 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
317 warning: naked functions cannot be inlined
318 --> $DIR/naked-functions.rs:193:1
320 LL | #[inline(never)]
323 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
324 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
326 warning: naked functions cannot be inlined
327 --> $DIR/naked-functions.rs:201:1
332 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
333 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
335 warning: naked functions cannot be inlined
336 --> $DIR/naked-functions.rs:204:1
338 LL | #[inline(always)]
341 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
342 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
344 warning: naked functions cannot be inlined
345 --> $DIR/naked-functions.rs:207:1
347 LL | #[inline(never)]
350 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
351 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
353 error: aborting due to 8 previous errors; 25 warnings emitted