diff options
Diffstat (limited to 'src/codegen/codegen.cpp')
| -rw-r--r-- | src/codegen/codegen.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/codegen/codegen.cpp b/src/codegen/codegen.cpp index bb9b999ee..a843da551 100644 --- a/src/codegen/codegen.cpp +++ b/src/codegen/codegen.cpp @@ -389,6 +389,11 @@ void ssa_gen_tree(ssaGen *s) { ssaValue *gep = get_type_info_ptr(proc, type_info_data, t->Pointer.elem); ssa_emit_store(proc, ssa_emit_struct_gep(proc, tag, v_zero32, t_type_info_ptr_ptr), gep); } break; + case Type_Maybe: { + tag = ssa_add_local_generated(proc, t_type_info_maybe); + ssaValue *gep = get_type_info_ptr(proc, type_info_data, t->Maybe.elem); + ssa_emit_store(proc, ssa_emit_struct_gep(proc, tag, v_zero32, t_type_info_ptr_ptr), gep); + } break; case Type_Array: { tag = ssa_add_local_generated(proc, t_type_info_array); ssaValue *gep = get_type_info_ptr(proc, type_info_data, t->Array.elem); |