1 1.5 rillig /* $NetBSD: msg_230.c,v 1.5 2021/08/21 11:50:57 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.2 rillig } 35