aboutsummaryrefslogtreecommitdiff
path: root/src/arch/wasm/CodeGen.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-03-04 16:20:31 -0500
committerGitHub <noreply@github.com>2023-03-04 16:20:31 -0500
commite7f128c2051b086cdb1c03da041745b560bbaa3e (patch)
tree89d06ee67639dfa0260c5beabc344fb33099df0d /src/arch/wasm/CodeGen.zig
parentc9d990d79083f117564837f762c3e225d7fbc5cf (diff)
parent4eb3f50fcf6fcfb6b8013571be00b9eeeb909833 (diff)
downloadzig-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.zig7
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, &.{});
}