aboutsummaryrefslogtreecommitdiff
path: root/src/checker/expr.cpp
diff options
context:
space:
mode:
authorGinger Bill <bill@gingerbill.org>2016-09-30 23:34:32 +0100
committerGinger Bill <bill@gingerbill.org>2016-09-30 23:34:32 +0100
commit17ab23f1f06ed11602c883dd5fce406fd10637db (patch)
tree821059c168ebb59f853a86f77d471128c1c14138 /src/checker/expr.cpp
parentc6aac264fa8001ff5e55e5ac6f56289ff0a755ee (diff)
Const Aggregate Literals for IR; Module path fix
Diffstat (limited to 'src/checker/expr.cpp')
-rw-r--r--src/checker/expr.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/checker/expr.cpp b/src/checker/expr.cpp
index 9e2db6544..6f9957408 100644
--- a/src/checker/expr.cpp
+++ b/src/checker/expr.cpp
@@ -3372,7 +3372,7 @@ ExprKind check__expr_base(Checker *c, Operand *o, AstNode *node, Type *type_hint
} break;
- // case Type_Slice:
+ case Type_Slice:
case Type_Array:
case Type_Vector:
{
@@ -3392,7 +3392,11 @@ ExprKind check__expr_base(Checker *c, Operand *o, AstNode *node, Type *type_hint
i64 max = 0;
isize index = 0;
- for (; index < gb_array_count(cl->elems); index++) {
+ isize elem_count = 0;
+ if (cl->elems != NULL) {
+ elem_count = gb_array_count(cl->elems);
+ }
+ for (; index < elem_count; index++) {
AstNode *e = cl->elems[index];
if (e->kind == AstNode_FieldValue) {
error(ast_node_token(e),