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