From 03438118369605df178f4bfdb5b1a8ad6a349be7 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Tue, 15 Mar 2022 16:42:26 +0200 Subject: Sema: emit dbg_func around inline calls --- src/codegen/c.zig | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/codegen/c.zig') diff --git a/src/codegen/c.zig b/src/codegen/c.zig index 05ceb30379..c726f659a1 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -1687,6 +1687,7 @@ fn genBody(f: *Function, body: []const Air.Inst.Index) error{ AnalysisFail, OutO .block => try airBlock(f, inst), .bitcast => try airBitcast(f, inst), .dbg_stmt => try airDbgStmt(f, inst), + .dbg_func => try airDbgFunc(f, inst), .intcast => try airIntCast(f, inst), .trunc => try airTrunc(f, inst), .bool_to_int => try airBoolToInt(f, inst), @@ -2660,6 +2661,14 @@ fn airDbgStmt(f: *Function, inst: Air.Inst.Index) !CValue { return CValue.none; } +fn airDbgFunc(f: *Function, inst: Air.Inst.Index) !CValue { + const ty_pl = f.air.instructions.items(.data)[inst].ty_pl; + const writer = f.object.writer(); + const function = f.air.values[ty_pl.payload].castTag(.function).?.data; + try writer.print("/* dbg func:{s} */\n", .{function.owner_decl.name}); + return CValue.none; +} + fn airDbgVar(f: *Function, inst: Air.Inst.Index) !CValue { const pl_op = f.air.instructions.items(.data)[inst].pl_op; const name = f.air.nullTerminatedString(pl_op.payload); -- cgit v1.2.3