Minor fix to call expr in tilde with variadic parameters

This commit is contained in:
gingerBill
2023-12-13 13:10:51 +00:00
parent bc99bacb21
commit e0652ee2f4
3 changed files with 2 additions and 7 deletions
+1 -2
View File
@@ -861,7 +861,6 @@ gb_internal cgValue cg_build_call_expr_internal(cgProcedure *p, Ast *expr) {
} }
GB_ASSERT(e->kind == Entity_Variable); GB_ASSERT(e->kind == Entity_Variable);
if (pt->variadic && pt->variadic_index == i) { if (pt->variadic && pt->variadic_index == i) {
cgValue variadic_args = cg_const_nil(p, e->type); cgValue variadic_args = cg_const_nil(p, e->type);
auto variadic = slice(ce->split_args->positional, pt->variadic_index, ce->split_args->positional.count); auto variadic = slice(ce->split_args->positional, pt->variadic_index, ce->split_args->positional.count);
@@ -964,8 +963,8 @@ gb_internal cgValue cg_build_call_expr_internal(cgProcedure *p, Ast *expr) {
if (pt->variadic && param_index == pt->variadic_index) { if (pt->variadic && param_index == pt->variadic_index) {
if (!is_c_vararg && args[arg_index].node == nullptr) { if (!is_c_vararg && args[arg_index].node == nullptr) {
args[arg_index++] = cg_const_nil(p, e->type); args[arg_index++] = cg_const_nil(p, e->type);
continue;
} }
continue;
} }
cgValue arg = args[arg_index]; cgValue arg = args[arg_index];
+1 -1
View File
@@ -24,7 +24,7 @@ gb_internal TB_Node *cg_control_region(cgProcedure *p, char const *name) {
} }
gb_internal cgValue cg_emit_load(cgProcedure *p, cgValue const &ptr, bool is_volatile) { gb_internal cgValue cg_emit_load(cgProcedure *p, cgValue const &ptr, bool is_volatile) {
GB_ASSERT(is_type_pointer(ptr.type)); GB_ASSERT_MSG(is_type_pointer(ptr.type), "%s", type_to_string(ptr.type));
Type *type = type_deref(ptr.type); Type *type = type_deref(ptr.type);
TB_DataType dt = cg_data_type(type); TB_DataType dt = cg_data_type(type);
-4
View File
@@ -119,10 +119,6 @@ gb_internal u64 cg_typeid_as_u64(cgModule *m, Type *type) {
data |= (reserved &~ (1ull<<1)) << 63ull; // reserved data |= (reserved &~ (1ull<<1)) << 63ull; // reserved
} }
if (type == t_string) {
gb_printf_err("%llu\n", data);
}
return data; return data;
} }