aboutsummaryrefslogtreecommitdiff
path: root/src/fmt.cff
diff options
context:
space:
mode:
Diffstat (limited to 'src/fmt.cff')
-rw-r--r--src/fmt.cff14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/fmt.cff b/src/fmt.cff
index 27bfe0e..699777a 100644
--- a/src/fmt.cff
+++ b/src/fmt.cff
@@ -45,7 +45,7 @@ extern fn vpfmt(proc *fn(u8, *void) void, parg *void, fmt *const u8, ap va_list)
case :bool;
ps(tok.u.bool ? "#t" : "#f");
case :str;
- pfmt(proc, parg, "%S", tok.u.str);
+ pfmt(proc, parg, "%S", &tok.u.str);
case :chr;
let t = bswap64(tok.u.uint);
p('\'');
@@ -184,7 +184,7 @@ extern fn vpfmt(proc *fn(u8, *void) void, parg *void, fmt *const u8, ap va_list)
case Ty ty;
pfmt(proc, parg, "%t", ty);
case Val tok;
- pfmt(proc, parg, "%T", tok);
+ pfmt(proc, parg, "%T", &tok);
}
if i < agg.tpargs.#len - 1 {
ps(", ");
@@ -275,15 +275,15 @@ extern fn vpfmt(proc *fn(u8, *void) void, parg *void, fmt *const u8, ap va_list)
ps(s);
}
case 'S';
- let str = ap->arg([#]const u8);
+ let str = *ap->arg(*[#]const u8);
p('"');
foreach(c, i, str) {
pch(c);
}
p('"');
case 'T';
- let tok = ap->arg(Tok);
- pritok(proc, parg, quote, &tok);
+ let tok = ap->arg(*Tok);
+ pritok(proc, parg, quote, tok);
case 'k';
let tokt = ap->arg(TokT);
pritokt(proc, parg, tokt);
@@ -292,7 +292,7 @@ extern fn vpfmt(proc *fn(u8, *void) void, parg *void, fmt *const u8, ap va_list)
pritype(proc, parg, ap->arg(*const Type));
ps("\e[0m");
case 'l';
- let loc = ap->arg(Loc);
+ let loc = ap->arg(*Loc);
pfmt(proc, parg, "\e[1m%s:%d:%d\e[0m", fileid2path(loc.fileid), loc.line, loc.col);
case else
assert(#f, "bad fmt '%c'", c);
@@ -372,7 +372,7 @@ extern fn vdiag(P *Parser, loc Loc, kind *const u8, fmt *const u8, ap va_list) v
for let ep = P.curexpan; ep; ep = ep.prev {
if ep.name != #null and (i++ < 8 or ep.prev == #null or ep.prev.prev == #null) {
efmt("* while expanding %s `%s' at %l\n",
- ep.tepl ? "template" : "macro", ep.name, ep.loc);
+ ep.tepl ? "template" : "macro", ep.name, &ep.loc);
eprifileline(ep.loc);
} else if ep.name != #null and i == 8 {
efmt(" ... (some expansions omitted)\n");