Module Name:    src
Committed By:   rillig
Date:           Fri Jun 30 19:43:01 UTC 2023

Modified Files:
        src/usr.bin/xlint/lint1: decl.c lex.c lint1.h

Log Message:
lint: replace macro for unique identifiers with function

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.327 -r1.328 src/usr.bin/xlint/lint1/decl.c
cvs rdiff -u -r1.162 -r1.163 src/usr.bin/xlint/lint1/lex.c
cvs rdiff -u -r1.171 -r1.172 src/usr.bin/xlint/lint1/lint1.h

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/decl.c
diff -u src/usr.bin/xlint/lint1/decl.c:1.327 src/usr.bin/xlint/lint1/decl.c:1.328
--- src/usr.bin/xlint/lint1/decl.c:1.327	Fri Jun 30 19:10:49 2023
+++ src/usr.bin/xlint/lint1/decl.c	Fri Jun 30 19:43:00 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.327 2023/06/30 19:10:49 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.328 2023/06/30 19:43:00 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -38,7 +38,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: decl.c,v 1.327 2023/06/30 19:10:49 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.328 2023/06/30 19:43:00 rillig Exp $");
 #endif
 
 #include <sys/param.h>
@@ -1579,7 +1579,7 @@ make_tag_type(sym_t *tag, tspec_t kind, 
 	} else {
 		tag = block_zero_alloc(sizeof(*tag));
 		tag->s_name = unnamed;
-		UNIQUE_CURR_POS(tag->s_def_pos);
+		tag->s_def_pos = unique_curr_pos();
 		tag->s_kind = FTAG;
 		tag->s_scl = scl;
 		tag->s_block_level = -1;
@@ -2834,7 +2834,7 @@ mark_as_set(sym_t *sym)
 
 	if (!sym->s_set) {
 		sym->s_set = true;
-		UNIQUE_CURR_POS(sym->s_set_pos);
+		sym->s_set_pos = unique_curr_pos();
 	}
 }
 
@@ -2845,7 +2845,7 @@ mark_as_used(sym_t *sym, bool fcall, boo
 
 	if (!sym->s_used) {
 		sym->s_used = true;
-		UNIQUE_CURR_POS(sym->s_use_pos);
+		sym->s_use_pos = unique_curr_pos();
 	}
 	/*
 	 * For function calls, another record is written.

Index: src/usr.bin/xlint/lint1/lex.c
diff -u src/usr.bin/xlint/lint1/lex.c:1.162 src/usr.bin/xlint/lint1/lex.c:1.163
--- src/usr.bin/xlint/lint1/lex.c:1.162	Thu Jun 29 22:52:44 2023
+++ src/usr.bin/xlint/lint1/lex.c	Fri Jun 30 19:43:00 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: lex.c,v 1.162 2023/06/29 22:52:44 rillig Exp $ */
+/* $NetBSD: lex.c,v 1.163 2023/06/30 19:43:00 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -38,7 +38,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: lex.c,v 1.162 2023/06/29 22:52:44 rillig Exp $");
+__RCSID("$NetBSD: lex.c,v 1.163 2023/06/30 19:43:00 rillig Exp $");
 #endif
 
 #include <ctype.h>
@@ -1334,7 +1334,7 @@ getsym(sbuf_t *sb)
 		di = dcs;
 	}
 
-	UNIQUE_CURR_POS(sym->s_def_pos);
+	sym->s_def_pos = unique_curr_pos();
 	if ((sym->s_kind = symtyp) != FLABEL)
 		sym->s_type = gettyp(INT);
 
@@ -1461,7 +1461,7 @@ pushdown(const sym_t *sym)
 	nsym = block_zero_alloc(sizeof(*nsym));
 	lint_assert(sym->s_block_level <= block_level);
 	nsym->s_name = sym->s_name;
-	UNIQUE_CURR_POS(nsym->s_def_pos);
+	nsym->s_def_pos = unique_curr_pos();
 	nsym->s_kind = sym->s_kind;
 	nsym->s_block_level = block_level;
 

Index: src/usr.bin/xlint/lint1/lint1.h
diff -u src/usr.bin/xlint/lint1/lint1.h:1.171 src/usr.bin/xlint/lint1/lint1.h:1.172
--- src/usr.bin/xlint/lint1/lint1.h:1.171	Fri Jun 30 19:10:49 2023
+++ src/usr.bin/xlint/lint1/lint1.h	Fri Jun 30 19:43:00 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: lint1.h,v 1.171 2023/06/30 19:10:49 rillig Exp $ */
+/* $NetBSD: lint1.h,v 1.172 2023/06/30 19:43:00 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -66,15 +66,6 @@ typedef struct {
 	int	p_uniq;			/* uniquifier */
 } pos_t;
 
-/* Copies curr_pos, keeping things unique. */
-#define	UNIQUE_CURR_POS(pos)						\
-	do {								\
-		(pos) = curr_pos;					\
-		curr_pos.p_uniq++;					\
-		if (curr_pos.p_file == csrc_pos.p_file)			\
-			csrc_pos.p_uniq++;				\
-	} while (false)
-
 /*
  * Strings cannot be referenced simply by a pointer to their first
  * char. This is because strings can contain NUL characters other than the
@@ -519,6 +510,17 @@ check_printf(const char *fmt, ...)
 	} while (false)
 #endif
 
+/* Copies curr_pos, keeping things unique. */
+static inline pos_t
+unique_curr_pos(void)
+{
+	pos_t curr = curr_pos;
+	curr_pos.p_uniq++;
+	if (curr_pos.p_file == csrc_pos.p_file)
+		csrc_pos.p_uniq++;
+	return curr;
+}
+
 static inline bool
 is_nonzero_val(const val_t *val)
 {

Reply via email to