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"