aboutsummaryrefslogtreecommitdiff
path: root/src/stage1/analyze.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/stage1/analyze.cpp')
-rw-r--r--src/stage1/analyze.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/stage1/analyze.cpp b/src/stage1/analyze.cpp
index 2fe4410027..9e0c0d5df8 100644
--- a/src/stage1/analyze.cpp
+++ b/src/stage1/analyze.cpp
@@ -1453,7 +1453,12 @@ Error type_val_resolve_abi_align(CodeGen *g, AstNode *source_node, ZigValue *typ
case LazyValueIdArrayType: {
LazyValueArrayType *lazy_array_type =
reinterpret_cast<LazyValueArrayType *>(type_val->data.x_lazy);
- return type_val_resolve_abi_align(g, source_node, lazy_array_type->elem_type->value, abi_align);
+
+ if (lazy_array_type->length + (lazy_array_type->sentinel != nullptr) != 0)
+ return type_val_resolve_abi_align(g, source_node, lazy_array_type->elem_type->value, abi_align);
+
+ *abi_align = 0;
+ return ErrorNone;
}
case LazyValueIdErrUnionType: {
LazyValueErrUnionType *lazy_err_union_type =