mirror of
https://github.com/odin-lang/Odin.git
synced 2026-01-03 03:32:37 +00:00
Fix TODO ParameterValue_Location
This commit is contained in:
@@ -6441,8 +6441,7 @@ irValue *ir_build_expr_internal(irProcedure *proc, Ast *expr) {
|
||||
args[i] = ir_value_nil(e->type);
|
||||
break;
|
||||
case ParameterValue_Location:
|
||||
// args[i] =
|
||||
GB_PANIC("TODO ParameterValue_Location");
|
||||
args[i] = ir_emit_source_code_location(proc, proc->entity->token.string, ast_token(expr).pos);
|
||||
break;
|
||||
case ParameterValue_Value:
|
||||
args[i] = ir_build_expr(proc, e->Variable.param_value.ast_value);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user