diff options
| author | gingerBill <bill@gingerbill.org> | 2021-10-03 12:34:01 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-10-03 12:34:01 +0100 |
| commit | 647fee31f85a277f79c74b879cf28796b34a114b (patch) | |
| tree | 43bd70452efdd1a8930e396bd89ceefa09b73b9a /src/check_builtin.cpp | |
| parent | 8af6b6fa18102144d11edae2ce639be3e6b41721 (diff) | |
Correct `offset_of_by_string`
Diffstat (limited to 'src/check_builtin.cpp')
| -rw-r--r-- | src/check_builtin.cpp | 6 |
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"); |