aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-12-04 15:03:32 +0200
committerVeikka Tuominen <git@vexu.eu>2022-12-07 14:48:24 +0200
commit92f1a29c4082817f11e12ff58bd4fdb5fffb8608 (patch)
treeeec9d9d740422b004a0062162c4772a82a402a72 /src
parent1310ef75777209f061bfd61473db75911538b5ff (diff)
downloadzig-92f1a29c4082817f11e12ff58bd4fdb5fffb8608.tar.gz
zig-92f1a29c4082817f11e12ff58bd4fdb5fffb8608.zip
AstGen: make `@compileError` operand implicitly comptime
This matches the language reference.
Diffstat (limited to 'src')
-rw-r--r--src/AstGen.zig4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/AstGen.zig b/src/AstGen.zig
index 4e571ffda9..c9f44a6216 100644
--- a/src/AstGen.zig
+++ b/src/AstGen.zig
@@ -8455,8 +8455,12 @@ fn simpleUnOp(
operand_node: Ast.Node.Index,
tag: Zir.Inst.Tag,
) InnerError!Zir.Inst.Ref {
+ const prev_force_comptime = gz.force_comptime;
+ defer gz.force_comptime = prev_force_comptime;
+
switch (tag) {
.tag_name, .error_name, .ptr_to_int => try emitDbgNode(gz, node),
+ .compile_error => gz.force_comptime = true,
else => {},
}
const operand = try expr(gz, scope, operand_ri, operand_node);