Fix default parameter assignment checking

This commit is contained in:
gingerBill
2018-12-28 11:20:31 +00:00
parent 7c982b6e10
commit 775f1e2c95
3 changed files with 6 additions and 3 deletions
+3
View File
@@ -27,6 +27,9 @@ set :: proc "contextless" (data: rawptr, value: byte, len: int) -> rawptr {
zero :: proc "contextless" (data: rawptr, len: int) -> rawptr {
return set(data, 0, len);
}
zero_item :: proc "contextless" (item: $P/^$T) {
set(item, 0, size_of(T));
}
zero_slice :: proc "contextless" (data: $T/[]$E) {
if n := len(data); n > 0 {
zero(&data[0], size_of(E)*n);
+1 -1
View File
@@ -1327,7 +1327,7 @@ ParameterValue handle_parameter_value(CheckerContext *ctx, Type *in_type, Type *
}
if (in_type) {
check_is_assignable_to(ctx, &o, in_type);
check_assignment(ctx, &o, in_type, str_lit("parameter value"));
}
if (out_type_) *out_type_ = default_type(o.type);
+2 -2
View File
@@ -1042,7 +1042,7 @@ bool is_type_integer_endian_big(Type *t) {
} else if (t->kind == Type_BitSet) {
return is_type_integer_endian_big(bit_set_to_int(t));
} else {
GB_PANIC("Unsupported type: %s", type_to_string);
GB_PANIC("Unsupported type: %s", type_to_string(t));
}
return build_context.endian_kind == TargetEndian_Big;
}
@@ -1059,7 +1059,7 @@ bool is_type_integer_endian_little(Type *t) {
} else if (t->kind == Type_BitSet) {
return is_type_integer_endian_little(bit_set_to_int(t));
} else {
GB_PANIC("Unsupported type: %s", type_to_string);
GB_PANIC("Unsupported type: %s", type_to_string(t));
}
return build_context.endian_kind == TargetEndian_Little;
}