aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/print_llvm.cpp
diff options
context:
space:
mode:
authorgingerBill <bill+github@gingerbill.org>2016-08-10 11:53:17 +0100
committergingerBill <bill+github@gingerbill.org>2016-08-10 11:53:17 +0100
commit153c27c7556ebef0c98055d87937b942d198f629 (patch)
treebdb5b61a78e4eed8f232a808a74fad480330529e /src/codegen/print_llvm.cpp
parentc930841f834e43df28be41e8e3509773a523ed0f (diff)
Tuple support in codegen
Diffstat (limited to 'src/codegen/print_llvm.cpp')
-rw-r--r--src/codegen/print_llvm.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/codegen/print_llvm.cpp b/src/codegen/print_llvm.cpp
index 55b03d5ca..d4765ceb7 100644
--- a/src/codegen/print_llvm.cpp
+++ b/src/codegen/print_llvm.cpp
@@ -129,6 +129,9 @@ void ssa_print_type(gbFile *f, BaseTypeSizes s, Type *t) {
ssa_fprintf(f, "*, i%lld, i%lld}", word_bits, word_bits);
break;
case Type_Structure:
+ if (t->structure.is_packed) {
+ ssa_fprintf(f, "<");
+ }
ssa_fprintf(f, "{");
for (isize i = 0; i < t->structure.field_count; i++) {
if (i > 0) {
@@ -137,6 +140,10 @@ void ssa_print_type(gbFile *f, BaseTypeSizes s, Type *t) {
ssa_print_type(f, s, t->structure.fields[i]->type);
}
ssa_fprintf(f, "}");
+ if (t->structure.is_packed) {
+ ssa_fprintf(f, ">");
+ }
+
break;
case Type_Pointer:
ssa_print_type(f, s, t->pointer.elem);