ref: 4d8b6e9b82dedd90e92d0cb1be10e93b7e76da2c
parent: 70089e1bc3d39c6c0f5195a63f4beb7e586b4c99
author: Ori Bernstein <[email protected]>
date: Mon Jul 14 18:58:41 EDT 2014
More debug dumps with final substitutions.
--- a/parse/infer.c
+++ b/parse/infer.c
@@ -1609,6 +1609,7 @@
{
static Type *tyint, *tyflt;
Type *t, *delayed;
+ char *from, *to;
size_t i;
char buf[1024];
@@ -1653,6 +1654,13 @@
if (debugopt['T'])
dump(file, stdout);
fatal(t->line, "underconstrained type %s near %s", tyfmt(buf, 1024, t), ctxstr(st, ctx));
+ }
+ if (debugopt['u'] && !tyeq(orig, t)) {
+ from = tystr(orig);
+ to = tystr(t);
+ indentf(st->indentdepth, "subst %s => %s\n", from, to);
+ free(from);
+ free(to);
}
return t;
binary files a/test/genericmake b/test/genericmake differ