aboutsummaryrefslogtreecommitdiff
path: root/src/ir_print.cpp
diff options
context:
space:
mode:
authorlachsinc <lachlansinclair@gmail.com>2018-09-26 05:43:37 +1000
committerlachsinc <lachlansinclair@gmail.com>2018-09-26 05:43:58 +1000
commit54c044ee09f3c630a21be0d5fab7b095bb8a8f46 (patch)
tree9b076aeae394b6d37fa4cf0246eff87e07190473 /src/ir_print.cpp
parent2e5cecf9e6b28e1dbbd6f4438e48ba343b7ad0e4 (diff)
Add support for any. Fix rawptr debug type.
Diffstat (limited to 'src/ir_print.cpp')
-rw-r--r--src/ir_print.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/ir_print.cpp b/src/ir_print.cpp
index 81d2324a6..cad0d3d3e 100644
--- a/src/ir_print.cpp
+++ b/src/ir_print.cpp
@@ -2058,17 +2058,19 @@ void print_llvm_ir(irGen *ir) {
ir_write_byte(f, ')');
break;
case irDebugInfo_DerivedType:
- GB_ASSERT(di->DerivedType.base_type);
ir_fprintf(f, "!DIDerivedType("
"name: \"%.*s\""
- ", baseType: !%d"
", size: %d"
", tag: ",
LIT(di->DerivedType.name),
- di->DerivedType.base_type->id,
di->DerivedType.size,
di->DerivedType.align);
ir_print_debug_encoding(f, irDebugInfo_DerivedType, di->DerivedType.tag);
+ if (di->DerivedType.base_type != nullptr) {
+ ir_fprintf(f, ", baseType: !%d", di->DerivedType.base_type->id);
+ } else {
+ ir_write_str_lit(f, ", baseType: null"); // Valid/required for rawptr
+ }
if (di->DerivedType.align > 0) {
ir_fprintf(f, ", align: %d",
di->DerivedType.align);