aboutsummaryrefslogtreecommitdiff
path: root/src/prc1/errloc.c
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi92@disroot.org>2026-09-05 17:14:53 +0200
committerXavier Del Campo Romero <xavi92@disroot.org>2026-09-26 03:41:55 +0200
commit3c0819236e4f07c8f57aaf1ca46d0d68aa761558 (patch)
treebd8b57cf5420cabc4ec29815052df545b55026f9 /src/prc1/errloc.c
parenta3f56c76444fee090e62a59f257ed5f60b4e552b (diff)
downloadprc-3c0819236e4f07c8f57aaf1ca46d0d68aa761558.tar.gz
Move source to src/prc1
Diffstat (limited to 'src/prc1/errloc.c')
-rw-r--r--src/prc1/errloc.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/prc1/errloc.c b/src/prc1/errloc.c
new file mode 100644
index 0000000..1f3e224
--- /dev/null
+++ b/src/prc1/errloc.c
@@ -0,0 +1,28 @@
+#include "errloc.h"
+#include "lex.h"
+#include <stdarg.h>
+#include <stdio.h>
+
+void errcloc(const struct lex *l, const char *fmt, ...)
+{
+ const struct loc *loc = &l->loc;
+ va_list ap;
+
+ va_start(ap, fmt);
+ fprintf(stderr, "%s:%d:%d: error: ", loc->f, loc->line, loc->col);
+ vfprintf(stderr, fmt, ap);
+ fputc('\n', stderr);
+ va_end(ap);
+}
+
+void errloc(const struct tk *tk, const char *fmt, ...)
+{
+ const struct loc *loc = &tk->loc;
+ va_list ap;
+
+ va_start(ap, fmt);
+ fprintf(stderr, "%s:%d:%d: error: ", loc->f, loc->line, loc->col);
+ vfprintf(stderr, fmt, ap);
+ fputc('\n', stderr);
+ va_end(ap);
+}