Home | History | Annotate | Line # | Download | only in lint1
      1  1.7  rillig /*	$NetBSD: msg_332.c,v 1.7 2023/08/02 18:51:25 rillig Exp $	*/
      2  1.1  rillig # 3 "msg_332.c"
      3  1.1  rillig 
      4  1.1  rillig // Test for message: right operand of '%s' must be bool, not '%s' [332]
      5  1.1  rillig //
      6  1.1  rillig // See d_c99_bool_strict.c for many more examples.
      7  1.1  rillig 
      8  1.5  rillig /* lint1-extra-flags: -T -X 351 */
      9  1.1  rillig 
     10  1.1  rillig typedef _Bool bool;
     11  1.1  rillig 
     12  1.1  rillig void
     13  1.1  rillig test(bool);
     14  1.1  rillig 
     15  1.1  rillig void
     16  1.1  rillig example(bool b, char c, int i)
     17  1.1  rillig {
     18  1.1  rillig 	test(b && b);
     19  1.4  rillig 
     20  1.4  rillig 	/* expect+2: error: right operand of '&&' must be bool, not 'char' [332] */
     21  1.7  rillig 	/* expect+1: error: parameter 1 expects '_Bool', gets passed 'int' [334] */
     22  1.4  rillig 	test(b && c);
     23  1.4  rillig 
     24  1.4  rillig 	/* expect+2: error: right operand of '&&' must be bool, not 'int' [332] */
     25  1.7  rillig 	/* expect+1: error: parameter 1 expects '_Bool', gets passed 'int' [334] */
     26  1.4  rillig 	test(b && i);
     27  1.1  rillig 
     28  1.1  rillig 	test(c != '\0');
     29  1.1  rillig 	test(i != 0);
     30  1.1  rillig }
     31