diff options
| author | Ginger Bill <bill@gingerbill.org> | 2016-09-30 23:34:32 +0100 |
|---|---|---|
| committer | Ginger Bill <bill@gingerbill.org> | 2016-09-30 23:34:32 +0100 |
| commit | 17ab23f1f06ed11602c883dd5fce406fd10637db (patch) | |
| tree | 821059c168ebb59f853a86f77d471128c1c14138 /src/checker/expr.cpp | |
| parent | c6aac264fa8001ff5e55e5ac6f56289ff0a755ee (diff) | |
Const Aggregate Literals for IR; Module path fix
Diffstat (limited to 'src/checker/expr.cpp')
| -rw-r--r-- | src/checker/expr.cpp | 8 |
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), |