diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-09-03 18:26:10 -0400 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2019-09-03 18:26:10 -0400 |
| commit | 42cc4a406bd4d037f4203fa2ebca2853db33c780 (patch) | |
| tree | 993389ab3f52fdb62cf48366cc3fcb92737284b5 /src/analyze.cpp | |
| parent | fc0f8d0359777580c771848361166f97a85deddd (diff) | |
| parent | 18620756520d198f581b9a9acbf25c8cbb79ad11 (diff) | |
| download | zig-42cc4a406bd4d037f4203fa2ebca2853db33c780.tar.gz zig-42cc4a406bd4d037f4203fa2ebca2853db33c780.zip | |
Merge branch 'marler8997-fixSegfault'
Diffstat (limited to 'src/analyze.cpp')
| -rw-r--r-- | src/analyze.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp index 9b361baa56..188da18515 100644 --- a/src/analyze.cpp +++ b/src/analyze.cpp @@ -7687,8 +7687,13 @@ static void resolve_llvm_types_union(CodeGen *g, ZigType *union_type, ResolveSta ZigType *tag_type = union_type->data.unionation.tag_type; uint32_t gen_field_count = union_type->data.unionation.gen_field_count; if (gen_field_count == 0) { - union_type->llvm_type = get_llvm_type(g, tag_type); - union_type->llvm_di_type = get_llvm_di_type(g, tag_type); + if (tag_type == nullptr) { + union_type->llvm_type = g->builtin_types.entry_void->llvm_type; + union_type->llvm_di_type = g->builtin_types.entry_void->llvm_di_type; + } else { + union_type->llvm_type = get_llvm_type(g, tag_type); + union_type->llvm_di_type = get_llvm_di_type(g, tag_type); + } union_type->data.unionation.resolve_status = ResolveStatusLLVMFull; return; } |
