From f40482aa29f687b4630744457844bad7f45ec614 Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Thu, 6 Oct 2016 23:30:22 +0100 Subject: Maybe types; value, ok := maybe_value(x) --- src/codegen/codegen.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/codegen/codegen.cpp') 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); -- cgit v1.2.3