mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
Minor fix to call expr in tilde with variadic parameters
This commit is contained in:
+1
-2
@@ -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
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user