aboutsummaryrefslogtreecommitdiff
path: root/src/check_builtin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/check_builtin.cpp')
-rw-r--r--src/check_builtin.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/check_builtin.cpp b/src/check_builtin.cpp
index 57788cc19..a04302d01 100644
--- a/src/check_builtin.cpp
+++ b/src/check_builtin.cpp
@@ -749,8 +749,10 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32
return false;
}
- if (field_arg->tav.mode == Addressing_Constant && field_arg->tav.value.kind == ExactValue_String) {
- field_name = field_arg->tav.value.value_string;
+ Operand x = {};
+ check_expr(c, &x, field_arg);
+ if (x.mode == Addressing_Constant && x.value.kind == ExactValue_String) {
+ field_name = x.value.value_string;
}
if (field_name.len == 0) {
error(field_arg, "Expected a constant (non-empty) string for field argument");