msg_331.c revision 1.5
11.5Srillig/* $NetBSD: msg_331.c,v 1.5 2023/03/28 14:44:35 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.5Srillig/* lint1-extra-flags: -T -X 351 */ 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