aboutsummaryrefslogtreecommitdiff
path: root/src/ir_print.cpp
diff options
context:
space:
mode:
authorlachsinc <lachlansinclair@gmail.com>2018-09-19 01:52:08 +1000
committerlachsinc <lachlansinclair@gmail.com>2018-09-19 01:52:08 +1000
commitcce5e595e53e124368ff36d59a128669c783c808 (patch)
tree1c50a2b073de3f0fbb946d2f87eaa25be5717455 /src/ir_print.cpp
parente7d72f684849b4446bd31ceeaef7c8f96620c48d (diff)
String debug info. Minor cleanup of derived / composite debug info output.
Diffstat (limited to 'src/ir_print.cpp')
-rw-r--r--src/ir_print.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/ir_print.cpp b/src/ir_print.cpp
index 0e4a544f0..c11712aa8 100644
--- a/src/ir_print.cpp
+++ b/src/ir_print.cpp
@@ -2067,19 +2067,21 @@ void print_llvm_ir(irGen *ir) {
} else {
ir_fprintf(f, "!DICompositeType("
"name: \"%.*s\""
- ", scope: !%d"
- ", file: !%d"
- ", line: %td"
", size: %d"
", align: %d"
", tag: ",
LIT(di->CompositeType.name),
- di->CompositeType.scope->id,
- di->CompositeType.file->id,
- di->CompositeType.pos.line,
di->CompositeType.size,
di->CompositeType.align);
ir_print_debug_encoding(f, irDebugInfo_CompositeType, di->CompositeType.tag);
+ if (di->CompositeType.scope) {
+ ir_fprintf(f, ", scope: !%d"
+ ", file: !%d"
+ ", line: %td",
+ di->CompositeType.scope->id,
+ di->CompositeType.file->id,
+ di->CompositeType.pos.line);
+ }
if (di->CompositeType.base_type) {
GB_ASSERT(di->CompositeType.tag == irDebugBasicEncoding_enumeration_type);
ir_fprintf(f, ", baseType: !%d", di->CompositeType.base_type->id);