Add better error message for trying to dereference a multi-pointer

This commit is contained in:
gingerBill
2022-05-23 11:50:05 +01:00
parent 8c1499dbc2
commit d9f293b281

View File

@@ -9310,7 +9310,15 @@ ExprKind check_expr_base_internal(CheckerContext *c, Operand *o, Ast *node, Type
} else {
gbString str = expr_to_string(o->expr);
gbString typ = type_to_string(o->type);
begin_error_block();
error(o->expr, "Cannot dereference '%s' of type '%s'", str, typ);
if (o->type && is_type_multi_pointer(o->type)) {
error_line("\tDid you mean '%s[0]'?\n", str);
}
end_error_block();
gb_string_free(typ);
gb_string_free(str);
o->mode = Addressing_Invalid;