authorgravatar for jhc@dismail.deJimmi Holst Christensen <jhc@dismail.de> 2019-03-08 10:37:12+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-03-11 10:55:04-04:00
log8eedec4f938f89875e36750a33b69de921b453f1
tree64fd88d0bd7b72cce672771fd40213db12f4b208
parent83b79522d2c555d7bce8640f31b9ba20658cb021
signature Commit is signed but in an unrecognized format.

fixed #1600


1 files changed, 4 insertions(+), 21 deletions(-)

src/ir.cpp+4-21
......@@ -15506,13 +15506,6 @@ static IrInstruction *ir_analyze_container_field_ptr(IrAnalyze *ira, Buf *field_
1550615506 ConstExprValue *payload_val = union_val->data.x_union.payload;
1550715507
1550815508 ZigType *field_type = field->type_entry;
15509 if (field_type->id == ZigTypeIdVoid) {
15510 assert(payload_val == nullptr);
15511 payload_val = create_const_vals(1);
15512 payload_val->special = ConstValSpecialStatic;
15513 payload_val->type = field_type;
15514 }
15515
1551615509 ZigType *ptr_type = get_pointer_to_type_extra(ira->codegen, field_type,
1551715510 is_const, is_volatile, PtrLenSingle, 0, 0, 0);
1551815511
......@@ -18052,19 +18045,10 @@ static Error ir_make_type_info_value(IrAnalyze *ira, IrInstruction *source_instr
1805218045 case ZigTypeIdNull:
1805318046 case ZigTypeIdArgTuple:
1805418047 case ZigTypeIdOpaque:
18055 *out = nullptr;
18056 return ErrorNone;
18057 default:
18058 {
18059 // Lookup an available value in our cache.
18060 auto entry = ira->codegen->type_info_cache.maybe_get(type_entry);
18061 if (entry != nullptr) {
18062 *out = entry->value;
18063 return ErrorNone;
18064 }
18065
18066 // Fallthrough if we don't find one.
18067 }
18048 result = create_const_vals(1);
18049 result->special = ConstValSpecialStatic;
18050 result->type = ira->codegen->builtin_types.entry_void;
18051 break;
1806818052 case ZigTypeIdInt:
1806918053 {
1807018054 result = create_const_vals(1);
......@@ -18636,7 +18620,6 @@ static IrInstruction *ir_analyze_instruction_type_info(IrAnalyze *ira,
1863618620 out_val->data.x_union.payload = payload;
1863718621
1863818622 if (payload != nullptr) {
18639 assert(payload->type->id == ZigTypeIdStruct);
1864018623 payload->parent.id = ConstParentIdUnion;
1864118624 payload->parent.data.p_union.union_val = out_val;
1864218625 }