소스 검색

Correct `offset_of_by_string`

gingerBill 4 년 전
부모
커밋
647fee31f8
1개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      src/check_builtin.cpp

+ 4 - 2
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");