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