Module Name:    src
Committed By:   rillig
Date:           Sun Nov 28 10:01:37 UTC 2021

Modified Files:
        src/tests/usr.bin/xlint/lint1: emit.exp-ln
        src/usr.bin/xlint/lint1: emit1.c

Log Message:
lint: do not export unnamed objects to the .ln file

Since these objects are unnamed, they cannot be referenced by other
files or even create name clashes.

Seen in usr.sbin/cpuctl/aarch64.c, reported by Christos.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/tests/usr.bin/xlint/lint1/emit.exp-ln
cvs rdiff -u -r1.59 -r1.60 src/usr.bin/xlint/lint1/emit1.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/usr.bin/xlint/lint1/emit.exp-ln
diff -u src/tests/usr.bin/xlint/lint1/emit.exp-ln:1.8 src/tests/usr.bin/xlint/lint1/emit.exp-ln:1.9
--- src/tests/usr.bin/xlint/lint1/emit.exp-ln:1.8	Sun Nov 28 09:47:18 2021
+++ src/tests/usr.bin/xlint/lint1/emit.exp-ln	Sun Nov 28 10:01:36 2021
@@ -82,5 +82,3 @@ Semit.c
 286u0.286x16defined_used_var
 283d0.283d8use_varsF0V
 302d0.302d8compoundsT134compound_expression_in_initializer
-303d-1.0d1200000000_tmpA16PcC
-305u0.305x1200000000_tmp

Index: src/usr.bin/xlint/lint1/emit1.c
diff -u src/usr.bin/xlint/lint1/emit1.c:1.59 src/usr.bin/xlint/lint1/emit1.c:1.60
--- src/usr.bin/xlint/lint1/emit1.c:1.59	Sun Sep 12 10:06:03 2021
+++ src/usr.bin/xlint/lint1/emit1.c	Sun Nov 28 10:01:36 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: emit1.c,v 1.59 2021/09/12 10:06:03 rillig Exp $ */
+/* $NetBSD: emit1.c,v 1.60 2021/11/28 10:01:36 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -38,7 +38,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: emit1.c,v 1.59 2021/09/12 10:06:03 rillig Exp $");
+__RCSID("$NetBSD: emit1.c,v 1.60 2021/11/28 10:01:36 rillig Exp $");
 #endif
 
 #include "lint1.h"
@@ -187,6 +187,8 @@ outsym(const sym_t *sym, scl_t sc, def_t
 	 */
 	if (sc != EXTERN && !(sc == STATIC && sym->s_type->t_tspec == FUNC))
 		return;
+	if (ch_isdigit(sym->s_name[0]))	/* 00000000_tmp */
+		return;
 
 	/* reset buffer */
 	outclr();
@@ -586,6 +588,9 @@ outfstrg(strg_t *strg)
 void
 outusg(const sym_t *sym)
 {
+	if (ch_isdigit(sym->s_name[0]))	/* 00000000_tmp */
+		return;
+
 	/* reset buffer */
 	outclr();
 

Reply via email to