Sat Jan 30 16:05:45 2021 UTC ()
make(1): run lint with strict bool mode

The make code is not supposed to use constructs such as "if (strcmp(s1,
s2))" or "if (p && *p)", instead all boolean expressions have a form
that would be accepted by a C#, Go or Java compiler as well.  This also
ensures that pre-C99 compilers generate equivalent code as C99
compilers, at least regarding boolean expressions.


(rillig)
diff -r1.111 -r1.112 src/usr.bin/make/Makefile

cvs diff -r1.111 -r1.112 src/usr.bin/make/Makefile (expand / switch to unified diff)

--- src/usr.bin/make/Makefile 2020/12/12 16:54:20 1.111
+++ src/usr.bin/make/Makefile 2021/01/30 16:05:45 1.112
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.111 2020/12/12 16:54:20 rillig Exp $ 1# $NetBSD: Makefile,v 1.112 2021/01/30 16:05:45 rillig Exp $
2# @(#)Makefile 5.2 (Berkeley) 12/28/90 2# @(#)Makefile 5.2 (Berkeley) 12/28/90
3 3
4PROG= make 4PROG= make
5SRCS= arch.c 5SRCS= arch.c
6SRCS+= buf.c 6SRCS+= buf.c
7SRCS+= compat.c 7SRCS+= compat.c
8SRCS+= cond.c 8SRCS+= cond.c
9SRCS+= dir.c 9SRCS+= dir.c
10SRCS+= enum.c 10SRCS+= enum.c
11SRCS+= for.c 11SRCS+= for.c
12SRCS+= hash.c 12SRCS+= hash.c
13SRCS+= job.c 13SRCS+= job.c
14SRCS+= lst.c 14SRCS+= lst.c
@@ -117,26 +117,28 @@ FILEMON_H?= /usr/include/dev/filemon/fil @@ -117,26 +117,28 @@ FILEMON_H?= /usr/include/dev/filemon/fil
117. if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h" 117. if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h"
118COPTS.filemon_dev.c+= \ 118COPTS.filemon_dev.c+= \
119 -DHAVE_FILEMON_H -I${FILEMON_H:H} 119 -DHAVE_FILEMON_H -I${FILEMON_H:H}
120. endif 120. endif
121. endif 121. endif
122. endif 122. endif
123.endif 123.endif
124 124
125SUBDIR.roff+= PSD.doc 125SUBDIR.roff+= PSD.doc
126.if make(obj) || make(clean) 126.if make(obj) || make(clean)
127SUBDIR+= unit-tests 127SUBDIR+= unit-tests
128.endif 128.endif
129 129
 130LINTFLAGS+= -T # strict bool mode, available since 2021-01-11
 131
130${SRCS:M*.c:.c=.o}: ${HDRS} 132${SRCS:M*.c:.c=.o}: ${HDRS}
131CLEANFILES+= *.o 133CLEANFILES+= *.o
132 134
133COPTS.arch.c+= ${GCC_NO_FORMAT_TRUNCATION} 135COPTS.arch.c+= ${GCC_NO_FORMAT_TRUNCATION}
134COPTS.dir.c+= ${GCC_NO_FORMAT_TRUNCATION} 136COPTS.dir.c+= ${GCC_NO_FORMAT_TRUNCATION}
135COPTS.job.c+= -Wno-format-nonliteral 137COPTS.job.c+= -Wno-format-nonliteral
136COPTS.main.c+= ${GCC_NO_FORMAT_TRUNCATION} ${GCC_NO_STRINGOP_TRUNCATION} 138COPTS.main.c+= ${GCC_NO_FORMAT_TRUNCATION} ${GCC_NO_STRINGOP_TRUNCATION}
137COPTS.meta.c+= ${GCC_NO_FORMAT_TRUNCATION} 139COPTS.meta.c+= ${GCC_NO_FORMAT_TRUNCATION}
138COPTS.parse.c+= -Wno-format-nonliteral 140COPTS.parse.c+= -Wno-format-nonliteral
139COPTS.var.c+= -Wno-format-nonliteral 141COPTS.var.c+= -Wno-format-nonliteral
140 142
141CPPFLAGS+= -DMAKE_NATIVE 143CPPFLAGS+= -DMAKE_NATIVE
142 144