1*f9624b3cSrillig /* $NetBSD: msg_123.c,v 1.8 2023/06/03 20:28:54 rillig Exp $ */
2a0a15c14Srillig # 3 "msg_123.c"
3a0a15c14Srillig
404cd8439Srillig // Test for message: illegal combination of %s '%s' and %s '%s', op '%s' [123]
5a0a15c14Srillig
6b2baa501Srillig /* lint1-extra-flags: -X 351 */
7b2baa501Srillig
83bfc030eSrillig void ok(_Bool);
93bfc030eSrillig void bad(_Bool);
103bfc030eSrillig
113bfc030eSrillig void
compare(_Bool b,int i,double d,const char * p)123bfc030eSrillig compare(_Bool b, int i, double d, const char *p)
133bfc030eSrillig {
143bfc030eSrillig ok(b < b);
153bfc030eSrillig ok(b < i);
163bfc030eSrillig ok(b < d);
1765e5c21bSrillig /* expect+1: warning: illegal combination of integer '_Bool' and pointer 'pointer to const char', op '<' [123] */
1865e5c21bSrillig bad(b < p);
193bfc030eSrillig ok(i < b);
203bfc030eSrillig ok(i < i);
213bfc030eSrillig ok(i < d);
2265e5c21bSrillig /* expect+1: warning: illegal combination of integer 'int' and pointer 'pointer to const char', op '<' [123] */
2365e5c21bSrillig bad(i < p);
243bfc030eSrillig ok(d < b);
253bfc030eSrillig ok(d < i);
263bfc030eSrillig ok(d < d);
27*f9624b3cSrillig /* expect+1: error: operands of '<' have incompatible types 'double' and 'pointer to const char' [107] */
2865e5c21bSrillig bad(d < p);
2965e5c21bSrillig /* expect+1: warning: illegal combination of pointer 'pointer to const char' and integer '_Bool', op '<' [123] */
3065e5c21bSrillig bad(p < b);
3165e5c21bSrillig /* expect+1: warning: illegal combination of pointer 'pointer to const char' and integer 'int', op '<' [123] */
3265e5c21bSrillig bad(p < i);
33*f9624b3cSrillig /* expect+1: error: operands of '<' have incompatible types 'pointer to const char' and 'double' [107] */
3465e5c21bSrillig bad(p < d);
353bfc030eSrillig ok(p < p);
363bfc030eSrillig }
371678a18aSrillig
381678a18aSrillig void
cover_check_assign_types_compatible(int * int_pointer,int i)391678a18aSrillig cover_check_assign_types_compatible(int *int_pointer, int i)
401678a18aSrillig {
4104cd8439Srillig /* expect+1: warning: illegal combination of pointer 'pointer to int' and integer 'int', op '=' [123] */
421678a18aSrillig int_pointer = i;
4304cd8439Srillig /* expect+1: warning: illegal combination of integer 'int' and pointer 'pointer to int', op '=' [123] */
441678a18aSrillig i = int_pointer;
451678a18aSrillig }
46