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