This commit is contained in:
gingerBill
2022-04-14 15:09:03 +01:00
parent 51db46551e
commit 8a9f7fc684
2 changed files with 5 additions and 3 deletions
+4 -1
View File
@@ -8161,7 +8161,10 @@ ExprKind check_compound_literal(CheckerContext *c, Operand *o, Ast *node, Type *
case Type_Basic: { case Type_Basic: {
if (!is_type_any(t)) { if (!is_type_any(t)) {
if (cl->elems.count != 0) { if (cl->elems.count != 0) {
error(node, "Illegal compound literal"); gbString s = type_to_string(t);
error(node, "Illegal compound literal, %s cannot be used as a compound literal with fields", s);
gb_string_free(s);
is_constant = false;
} }
break; break;
} }
+1 -2
View File
@@ -591,6 +591,7 @@ failure:
i32 exact_value_order(ExactValue const &v) { i32 exact_value_order(ExactValue const &v) {
switch (v.kind) { switch (v.kind) {
case ExactValue_Invalid: case ExactValue_Invalid:
case ExactValue_Compound:
return 0; return 0;
case ExactValue_Bool: case ExactValue_Bool:
case ExactValue_String: case ExactValue_String:
@@ -607,8 +608,6 @@ i32 exact_value_order(ExactValue const &v) {
return 6; return 6;
case ExactValue_Procedure: case ExactValue_Procedure:
return 7; return 7;
// case ExactValue_Compound:
// return 8;
default: default:
GB_PANIC("How'd you get here? Invalid Value.kind %d", v.kind); GB_PANIC("How'd you get here? Invalid Value.kind %d", v.kind);