Module Name:    src
Committed By:   rillig
Date:           Wed Mar 17 15:37:42 UTC 2021

Modified Files:
        src/usr.bin/xlint/lint1: init.c

Log Message:
lint: move debug logging for the designator to the top of the code

The debugging code is needed by the soon-to-be-added proper handling of
array subscript initializers such as '.member[123].member = 12345'.

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.89 -r1.90 src/usr.bin/xlint/lint1/init.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/init.c
diff -u src/usr.bin/xlint/lint1/init.c:1.89 src/usr.bin/xlint/lint1/init.c:1.90
--- src/usr.bin/xlint/lint1/init.c:1.89	Mon Feb 22 15:09:50 2021
+++ src/usr.bin/xlint/lint1/init.c	Wed Mar 17 15:37:42 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: init.c,v 1.89 2021/02/22 15:09:50 rillig Exp $	*/
+/*	$NetBSD: init.c,v 1.90 2021/03/17 15:37:42 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.89 2021/02/22 15:09:50 rillig Exp $");
+__RCSID("$NetBSD: init.c,v 1.90 2021/03/17 15:37:42 rillig Exp $");
 #endif
 
 #include <stdlib.h>
@@ -146,12 +146,18 @@ namlist_t	*namedmem = NULL;
 static	bool	init_array_using_string(tnode_t *);
 
 #ifndef DEBUG
+
 #define debug_printf(fmt, ...)	do { } while (false)
 #define debug_indent()		do { } while (false)
 #define debug_enter(a)		do { } while (false)
 #define debug_step(fmt, ...)	do { } while (false)
 #define debug_leave(a)		do { } while (false)
+#define debug_named_member()	do { } while (false)
+#define debug_initstack_element(elem) do { } while (false)
+#define debug_initstack()	do { } while (false)
+
 #else
+
 static int debug_ind = 0;
 
 static void __printflike(1, 2)
@@ -194,52 +200,6 @@ debug_leave(const char *func)
 	printf("%*s- %s\n", 2 * --debug_ind, "", func);
 }
 
-#define debug_enter() debug_enter(__func__)
-#define debug_leave() debug_leave(__func__)
-
-#endif
-
-void
-push_member(sbuf_t *sb)
-{
-	namlist_t *nam = xcalloc(1, sizeof (namlist_t));
-	nam->n_name = sb->sb_name;
-
-	debug_step("%s: '%s' %p", __func__, nam->n_name, nam);
-
-	if (namedmem == NULL) {
-		/*
-		 * XXX: Why is this a circular list?
-		 * XXX: Why is this a doubly-linked list?
-		 * A simple stack should suffice.
-		 */
-		nam->n_prev = nam->n_next = nam;
-		namedmem = nam;
-	} else {
-		namedmem->n_prev->n_next = nam;
-		nam->n_prev = namedmem->n_prev;
-		nam->n_next = namedmem;
-		namedmem->n_prev = nam;
-	}
-}
-
-static void
-pop_member(void)
-{
-	debug_step("%s: %s %p", __func__, namedmem->n_name, namedmem);
-	if (namedmem->n_next == namedmem) {
-		free(namedmem);
-		namedmem = NULL;
-	} else {
-		namlist_t *nam = namedmem;
-		namedmem = namedmem->n_next;
-		nam->n_prev->n_next = nam->n_next;
-		nam->n_next->n_prev = nam->n_prev;
-		free(nam);
-	}
-}
-
-#ifdef DEBUG
 static void
 debug_named_member(void)
 {
@@ -256,11 +216,7 @@ debug_named_member(void)
 	} while (name != namedmem);
 	debug_printf("\n");
 }
-#else
-#define debug_named_member()	do { } while (false)
-#endif
 
-#ifdef DEBUG
 static void
 debug_initstack_element(const initstack_element *elem)
 {
@@ -301,11 +257,52 @@ debug_initstack(void)
 		i++;
 	}
 }
-#else
-#define debug_initstack_element(elem) do { } while (false)
-#define debug_initstack()	do { } while (false)
+
+#define debug_enter() debug_enter(__func__)
+#define debug_leave() debug_leave(__func__)
+
 #endif
 
+void
+push_member(sbuf_t *sb)
+{
+	namlist_t *nam = xcalloc(1, sizeof (namlist_t));
+	nam->n_name = sb->sb_name;
+
+	debug_step("%s: '%s' %p", __func__, nam->n_name, nam);
+
+	if (namedmem == NULL) {
+		/*
+		 * XXX: Why is this a circular list?
+		 * XXX: Why is this a doubly-linked list?
+		 * A simple stack should suffice.
+		 */
+		nam->n_prev = nam->n_next = nam;
+		namedmem = nam;
+	} else {
+		namedmem->n_prev->n_next = nam;
+		nam->n_prev = namedmem->n_prev;
+		nam->n_next = namedmem;
+		namedmem->n_prev = nam;
+	}
+}
+
+static void
+pop_member(void)
+{
+	debug_step("%s: %s %p", __func__, namedmem->n_name, namedmem);
+	if (namedmem->n_next == namedmem) {
+		free(namedmem);
+		namedmem = NULL;
+	} else {
+		namlist_t *nam = namedmem;
+		namedmem = namedmem->n_next;
+		nam->n_prev->n_next = nam->n_next;
+		nam->n_next->n_prev = nam->n_prev;
+		free(nam);
+	}
+}
+
 /*
  * Initialize the initialization stack by putting an entry for the object
  * which is to be initialized on it.

Reply via email to