diff options
| author | mlugg <mlugg@mlugg.co.uk> | 2023-04-14 22:32:31 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-04-23 13:16:42 -0700 |
| commit | 35d82d31be3d2f2611049f41dc2616f898d70871 (patch) | |
| tree | 9dfb2332aca1201afb67aea6bf83a9e77bf05c9f /src/Sema.zig | |
| parent | 42ee364e7b698822a69cba4cd2bda17868657e05 (diff) | |
| download | zig-35d82d31be3d2f2611049f41dc2616f898d70871.tar.gz zig-35d82d31be3d2f2611049f41dc2616f898d70871.zip | |
Add `@inComptime` builtin
Resolves: #868
Diffstat (limited to 'src/Sema.zig')
| -rw-r--r-- | src/Sema.zig | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Sema.zig b/src/Sema.zig index 4deb2b0f29..00d511149a 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -1166,6 +1166,7 @@ fn analyzeBodyInner( .work_item_id => try sema.zirWorkItem( block, extended, extended.opcode), .work_group_size => try sema.zirWorkItem( block, extended, extended.opcode), .work_group_id => try sema.zirWorkItem( block, extended, extended.opcode), + .in_comptime => try sema.zirInComptime( block), // zig fmt: on .fence => { @@ -22466,6 +22467,18 @@ fn zirWorkItem( }); } +fn zirInComptime( + sema: *Sema, + block: *Block, +) CompileError!Air.Inst.Ref { + _ = sema; + if (block.is_comptime) { + return Air.Inst.Ref.bool_true; + } else { + return Air.Inst.Ref.bool_false; + } +} + fn requireRuntimeBlock(sema: *Sema, block: *Block, src: LazySrcLoc, runtime_src: ?LazySrcLoc) !void { if (block.is_comptime) { const msg = msg: { |
