aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2019-12-28 23:07:54 +0000
committergingerBill <bill@gingerbill.org>2019-12-28 23:07:54 +0000
commit267ae0b4a2121a339984d026ca778ca414867751 (patch)
tree58bda3f661f0cd510de36436f53e9ba997399be8 /src/check_expr.cpp
parent1bc6e6a7ccc0f6f7c62d9eadd8ec9b71c8645725 (diff)
Disallow enumerated array literals without `field = value`
Diffstat (limited to 'src/check_expr.cpp')
-rw-r--r--src/check_expr.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp
index a8f6d613b..fa92604ee 100644
--- a/src/check_expr.cpp
+++ b/src/check_expr.cpp
@@ -8128,6 +8128,8 @@ ExprKind check_expr_base_internal(CheckerContext *c, Operand *o, Ast *node, Type
if (cl->elems.count > 0 && cl->elems[0]->kind != Ast_FieldValue) {
if (0 < max && max < t->EnumeratedArray.count) {
error(node, "Expected %lld values for this enumerated array literal, got %lld", cast(long long)t->EnumeratedArray.count, cast(long long)max);
+ } else {
+ error(node, "Enumerated array literals must only have 'field = value' elements, bare elements are not allowed");
}
}