summary refs log tree commit diff
path: root/rv64
diff options
context:
space:
mode:
authorThomas Bracht Laumann Jespersen <t@laumann.xyz>2023-01-26 12:09:44 +0100
committerQuentin Carbonneaux <quentin@c9x.me>2023-06-06 18:44:51 +0200
commit0d929287d77ccc3fb52ca8bd072678b5ae2c81c8 (patch)
tree72cf91ec66052797059734c9d089a49a69b47122 /rv64
parente493a7f23352f51acc0a1e12284ab19d7894488a (diff)
downloadroux-0d929287d77ccc3fb52ca8bd072678b5ae2c81c8.tar.gz
implement line number info tracking
Support "file" and "loc" directives. "file" takes a string (a file name)
assigns it a number, sets the current file to that number and records
the string for later. "loc" takes a single number and outputs location
information with a reference to the current file.
Diffstat (limited to 'rv64')
-rw-r--r--rv64/emit.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/rv64/emit.c b/rv64/emit.c
index acb6df3..6044dee 100644
--- a/rv64/emit.c
+++ b/rv64/emit.c
@@ -405,6 +405,9 @@ emitins(Ins *i, Fn *fn, FILE *f)
 		if (!req(i->to, R))
 			emitf("mv %=, sp", i, fn, f);
 		break;
+	case Oloc:
+		emitdbgloc(i->arg[0].val, f);
+		break;
 	}
 }