diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-03-04 16:20:31 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-04 16:20:31 -0500 |
| commit | e7f128c2051b086cdb1c03da041745b560bbaa3e (patch) | |
| tree | 89d06ee67639dfa0260c5beabc344fb33099df0d /src/codegen/c.zig | |
| parent | c9d990d79083f117564837f762c3e225d7fbc5cf (diff) | |
| parent | 4eb3f50fcf6fcfb6b8013571be00b9eeeb909833 (diff) | |
| download | zig-e7f128c2051b086cdb1c03da041745b560bbaa3e.tar.gz zig-e7f128c2051b086cdb1c03da041745b560bbaa3e.zip | |
Merge pull request #14782 from r00ster91/trap
add `@trap` builtin
Diffstat (limited to 'src/codegen/c.zig')
| -rw-r--r-- | src/codegen/c.zig | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig index cf428d4bd6..c0585c3a4a 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -2741,6 +2741,7 @@ fn genBodyInner(f: *Function, body: []const Air.Inst.Index) error{ AnalysisFail, .const_ty => unreachable, // excluded from function bodies .arg => try airArg(f, inst), + .trap => try airTrap(f.object.writer()), .breakpoint => try airBreakpoint(f.object.writer()), .ret_addr => try airRetAddr(f, inst), .frame_addr => try airFrameAddress(f, inst), @@ -4428,6 +4429,11 @@ fn airBitcast(f: *Function, inst: Air.Inst.Index) !CValue { return local; } +fn airTrap(writer: anytype) !CValue { + try writer.writeAll("zig_trap();\n"); + return .none; +} + fn airBreakpoint(writer: anytype) !CValue { try writer.writeAll("zig_breakpoint();\n"); return .none; |
