فهرست منبع

Merge branch 'master' into windows-llvm-13.0.0

gingerBill 2 سال پیش
والد
کامیت
e67947b371
1فایلهای تغییر یافته به همراه12 افزوده شده و 5 حذف شده
  1. 12 5
      src/check_expr.cpp

+ 12 - 5
src/check_expr.cpp

@@ -6800,14 +6800,21 @@ gb_internal ExprKind check_call_expr(CheckerContext *c, Operand *operand, Ast *c
 				operand->type = t_invalid;
 			}
 		} else {
-			gbString str = type_to_string(t);
-			defer (gb_string_free(str));
-
 			operand->mode = Addressing_Invalid;
 			isize arg_count = args.count;
 			switch (arg_count) {
-			case 0:  error(call, "Missing argument in conversion to '%s'", str);   break;
-			default: error(call, "Too many arguments in conversion to '%s'", str); break;
+			case 0:
+				{
+					gbString str = type_to_string(t);
+					error(call, "Missing argument in conversion to '%s'", str);
+					gb_string_free(str);
+				} break;
+			default:
+				{
+					gbString str = type_to_string(t);
+					error(call, "Too many arguments in conversion to '%s'", str);
+					gb_string_free(str);
+				} break;
 			case 1: {
 				Ast *arg = args[0];
 				if (arg->kind == Ast_FieldValue) {