| 1 | export fn a() callconv(.naked) noreturn { |
| 2 | var x: u32 = 10; |
| 3 | _ = &x; |
| 4 | |
| 5 | const y: u32 = x + 10; |
| 6 | _ = y; |
| 7 | } |
| 8 | |
| 9 | export fn b() callconv(.naked) noreturn { |
| 10 | var x = @as(u32, 10); |
| 11 | _ = &x; |
| 12 | |
| 13 | const y = x; |
| 14 | var z = y; |
| 15 | _ = &z; |
| 16 | } |
| 17 | |
| 18 | export fn c() callconv(.naked) noreturn { |
| 19 | const Foo = struct { |
| 20 | y: u32, |
| 21 | }; |
| 22 | |
| 23 | var x: Foo = .{ .y = 10 }; |
| 24 | _ = &x; |
| 25 | } |
| 26 | |
| 27 | export fn d() callconv(.naked) noreturn { |
| 28 | const Foo = struct { |
| 29 | inline fn bar() void { |
| 30 | var x: u32 = 10; |
| 31 | _ = &x; |
| 32 | } |
| 33 | }; |
| 34 | |
| 35 | Foo.bar(); |
| 36 | } |
| 37 | |
| 38 | // error |
| 39 | // |
| 40 | // :2:5: error: local variable in naked function |
| 41 | // :10:5: error: local variable in naked function |
| 42 | // :23:5: error: local variable in naked function |
| 43 | // :30:13: error: local variable in naked function |
| 44 | // :35:12: note: called inline here |