Module Name:    src
Committed By:   rillig
Date:           Mon Aug 31 16:44:26 UTC 2020

Modified Files:
        src/usr.bin/make: suff.c

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -u -r1.141 -r1.142 src/usr.bin/make/suff.c

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/make/suff.c
diff -u src/usr.bin/make/suff.c:1.141 src/usr.bin/make/suff.c:1.142
--- src/usr.bin/make/suff.c:1.141	Mon Aug 31 05:56:02 2020
+++ src/usr.bin/make/suff.c	Mon Aug 31 16:44:25 2020
@@ -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 <sys/cdefs.h>
 #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

Reply via email to