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/arch/wasm/CodeGen.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/arch/wasm/CodeGen.zig')
| -rw-r--r-- | src/arch/wasm/CodeGen.zig | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/arch/wasm/CodeGen.zig b/src/arch/wasm/CodeGen.zig index 5cd6c95690..e79129ddb8 100644 --- a/src/arch/wasm/CodeGen.zig +++ b/src/arch/wasm/CodeGen.zig @@ -1827,6 +1827,7 @@ fn genInst(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { .arg => func.airArg(inst), .bitcast => func.airBitcast(inst), .block => func.airBlock(inst), + .trap => func.airTrap(inst), .breakpoint => func.airBreakpoint(inst), .br => func.airBr(inst), .bool_to_int => func.airBoolToInt(inst), @@ -3287,9 +3288,15 @@ fn airNot(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { func.finishAir(inst, result, &.{ty_op.operand}); } +fn airTrap(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { + try func.addTag(.@"unreachable"); + func.finishAir(inst, .none, &.{}); +} + fn airBreakpoint(func: *CodeGen, inst: Air.Inst.Index) InnerError!void { // unsupported by wasm itfunc. Can be implemented once we support DWARF // for wasm + try func.addTag(.@"unreachable"); func.finishAir(inst, .none, &.{}); } |
