aboutsummaryrefslogtreecommitdiff
path: root/src/ir_print.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2019-01-04 10:19:39 +0000
committergingerBill <bill@gingerbill.org>2019-01-04 10:19:39 +0000
commitbb93a8b131e58b9f897be08fb88f662ade7e34fe (patch)
treea68485e436545b1fe4901a57ba063c8141eccbd7 /src/ir_print.cpp
parent5bfe5ad82e7236bd805f888934f5bdc3e768050b (diff)
Fix TODO ParameterValue_Location
Diffstat (limited to 'src/ir_print.cpp')
-rw-r--r--src/ir_print.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/ir_print.cpp b/src/ir_print.cpp
index 3da15607c..40325ae9f 100644
--- a/src/ir_print.cpp
+++ b/src/ir_print.cpp
@@ -1888,17 +1888,19 @@ void ir_print_instr(irFileBuffer *f, irModule *m, irValue *value) {
TokenPos pos = e->token.pos;
irDebugInfo **lookup_di = map_get(&m->debug_info, hash_entity(e));
- GB_ASSERT_NOT_NULL(*lookup_di);
- irDebugInfo* local_var_di = *lookup_di;
+ if (lookup_di != nullptr) {
+ GB_ASSERT_NOT_NULL(*lookup_di);
+ irDebugInfo* local_var_di = *lookup_di;
- ir_write_str_lit(f, "call void @llvm.dbg.declare(");
- ir_write_str_lit(f, "metadata ");
- ir_print_type(f, m, vt);
- ir_write_byte(f, ' ');
- ir_print_value(f, m, dd->value, vt);
- ir_fprintf(f, ", metadata !%d", local_var_di->id);
- ir_write_str_lit(f, ", metadata !DIExpression())");
- ir_print_debug_location(f, m, value);
+ ir_write_str_lit(f, "call void @llvm.dbg.declare(");
+ ir_write_str_lit(f, "metadata ");
+ ir_print_type(f, m, vt);
+ ir_write_byte(f, ' ');
+ ir_print_value(f, m, dd->value, vt);
+ ir_fprintf(f, ", metadata !%d", local_var_di->id);
+ ir_write_str_lit(f, ", metadata !DIExpression())");
+ ir_print_debug_location(f, m, value);
+ }
break;
}
}