make(1): Use an inline function instead of a macro for Lst_Valid().
authorSascha Wildner <saw@online.de>
Thu, 18 Oct 2012 12:03:04 +0000 (14:03 +0200)
committerSascha Wildner <saw@online.de>
Thu, 18 Oct 2012 12:03:28 +0000 (14:03 +0200)
This gives -Waddress something to test even if the address of a local
variable is passed.

Remove local CFLAGS and put back under -Werror.

usr.bin/make/Makefile
usr.bin/make/lst.h

index 489ba4d..6d92d48 100644 (file)
@@ -2,7 +2,6 @@
        echo Hey that hurt!
 #      @(#)Makefile    5.2 (Berkeley) 12/28/90
 # $FreeBSD: src/usr.bin/make/Makefile,v 1.13.2.1 2001/05/25 08:33:40 sobomax Exp $
-# $DragonFly: src/usr.bin/make/Makefile,v 1.38 2008/11/03 00:25:45 pavalos Exp $
 
 PROG=  make
 CFLAGS+=-I${.CURDIR}
@@ -10,10 +9,6 @@ SRCS= arch.c buf.c cond.c dir.c for.c hash.c hash_tables.c job.c      \
        lst.c main.c make.c parse.c proc.c shell.c str.c suff.c targ.c  \
        util.c var.c
 
-# For arch.c:400 "evaluation always false" error which seems misdetected
-NO_WERROR=     yes
-CFLAGS+=       -Wno-address
-
 NOSHARED?=     YES
 
 CFLAGS+=-DMAKE_VERSION=\"5200408120\"
index bb43f7f..1e1b183 100644 (file)
@@ -161,7 +161,7 @@ void                *Lst_DeQueue(Lst *);
  * LstValid (L) --
  *     Return true if the list L is valid
  */
-#define Lst_Valid(L)   (((L) == NULL) ? false : true)
+static inline int Lst_Valid(const void *L) { return (L != NULL); }
 
 /*
  * LstNodeValid (LN, L) --