aboutsummaryrefslogtreecommitdiff
path: root/src/ir_print.cpp
diff options
context:
space:
mode:
authorlachsinc <lachlansinclair@gmail.com>2018-09-27 21:50:57 +1000
committerlachsinc <lachlansinclair@gmail.com>2018-09-27 21:50:57 +1000
commit9e73189d636b7723302553f48dddf93cea8f073f (patch)
treeb8e2b37d40c365b21372667dc4b659716d11c2e5 /src/ir_print.cpp
parent11bddf270c9f96c01768fe3e0d6c64c372300dd0 (diff)
Tagged union debug info. Aggregate type fixes (unions inside structs etc.).
Diffstat (limited to 'src/ir_print.cpp')
-rw-r--r--src/ir_print.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ir_print.cpp b/src/ir_print.cpp
index c5d3eff2f..7aa08a1fb 100644
--- a/src/ir_print.cpp
+++ b/src/ir_print.cpp
@@ -2087,6 +2087,10 @@ void print_llvm_ir(irGen *ir) {
GB_ASSERT(di->CompositeType.size > 0);
}
+ if (di->CompositeType.tag == irDebugBasicEncoding_union_type) {
+ GB_ASSERT_NOT_NULL(di->CompositeType.file); // Union _requires_ file to be valid.
+ }
+
ir_write_str_lit(f, "!DICompositeType(tag: ");
ir_print_debug_encoding(f, irDebugInfo_CompositeType, di->CompositeType.tag);
if (di->CompositeType.name.len > 0) {