aboutsummaryrefslogtreecommitdiff
path: root/src/AstGen.zig
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-06-30 17:22:16 +0300
committerVeikka Tuominen <git@vexu.eu>2022-07-01 10:22:25 +0300
commitae7b32eb62cb00a09fe2e0e30b307eb83e9f0a86 (patch)
treeabe5edeef5d656feb5dcf82d5a8e93db67fd2afc /src/AstGen.zig
parent3c73f711771e41e9176e973c64484f0ce5e0eeed (diff)
downloadzig-ae7b32eb62cb00a09fe2e0e30b307eb83e9f0a86.tar.gz
zig-ae7b32eb62cb00a09fe2e0e30b307eb83e9f0a86.zip
Sema: validate deref operator type and value
Diffstat (limited to 'src/AstGen.zig')
-rw-r--r--src/AstGen.zig2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/AstGen.zig b/src/AstGen.zig
index c9abb1859b..8707728313 100644
--- a/src/AstGen.zig
+++ b/src/AstGen.zig
@@ -812,6 +812,7 @@ fn expr(gz: *GenZir, scope: *Scope, rl: ResultLoc, node: Ast.Node.Index) InnerEr
.deref => {
const lhs = try expr(gz, scope, .none, node_datas[node].lhs);
+ _ = try gz.addUnTok(.validate_deref, lhs, main_tokens[node]);
switch (rl) {
.ref => return lhs,
else => {
@@ -2500,6 +2501,7 @@ fn unusedResultExpr(gz: *GenZir, scope: *Scope, statement: Ast.Node.Index) Inner
.memset,
.validate_array_init_ty,
.validate_struct_init_ty,
+ .validate_deref,
=> break :b true,
}
} else switch (maybe_unused_result) {