scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

commit d95c5300d65d7416a1b0d31d34d648c6a1a70373
parent ae6540fbe147eb182f05e94cd4072dc55b806196
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Mon,  1 Nov 2021 09:20:00 +0100

cc1: Add an additional parameter to prtree()

This parameter helps to add more sensible information
in the debug output.

Diffstat:
Msrc/cmd/cc/cc1/cc1.h | 2+-
Msrc/cmd/cc/cc1/code.c | 4++--
Msrc/cmd/cc/cc1/fold.c | 3++-
3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/cmd/cc/cc1/cc1.h b/src/cmd/cc/cc1/cc1.h @@ -458,7 +458,7 @@ extern void setloc(char *fname, unsigned line); #define accept(t) ((yytoken == (t)) ? next() : 0) /* code.c */ -extern void prtree(Node *np); +extern void prtree(char *s, Node *np); extern void emit(int, void *); extern Node *node(int op, Type *tp, Node *left, Node *rigth); extern Node *varnode(Symbol *sym); diff --git a/src/cmd/cc/cc1/code.c b/src/cmd/cc/cc1/code.c @@ -165,10 +165,10 @@ emitnode(Node *np) } void -prtree(Node *np) +prtree(char *s, Node *np) { outfp = stderr; - fputs("DBG prtree", outfp); + fprintf(outfp, "DBG prtree %s", s); emitnode(np); putc('\n', outfp); outfp = stdout; diff --git a/src/cmd/cc/cc1/fold.c b/src/cmd/cc/cc1/fold.c @@ -637,8 +637,9 @@ simplify(Node *np) if (!np) return NULL; + if (enadebug) - prtree(np); + prtree("simplify", np); l = np->left = simplify(np->left); r = np->right = simplify(np->right);