msg_331.c revision 1.4
11.4Srillig/*	$NetBSD: msg_331.c,v 1.4 2022/06/17 06:59:16 rillig Exp $	*/
21.1Srillig# 3 "msg_331.c"
31.1Srillig
41.1Srillig// Test for message: left operand of '%s' must be bool, not '%s' [331]
51.1Srillig//
61.1Srillig// See d_c99_bool_strict.c for many more examples.
71.1Srillig
81.1Srillig/* lint1-extra-flags: -T */
91.1Srillig
101.1Srilligtypedef _Bool bool;
111.1Srillig
121.1Srilligvoid
131.1Srilligtest(bool);
141.1Srillig
151.1Srilligvoid
161.1Srilligexample(bool b, char c, int i)
171.1Srillig{
181.1Srillig	test(b && b);
191.4Srillig
201.4Srillig	/* expect+2: error: left operand of '&&' must be bool, not 'char' [331] */
211.4Srillig	/* expect+1: error: argument #1 expects '_Bool', gets passed 'int' [334] */
221.4Srillig	test(c && b);
231.4Srillig
241.4Srillig	/* expect+2: error: left operand of '&&' must be bool, not 'int' [331] */
251.4Srillig	/* expect+1: error: argument #1 expects '_Bool', gets passed 'int' [334] */
261.4Srillig	test(i && b);
271.1Srillig
281.1Srillig	test(c != '\0');
291.1Srillig	test(i != 0);
301.1Srillig}
31