aboutsummaryrefslogtreecommitdiff
path: root/test/cases/compile_errors/unreachable_in_naked_func.zig
blob: d732c5939503f44aa284cae5722437fb33d270cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
fn runtimeSafetyDefault() callconv(.Naked) void {
    unreachable;
}

fn runtimeSafetyOn() callconv(.Naked) void {
    @setRuntimeSafety(true);
    unreachable;
}

fn runtimeSafetyOff() callconv(.Naked) void {
    @setRuntimeSafety(false);
    unreachable;
}

comptime {
    _ = &runtimeSafetyDefault;
    _ = &runtimeSafetyOn;
    _ = &runtimeSafetyOff;
}

// error
// backend=stage2
// target=native
//
// :2:5: error: runtime safety check not allowed in naked function
// :2:5: note: use @setRuntimeSafety to disable runtime safety
// :2:5: note: the end of a naked function is implicitly unreachable
// :7:5: error: runtime safety check not allowed in naked function
// :7:5: note: use @setRuntimeSafety to disable runtime safety
// :7:5: note: the end of a naked function is implicitly unreachable