scc

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

commit 6597076865083f7a859d3ba865a0dd7bec6be664
parent 1fd12818af2bd093d2f411f755a1e4ff16eea160
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);