xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_107.c (revision cc3c7d5b6a6d896c4703f47bb421c40c9600a9b0)
1*cc3c7d5bSrillig /*	$NetBSD: msg_107.c,v 1.7 2024/01/07 21:19:42 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_107.c"
3a0a15c14Srillig 
4a8941949Srillig // Test for message: operands of '%s' have incompatible types '%s' and '%s' [107]
5a0a15c14Srillig 
6e6298b92Srillig /* lint1-extra-flags: -X 351 */
7e6298b92Srillig 
865e5c21bSrillig /* ARGSUSED */
965e5c21bSrillig void
compare(double d,void * ptr)1065e5c21bSrillig compare(double d, void *ptr)
1165e5c21bSrillig {
12f9624b3cSrillig 	/* expect+1: error: operands of '==' have incompatible types 'double' and 'pointer to void' [107] */
1365e5c21bSrillig 	return d == ptr;
1465e5c21bSrillig }
15*cc3c7d5bSrillig 
16*cc3c7d5bSrillig static inline void
typeok_minus(const char * p,int i,double d)17*cc3c7d5bSrillig typeok_minus(const char *p, int i, double d)
18*cc3c7d5bSrillig {
19*cc3c7d5bSrillig 	if (p[i] != p[(int)d])
20*cc3c7d5bSrillig 		return;
21*cc3c7d5bSrillig 	/* expect+1: error: operands of '-' have incompatible types 'pointer to const char' and 'double' [107] */
22*cc3c7d5bSrillig 	return (p - i) - (p - d);
23*cc3c7d5bSrillig }
24