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