Module Name:    src
Committed By:   rillig
Date:           Sun Apr 18 21:53:37 UTC 2021

Modified Files:
        src/usr.bin/xlint/lint1: Makefile cgram.y

Log Message:
lint: fix strict bool mode errors in cgram.y

The code generated by yacc already adheres to strict bool mode, in
default mode as well as in debug mode.

Running lint on the generated cgram.c as well avoids most of the
"declared but not used" warnings from lint2.

The code generated by lex does not adhere to strict bool mode though.
Suppressing the errors from strict bool mode works, but then lint1 runs
into an assertion failure:

        assertion "tn != NULL || nerr != 0" failed
            in expr at tree.c:3610 near scan.c:822

This leaves several warnings about "declared but not used" for the
functions from lex.c.


To generate a diff of this commit:
cvs rdiff -u -r1.68 -r1.69 src/usr.bin/xlint/lint1/Makefile
cvs rdiff -u -r1.218 -r1.219 src/usr.bin/xlint/lint1/cgram.y

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/Makefile
diff -u src/usr.bin/xlint/lint1/Makefile:1.68 src/usr.bin/xlint/lint1/Makefile:1.69
--- src/usr.bin/xlint/lint1/Makefile:1.68	Sat Apr 17 11:01:34 2021
+++ src/usr.bin/xlint/lint1/Makefile	Sun Apr 18 21:53:37 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.68 2021/04/17 11:01:34 rillig Exp $
+#	$NetBSD: Makefile,v 1.69 2021/04/18 21:53:37 rillig Exp $
 
 .include <bsd.own.mk>
 
@@ -10,13 +10,16 @@ SRCS=		cgram.y \
 
 MAN=		lint.7
 YHEADER=
-#DBG=-g
-#CPPFLAGS+=-DYYDEBUG=1
-#YFLAGS+=-v
-#LFLAGS+=-d
+#DBG=		-g
+#CPPFLAGS+=	-DYYDEBUG=1
+#YFLAGS+=	-v
+#LFLAGS+=	-d
 
 CWARNFLAGS.clang+=	-Wno-error=implicit-int-float-conversion
 LINTFLAGS+=		-T
+LOBJS.${PROG}+=		${SRCS:M*.y:.y=.ln}
+#LOBJS.${PROG}+=	${SRCS:M*.l:.l=.ln}
+LINTFLAGS.scan.c=	-X 107,330,331,333
 
 CPPFLAGS+=	-DIS_LINT1
 CPPFLAGS+=	-I${.CURDIR}

Index: src/usr.bin/xlint/lint1/cgram.y
diff -u src/usr.bin/xlint/lint1/cgram.y:1.218 src/usr.bin/xlint/lint1/cgram.y:1.219
--- src/usr.bin/xlint/lint1/cgram.y:1.218	Wed Apr 14 22:08:28 2021
+++ src/usr.bin/xlint/lint1/cgram.y	Sun Apr 18 21:53:37 2021
@@ -1,5 +1,5 @@
 %{
-/* $NetBSD: cgram.y,v 1.218 2021/04/14 22:08:28 rillig Exp $ */
+/* $NetBSD: cgram.y,v 1.219 2021/04/18 21:53:37 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -35,7 +35,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: cgram.y,v 1.218 2021/04/14 22:08:28 rillig Exp $");
+__RCSID("$NetBSD: cgram.y,v 1.219 2021/04/18 21:53:37 rillig Exp $");
 #endif
 
 #include <limits.h>
@@ -118,7 +118,7 @@ RESTORE_WARN_FLAGS(const char *file, siz
 static void
 anonymize(sym_t *s)
 {
-	for ( ; s; s = s->s_next)
+	for ( ; s != NULL; s = s->s_next)
 		s->s_styp = NULL;
 }
 %}
@@ -138,7 +138,7 @@ anonymize(sym_t *s)
 	range_t	y_range;
 	strg_t	*y_string;
 	pqinf_t	*y_pqinf;
-	int	y_seen_statement;
+	bool	y_seen_statement;
 };
 
 %token			T_LBRACE T_RBRACE T_LBRACK T_RBRACK T_LPAREN T_RPAREN
@@ -2145,7 +2145,7 @@ ignore_up_to_rparen(void)
 static	sym_t *
 symbolrename(sym_t *s, sbuf_t *sb)
 {
-	if (sb)
+	if (sb != NULL)
 		s->s_rename = sb->sb_name;
 	return s;
 }

Reply via email to