1*b2baa501Srillig /* $NetBSD: msg_245.c,v 1.6 2023/03/28 14:44:35 rillig Exp $ */ 2a0a15c14Srillig # 3 "msg_245.c" 3a0a15c14Srillig 42317ba24Srillig // Test for message: incompatible structure pointers: '%s' '%s' '%s' [245] 5a0a15c14Srillig 6*b2baa501Srillig /* lint1-extra-flags: -X 351 */ 7*b2baa501Srillig 83c4f693cSrillig typedef struct tag_and_typedef_tag { 93c4f693cSrillig int member; 103c4f693cSrillig } tag_and_typedef_typedef; 113c4f693cSrillig 123c4f693cSrillig struct only_tag { 133c4f693cSrillig int member; 143c4f693cSrillig }; 153c4f693cSrillig 163c4f693cSrillig typedef struct { 173c4f693cSrillig int member; 183c4f693cSrillig } only_typedef; 193c4f693cSrillig 203c4f693cSrillig struct { 213c4f693cSrillig int member; 223c4f693cSrillig } unnamed; 233c4f693cSrillig 243c4f693cSrillig void sink_bool(_Bool); 253c4f693cSrillig 263c4f693cSrillig void example(tag_and_typedef_typedef both,only_typedef only_typedef,struct only_tag only_tag)273c4f693cSrilligexample(tag_and_typedef_typedef both, 283c4f693cSrillig only_typedef only_typedef, 293c4f693cSrillig struct only_tag only_tag) 303c4f693cSrillig { 3136dcebf9Srillig /* expect+1: warning: incompatible structure pointers: 'pointer to struct tag_and_typedef_tag' '==' 'pointer to struct only_tag' [245] */ 3236dcebf9Srillig sink_bool(&both == &only_tag); 3336dcebf9Srillig /* expect+1: warning: incompatible structure pointers: 'pointer to struct tag_and_typedef_tag' '==' 'pointer to struct typedef only_typedef' [245] */ 3436dcebf9Srillig sink_bool(&both == &only_typedef); 3536dcebf9Srillig /* expect+1: warning: incompatible structure pointers: 'pointer to struct tag_and_typedef_tag' '==' 'pointer to struct <unnamed>' [245] */ 3636dcebf9Srillig sink_bool(&both == &unnamed); 373c4f693cSrillig } 38