mirror of
https://github.com/odin-lang/Odin.git
synced 2025-12-31 10:22:08 +00:00
Fix issue #172
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user