Module Name: src
Committed By: rillig
Date: Sun Feb 21 07:21:57 UTC 2021
Modified Files:
src/usr.bin/xlint/lint1: externs1.h init.c tree.c
Log Message:
lint: indent node details in debug mode
To generate a diff of this commit:
cvs rdiff -u -r1.68 -r1.69 src/usr.bin/xlint/lint1/externs1.h
cvs rdiff -u -r1.75 -r1.76 src/usr.bin/xlint/lint1/init.c
cvs rdiff -u -r1.212 -r1.213 src/usr.bin/xlint/lint1/tree.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/xlint/lint1/externs1.h
diff -u src/usr.bin/xlint/lint1/externs1.h:1.68 src/usr.bin/xlint/lint1/externs1.h:1.69
--- src/usr.bin/xlint/lint1/externs1.h:1.68 Sat Feb 20 16:34:57 2021
+++ src/usr.bin/xlint/lint1/externs1.h Sun Feb 21 07:21:57 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: externs1.h,v 1.68 2021/02/20 16:34:57 rillig Exp $ */
+/* $NetBSD: externs1.h,v 1.69 2021/02/21 07:21:57 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -223,7 +223,7 @@ extern bool constant_addr(tnode_t *, sym
extern strg_t *cat_strings(strg_t *, strg_t *);
extern int64_t tsize(type_t *);
#ifdef DEBUG
-extern void debug_node(const tnode_t *);
+extern void debug_node(const tnode_t *, int);
#else
#define debug_node(tn) (void)0
#endif
Index: src/usr.bin/xlint/lint1/init.c
diff -u src/usr.bin/xlint/lint1/init.c:1.75 src/usr.bin/xlint/lint1/init.c:1.76
--- src/usr.bin/xlint/lint1/init.c:1.75 Sat Feb 20 19:56:44 2021
+++ src/usr.bin/xlint/lint1/init.c Sun Feb 21 07:21:57 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: init.c,v 1.75 2021/02/20 19:56:44 rillig Exp $ */
+/* $NetBSD: init.c,v 1.76 2021/02/21 07:21:57 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: init.c,v 1.75 2021/02/20 19:56:44 rillig Exp $");
+__RCSID("$NetBSD: init.c,v 1.76 2021/02/21 07:21:57 rillig Exp $");
#endif
#include <stdlib.h>
@@ -699,7 +699,7 @@ init_using_expr(tnode_t *tn)
debug_enter();
debug_named_member();
- debug_node(tn);
+ debug_node(tn, debug_ind);
debug_initstack();
if (initerr || tn == NULL) {
Index: src/usr.bin/xlint/lint1/tree.c
diff -u src/usr.bin/xlint/lint1/tree.c:1.212 src/usr.bin/xlint/lint1/tree.c:1.213
--- src/usr.bin/xlint/lint1/tree.c:1.212 Sat Feb 20 19:10:38 2021
+++ src/usr.bin/xlint/lint1/tree.c Sun Feb 21 07:21:57 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tree.c,v 1.212 2021/02/20 19:10:38 rillig Exp $ */
+/* $NetBSD: tree.c,v 1.213 2021/02/21 07:21:57 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: tree.c,v 1.212 2021/02/20 19:10:38 rillig Exp $");
+__RCSID("$NetBSD: tree.c,v 1.213 2021/02/21 07:21:57 rillig Exp $");
#endif
#include <float.h>
@@ -99,10 +99,8 @@ extern sig_atomic_t fpe;
#ifdef DEBUG
void
-debug_node(const tnode_t *tn)
+debug_node(const tnode_t *tn, int indent)
{
- static int indent = 0;
-
op_t op;
if (tn == NULL) {
@@ -112,7 +110,7 @@ debug_node(const tnode_t *tn)
op = tn->tn_op;
printf("%*s%s: %s%s%s",
- indent, "",
+ 2 * indent, "",
op == CVT && !tn->tn_cast ? "convert" :
op == NAME ? "name" : getopname(op),
type_name(tn->tn_type), tn->tn_lvalue ? " lvalue" : "",
@@ -133,11 +131,9 @@ debug_node(const tnode_t *tn)
else {
printf("\n");
- indent += 2;
- debug_node(tn->tn_left);
+ debug_node(tn->tn_left, indent + 1);
if (modtab[op].m_binary || tn->tn_right != NULL)
- debug_node(tn->tn_right);
- indent -= 2;
+ debug_node(tn->tn_right, indent + 1);
}
}
#endif
@@ -4347,7 +4343,7 @@ check_precedence_confusion(tnode_t *tn)
if (!hflag)
return;
- debug_node(tn);
+ debug_node(tn, 0);
lint_assert(modtab[tn->tn_op].m_binary);
for (ln = tn->tn_left; ln->tn_op == CVT; ln = ln->tn_left)