master
1#target=x86_64-linux-selfhosted
2#target=x86_64-windows-selfhosted
3#target=x86_64-linux-cbe
4#target=x86_64-windows-cbe
5#update=initial version
6#file=main.zig
7pub fn main() !u8 {
8 var a: u8 = undefined;
9 a = 255;
10 _ = a + 1;
11 return 1;
12}
13pub const panic = std.debug.FullPanic(myPanic);
14fn myPanic(msg: []const u8, _: ?usize) noreturn {
15 var stdout_writer = std.fs.File.stdout().writerStreaming(&.{});
16 stdout_writer.interface.print("panic message: {s}\n", .{msg}) catch {};
17 std.process.exit(0);
18}
19const std = @import("std");
20#expect_stdout="panic message: integer overflow\n"
21
22#update=change the panic handler body
23#file=main.zig
24pub fn main() !u8 {
25 var a: u8 = undefined;
26 a = 255;
27 _ = a + 1;
28 return 1;
29}
30pub const panic = std.debug.FullPanic(myPanic);
31fn myPanic(msg: []const u8, _: ?usize) noreturn {
32 var stdout_writer = std.fs.File.stdout().writerStreaming(&.{});
33 stdout_writer.interface.print("new panic message: {s}\n", .{msg}) catch {};
34 std.process.exit(0);
35}
36const std = @import("std");
37#expect_stdout="new panic message: integer overflow\n"
38
39#update=change the panic handler function value
40#file=main.zig
41pub fn main() !u8 {
42 var a: u8 = undefined;
43 a = 255;
44 _ = a + 1;
45 return 1;
46}
47pub const panic = std.debug.FullPanic(myPanicNew);
48fn myPanicNew(msg: []const u8, _: ?usize) noreturn {
49 var stdout_writer = std.fs.File.stdout().writerStreaming(&.{});
50 stdout_writer.interface.print("third panic message: {s}\n", .{msg}) catch {};
51 std.process.exit(0);
52}
53const std = @import("std");
54#expect_stdout="third panic message: integer overflow\n"