fix zero length array literal casted to slice

This commit is contained in:
Andrew Kelley 2019-06-18 10:49:21 -04:00
parent e5a0414b05
commit fdc6e0af05
No known key found for this signature in database
GPG Key ID: 7C5F548F728501A9

View File

@ -15119,8 +15119,11 @@ static IrInstruction *ir_analyze_instruction_resolve_result(IrAnalyze *ira, IrIn
old_result_loc = reinterpret_cast<ResultLocPeer *>(instruction->result_loc)->parent->parent;
continue;
}
ir_assert(false, &instruction->base); // TODO
zig_unreachable();
IrInstruction *result = ir_const(ira, &instruction->base, implicit_elem_type);
result->value.special = ConstValSpecialUndef;
IrInstruction *ptr = ir_get_ref(ira, &instruction->base, result, false, false);
ptr->value.data.x_ptr.mut = ConstPtrMutComptimeVar;
return ptr;
}
}
@ -19212,6 +19215,15 @@ static IrInstruction *ir_analyze_instruction_container_init_list(IrAnalyze *ira,
return ira->codegen->invalid_instruction;
}
switch (type_has_one_possible_value(ira->codegen, container_type)) {
case OnePossibleValueInvalid:
return ira->codegen->invalid_instruction;
case OnePossibleValueYes:
return ir_const(ira, &instruction->base, container_type);
case OnePossibleValueNo:
break;
}
bool is_comptime;
switch (type_requires_comptime(ira->codegen, container_type)) {
case ReqCompTimeInvalid: