1 error: asm with the `pure` option must have at least one output
2 --> $DIR/naked-functions.rs:131:14
4 LL | asm!("", options(readonly, nostack), options(pure));
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^
7 error: patterns not allowed in naked function parameters
8 --> $DIR/naked-functions.rs:18:5
13 error: patterns not allowed in naked function parameters
14 --> $DIR/naked-functions.rs:20:5
19 error: patterns not allowed in naked function parameters
20 --> $DIR/naked-functions.rs:22:6
22 LL | (None | Some(_)): Option<std::ptr::NonNull<u8>>,
25 error: patterns not allowed in naked function parameters
26 --> $DIR/naked-functions.rs:24:5
31 error: referencing function parameters is not allowed in naked functions
32 --> $DIR/naked-functions.rs:34: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:31: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:40: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:40: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:47: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:67: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:64: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:54: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:80: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:89: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:92: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:95: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:86: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:106: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:103: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:116: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:113: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:124: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:131: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:131: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:140:15
284 LL | pub unsafe fn default_abi() {
287 = note: `#[warn(undefined_naked_function_abi)]` on by default
289 warning: Rust ABI is unsupported in naked functions
290 --> $DIR/naked-functions.rs:146:29
292 LL | pub unsafe extern "Rust" fn rust_abi() {
295 warning: naked functions cannot be inlined
296 --> $DIR/naked-functions.rs:180:1
301 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
302 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
304 warning: naked functions cannot be inlined
305 --> $DIR/naked-functions.rs:188:1
307 LL | #[inline(always)]
310 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
311 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
313 warning: naked functions cannot be inlined
314 --> $DIR/naked-functions.rs:196:1
316 LL | #[inline(never)]
319 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
320 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
322 warning: naked functions cannot be inlined
323 --> $DIR/naked-functions.rs:204:1
328 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
329 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
331 warning: naked functions cannot be inlined
332 --> $DIR/naked-functions.rs:207:1
334 LL | #[inline(always)]
337 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
338 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
340 warning: naked functions cannot be inlined
341 --> $DIR/naked-functions.rs:210:1
343 LL | #[inline(never)]
346 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
347 = note: for more information, see issue #32408 <https://github.com/rust-lang/rust/issues/32408>
349 error: aborting due to 8 previous errors; 25 warnings emitted