gingerBill 7 years ago
parent
commit
82057f08ce
2 changed files with 4 additions and 2 deletions
  1. 3 1
      src/ir.cpp
  2. 1 1
      src/parser.cpp

+ 3 - 1
src/ir.cpp

@@ -1626,9 +1626,11 @@ irValue *ir_emit_call(irProcedure *p, irValue *value, irValue **args, isize arg_
 		context_ptr = ir_find_or_generate_context_ptr(p);
 	}
 
+	bool is_c_vararg = pt->Proc.c_vararg;
 	isize param_count = pt->Proc.param_count;
-	if (pt->Proc.c_vararg) {
+	if (is_c_vararg) {
 		GB_ASSERT(param_count-1 <= arg_count);
+		param_count -= 1;
 	} else {
 		GB_ASSERT_MSG(param_count == arg_count, "%td == %td", param_count, arg_count);
 	}

+ 1 - 1
src/parser.cpp

@@ -3965,7 +3965,7 @@ AstNode *parse_switch_stmt(AstFile *f) {
 	body = ast_block_stmt(f, list, open, close);
 
 	if (!is_type_match) {
-		tag = convert_stmt_to_expr(f, tag, str_lit("match expression"));
+		tag = convert_stmt_to_expr(f, tag, str_lit("switch expression"));
 		return ast_switch_stmt(f, token, init, tag, body);
 	} else {
 		return ast_type_switch_stmt(f, token, tag, body);