Module Name:    src
Committed By:   rillig
Date:           Sat Jan  1 21:04:15 UTC 2022

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

Log Message:
make: convert do-while into while in FindKeyword

GCC generates more efficient code; previously it wasn't aware that (end
- start) was always positive, thus allowing to omit the code for
dividing a negative number by 2.

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.610 -r1.611 src/usr.bin/make/parse.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/parse.c
diff -u src/usr.bin/make/parse.c:1.610 src/usr.bin/make/parse.c:1.611
--- src/usr.bin/make/parse.c:1.610	Sat Jan  1 19:44:05 2022
+++ src/usr.bin/make/parse.c	Sat Jan  1 21:04:15 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: parse.c,v 1.610 2022/01/01 19:44:05 rillig Exp $	*/
+/*	$NetBSD: parse.c,v 1.611 2022/01/01 21:04:15 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -110,7 +110,7 @@
 #include "pathnames.h"
 
 /*	"@(#)parse.c	8.3 (Berkeley) 3/19/94"	*/
-MAKE_RCSID("$NetBSD: parse.c,v 1.610 2022/01/01 19:44:05 rillig Exp $");
+MAKE_RCSID("$NetBSD: parse.c,v 1.611 2022/01/01 21:04:15 rillig Exp $");
 
 /* types and constants */
 
@@ -539,7 +539,7 @@ FindKeyword(const char *str)
 	int start = 0;
 	int end = sizeof parseKeywords / sizeof parseKeywords[0] - 1;
 
-	do {
+	while (start <= end) {
 		int curr = start + (end - start) / 2;
 		int diff = strcmp(str, parseKeywords[curr].name);
 
@@ -549,7 +549,7 @@ FindKeyword(const char *str)
 			end = curr - 1;
 		else
 			start = curr + 1;
-	} while (start <= end);
+	}
 
 	return -1;
 }

Reply via email to