Procházet zdrojové kódy

Fix compound literal printing for structs with custom alignment requirements

gingerBill před 6 roky
rodič
revize
0076a4df62
1 změnil soubory, kde provedl 2 přidání a 1 odebrání
  1. 2 1
      src/ir_print.cpp

+ 2 - 1
src/ir_print.cpp

@@ -943,7 +943,8 @@ void ir_print_exact_value(irFileBuffer *f, irModule *m, ExactValue value, Type *
 			if (type->Struct.is_packed) ir_write_byte(f, '<');
 			if (type->Struct.is_packed) ir_write_byte(f, '<');
 			ir_write_byte(f, '{');
 			ir_write_byte(f, '{');
 			if (type->Struct.custom_align > 0) {
 			if (type->Struct.custom_align > 0) {
-				ir_fprintf(f, "[0 x <%lld x i8>] zeroinitializer", cast(i64)type->Struct.custom_align);
+				ir_print_alignment_prefix_hack(f, cast(i64)type->Struct.custom_align);
+				ir_write_str_lit(f, " zeroinitializer");
 				if (value_count > 0) {
 				if (value_count > 0) {
 					ir_write_string(f, str_lit(", "));
 					ir_write_string(f, str_lit(", "));
 				}
 				}