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. */