Module Name:    src
Committed By:   rillig
Date:           Sun Jul  9 12:04:08 UTC 2023

Modified Files:
        src/tests/usr.bin/xlint/lint1: msg_243.c
        src/usr.bin/xlint/lint1: err.c tree.c

Log Message:
lint: in the warning about ordered enums, mention the affected type


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/tests/usr.bin/xlint/lint1/msg_243.c
cvs rdiff -u -r1.208 -r1.209 src/usr.bin/xlint/lint1/err.c
cvs rdiff -u -r1.557 -r1.558 src/usr.bin/xlint/lint1/tree.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/usr.bin/xlint/lint1/msg_243.c
diff -u src/tests/usr.bin/xlint/lint1/msg_243.c:1.5 src/tests/usr.bin/xlint/lint1/msg_243.c:1.6
--- src/tests/usr.bin/xlint/lint1/msg_243.c:1.5	Tue Mar 28 14:44:35 2023
+++ src/tests/usr.bin/xlint/lint1/msg_243.c	Sun Jul  9 12:04:08 2023
@@ -1,7 +1,7 @@
-/*	$NetBSD: msg_243.c,v 1.5 2023/03/28 14:44:35 rillig Exp $	*/
+/*	$NetBSD: msg_243.c,v 1.6 2023/07/09 12:04:08 rillig Exp $	*/
 # 3 "msg_243.c"
 
-// Test for message: dubious comparison of enums, op '%s' [243]
+// Test for message: operator '%s' assumes that '%s' is ordered [243]
 
 /* lint1-extra-flags: -eP -X 351 */
 
@@ -16,13 +16,13 @@ void eval(_Bool);
 void
 example(enum color a, enum color b)
 {
-	/* expect+1: warning: dubious comparison of enums, op '<' [243] */
+	/* expect+1: warning: operator '<' assumes that 'enum color' is ordered [243] */
 	eval(a < b);
-	/* expect+1: warning: dubious comparison of enums, op '<=' [243] */
+	/* expect+1: warning: operator '<=' assumes that 'enum color' is ordered [243] */
 	eval(a <= b);
-	/* expect+1: warning: dubious comparison of enums, op '>' [243] */
+	/* expect+1: warning: operator '>' assumes that 'enum color' is ordered [243] */
 	eval(a > b);
-	/* expect+1: warning: dubious comparison of enums, op '>=' [243] */
+	/* expect+1: warning: operator '>=' assumes that 'enum color' is ordered [243] */
 	eval(a >= b);
 	eval(a == b);
 	eval(a != b);

Index: src/usr.bin/xlint/lint1/err.c
diff -u src/usr.bin/xlint/lint1/err.c:1.208 src/usr.bin/xlint/lint1/err.c:1.209
--- src/usr.bin/xlint/lint1/err.c:1.208	Sun Jul  9 11:18:55 2023
+++ src/usr.bin/xlint/lint1/err.c	Sun Jul  9 12:04:08 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: err.c,v 1.208 2023/07/09 11:18:55 rillig Exp $	*/
+/*	$NetBSD: err.c,v 1.209 2023/07/09 12:04:08 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: err.c,v 1.208 2023/07/09 11:18:55 rillig Exp $");
+__RCSID("$NetBSD: err.c,v 1.209 2023/07/09 12:04:08 rillig Exp $");
 #endif
 
 #include <limits.h>
@@ -298,7 +298,7 @@ static const char *const msgs[] = {
 	"",			/* unused */			      /* 240 */
 	"dubious operation '%s' on enum",			      /* 241 */
 	"combination of '%s' and '%s', op '%s'",		      /* 242 */
-	"dubious comparison of enums, op '%s'",			      /* 243 */
+	"operator '%s' assumes that '%s' is ordered",		      /* 243 */
 	"illegal structure pointer combination",		      /* 244 */
 	"incompatible structure pointers: '%s' '%s' '%s'",	      /* 245 */
 	"dubious conversion of enum to '%s'",			      /* 246 */

Index: src/usr.bin/xlint/lint1/tree.c
diff -u src/usr.bin/xlint/lint1/tree.c:1.557 src/usr.bin/xlint/lint1/tree.c:1.558
--- src/usr.bin/xlint/lint1/tree.c:1.557	Sun Jul  9 11:18:55 2023
+++ src/usr.bin/xlint/lint1/tree.c	Sun Jul  9 12:04:08 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: tree.c,v 1.557 2023/07/09 11:18:55 rillig Exp $	*/
+/*	$NetBSD: tree.c,v 1.558 2023/07/09 12:04:08 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: tree.c,v 1.557 2023/07/09 11:18:55 rillig Exp $");
+__RCSID("$NetBSD: tree.c,v 1.558 2023/07/09 12:04:08 rillig Exp $");
 #endif
 
 #include <float.h>
@@ -3132,11 +3132,9 @@ check_enum_type_mismatch(op_t op, int ar
 			    type_name(rn->tn_type));
 			break;
 		}
-	} else if (Pflag && mp->m_comparison && op != EQ && op != NE) {
-		if (eflag)
-			/* dubious comparison of enums, op '%s' */
-			warning(243, mp->m_name);
-	}
+	} else if (Pflag && eflag && mp->m_comparison && op != EQ && op != NE)
+		/* operator '%s' assumes that '%s' is ordered */
+		warning(243, mp->m_name, type_name(ln->tn_type));
 }
 
 /* Prints a warning if the operands mix between enum and integer. */

Reply via email to