IR Fix for UnionTagValue

This commit is contained in:
Ginger Bill
2017-08-28 23:04:48 +01:00
parent 2ac33285c1
commit 1e3b3c107c
2 changed files with 6 additions and 5 deletions

View File

@@ -174,7 +174,10 @@ fprint_type :: proc(fd: os.Handle, info: ^Type_Info) {
}
write_type :: proc(buf: ^String_Buffer, ti: ^Type_Info) {
if ti == nil do return;
if ti == nil {
write_string(buf, "nil");
return;
}
using Type_Info;
match info in ti.variant {
@@ -324,7 +327,6 @@ write_type :: proc(buf: ^String_Buffer, ti: ^Type_Info) {
write_int(buf, i64(info.bits[i]), 10);
}
write_string(buf, "}");
}
}

View File

@@ -1045,7 +1045,7 @@ void ir_print_instr(irFileBuffer *f, irModule *m, irValue *value) {
ir_write_string(f, " 0, ");
ir_print_type(f, m, t_i32);
#if 1
ir_fprintf(f, " %d", 2);
ir_fprintf(f, " 2");
#else
ir_fprintf(f, " %d", 2);
#endif
@@ -1064,11 +1064,10 @@ void ir_print_instr(irFileBuffer *f, irModule *m, irValue *value) {
ir_print_value(f, m, instr->UnionTagValue.address, et);
ir_write_byte(f, ',');
#if 1
ir_fprintf(f, " %d", 2);
ir_fprintf(f, " 2");
#else
ir_fprintf(f, " %d", 2);
#endif
ir_fprintf(f, ", %d", 2);
ir_write_string(f, " ; UnionTagValue");
ir_write_byte(f, '\n');
} break;