Module Name: src Committed By: rillig Date: Wed Feb 22 22:30:40 UTC 2023
Modified Files: src/tests/usr.bin/xlint/lint1: msg_230.c msg_230_uchar.c platform_schar.c src/usr.bin/xlint/lint1: err.c tree.c Log Message: lint: fix confusing message about nonportable character constants To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/tests/usr.bin/xlint/lint1/msg_230.c cvs rdiff -u -r1.9 -r1.10 src/tests/usr.bin/xlint/lint1/msg_230_uchar.c cvs rdiff -u -r1.3 -r1.4 src/tests/usr.bin/xlint/lint1/platform_schar.c cvs rdiff -u -r1.188 -r1.189 src/usr.bin/xlint/lint1/err.c cvs rdiff -u -r1.504 -r1.505 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_230.c diff -u src/tests/usr.bin/xlint/lint1/msg_230.c:1.11 src/tests/usr.bin/xlint/lint1/msg_230.c:1.12 --- src/tests/usr.bin/xlint/lint1/msg_230.c:1.11 Sat Feb 26 11:13:01 2022 +++ src/tests/usr.bin/xlint/lint1/msg_230.c Wed Feb 22 22:30:40 2023 @@ -1,7 +1,7 @@ -/* $NetBSD: msg_230.c,v 1.11 2022/02/26 11:13:01 rillig Exp $ */ +/* $NetBSD: msg_230.c,v 1.12 2023/02/22 22:30:40 rillig Exp $ */ # 3 "msg_230.c" -// Test for message: nonportable character comparison '%s %d' [230] +// Test for message: nonportable character comparison '%s' [230] /* lint1-flags: -S -g -p -w */ /* lint1-only-if: schar */ @@ -46,26 +46,26 @@ compare_plain_char(char c) void compare_plain_char_yoda(char c) { - /* expect+1: warning: nonportable character comparison '== -129' [230] */ + /* expect+1: warning: nonportable character comparison '-129 == ?' [230] */ if (-129 == c) return; - /* expect+1: warning: nonportable character comparison '== -128' [230] */ + /* expect+1: warning: nonportable character comparison '-128 == ?' [230] */ if (-128 == c) return; - /* expect+1: warning: nonportable character comparison '== -1' [230] */ + /* expect+1: warning: nonportable character comparison '-1 == ?' [230] */ if (-1 == c) return; if (0 == c) return; if (127 == c) return; - /* expect+1: warning: nonportable character comparison '== 128' [230] */ + /* expect+1: warning: nonportable character comparison '128 == ?' [230] */ if (128 == c) return; - /* expect+1: warning: nonportable character comparison '== 255' [230] */ + /* expect+1: warning: nonportable character comparison '255 == ?' [230] */ if (255 == c) return; - /* expect+1: warning: nonportable character comparison '== 256' [230] */ + /* expect+1: warning: nonportable character comparison '256 == ?' [230] */ if (256 == c) return; } Index: src/tests/usr.bin/xlint/lint1/msg_230_uchar.c diff -u src/tests/usr.bin/xlint/lint1/msg_230_uchar.c:1.9 src/tests/usr.bin/xlint/lint1/msg_230_uchar.c:1.10 --- src/tests/usr.bin/xlint/lint1/msg_230_uchar.c:1.9 Wed Jun 22 19:23:18 2022 +++ src/tests/usr.bin/xlint/lint1/msg_230_uchar.c Wed Feb 22 22:30:40 2023 @@ -1,7 +1,7 @@ -/* $NetBSD: msg_230_uchar.c,v 1.9 2022/06/22 19:23:18 rillig Exp $ */ +/* $NetBSD: msg_230_uchar.c,v 1.10 2023/02/22 22:30:40 rillig Exp $ */ # 3 "msg_230_uchar.c" -// Test for message: nonportable character comparison '%s %d' [230] +// Test for message: nonportable character comparison '%s' [230] /* lint1-flags: -S -g -p -w */ /* lint1-only-if: uchar */ @@ -46,26 +46,26 @@ compare_plain_char(char c) void compare_plain_char_yoda(char c) { - /* expect+1: warning: nonportable character comparison '== -129' [230] */ + /* expect+1: warning: nonportable character comparison '? == -129' [230] */ if (-129 == c) return; - /* expect+1: warning: nonportable character comparison '== -128' [230] */ + /* expect+1: warning: nonportable character comparison '? == -128' [230] */ if (-128 == c) return; - /* expect+1: warning: nonportable character comparison '== -1' [230] */ + /* expect+1: warning: nonportable character comparison '? == -1' [230] */ if (-1 == c) return; if (0 == c) return; if (127 == c) return; - /* expect+1: warning: nonportable character comparison '== 128' [230] */ + /* expect+1: warning: nonportable character comparison '? == 128' [230] */ if (128 == c) return; - /* expect+1: warning: nonportable character comparison '== 255' [230] */ + /* expect+1: warning: nonportable character comparison '? == 255' [230] */ if (255 == c) return; - /* expect+1: warning: nonportable character comparison '== 256' [230] */ + /* expect+1: warning: nonportable character comparison '? == 256' [230] */ if (256 == c) return; } Index: src/tests/usr.bin/xlint/lint1/platform_schar.c diff -u src/tests/usr.bin/xlint/lint1/platform_schar.c:1.3 src/tests/usr.bin/xlint/lint1/platform_schar.c:1.4 --- src/tests/usr.bin/xlint/lint1/platform_schar.c:1.3 Wed Feb 22 22:12:35 2023 +++ src/tests/usr.bin/xlint/lint1/platform_schar.c Wed Feb 22 22:30:40 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: platform_schar.c,v 1.3 2023/02/22 22:12:35 rillig Exp $ */ +/* $NetBSD: platform_schar.c,v 1.4 2023/02/22 22:30:40 rillig Exp $ */ # 3 "platform_schar.c" /* @@ -10,6 +10,5 @@ /* lint1-only-if: schar */ /* CONSTCOND */ -/* FIXME: Wrong order in the diagnostic, should be '-128 <' instead. */ -/* expect+1: warning: nonportable character comparison '< -128' [230] */ +/* expect+1: warning: nonportable character comparison '-128 < ?' [230] */ typedef int is_signed[(char)'\200' < (char)'\177' ? 1 : -1]; Index: src/usr.bin/xlint/lint1/err.c diff -u src/usr.bin/xlint/lint1/err.c:1.188 src/usr.bin/xlint/lint1/err.c:1.189 --- src/usr.bin/xlint/lint1/err.c:1.188 Sun Feb 19 19:27:01 2023 +++ src/usr.bin/xlint/lint1/err.c Wed Feb 22 22:30:40 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: err.c,v 1.188 2023/02/19 19:27:01 rillig Exp $ */ +/* $NetBSD: err.c,v 1.189 2023/02/22 22:30:40 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.188 2023/02/19 19:27:01 rillig Exp $"); +__RCSID("$NetBSD: err.c,v 1.189 2023/02/22 22:30:40 rillig Exp $"); #endif #include <limits.h> @@ -285,7 +285,7 @@ static const char *const msgs[] = { "const object '%s' should have initializer", /* 227 */ "function cannot return const or volatile object", /* 228 */ "converting '%s' to '%s' is questionable", /* 229 */ - "nonportable character comparison '%s %d'", /* 230 */ + "nonportable character comparison '%s'", /* 230 */ "argument '%s' unused in function '%s'", /* 231 */ "label '%s' unused in function '%s'", /* 232 */ "struct '%s' never defined", /* 233 */ Index: src/usr.bin/xlint/lint1/tree.c diff -u src/usr.bin/xlint/lint1/tree.c:1.504 src/usr.bin/xlint/lint1/tree.c:1.505 --- src/usr.bin/xlint/lint1/tree.c:1.504 Sun Jan 29 18:16:48 2023 +++ src/usr.bin/xlint/lint1/tree.c Wed Feb 22 22:30:40 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: tree.c,v 1.504 2023/01/29 18:16:48 rillig Exp $ */ +/* $NetBSD: tree.c,v 1.505 2023/02/22 22:30:40 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.504 2023/01/29 18:16:48 rillig Exp $"); +__RCSID("$NetBSD: tree.c,v 1.505 2023/02/22 22:30:40 rillig Exp $"); #endif #include <float.h> @@ -4634,13 +4634,19 @@ check_integer_comparison(op_t op, tnode_ if (hflag || pflag) { if (lt == CHAR && is_out_of_char_range(rn)) { - /* nonportable character comparison '%s %d' */ - warning(230, op_name(op), (int)rn->tn_val->v_quad); + char buf[128]; + (void)snprintf(buf, sizeof(buf), "%s %d", + op_name(op), (int)rn->tn_val->v_quad); + /* nonportable character comparison '%s' */ + warning(230, buf); return; } if (rt == CHAR && is_out_of_char_range(ln)) { - /* nonportable character comparison '%s %d' */ - warning(230, op_name(op), (int)ln->tn_val->v_quad); + char buf[128]; + (void)snprintf(buf, sizeof(buf), "%d %s ?", + (int)ln->tn_val->v_quad, op_name(op)); + /* nonportable character comparison '%s' */ + warning(230, buf); return; } }