msg_230.c revision 1.6 1 1.6 rillig /* $NetBSD: msg_230.c,v 1.6 2021/08/23 17:47:34 rillig Exp $ */
2 1.1 rillig # 3 "msg_230.c"
3 1.1 rillig
4 1.1 rillig // Test for message: nonportable character comparison, op %s [230]
5 1.1 rillig
6 1.2 rillig /* lint1-flags: -S -g -p -w */
7 1.5 rillig /* lint1-only-if: schar */
8 1.2 rillig
9 1.2 rillig void example(char c, unsigned char uc, signed char sc)
10 1.2 rillig {
11 1.2 rillig if (c < 0)
12 1.4 rillig return;
13 1.4 rillig /* expect+1: warning: comparison of unsigned char with 0, op < [162] */
14 1.4 rillig if (uc < 0)
15 1.4 rillig return;
16 1.4 rillig if (sc < 0)
17 1.4 rillig return;
18 1.2 rillig
19 1.2 rillig /*
20 1.2 rillig * XXX: The comparison "<= -1" looks very similar to "< 0",
21 1.2 rillig * nevertheless "< 0" does not generate a warning.
22 1.2 rillig *
23 1.2 rillig * The comparisons may actually differ subtly because of the usual
24 1.2 rillig * arithmetic promotions.
25 1.4 rillig */
26 1.4 rillig /* expect+1: warning: nonportable character comparison, op <= [230] */
27 1.4 rillig if (c <= -1)
28 1.4 rillig return;
29 1.4 rillig /* expect+1: warning: comparison of unsigned char with negative constant, op <= [162] */
30 1.4 rillig if (uc <= -1)
31 1.4 rillig return;
32 1.4 rillig if (sc <= -1)
33 1.4 rillig return;
34 1.6 rillig
35 1.6 rillig /* expect+1: warning: nonportable character comparison, op <= [230] */
36 1.6 rillig if (-1 <= c)
37 1.6 rillig return;
38 1.6 rillig /* expect+1: warning: nonportable character comparison, op <= [230] */
39 1.6 rillig if (256 <= c)
40 1.6 rillig return;
41 1.2 rillig }
42