1*e6298b92Srillig /* $NetBSD: msg_244.c,v 1.4 2023/07/07 19:45:22 rillig Exp $ */ 2a0a15c14Srillig # 3 "msg_244.c" 3a0a15c14Srillig 4a0a15c14Srillig // Test for message: illegal structure pointer combination [244] 5a0a15c14Srillig 6*e6298b92Srillig /* lint1-extra-flags: -X 351 */ 7*e6298b92Srillig 836dcebf9Srillig struct a { 936dcebf9Srillig int member; 1036dcebf9Srillig }; 1136dcebf9Srillig 1236dcebf9Srillig struct b { 1336dcebf9Srillig int member; 1436dcebf9Srillig }; 1536dcebf9Srillig 1636dcebf9Srillig int diff(struct a * a,struct b * b)1736dcebf9Srilligdiff(struct a *a, struct b *b) 1836dcebf9Srillig { 1936dcebf9Srillig /* expect+1: error: illegal pointer subtraction [116] */ 2036dcebf9Srillig return a - b; 2136dcebf9Srillig } 2236dcebf9Srillig 2336dcebf9Srillig _Bool lt(struct a * a,struct b * b)2436dcebf9Srilliglt(struct a *a, struct b *b) 2536dcebf9Srillig { 2636dcebf9Srillig /* expect+1: warning: incompatible structure pointers: 'pointer to struct a' '<' 'pointer to struct b' [245] */ 2736dcebf9Srillig return a < b; 2836dcebf9Srillig } 2936dcebf9Srillig 3036dcebf9Srillig struct a * ret(struct b * b)3136dcebf9Srilligret(struct b *b) 3236dcebf9Srillig { 3336dcebf9Srillig /* expect+1: warning: illegal structure pointer combination [244] */ 3436dcebf9Srillig return b; 3536dcebf9Srillig } 36