Home | History | Annotate | Line # | Download | only in lint1
msg_230.c revision 1.4
      1  1.4  rillig /*	$NetBSD: msg_230.c,v 1.4 2021/07/03 19:31:22 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.4  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