From 490b9ed0a1bc6848525f36bd599255edab5427be Mon Sep 17 00:00:00 2001 From: rillig Date: Mon, 31 Aug 2020 16:44:25 +0000 Subject: [PATCH] make(1): fix compilation for -DNDEBUG and -O3 The -O3 option of GCC 5.5 is unsure about whether s and t are always defined, since SuffParseTransform only defines them if it returns TRUE. Therefore assert that it does. When compiled with -NDEBUG, this would result in an unused variable, therefore use it using the well-known cast-to-void pattern. --- usr.bin/make/suff.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/usr.bin/make/suff.c b/usr.bin/make/suff.c index 953b55d5c9a9..bcab3027e6dd 100644 --- a/usr.bin/make/suff.c +++ b/usr.bin/make/suff.c @@ -1,4 +1,4 @@ -/* $NetBSD: suff.c,v 1.141 2020/08/31 05:56:02 rillig Exp $ */ +/* $NetBSD: suff.c,v 1.142 2020/08/31 16:44:25 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: suff.c,v 1.141 2020/08/31 05:56:02 rillig Exp $"; +static char rcsid[] = "$NetBSD: suff.c,v 1.142 2020/08/31 16:44:25 rillig Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)suff.c 8.4 (Berkeley) 3/21/94"; #else -__RCSID("$NetBSD: suff.c,v 1.141 2020/08/31 05:56:02 rillig Exp $"); +__RCSID("$NetBSD: suff.c,v 1.142 2020/08/31 16:44:25 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -567,6 +567,7 @@ Suff_AddTransform(char *line) Suff *s, /* source suffix */ *t; /* target suffix */ LstNode ln; /* Node for existing transformation */ + Boolean ok; ln = Lst_Find(transforms, SuffGNHasName, line); if (ln == NULL) { @@ -592,7 +593,9 @@ Suff_AddTransform(char *line) gn->type = OP_TRANSFORM; - (void)SuffParseTransform(line, &s, &t); + ok = SuffParseTransform(line, &s, &t); + assert(ok); + (void)ok; /* * link the two together in the proper relationship and order